1111// specific language governing permissions and limitations under
1212// each license.
1313
14- const neon = require ( "./index.node" ) ;
14+ import type { Manifest } from "@contentauth/c2pa-types" ;
15+
16+ import { getNeonBinary } from "./binary.js" ;
1517import type {
1618 BuilderInterface ,
1719 CallbackSignerInterface ,
@@ -24,15 +26,14 @@ import type {
2426 ManifestAssertionKind ,
2527 SourceAsset ,
2628 NeonBuilderHandle ,
27- } from "./types" ;
28- import { IdentityAssertionSigner } from "./IdentityAssertion" ;
29- import type { Manifest } from "@contentauth/c2pa-types" ;
29+ } from "./types.d.ts" ;
30+ import { IdentityAssertionSigner } from "./IdentityAssertion.js" ;
3031
3132export class Builder implements BuilderInterface {
3233 private constructor ( private builder : NeonBuilderHandle ) { }
3334
3435 static new ( ) : Builder {
35- const builder : NeonBuilderHandle = neon . builderNew ( ) ;
36+ const builder : NeonBuilderHandle = getNeonBinary ( ) . builderNew ( ) ;
3637 return new Builder ( builder ) ;
3738 }
3839
@@ -51,24 +52,25 @@ export class Builder implements BuilderInterface {
5152 "Failed to stringify JSON Manifest Definition: Unknown error" ,
5253 ) ;
5354 }
54- const builder : NeonBuilderHandle = neon . builderWithJson ( jsonString ) ;
55+ const builder : NeonBuilderHandle =
56+ getNeonBinary ( ) . builderWithJson ( jsonString ) ;
5557 return new Builder ( builder ) ;
5658 }
5759
5860 setNoEmbed ( noEmbed = true ) : void {
59- neon . builderSetNoEmbed . call ( this . builder , noEmbed ) ;
61+ getNeonBinary ( ) . builderSetNoEmbed . call ( this . builder , noEmbed ) ;
6062 }
6163
6264 setRemoteUrl ( remoteUrl : string ) : void {
63- neon . builderSetRemoteUrl . call ( this . builder , remoteUrl ) ;
65+ getNeonBinary ( ) . builderSetRemoteUrl . call ( this . builder , remoteUrl ) ;
6466 }
6567
6668 addAssertion (
6769 label : string ,
6870 assertion : unknown ,
6971 assertionKind ?: ManifestAssertionKind ,
7072 ) : void {
71- return neon . builderAddAssertion . call (
73+ return getNeonBinary ( ) . builderAddAssertion . call (
7274 this . builder ,
7375 label ,
7476 assertion ,
@@ -77,34 +79,39 @@ export class Builder implements BuilderInterface {
7779 }
7880
7981 async addResource ( uri : string , resource : SourceAsset ) : Promise < void > {
80- return neon . builderAddResource . call ( this . builder , uri , resource ) ;
82+ return getNeonBinary ( ) . builderAddResource . call ( this . builder , uri , resource ) ;
8183 }
8284
8385 async addIngredient (
8486 ingredientJson : string ,
8587 ingredient : SourceAsset ,
8688 ) : Promise < void > {
87- return neon . builderAddIngredient . call (
89+ return getNeonBinary ( ) . builderAddIngredient . call (
8890 this . builder ,
8991 ingredientJson ,
9092 ingredient ,
9193 ) ;
9294 }
9395
9496 async toArchive ( asset : DestinationAsset ) : Promise < void > {
95- return neon . builderToArchive . call ( this . builder , asset ) ;
97+ return getNeonBinary ( ) . builderToArchive . call ( this . builder , asset ) ;
9698 }
9799
98100 static async fromArchive ( asset : SourceAsset ) : Promise < Builder > {
99- return new Builder ( await neon . builderFromArchive ( asset ) ) ;
101+ return new Builder ( await getNeonBinary ( ) . builderFromArchive ( asset ) ) ;
100102 }
101103
102104 sign (
103105 signer : LocalSignerInterface ,
104106 input : SourceAsset ,
105107 output : DestinationAsset ,
106108 ) : Buffer {
107- return neon . builderSign . call ( this . builder , signer . signer ( ) , input , output ) ;
109+ return getNeonBinary ( ) . builderSign . call (
110+ this . builder ,
111+ signer . signer ( ) ,
112+ input ,
113+ output ,
114+ ) ;
108115 }
109116
110117 signFile (
@@ -113,7 +120,12 @@ export class Builder implements BuilderInterface {
113120 output : DestinationAsset ,
114121 ) : Buffer {
115122 const input : FileAsset = { path : filePath } ;
116- return neon . builderSign . call ( this . builder , signer . signer ( ) , input , output ) ;
123+ return getNeonBinary ( ) . builderSign . call (
124+ this . builder ,
125+ signer . signer ( ) ,
126+ input ,
127+ output ,
128+ ) ;
117129 }
118130
119131 async signConfigAsync (
@@ -122,8 +134,14 @@ export class Builder implements BuilderInterface {
122134 input : SourceAsset ,
123135 output : DestinationAsset ,
124136 ) : Promise < Buffer > {
125- return neon . builderSignConfigAsync
126- . call ( this . builder , callback , signerConfig , input , output )
137+ return getNeonBinary ( )
138+ . builderSignConfigAsync . call (
139+ this . builder ,
140+ callback ,
141+ signerConfig ,
142+ input ,
143+ output ,
144+ )
127145 . then ( ( result : Buffer | { manifest : Buffer ; signedAsset : Buffer } ) => {
128146 // output is a buffer and result is the manifest and the signed asset.
129147 if ( "buffer" in output ) {
@@ -151,8 +169,8 @@ export class Builder implements BuilderInterface {
151169 const neonHandle = signer . signer ( ) ;
152170 const isIdentity = signer instanceof IdentityAssertionSigner ;
153171 const neonFn = isIdentity
154- ? neon . builderIdentitySignAsync
155- : neon . builderSignAsync ;
172+ ? getNeonBinary ( ) . builderIdentitySignAsync
173+ : getNeonBinary ( ) . builderSignAsync ;
156174 return neonFn
157175 . call ( this . builder , neonHandle , input , output )
158176 . then ( ( result : Buffer | { manifest : Buffer ; signedAsset : Buffer } ) => {
@@ -175,10 +193,16 @@ export class Builder implements BuilderInterface {
175193 }
176194
177195 getManifestDefinition ( ) : Manifest {
178- return JSON . parse ( neon . builderManifestDefinition . call ( this . builder ) ) ;
196+ return JSON . parse (
197+ getNeonBinary ( ) . builderManifestDefinition . call ( this . builder ) ,
198+ ) ;
179199 }
180200
181201 updateManifestProperty ( property : string , value : ClaimVersion ) : void {
182- neon . builderUpdateManifestProperty . call ( this . builder , property , value ) ;
202+ getNeonBinary ( ) . builderUpdateManifestProperty . call (
203+ this . builder ,
204+ property ,
205+ value ,
206+ ) ;
183207 }
184208}
0 commit comments