@wavehouse/chtypes 0.5.0 → 0.5.2
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/CHANGELOG.md +31 -0
- package/README.md +3 -3
- package/dist/errors.d.ts +24 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +31 -0
- package/dist/errors.js.map +1 -1
- package/dist/fetch.js +1 -1
- package/dist/fetch.js.map +1 -1
- package/dist/ffi.d.ts +18 -8
- package/dist/ffi.d.ts.map +1 -1
- package/dist/ffi.js +86 -23
- package/dist/ffi.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts +4 -2
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +5 -3
- package/dist/registry.js.map +1 -1
- package/dist/results.d.ts +46 -11
- package/dist/results.d.ts.map +1 -1
- package/dist/results.js +1 -2
- package/dist/results.js.map +1 -1
- package/dist/schema.d.ts +53 -8
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +91 -32
- package/dist/schema.js.map +1 -1
- package/package.json +1 -1
package/dist/results.js
CHANGED
|
@@ -264,8 +264,7 @@ export function batchResultOf(doc, payload = null) {
|
|
|
264
264
|
const engineRowsBytes = enginePresent ? engineNode.items.map((r) => rawBytes(r)) : null;
|
|
265
265
|
// row_spans is present exactly when export bytes were emitted;
|
|
266
266
|
// export_declined exactly when an export was requested and withheld
|
|
267
|
-
// (the C ABI contract §Rows). Both absent = no export requested
|
|
268
|
-
// verdict preempted the machinery.
|
|
267
|
+
// (the C ABI contract §Rows). Both absent = no export requested.
|
|
269
268
|
const spansNode = field(doc, 'row_spans');
|
|
270
269
|
const spans = spansNode === undefined
|
|
271
270
|
? undefined
|
package/dist/results.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"results.js","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,aAAa,EACb,KAAK,EACL,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,OAAO,GAER,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,gBAAgB,EAAE,mBAAmB;IACrC,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;CACV,CAAC;AAGX,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AA8B9B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB;;;;;;;OAOG;IACH,OAAO,EAAE,SAAS;IAClB;;;;;;;OAOG;IACH,cAAc,EAAE,iBAAiB;IACjC;;;;;OAKG;IACH,iBAAiB,EAAE,oBAAoB;IACvC;;;;;;;;OAQG;IACH,kBAAkB,EAAE,qBAAqB;CACjC,CAAC;AAiPX;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,CAAS;IAC1B,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,mBAAmB;YACtB,OAAO,mBAAmB,CAAC;QAC7B,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,aAAa,CAAC;IACzB,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,8EAA8E;AAC9E,oFAAoF;AACpF,MAAM,UAAU,WAAW,CAAC,GAAS;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACxC,MAAM,YAAY,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC;IAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClC,uEAAuE;IACvE,gDAAgD;IAChD,MAAM,UAAU,GAAG,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC;IACpE,4EAA4E;IAC5E,+EAA+E;IAC/E,MAAM,aAAa,GAAG,UAAU,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC;IAC1D,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAClC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC;QAC1B,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACzC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;QAChD,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QACvC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC;QAC9B,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;QACzD,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;QAChD,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACxC,MAAM;QACN,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC3C,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC7C,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACvD,YAAY;KACb,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,WAAW,CAAC,GAAS;IACnC,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAClE,MAAM,mBAAmB,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAC9E,IAAI,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzD,wDAAwD;IACxD,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,GAAG,aAAa,CAAC;IAEtF,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAgB,EAAE,CAAC;IACpC,MAAM,WAAW,GAAmB,EAAE,CAAC;IAEvC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9B,gEAAgE;QAChE,oEAAoE;QACpE,mEAAmE;QACnE,wEAAwE;QACxE,yEAAyE;QACzE,4DAA4D;QAC5D,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,cAAc;YAAE,SAAS;QAC1E,MAAM,CAAC,IAAI,CAAC;YACV,MAAM,EAAE,CAAC,CAAC,IAAI;YACd,IAAI,EAAE,CAAC,CAAC,MAAM;YACd,KAAK,EAAE,CAAC,CAAC,WAAW;YACpB,MAAM,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM;YACnC,MAAM,EAAE,CAAC,CAAC,GAAG;SACd,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACxC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5F,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,QAAQ,GAAe,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;KACtC,CAAC,CAAC,CAAC;IAEJ,+EAA+E;IAC/E,0EAA0E;IAC1E,wEAAwE;IACxE,yEAAyE;IACzE,sCAAsC;IACtC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAwB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9G,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;IACvD,4EAA4E;IAC5E,mEAAmE;IACnE,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEjD,OAAO;QACL,MAAM;QACN,WAAW;QACX,OAAO;QACP,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,aAAa;QACb,mBAAmB;QACnB,WAAW;QACX,QAAQ;QACR,OAAO;QACP,WAAW;QACX,UAAU;QACV,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,GAAS,EAAE,OAAO,GAAkB,IAAI;IACpE,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAgB,EAAE,CAAC;IAEpC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAClD,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW;YAAE,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;QAC/C,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,8EAA8E;IAC9E,8EAA8E;IAC9E,mCAAmC;IACnC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,WAAW,CAAC,IAAI,CAAC;YACf,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACxC,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;YACnD,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;YAC7B,MAAM;YACN,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/B,qEAAqE;YACrE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC;IAC9E,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExF,+DAA+D;IAC/D,oEAAoE;IACpE,iFAAiF;IACjF,mCAAmC;IACnC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1C,MAAM,KAAK,GACT,SAAS,KAAK,SAAS;QACrB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClG,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACvF,MAAM,kBAAkB,GAAG,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAEzD,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;QACnD,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC9C,WAAW;QACX,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5F,eAAe;QACf,OAAO,EAAE,OAAO,IAAI,SAAS;QAC7B,KAAK;QACL,cAAc;QACd,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC5C,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACtC,wEAAwE;QACxE,0CAA0C;QAC1C,GAAG,CAAC,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,CAAC,IAAI,KAAK,QAAQ;YAC1E,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,6EAA6E;AAE7E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG;CACJ,CAAC;AAGX;iFACiF;AACjF,MAAM,UAAU,QAAQ,CAAC,CAAU;IACjC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAAC,EAAU;IAC3B,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,GAAG;YACN,OAAO,GAAG,CAAC;QACb,KAAK,GAAG;YACN,OAAO,GAAG,CAAC;QACb,KAAK,GAAG;YACN,OAAO,GAAG,CAAC;QACb;YACE,oEAAoE;YACpE,8CAA8C;YAC9C,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;CAClB,CAAC;AAGX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;CACd,CAAC;AAmCX,sDAAsD;AACtD,MAAM,UAAU,cAAc,CAAC,GAAS;IACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IACnD,4EAA4E;IAC5E,6CAA6C;IAC7C,MAAM,OAAO,GACX,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;IACtF,MAAM,IAAI,GAAG;QACX,OAAO;QACP,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxC,mBAAmB,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;KACvE,CAAC;IACF,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAEnE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QAClD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,MAAM,GAAqB,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3B,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7B,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KAC/B,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"results.js","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -7,6 +7,29 @@ import type { BlockHandle, FilterHandle, NativeLibrary, SchemaHandle } from './f
|
|
|
7
7
|
import { type Format } from './format.js';
|
|
8
8
|
import { type BatchResult, type FilterResult, type RowResult } from './results.js';
|
|
9
9
|
import { type Settings } from './settings.js';
|
|
10
|
+
/**
|
|
11
|
+
* Native state a `Schema`'s GC finalizer frees from, tracked separately from
|
|
12
|
+
* the `Schema` object itself: a `FinalizationRegistry` callback must never
|
|
13
|
+
* hold (or close over) a reference to the object it was registered for —
|
|
14
|
+
* that would keep it reachable forever and the finalizer would never run.
|
|
15
|
+
*
|
|
16
|
+
* `Filter` and `Block` each remove their own handle from `openFilters` /
|
|
17
|
+
* `openBlocks` when they free it — whether that is an explicit `close()` or
|
|
18
|
+
* their OWN finalizer — so whichever gets there first wins and the other is
|
|
19
|
+
* a safe no-op. That is what lets this schema's finalizer walk whatever is
|
|
20
|
+
* STILL in these sets and free it before freeing the schema itself (the C
|
|
21
|
+
* layer does not refcount: freeing the schema under a live filter or block
|
|
22
|
+
* handle is a use-after-free) without racing a filter's or block's own
|
|
23
|
+
* independent finalizer — the spec promises nothing about the order two
|
|
24
|
+
* separate `FinalizationRegistry` callbacks run in, so correctness cannot
|
|
25
|
+
* depend on which one happens to fire first.
|
|
26
|
+
*/
|
|
27
|
+
interface SchemaNative {
|
|
28
|
+
readonly native: NativeLibrary;
|
|
29
|
+
handle: SchemaHandle | null;
|
|
30
|
+
readonly openFilters: Set<FilterHandle>;
|
|
31
|
+
readonly openBlocks: Set<BlockHandle>;
|
|
32
|
+
}
|
|
10
33
|
/** One declared column, as ClickHouse canonicalized it. */
|
|
11
34
|
export interface ColumnInfo {
|
|
12
35
|
readonly name: string;
|
|
@@ -169,7 +192,10 @@ export interface CompileFilterOptions {
|
|
|
169
192
|
/**
|
|
170
193
|
* A compiled schema — one tenant table's column list, compiled inside one
|
|
171
194
|
* version's library. Obtained from `Library#compileDdl`; never constructed
|
|
172
|
-
* directly. Release with `close()` (idempotent) or `using` / `Symbol.dispose
|
|
195
|
+
* directly. Release with `close()` (idempotent) or `using` / `Symbol.dispose`
|
|
196
|
+
* — `close()` stays the primary path; a GC finalizer that calls it for a
|
|
197
|
+
* schema nobody closed is a backstop, not a replacement, since there is no
|
|
198
|
+
* promise about WHEN (or, in principle, whether) it runs.
|
|
173
199
|
*
|
|
174
200
|
* Thread-safety: the C ABI forbids using one `chs_schema *` from two threads
|
|
175
201
|
* at once; on a single JS thread every call here is synchronous, so ordinary
|
|
@@ -188,7 +214,8 @@ export declare class Schema {
|
|
|
188
214
|
* (`defaultKind === 'EPHEMERAL'`), not per row.
|
|
189
215
|
*/
|
|
190
216
|
readonly columns: readonly ColumnInfo[];
|
|
191
|
-
|
|
217
|
+
/** The handle plus the GC-finalizer coordination state; see `SchemaNative`. */
|
|
218
|
+
private readonly n;
|
|
192
219
|
/**
|
|
193
220
|
* Every open `Filter` compiled from this handle, so `close()` can free them
|
|
194
221
|
* FIRST — the C layer does not refcount, and freeing the schema under a
|
|
@@ -448,6 +475,10 @@ export declare class Schema {
|
|
|
448
475
|
* work on both objects in any nesting — the schema's dispose runs the
|
|
449
476
|
* filter's first when the caller forgot. A filter compiled from a schema
|
|
450
477
|
* answers for THAT handle: recompile filters when the schema is recompiled.
|
|
478
|
+
* A filter nobody closed is also backed by a GC finalizer, coordinated with
|
|
479
|
+
* its schema's own (see `SchemaNative`) so the two can never free this
|
|
480
|
+
* filter's handle out of order or twice, whichever one the GC happens to run
|
|
481
|
+
* first.
|
|
451
482
|
*
|
|
452
483
|
* THREADS: the header's rule, verbatim — one `chs_filter` "must not be used
|
|
453
484
|
* from two threads at once, and a chs_filter call is ALSO a use of its schema
|
|
@@ -466,9 +497,10 @@ export declare class Filter {
|
|
|
466
497
|
private readonly schema;
|
|
467
498
|
/** The expression text as compiled, for logging and cache keys. */
|
|
468
499
|
readonly expr: string;
|
|
469
|
-
|
|
500
|
+
/** The handle plus the GC-finalizer coordination state; see `FilterNative`. */
|
|
501
|
+
private readonly n;
|
|
470
502
|
/** @internal — obtained from `Schema#compileFilter`. */
|
|
471
|
-
constructor(native: NativeLibrary, schema: Schema, handle: FilterHandle,
|
|
503
|
+
constructor(native: NativeLibrary, schema: Schema, schemaNative: SchemaNative, handle: FilterHandle,
|
|
472
504
|
/** The expression text as compiled, for logging and cache keys. */
|
|
473
505
|
expr: string);
|
|
474
506
|
/** @internal — the loaded library this filter's handle belongs to, for
|
|
@@ -516,7 +548,10 @@ export declare class Filter {
|
|
|
516
548
|
/**
|
|
517
549
|
* Release the native filter (`chs_filter_free`). Idempotent, and also
|
|
518
550
|
* performed by the schema's own `close()` — filters first, then the schema,
|
|
519
|
-
* the C-required order.
|
|
551
|
+
* the C-required order. Also the backstop a GC finalizer calls for a filter
|
|
552
|
+
* nobody closed — see `SchemaNative`; the `openFilters.delete` guard is
|
|
553
|
+
* what makes it safe to run whether `close()`, this filter's own finalizer,
|
|
554
|
+
* or the schema's finalizer gets here first.
|
|
520
555
|
*/
|
|
521
556
|
close(): void;
|
|
522
557
|
/** `using filter = schema.compileFilter(...)` releases it at scope exit. */
|
|
@@ -543,13 +578,19 @@ export declare class Filter {
|
|
|
543
578
|
* is a use of BOTH handles. On a single JS thread every call here is
|
|
544
579
|
* synchronous, so ordinary Node code satisfies both by construction; do not
|
|
545
580
|
* share a `Block` — or its `Schema` — across `worker_threads`.
|
|
581
|
+
*
|
|
582
|
+
* A block nobody closed is also backed by a GC finalizer, coordinated with
|
|
583
|
+
* its schema's own (see `SchemaNative`) so the two can never free this
|
|
584
|
+
* block's handle out of order or twice, whichever one the GC happens to run
|
|
585
|
+
* first.
|
|
546
586
|
*/
|
|
547
587
|
export declare class Block {
|
|
548
588
|
private readonly native;
|
|
549
589
|
private readonly schema;
|
|
550
|
-
|
|
590
|
+
/** The handle plus the GC-finalizer coordination state; see `BlockNative`. */
|
|
591
|
+
private readonly n;
|
|
551
592
|
/** @internal — obtained from `Schema#parseBlock`. */
|
|
552
|
-
constructor(native: NativeLibrary, schema: Schema, handle: BlockHandle);
|
|
593
|
+
constructor(native: NativeLibrary, schema: Schema, schemaNative: SchemaNative, handle: BlockHandle);
|
|
553
594
|
/** @internal — the loaded library this block's handle belongs to. */
|
|
554
595
|
get nativeLib(): NativeLibrary;
|
|
555
596
|
/** @internal — the live handle, for `Filter#eval`. */
|
|
@@ -557,10 +598,14 @@ export declare class Block {
|
|
|
557
598
|
/**
|
|
558
599
|
* Release the native block (`chs_block_free`). Idempotent, and also
|
|
559
600
|
* performed by the schema's own `close()` — blocks first, then the schema,
|
|
560
|
-
* the C-required order.
|
|
601
|
+
* the C-required order. Also the backstop a GC finalizer calls for a block
|
|
602
|
+
* nobody closed — see `SchemaNative`; the `openBlocks.delete` guard is what
|
|
603
|
+
* makes it safe to run whether `close()`, this block's own finalizer, or
|
|
604
|
+
* the schema's finalizer gets here first.
|
|
561
605
|
*/
|
|
562
606
|
close(): void;
|
|
563
607
|
/** `using block = schema.parseBlock(...)` releases it at scope exit. */
|
|
564
608
|
[Symbol.dispose](): void;
|
|
565
609
|
}
|
|
610
|
+
export {};
|
|
566
611
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvF,OAAO,EAAwB,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9D,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;CACpC;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACnD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CAClD;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACxC;AAED
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.js
CHANGED
|
@@ -8,10 +8,39 @@ import { DOC_ALL, EXPORT_NONE } from './format.js';
|
|
|
8
8
|
import { parseDocument } from './json.js';
|
|
9
9
|
import { batchResultOf, filterResultOf, rowResultOf, } from './results.js';
|
|
10
10
|
import { encodeSettings } from './settings.js';
|
|
11
|
+
const schemaFinalizer = new FinalizationRegistry((n) => {
|
|
12
|
+
if (n.handle === null)
|
|
13
|
+
return; // closed explicitly already
|
|
14
|
+
for (const h of n.openFilters)
|
|
15
|
+
n.native.filterFree(h);
|
|
16
|
+
n.openFilters.clear();
|
|
17
|
+
for (const h of n.openBlocks)
|
|
18
|
+
n.native.blockFree(h);
|
|
19
|
+
n.openBlocks.clear();
|
|
20
|
+
n.native.schemaFree(n.handle);
|
|
21
|
+
n.handle = null;
|
|
22
|
+
});
|
|
23
|
+
const filterFinalizer = new FinalizationRegistry((n) => {
|
|
24
|
+
if (n.handle === null)
|
|
25
|
+
return;
|
|
26
|
+
if (n.schema.openFilters.delete(n.handle))
|
|
27
|
+
n.native.filterFree(n.handle);
|
|
28
|
+
n.handle = null;
|
|
29
|
+
});
|
|
30
|
+
const blockFinalizer = new FinalizationRegistry((n) => {
|
|
31
|
+
if (n.handle === null)
|
|
32
|
+
return;
|
|
33
|
+
if (n.schema.openBlocks.delete(n.handle))
|
|
34
|
+
n.native.blockFree(n.handle);
|
|
35
|
+
n.handle = null;
|
|
36
|
+
});
|
|
11
37
|
/**
|
|
12
38
|
* A compiled schema — one tenant table's column list, compiled inside one
|
|
13
39
|
* version's library. Obtained from `Library#compileDdl`; never constructed
|
|
14
|
-
* directly. Release with `close()` (idempotent) or `using` / `Symbol.dispose
|
|
40
|
+
* directly. Release with `close()` (idempotent) or `using` / `Symbol.dispose`
|
|
41
|
+
* — `close()` stays the primary path; a GC finalizer that calls it for a
|
|
42
|
+
* schema nobody closed is a backstop, not a replacement, since there is no
|
|
43
|
+
* promise about WHEN (or, in principle, whether) it runs.
|
|
15
44
|
*
|
|
16
45
|
* Thread-safety: the C ABI forbids using one `chs_schema *` from two threads
|
|
17
46
|
* at once; on a single JS thread every call here is synchronous, so ordinary
|
|
@@ -29,7 +58,8 @@ export class Schema {
|
|
|
29
58
|
* (`defaultKind === 'EPHEMERAL'`), not per row.
|
|
30
59
|
*/
|
|
31
60
|
columns;
|
|
32
|
-
handle;
|
|
61
|
+
/** The handle plus the GC-finalizer coordination state; see `SchemaNative`. */
|
|
62
|
+
n;
|
|
33
63
|
/**
|
|
34
64
|
* Every open `Filter` compiled from this handle, so `close()` can free them
|
|
35
65
|
* FIRST — the C layer does not refcount, and freeing the schema under a
|
|
@@ -47,13 +77,14 @@ export class Schema {
|
|
|
47
77
|
ddl) {
|
|
48
78
|
this.native = native;
|
|
49
79
|
this.ddl = ddl;
|
|
50
|
-
this.
|
|
80
|
+
this.n = { native, handle, openFilters: new Set(), openBlocks: new Set() };
|
|
51
81
|
this.columns = native.columns(handle);
|
|
82
|
+
schemaFinalizer.register(this, this.n, this);
|
|
52
83
|
}
|
|
53
84
|
live() {
|
|
54
|
-
if (this.handle === null)
|
|
85
|
+
if (this.n.handle === null)
|
|
55
86
|
throw new ChtypesError('chtypes: schema is closed');
|
|
56
|
-
return this.handle;
|
|
87
|
+
return this.n.handle;
|
|
57
88
|
}
|
|
58
89
|
/**
|
|
59
90
|
* Declare the table engine, so `rows()` applies the engine's own insert-time
|
|
@@ -257,7 +288,8 @@ export class Schema {
|
|
|
257
288
|
*/
|
|
258
289
|
compileFilter(expr, options) {
|
|
259
290
|
const handle = this.native.filterCompile(this.live(), expr, encodeSettings(options?.params));
|
|
260
|
-
|
|
291
|
+
this.n.openFilters.add(handle);
|
|
292
|
+
const filter = new Filter(this.native, this, this.n, handle, expr);
|
|
261
293
|
this.filters.add(filter);
|
|
262
294
|
return filter;
|
|
263
295
|
}
|
|
@@ -301,7 +333,8 @@ export class Schema {
|
|
|
301
333
|
*/
|
|
302
334
|
parseBlock(format, body, settings, options) {
|
|
303
335
|
const handle = this.native.blockParse(this.live(), format, body, encodeSettings(settings), options?.columns);
|
|
304
|
-
|
|
336
|
+
this.n.openBlocks.add(handle);
|
|
337
|
+
const block = new Block(this.native, this, this.n, handle);
|
|
305
338
|
this.blocks.add(block);
|
|
306
339
|
return block;
|
|
307
340
|
}
|
|
@@ -324,10 +357,11 @@ export class Schema {
|
|
|
324
357
|
for (const block of this.blocks)
|
|
325
358
|
block.close();
|
|
326
359
|
this.blocks.clear();
|
|
327
|
-
if (this.handle === null)
|
|
360
|
+
if (this.n.handle === null)
|
|
328
361
|
return;
|
|
329
|
-
this.native.schemaFree(this.handle);
|
|
330
|
-
this.handle = null;
|
|
362
|
+
this.native.schemaFree(this.n.handle);
|
|
363
|
+
this.n.handle = null;
|
|
364
|
+
schemaFinalizer.unregister(this);
|
|
331
365
|
}
|
|
332
366
|
/** `using schema = lib.compileDdl(...)` releases it at scope exit. */
|
|
333
367
|
[Symbol.dispose]() {
|
|
@@ -347,6 +381,10 @@ export class Schema {
|
|
|
347
381
|
* work on both objects in any nesting — the schema's dispose runs the
|
|
348
382
|
* filter's first when the caller forgot. A filter compiled from a schema
|
|
349
383
|
* answers for THAT handle: recompile filters when the schema is recompiled.
|
|
384
|
+
* A filter nobody closed is also backed by a GC finalizer, coordinated with
|
|
385
|
+
* its schema's own (see `SchemaNative`) so the two can never free this
|
|
386
|
+
* filter's handle out of order or twice, whichever one the GC happens to run
|
|
387
|
+
* first.
|
|
350
388
|
*
|
|
351
389
|
* THREADS: the header's rule, verbatim — one `chs_filter` "must not be used
|
|
352
390
|
* from two threads at once, and a chs_filter call is ALSO a use of its schema
|
|
@@ -364,15 +402,17 @@ export class Filter {
|
|
|
364
402
|
native;
|
|
365
403
|
schema;
|
|
366
404
|
expr;
|
|
367
|
-
handle;
|
|
405
|
+
/** The handle plus the GC-finalizer coordination state; see `FilterNative`. */
|
|
406
|
+
n;
|
|
368
407
|
/** @internal — obtained from `Schema#compileFilter`. */
|
|
369
|
-
constructor(native, schema, handle,
|
|
408
|
+
constructor(native, schema, schemaNative, handle,
|
|
370
409
|
/** The expression text as compiled, for logging and cache keys. */
|
|
371
410
|
expr) {
|
|
372
411
|
this.native = native;
|
|
373
412
|
this.schema = schema;
|
|
374
413
|
this.expr = expr;
|
|
375
|
-
this.
|
|
414
|
+
this.n = { native, schema: schemaNative, handle };
|
|
415
|
+
filterFinalizer.register(this, this.n, this);
|
|
376
416
|
}
|
|
377
417
|
/** @internal — the loaded library this filter's handle belongs to, for
|
|
378
418
|
* `Schema#rows(options.rowFilter)`'s cross-library check. */
|
|
@@ -381,9 +421,9 @@ export class Filter {
|
|
|
381
421
|
}
|
|
382
422
|
/** @internal — the live handle, for `Schema#rows(options.rowFilter)`. */
|
|
383
423
|
liveHandle() {
|
|
384
|
-
if (this.handle === null)
|
|
424
|
+
if (this.n.handle === null)
|
|
385
425
|
throw new ChtypesError('chtypes: filter is closed');
|
|
386
|
-
return this.handle;
|
|
426
|
+
return this.n.handle;
|
|
387
427
|
}
|
|
388
428
|
/**
|
|
389
429
|
* Evaluate the filter over a body of rows (`chs_filter_rows`) — the same
|
|
@@ -402,9 +442,9 @@ export class Filter {
|
|
|
402
442
|
* a JS `number`.
|
|
403
443
|
*/
|
|
404
444
|
rows(format, body, settings) {
|
|
405
|
-
if (this.handle === null)
|
|
445
|
+
if (this.n.handle === null)
|
|
406
446
|
throw new ChtypesError('chtypes: filter is closed');
|
|
407
|
-
const doc = this.native.filterRows(this.handle, format, body, encodeSettings(settings));
|
|
447
|
+
const doc = this.native.filterRows(this.n.handle, format, body, encodeSettings(settings));
|
|
408
448
|
return filterResultOf(parseDocument(doc));
|
|
409
449
|
}
|
|
410
450
|
/**
|
|
@@ -427,25 +467,31 @@ export class Filter {
|
|
|
427
467
|
* from two different libraries.
|
|
428
468
|
*/
|
|
429
469
|
eval(block) {
|
|
430
|
-
if (this.handle === null)
|
|
470
|
+
if (this.n.handle === null)
|
|
431
471
|
throw new ChtypesError('chtypes: filter is closed');
|
|
432
472
|
if (block.nativeLib !== this.native) {
|
|
433
473
|
throw new ChtypesError('chtypes: filter and block come from different libraries');
|
|
434
474
|
}
|
|
435
|
-
const doc = this.native.filterEval(this.handle, block.liveHandle());
|
|
475
|
+
const doc = this.native.filterEval(this.n.handle, block.liveHandle());
|
|
436
476
|
return filterResultOf(parseDocument(doc));
|
|
437
477
|
}
|
|
438
478
|
/**
|
|
439
479
|
* Release the native filter (`chs_filter_free`). Idempotent, and also
|
|
440
480
|
* performed by the schema's own `close()` — filters first, then the schema,
|
|
441
|
-
* the C-required order.
|
|
481
|
+
* the C-required order. Also the backstop a GC finalizer calls for a filter
|
|
482
|
+
* nobody closed — see `SchemaNative`; the `openFilters.delete` guard is
|
|
483
|
+
* what makes it safe to run whether `close()`, this filter's own finalizer,
|
|
484
|
+
* or the schema's finalizer gets here first.
|
|
442
485
|
*/
|
|
443
486
|
close() {
|
|
444
|
-
if (this.handle === null)
|
|
487
|
+
if (this.n.handle === null)
|
|
445
488
|
return;
|
|
446
|
-
this.
|
|
447
|
-
|
|
489
|
+
if (this.n.schema.openFilters.delete(this.n.handle)) {
|
|
490
|
+
this.native.filterFree(this.n.handle);
|
|
491
|
+
}
|
|
492
|
+
this.n.handle = null;
|
|
448
493
|
this.schema.forgetFilter(this);
|
|
494
|
+
filterFinalizer.unregister(this);
|
|
449
495
|
}
|
|
450
496
|
/** `using filter = schema.compileFilter(...)` releases it at scope exit. */
|
|
451
497
|
[Symbol.dispose]() {
|
|
@@ -473,16 +519,23 @@ export class Filter {
|
|
|
473
519
|
* is a use of BOTH handles. On a single JS thread every call here is
|
|
474
520
|
* synchronous, so ordinary Node code satisfies both by construction; do not
|
|
475
521
|
* share a `Block` — or its `Schema` — across `worker_threads`.
|
|
522
|
+
*
|
|
523
|
+
* A block nobody closed is also backed by a GC finalizer, coordinated with
|
|
524
|
+
* its schema's own (see `SchemaNative`) so the two can never free this
|
|
525
|
+
* block's handle out of order or twice, whichever one the GC happens to run
|
|
526
|
+
* first.
|
|
476
527
|
*/
|
|
477
528
|
export class Block {
|
|
478
529
|
native;
|
|
479
530
|
schema;
|
|
480
|
-
handle;
|
|
531
|
+
/** The handle plus the GC-finalizer coordination state; see `BlockNative`. */
|
|
532
|
+
n;
|
|
481
533
|
/** @internal — obtained from `Schema#parseBlock`. */
|
|
482
|
-
constructor(native, schema, handle) {
|
|
534
|
+
constructor(native, schema, schemaNative, handle) {
|
|
483
535
|
this.native = native;
|
|
484
536
|
this.schema = schema;
|
|
485
|
-
this.
|
|
537
|
+
this.n = { native, schema: schemaNative, handle };
|
|
538
|
+
blockFinalizer.register(this, this.n, this);
|
|
486
539
|
}
|
|
487
540
|
/** @internal — the loaded library this block's handle belongs to. */
|
|
488
541
|
get nativeLib() {
|
|
@@ -490,21 +543,27 @@ export class Block {
|
|
|
490
543
|
}
|
|
491
544
|
/** @internal — the live handle, for `Filter#eval`. */
|
|
492
545
|
liveHandle() {
|
|
493
|
-
if (this.handle === null)
|
|
546
|
+
if (this.n.handle === null)
|
|
494
547
|
throw new ChtypesError('chtypes: block is closed');
|
|
495
|
-
return this.handle;
|
|
548
|
+
return this.n.handle;
|
|
496
549
|
}
|
|
497
550
|
/**
|
|
498
551
|
* Release the native block (`chs_block_free`). Idempotent, and also
|
|
499
552
|
* performed by the schema's own `close()` — blocks first, then the schema,
|
|
500
|
-
* the C-required order.
|
|
553
|
+
* the C-required order. Also the backstop a GC finalizer calls for a block
|
|
554
|
+
* nobody closed — see `SchemaNative`; the `openBlocks.delete` guard is what
|
|
555
|
+
* makes it safe to run whether `close()`, this block's own finalizer, or
|
|
556
|
+
* the schema's finalizer gets here first.
|
|
501
557
|
*/
|
|
502
558
|
close() {
|
|
503
|
-
if (this.handle === null)
|
|
559
|
+
if (this.n.handle === null)
|
|
504
560
|
return;
|
|
505
|
-
this.
|
|
506
|
-
|
|
561
|
+
if (this.n.schema.openBlocks.delete(this.n.handle)) {
|
|
562
|
+
this.native.blockFree(this.n.handle);
|
|
563
|
+
}
|
|
564
|
+
this.n.handle = null;
|
|
507
565
|
this.schema.forgetBlock(this);
|
|
566
|
+
blockFinalizer.unregister(this);
|
|
508
567
|
}
|
|
509
568
|
/** `using block = schema.parseBlock(...)` releases it at scope exit. */
|
|
510
569
|
[Symbol.dispose]() {
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAe,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,GAIZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|