@formata/stof 0.9.16 → 0.9.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/doc.d.ts CHANGED
@@ -22,9 +22,9 @@ export declare function stofAsync(strings: TemplateStringsArray, ...values: unkn
22
22
  * Stof document.
23
23
  */
24
24
  export declare class StofDoc {
25
- static readonly VERSION = "0.9.14";
25
+ static readonly VERSION = "0.9.17";
26
26
  private static initialized?;
27
- private static wasmGate;
27
+ private static wasmMutex;
28
28
  stof: Stof;
29
29
  /**
30
30
  * Initialize Stof WASM.
@@ -39,7 +39,7 @@ export declare class StofDoc {
39
39
  /**
40
40
  * Ensure stof is initialized before creating a new instance.
41
41
  */
42
- static new(): Promise<StofDoc>;
42
+ static new(src?: string | Record<string, unknown> | Uint8Array, format?: string, profile?: 'prod' | 'test'): Promise<StofDoc>;
43
43
  /**
44
44
  * Parse a JS object into a StofDoc.
45
45
  */
@@ -107,16 +107,5 @@ export declare class StofDoc {
107
107
  * Create a deep copy of this document.
108
108
  */
109
109
  clone(): Promise<StofDoc>;
110
- /*****************************************************************************
111
- * Network.
112
- *****************************************************************************/
113
- /**
114
- * Send Stof doc string body as an HTTP request.
115
- */
116
- static send(url: string, stof: string, method?: string, bearer?: string, headers?: Record<string, string>): Promise<Response>;
117
- /**
118
- * Send this document ('bstf' format) as an HTTP request.
119
- */
120
- send(url: string, method?: string, bearer?: string, headers?: Record<string, string>): Promise<Response>;
121
110
  }
122
111
  //# sourceMappingURL=doc.d.ts.map
package/dist/doc.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"doc.d.ts","sourceRoot":"","sources":["../doc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doc.d.ts","sourceRoot":"","sources":["../doc.ts"],"names":[],"mappings":"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"}
package/dist/doc.js CHANGED
@@ -119,17 +119,31 @@ export async function stofAsync(strings, ...values) {
119
119
  return doc;
120
120
  }
121
121
  /**
122
- * Internal gate to serialize WASM calls.
122
+ * Internal mutex for single linear WASM.
123
123
  * Prevents race conditions and memory issues.
124
124
  */
125
- class WasmGate {
125
+ class WasmMutex {
126
126
  constructor() {
127
- this.tail = Promise.resolve();
127
+ this.locked = false;
128
+ this.waiters = [];
128
129
  }
129
- run(fn) {
130
- const next = this.tail.then(fn, fn);
131
- this.tail = next.catch(() => { });
132
- return next;
130
+ acquire() {
131
+ if (!this.locked) {
132
+ this.locked = true;
133
+ return Promise.resolve();
134
+ }
135
+ return new Promise((resolve) => {
136
+ this.waiters.push(resolve);
137
+ });
138
+ }
139
+ release() {
140
+ if (this.waiters.length > 0) {
141
+ const next = this.waiters.shift();
142
+ setTimeout(next, 0); // Resolve on next so frame completes
143
+ }
144
+ else {
145
+ this.locked = false;
146
+ }
133
147
  }
134
148
  }
135
149
  /**
@@ -162,9 +176,12 @@ export class StofDoc {
162
176
  /**
163
177
  * Ensure stof is initialized before creating a new instance.
164
178
  */
165
- static async new() {
179
+ static async new(src, format = "stof", profile = 'prod') {
166
180
  await initStof();
167
- return new StofDoc();
181
+ const doc = new StofDoc();
182
+ if (src)
183
+ doc.parse(src, format, undefined, profile);
184
+ return doc;
168
185
  }
169
186
  /**
170
187
  * Parse a JS object into a StofDoc.
@@ -199,16 +216,19 @@ export class StofDoc {
199
216
  * Add JS library function.
200
217
  */
201
218
  // deno-lint-ignore ban-types
202
- lib(library, name, func, is_async = false) {
219
+ lib(library, name, func, is_async) {
203
220
  const docid = this.stof.docid();
204
- this.stof.js_library_function(new StofFunc(docid, library, name, func, is_async));
221
+ const async_fn = is_async ?? func.constructor.name === "AsyncFunction";
222
+ this.stof.js_library_function(new StofFunc(docid, library, name, func, async_fn));
205
223
  }
206
224
  /**
207
225
  * Run this document with a given set of Stof attributes.
208
226
  * Will run all #[main] functions by default.
209
227
  */
210
228
  async run(attr = 'main') {
211
- return await StofDoc.wasmGate.run(() => this.stof.run(attr));
229
+ const acquire = () => StofDoc.wasmMutex.acquire();
230
+ const release = () => StofDoc.wasmMutex.release();
231
+ return await this.stof.run_with_gate(attr, acquire, release);
212
232
  }
213
233
  /**
214
234
  * Run this document with a given set of Stof attributes (synchronously).
@@ -224,7 +244,9 @@ export class StofDoc {
224
244
  async call(path, ...args) {
225
245
  if (!path.includes('.'))
226
246
  path = 'root.' + path; // assume root node if not specified
227
- return await StofDoc.wasmGate.run(() => this.stof.call(path, args));
247
+ const acquire = () => StofDoc.wasmMutex.acquire();
248
+ const release = () => StofDoc.wasmMutex.release();
249
+ return await this.stof.call_with_gate(path, args, acquire, release);
228
250
  }
229
251
  /**
230
252
  * Call a specific Stof function by path/name.
@@ -288,39 +310,7 @@ export class StofDoc {
288
310
  doc.stof.binaryImport(serialized, 'bstf', null, 'prod');
289
311
  return doc;
290
312
  }
291
- /*****************************************************************************
292
- * Network.
293
- *****************************************************************************/
294
- /**
295
- * Send Stof doc string body as an HTTP request.
296
- */
297
- static async send(url, stof, method = 'POST', bearer, headers = {}) {
298
- headers['Content-Type'] = 'application/stof';
299
- if (bearer !== undefined)
300
- headers['Authorization'] = `Bearer ${bearer}`;
301
- return await fetch(url, {
302
- method,
303
- headers: headers,
304
- body: stof
305
- });
306
- }
307
- /**
308
- * Send this document ('bstf' format) as an HTTP request.
309
- */
310
- async send(url, method = 'POST', bearer, headers = {}) {
311
- return await StofDoc.wasmGate.run(async () => {
312
- headers['Content-Type'] = 'application/bstf';
313
- if (bearer !== undefined)
314
- headers['Authorization'] = `Bearer ${bearer}`;
315
- const body = this.stof.binaryExport('bstf', null); // Uint8Array
316
- return await fetch(url, {
317
- method,
318
- headers: headers,
319
- body
320
- });
321
- });
322
- }
323
313
  }
324
- StofDoc.VERSION = '0.9.14';
325
- StofDoc.wasmGate = new WasmGate();
314
+ StofDoc.VERSION = '0.9.17';
315
+ StofDoc.wasmMutex = new WasmMutex();
326
316
  //# sourceMappingURL=doc.js.map
package/dist/doc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"doc.js","sourceRoot":"","sources":["../doc.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,oDAAoD;AACpD,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AAEF,gCAAgC;AAChC,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,gCAAgC;AAChC,cAAc,eAAe,CAAC;AAG9B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAAkC;IAC7D,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,QAAkC,CAAC;IAEvC,IAAI,UAAU,EAAE,CAAC;QACb,4BAA4B;QAC5B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjC,0DAA0D;YAC1D,aAAa;YACb,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC;YAClF,aAAa;YACb,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;YAEtH,IAAI,MAAM,EAAE,CAAC;gBACT,kCAAkC;gBAClC,sDAAsD;gBACtD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACJ,iDAAiD;gBACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;gBACzC,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,UAAU,CAAC;QAC1B,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,mCAAmC;QACnC,6DAA6D;QAC7D,2BAA2B;QAC3B,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC;QAElF,yBAAyB;QACzB,yCAAyC;QACzC,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;QAEtH,IAAI,MAAM,EAAE,CAAC;YACT,uDAAuD;YACvD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,aAAa;YACb,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9C,aAAa;YACb,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;YACvD,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,4DAA4D;YAC5D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YACtC,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC5C,CAAC;IACL,CAAC;IAED,OAAO,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAGD;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC7B,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC;AAChD,CAAC;AAGD;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,OAA6B,EAAE,GAAG,MAAiB;IACpE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IAC1B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,OAAO,GAAG,CAAC;AACf,CAAC;AAGD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAA6B,EAAE,GAAG,MAAiB;IAC/E,MAAM,QAAQ,EAAE,CAAC;IACjB,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IAC1B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,OAAO,GAAG,CAAC;AACf,CAAC;AAGD;;;GAGG;AACH,MAAM,QAAQ;IAAd;QACY,SAAI,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IAOvD,CAAC;IALG,GAAG,CAAI,EAAwB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAGD;;GAEG;AACH,MAAM,OAAO,OAAO;IAOhB;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,IAA4B;QAC1C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC,WAAW,CAAC;QAC/B,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACP,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,OAAO,CAAC,WAAW,CAAC;IAC/B,CAAC;IAGD;;;OAGG;IACH,YAAY,OAAa,IAAI,IAAI,EAAE;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAGD;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG;QACZ,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO,IAAI,OAAO,EAAE,CAAC;IACzB,CAAC;IAGD;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAA4B;QAC3C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IAGD;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAA4B;QAC1C,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IAGD;;OAEG;IACH,KAAK,CAAC,GAAkD,EAAE,SAAiB,MAAM,EAAE,OAAsB,IAAI,EAAE,UAA2B,MAAM;QAC5I,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;aAAM,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAGD;;OAEG;IACH,6BAA6B;IAC7B,GAAG,CAAC,OAAe,EAAE,IAAY,EAAE,IAAc,EAAE,WAAoB,KAAK;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACtF,CAAC;IAGD;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,OAA0B,MAAM;QACtC,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAGD;;;;OAIG;IACH,QAAQ,CAAC,OAA0B,MAAM;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAGD;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,GAAG,IAAe;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,oCAAoC;QACpF,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAGD;;;OAGG;IACH,SAAS,CAAC,IAAY,EAAE,GAAG,IAAe;QACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,oCAAoC;QACpF,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAGD;;OAEG;IACH,GAAG,CAAC,IAAY,EAAE,eAA8B,IAAI;QAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IAGD;;;OAGG;IACH,GAAG,CAAC,IAAY,EAAE,KAAc,EAAE,eAA8B,IAAI;QAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;IAGD;;OAEG;IACH,SAAS,CAAC,SAAiB,MAAM,EAAE,OAAsB,IAAI;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAGD;;OAEG;IACH,OAAO,CAAC,SAAiB,MAAM,EAAE,OAAsB,IAAI;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAGD;;OAEG;IACH,MAAM,CAAC,OAAsB,IAAI;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAGD;;;OAGG;IACH,OAAO;QACH,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;IACL,CAAC;IAGD;;OAEG;IACH,KAAK,CAAC,KAAK;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,GAAG,CAAC;IACf,CAAC;IAGD;;mFAE+E;IAE/E;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,IAAY,EAAE,SAAiB,MAAM,EAAE,MAAe,EAAE,UAAkC,EAAE;QACvH,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,MAAM,EAAE,CAAC;QACxE,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE;YACpB,MAAM;YACN,OAAO,EAAE,OAAsB;YAC/B,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;IACP,CAAC;IAGD;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,SAAiB,MAAM,EAAE,MAAe,EAAE,UAAkC,EAAE;QAClG,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACzC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YAC7C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,MAAM,EAAE,CAAC;YACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa;YAChE,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE;gBACpB,MAAM;gBACN,OAAO,EAAE,OAAsB;gBAC/B,IAAI;aACP,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;;AA5Ne,eAAO,GAAG,QAAQ,CAAC;AAEpB,gBAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"doc.js","sourceRoot":"","sources":["../doc.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,11 @@ export class Stof {
18
18
  * Import a JS object value.
19
19
  */
20
20
  objImport(js_obj: any, node: any): boolean;
21
+ /**
22
+ * Run functions with the given attribute(s) in this document.
23
+ * Attributes defaults to #[main] functions if null or undefined.
24
+ */
25
+ run_with_gate(attributes: any, acquire: Function, release: Function): Promise<string>;
21
26
  /**
22
27
  * String export, using a format of choice.
23
28
  */
@@ -26,6 +31,12 @@ export class Stof {
26
31
  * String import, using a format of choice (including stof).
27
32
  */
28
33
  stringImport(src: string, format: string, node: any, profile: string): boolean;
34
+ /**
35
+ * Call a singular function in the document (by path).
36
+ * If no arguments, pass undefined as args.
37
+ * Otherwise, pass an array of arguments as args.
38
+ */
39
+ call_with_gate(path: string, args: any, acquire: Function, release: Function): Promise<any>;
29
40
  /**
30
41
  * Insert a JS function as a library function, available in Stof.
31
42
  */
@@ -38,21 +49,10 @@ export class Stof {
38
49
  * Construct a new document.
39
50
  */
40
51
  constructor();
41
- /**
42
- * Run functions with the given attribute(s) in this document.
43
- * Attributes defaults to #[main] functions if null or undefined.
44
- */
45
- run(attributes: any): Promise<string>;
46
52
  /**
47
53
  * Set a value onto this graph using the Stof runtime.
48
54
  */
49
55
  set(path: string, value: any, start: any): boolean;
50
- /**
51
- * Call a singular function in the document (by path).
52
- * If no arguments, pass undefined as args.
53
- * Otherwise, pass an array of arguments as args.
54
- */
55
- call(path: string, args: any): Promise<any>;
56
56
  /**
57
57
  * Get the ID of this document as a string.
58
58
  */
@@ -100,14 +100,14 @@ export interface InitOutput {
100
100
  readonly start: () => void;
101
101
  readonly stof_binaryExport: (a: number, b: number, c: number, d: any) => [number, number, number];
102
102
  readonly stof_binaryImport: (a: number, b: any, c: number, d: number, e: any, f: number, g: number) => [number, number, number];
103
- readonly stof_call: (a: number, b: number, c: number, d: any) => any;
103
+ readonly stof_call_with_gate: (a: number, b: number, c: number, d: any, e: any, f: any) => any;
104
104
  readonly stof_docid: (a: number) => [number, number];
105
105
  readonly stof_get: (a: number, b: number, c: number, d: any) => any;
106
106
  readonly stof_js_library_function: (a: number, b: number) => void;
107
107
  readonly stof_new: () => number;
108
108
  readonly stof_objImport: (a: number, b: any, c: any) => [number, number, number];
109
109
  readonly stof_parse: (a: number, b: number, c: number, d: any, e: number, f: number) => [number, number, number];
110
- readonly stof_run: (a: number, b: any) => any;
110
+ readonly stof_run_with_gate: (a: number, b: any, c: any, d: any) => any;
111
111
  readonly stof_set: (a: number, b: number, c: number, d: any, e: any) => number;
112
112
  readonly stof_stringExport: (a: number, b: number, c: number, d: any) => [number, number, number, number];
113
113
  readonly stof_stringImport: (a: number, b: number, c: number, d: number, e: number, f: any, g: number, h: number) => [number, number, number];
package/dist/pkg/stof.js CHANGED
@@ -300,6 +300,18 @@ export class Stof {
300
300
  }
301
301
  return ret[0] !== 0;
302
302
  }
303
+ /**
304
+ * Run functions with the given attribute(s) in this document.
305
+ * Attributes defaults to #[main] functions if null or undefined.
306
+ * @param {any} attributes
307
+ * @param {Function} acquire
308
+ * @param {Function} release
309
+ * @returns {Promise<string>}
310
+ */
311
+ run_with_gate(attributes, acquire, release) {
312
+ const ret = wasm.stof_run_with_gate(this.__wbg_ptr, attributes, acquire, release);
313
+ return ret;
314
+ }
303
315
  /**
304
316
  * String export, using a format of choice.
305
317
  * @param {string} format
@@ -347,6 +359,22 @@ export class Stof {
347
359
  }
348
360
  return ret[0] !== 0;
349
361
  }
362
+ /**
363
+ * Call a singular function in the document (by path).
364
+ * If no arguments, pass undefined as args.
365
+ * Otherwise, pass an array of arguments as args.
366
+ * @param {string} path
367
+ * @param {any} args
368
+ * @param {Function} acquire
369
+ * @param {Function} release
370
+ * @returns {Promise<any>}
371
+ */
372
+ call_with_gate(path, args, acquire, release) {
373
+ const ptr0 = passStringToWasm0(path, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
374
+ const len0 = WASM_VECTOR_LEN;
375
+ const ret = wasm.stof_call_with_gate(this.__wbg_ptr, ptr0, len0, args, acquire, release);
376
+ return ret;
377
+ }
350
378
  /**
351
379
  * Insert a JS function as a library function, available in Stof.
352
380
  * @param {StofFunc} func
@@ -377,16 +405,6 @@ export class Stof {
377
405
  StofFinalization.register(this, this.__wbg_ptr, this);
378
406
  return this;
379
407
  }
380
- /**
381
- * Run functions with the given attribute(s) in this document.
382
- * Attributes defaults to #[main] functions if null or undefined.
383
- * @param {any} attributes
384
- * @returns {Promise<string>}
385
- */
386
- run(attributes) {
387
- const ret = wasm.stof_run(this.__wbg_ptr, attributes);
388
- return ret;
389
- }
390
408
  /**
391
409
  * Set a value onto this graph using the Stof runtime.
392
410
  * @param {string} path
@@ -400,20 +418,6 @@ export class Stof {
400
418
  const ret = wasm.stof_set(this.__wbg_ptr, ptr0, len0, value, start);
401
419
  return ret !== 0;
402
420
  }
403
- /**
404
- * Call a singular function in the document (by path).
405
- * If no arguments, pass undefined as args.
406
- * Otherwise, pass an array of arguments as args.
407
- * @param {string} path
408
- * @param {any} args
409
- * @returns {Promise<any>}
410
- */
411
- call(path, args) {
412
- const ptr0 = passStringToWasm0(path, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
413
- const len0 = WASM_VECTOR_LEN;
414
- const ret = wasm.stof_call(this.__wbg_ptr, ptr0, len0, args);
415
- return ret;
416
- }
417
421
  /**
418
422
  * Get the ID of this document as a string.
419
423
  * @returns {string}
@@ -1005,11 +1009,6 @@ function __wbg_get_imports() {
1005
1009
  const ret = arg0.versions;
1006
1010
  return ret;
1007
1011
  };
1008
- imports.wbg.__wbindgen_cast_19039c21a5ac44b6 = function(arg0, arg1) {
1009
- // Cast intrinsic for `Closure(Closure { dtor_idx: 7077, function: Function { arguments: [Externref], shim_idx: 7078, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1010
- const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h72b14ab7db8750ca, wasm_bindgen__convert__closures_____invoke__h53d5cf04cab8438f);
1011
- return ret;
1012
- };
1013
1012
  imports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {
1014
1013
  // Cast intrinsic for `Ref(String) -> Externref`.
1015
1014
  const ret = getStringFromWasm0(arg0, arg1);
@@ -1020,6 +1019,11 @@ function __wbg_get_imports() {
1020
1019
  const ret = BigInt.asUintN(64, arg0);
1021
1020
  return ret;
1022
1021
  };
1022
+ imports.wbg.__wbindgen_cast_4f41d4709fd67779 = function(arg0, arg1) {
1023
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 7056, function: Function { arguments: [Externref], shim_idx: 7057, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1024
+ const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h72b14ab7db8750ca, wasm_bindgen__convert__closures_____invoke__h53d5cf04cab8438f);
1025
+ return ret;
1026
+ };
1023
1027
  imports.wbg.__wbindgen_cast_9ae0607507abb057 = function(arg0) {
1024
1028
  // Cast intrinsic for `I64 -> Externref`.
1025
1029
  const ret = arg0;
Binary file
@@ -6,14 +6,14 @@ export const __wbg_stoffunc_free: (a: number, b: number) => void;
6
6
  export const start: () => void;
7
7
  export const stof_binaryExport: (a: number, b: number, c: number, d: any) => [number, number, number];
8
8
  export const stof_binaryImport: (a: number, b: any, c: number, d: number, e: any, f: number, g: number) => [number, number, number];
9
- export const stof_call: (a: number, b: number, c: number, d: any) => any;
9
+ export const stof_call_with_gate: (a: number, b: number, c: number, d: any, e: any, f: any) => any;
10
10
  export const stof_docid: (a: number) => [number, number];
11
11
  export const stof_get: (a: number, b: number, c: number, d: any) => any;
12
12
  export const stof_js_library_function: (a: number, b: number) => void;
13
13
  export const stof_new: () => number;
14
14
  export const stof_objImport: (a: number, b: any, c: any) => [number, number, number];
15
15
  export const stof_parse: (a: number, b: number, c: number, d: any, e: number, f: number) => [number, number, number];
16
- export const stof_run: (a: number, b: any) => any;
16
+ export const stof_run_with_gate: (a: number, b: any, c: any, d: any) => any;
17
17
  export const stof_set: (a: number, b: number, c: number, d: any, e: any) => number;
18
18
  export const stof_stringExport: (a: number, b: number, c: number, d: any) => [number, number, number, number];
19
19
  export const stof_stringImport: (a: number, b: number, c: number, d: number, e: number, f: any, g: number, h: number) => [number, number, number];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formata/stof",
3
- "version": "0.9.16",
3
+ "version": "0.9.17",
4
4
  "type": "module",
5
5
  "main": "./dist/doc.js",
6
6
  "types": "./dist/doc.d.ts",