SeoDomFirstRuntimeArtifact.create constructor
SeoDomFirstRuntimeArtifact.create({
- required SeoDomFirstApplicationRuntime reference,
- required String javascript,
- required String dartVersion,
Creates and verifies an artifact from compiler output.
Implementation
factory SeoDomFirstRuntimeArtifact.create({
required SeoDomFirstApplicationRuntime reference,
required String javascript,
required String dartVersion,
}) {
final encoded = utf8.encode(javascript);
if (encoded.isEmpty || encoded.length > seoDomFirstRuntimeMaxBytes) {
throw StateError(
'Runtime "${reference.id}" exceeds its uncompressed size budget.',
);
}
final manifest = SeoDomFirstRuntimeManifest(
schemaVersion: seoDomFirstRuntimeManifestSchema,
id: reference.id,
kind: reference.kind,
dartVersion: dartVersion,
sha256: sha256.convert(encoded).toString(),
bytes: encoded.length,
gzipBytes: GZipCodec(level: 9).encode(encoded).length,
);
return SeoDomFirstRuntimeArtifact.verify(
reference: reference,
manifest: manifest,
javascript: javascript,
);
}