speckl/compiler/node_modules/tinypool/dist/common-Qw-RoVFD.js
Scott Scoble f19a43fd5f Add SpeckDL compiler scaffold
- CLI entry point with yargs parsing for speckl-compile <file> --output-dir --bom-format
- TypeScript parser with AST types for all SpeckDL primitives
- Generator for PROV-O JSON-LD provenance graphs
- Generator for CycloneDX v1.6 BOMs
- Generator for SPDX 3.0.1 BOMs
- E2E test verifying RetryHandler.speck parsing and all output formats

All tests pass.
2026-04-29 15:12:08 -07:00

28 lines
No EOL
1.1 KiB
JavaScript

//#region src/common.ts
const kMovable = Symbol("Tinypool.kMovable");
const kTransferable = Symbol.for("Tinypool.transferable");
const kValue = Symbol.for("Tinypool.valueOf");
const kQueueOptions = Symbol.for("Tinypool.queueOptions");
function isTransferable(value) {
return value != null && typeof value === "object" && kTransferable in value && kValue in value;
}
function isMovable(value) {
return isTransferable(value) && value[kMovable] === true;
}
function markMovable(value) {
Object.defineProperty(value, kMovable, {
enumerable: false,
configurable: true,
writable: true,
value: true
});
}
function isTaskQueue(value) {
return typeof value === "object" && value !== null && "size" in value && typeof value.shift === "function" && typeof value.remove === "function" && typeof value.push === "function";
}
const kRequestCountField = 0;
const kResponseCountField = 1;
const kFieldCount = 2;
//#endregion
export { isMovable, isTaskQueue, isTransferable, kFieldCount, kQueueOptions, kRequestCountField, kResponseCountField, kTransferable, kValue, markMovable };