@adobe/data 0.9.60 → 0.9.61
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/ecs/database/combine-plugins.d.ts +5 -1
- package/dist/ecs/database/combine-plugins.js +3 -3
- package/dist/ecs/database/combine-plugins.js.map +1 -1
- package/dist/ecs/database/create-plugin.d.ts +17 -14
- package/dist/ecs/database/create-plugin.js +2 -1
- package/dist/ecs/database/create-plugin.js.map +1 -1
- package/dist/ecs/database/database.d.ts +32 -4
- package/dist/ecs/database/database.index.performance.test.d.ts +1 -0
- package/dist/ecs/database/database.index.performance.test.js +417 -0
- package/dist/ecs/database/database.index.performance.test.js.map +1 -0
- package/dist/ecs/database/database.index.test.d.ts +1 -0
- package/dist/ecs/database/database.index.test.js +762 -0
- package/dist/ecs/database/database.index.test.js.map +1 -0
- package/dist/ecs/database/database.index.type-test.d.ts +1 -0
- package/dist/ecs/database/database.index.type-test.js +275 -0
- package/dist/ecs/database/database.index.type-test.js.map +1 -0
- package/dist/ecs/database/database.js.map +1 -1
- package/dist/ecs/database/deep-extends-chain.type-test.d.ts +256 -256
- package/dist/ecs/database/index-api-proof.type-test.d.ts +1 -0
- package/dist/ecs/database/index-api-proof.type-test.js +88 -0
- package/dist/ecs/database/index-api-proof.type-test.js.map +1 -0
- package/dist/ecs/database/index-registry/create-index-registry.d.ts +53 -0
- package/dist/ecs/database/index-registry/create-index-registry.js +174 -0
- package/dist/ecs/database/index-registry/create-index-registry.js.map +1 -0
- package/dist/ecs/database/index-registry/create-index.d.ts +60 -0
- package/dist/ecs/database/index-registry/create-index.js +539 -0
- package/dist/ecs/database/index-registry/create-index.js.map +1 -0
- package/dist/ecs/database/index-registry/index.d.ts +4 -0
- package/dist/ecs/database/index-registry/index.js +4 -0
- package/dist/ecs/database/index-registry/index.js.map +1 -0
- package/dist/ecs/database/public/create-database.js +146 -0
- package/dist/ecs/database/public/create-database.js.map +1 -1
- package/dist/ecs/database/transactional-store/transactional-store.d.ts +3 -2
- package/dist/ecs/plugins/scheduler/scheduler.d.ts +1 -0
- package/dist/ecs/store/index-types.d.ts +132 -0
- package/dist/ecs/store/index-types.js +3 -0
- package/dist/ecs/store/index-types.js.map +1 -0
- package/dist/ecs/store/public/create-store.js +189 -3
- package/dist/ecs/store/public/create-store.js.map +1 -1
- package/dist/ecs/store/store.d.ts +30 -13
- package/dist/ecs/store/store.js +5 -4
- package/dist/ecs/store/store.js.map +1 -1
- package/dist/ecs/store/transaction-functions.d.ts +4 -3
- package/dist/schema/fractional-index/between-n.d.ts +2 -0
- package/dist/schema/fractional-index/between-n.js +34 -0
- package/dist/schema/fractional-index/between-n.js.map +1 -0
- package/dist/schema/fractional-index/between-n.test.d.ts +1 -0
- package/dist/schema/fractional-index/between-n.test.js +36 -0
- package/dist/schema/fractional-index/between-n.test.js.map +1 -0
- package/dist/schema/fractional-index/between.d.ts +2 -0
- package/dist/schema/fractional-index/between.js +3 -0
- package/dist/schema/fractional-index/between.js.map +1 -0
- package/dist/schema/fractional-index/between.test.d.ts +1 -0
- package/dist/schema/fractional-index/between.test.js +68 -0
- package/dist/schema/fractional-index/between.test.js.map +1 -0
- package/dist/schema/fractional-index/decrement-integer.d.ts +1 -0
- package/dist/schema/fractional-index/decrement-integer.js +32 -0
- package/dist/schema/fractional-index/decrement-integer.js.map +1 -0
- package/dist/schema/fractional-index/decrement-integer.test.d.ts +1 -0
- package/dist/schema/fractional-index/decrement-integer.test.js +31 -0
- package/dist/schema/fractional-index/decrement-integer.test.js.map +1 -0
- package/dist/schema/fractional-index/digits.d.ts +1 -0
- package/dist/schema/fractional-index/digits.js +3 -0
- package/dist/schema/fractional-index/digits.js.map +1 -0
- package/dist/schema/fractional-index/fractional-index.d.ts +4 -0
- package/dist/schema/fractional-index/fractional-index.js +2 -0
- package/dist/schema/fractional-index/fractional-index.js.map +1 -0
- package/dist/schema/fractional-index/increment-integer.d.ts +1 -0
- package/dist/schema/fractional-index/increment-integer.js +32 -0
- package/dist/schema/fractional-index/increment-integer.js.map +1 -0
- package/dist/schema/fractional-index/increment-integer.test.d.ts +1 -0
- package/dist/schema/fractional-index/increment-integer.test.js +34 -0
- package/dist/schema/fractional-index/increment-integer.test.js.map +1 -0
- package/dist/schema/fractional-index/initial.d.ts +2 -0
- package/dist/schema/fractional-index/initial.js +2 -0
- package/dist/schema/fractional-index/initial.js.map +1 -0
- package/dist/schema/fractional-index/integer-length.d.ts +1 -0
- package/dist/schema/fractional-index/integer-length.js +9 -0
- package/dist/schema/fractional-index/integer-length.js.map +1 -0
- package/dist/schema/fractional-index/integer-part.d.ts +1 -0
- package/dist/schema/fractional-index/integer-part.js +9 -0
- package/dist/schema/fractional-index/integer-part.js.map +1 -0
- package/dist/schema/fractional-index/key-between.d.ts +2 -0
- package/dist/schema/fractional-index/key-between.js +39 -0
- package/dist/schema/fractional-index/key-between.js.map +1 -0
- package/dist/schema/fractional-index/midpoint.d.ts +1 -0
- package/dist/schema/fractional-index/midpoint.js +23 -0
- package/dist/schema/fractional-index/midpoint.js.map +1 -0
- package/dist/schema/fractional-index/midpoint.test.d.ts +1 -0
- package/dist/schema/fractional-index/midpoint.test.js +83 -0
- package/dist/schema/fractional-index/midpoint.test.js.map +1 -0
- package/dist/schema/fractional-index/public.d.ts +4 -0
- package/dist/schema/fractional-index/public.js +6 -0
- package/dist/schema/fractional-index/public.js.map +1 -0
- package/dist/schema/fractional-index/schema.d.ts +4 -0
- package/dist/schema/fractional-index/schema.js +5 -0
- package/dist/schema/fractional-index/schema.js.map +1 -0
- package/dist/schema/fractional-index/smallest-integer.d.ts +1 -0
- package/dist/schema/fractional-index/smallest-integer.js +3 -0
- package/dist/schema/fractional-index/smallest-integer.js.map +1 -0
- package/dist/schema/fractional-index/validate-integer.d.ts +1 -0
- package/dist/schema/fractional-index/validate-integer.js +7 -0
- package/dist/schema/fractional-index/validate-integer.js.map +1 -0
- package/dist/schema/fractional-index/validate-order-key.d.ts +1 -0
- package/dist/schema/fractional-index/validate-order-key.js +11 -0
- package/dist/schema/fractional-index/validate-order-key.js.map +1 -0
- package/dist/schema/guid/create.d.ts +2 -0
- package/dist/schema/guid/create.js +10 -0
- package/dist/schema/guid/create.js.map +1 -0
- package/dist/schema/guid/create.test.d.ts +1 -0
- package/dist/schema/guid/create.test.js +39 -0
- package/dist/schema/guid/create.test.js.map +1 -0
- package/dist/schema/guid/equals.d.ts +2 -0
- package/dist/schema/guid/equals.js +3 -0
- package/dist/schema/guid/equals.js.map +1 -0
- package/dist/schema/guid/equals.test.d.ts +1 -0
- package/dist/schema/guid/equals.test.js +30 -0
- package/dist/schema/guid/equals.test.js.map +1 -0
- package/dist/schema/guid/from-uuid.d.ts +2 -0
- package/dist/schema/guid/from-uuid.js +15 -0
- package/dist/schema/guid/from-uuid.js.map +1 -0
- package/dist/schema/guid/from-uuid.test.d.ts +1 -0
- package/dist/schema/guid/from-uuid.test.js +39 -0
- package/dist/schema/guid/from-uuid.test.js.map +1 -0
- package/dist/schema/guid/guid.performance.test.d.ts +1 -0
- package/dist/schema/guid/guid.performance.test.js +297 -0
- package/dist/schema/guid/guid.performance.test.js.map +1 -0
- package/dist/schema/guid/index.d.ts +4 -0
- package/dist/schema/guid/index.js +3 -0
- package/dist/schema/guid/index.js.map +1 -0
- package/dist/schema/guid/layout.d.ts +1 -0
- package/dist/schema/guid/layout.js +5 -0
- package/dist/schema/guid/layout.js.map +1 -0
- package/dist/schema/guid/nil.d.ts +2 -0
- package/dist/schema/guid/nil.js +3 -0
- package/dist/schema/guid/nil.js.map +1 -0
- package/dist/schema/guid/public.d.ts +8 -0
- package/dist/schema/guid/public.js +10 -0
- package/dist/schema/guid/public.js.map +1 -0
- package/dist/schema/guid/schema.d.ts +12 -0
- package/dist/schema/guid/schema.js +10 -0
- package/dist/schema/guid/schema.js.map +1 -0
- package/dist/schema/guid/schema.test.d.ts +1 -0
- package/dist/schema/guid/schema.test.js +35 -0
- package/dist/schema/guid/schema.test.js.map +1 -0
- package/dist/schema/guid/to-unserializable-key.d.ts +2 -0
- package/dist/schema/guid/to-unserializable-key.js +10 -0
- package/dist/schema/guid/to-unserializable-key.js.map +1 -0
- package/dist/schema/guid/to-uuid.d.ts +2 -0
- package/dist/schema/guid/to-uuid.js +15 -0
- package/dist/schema/guid/to-uuid.js.map +1 -0
- package/dist/schema/guid/to-uuid.test.d.ts +1 -0
- package/dist/schema/guid/to-uuid.test.js +31 -0
- package/dist/schema/guid/to-uuid.test.js.map +1 -0
- package/dist/schema/index.d.ts +2 -0
- package/dist/schema/index.js +2 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/table/select-rows.d.ts +7 -4
- package/dist/table/select-rows.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/references/data-lit/package.json +1 -1
- package/references/data-lit-tictactoe/package.json +1 -1
- package/references/data-react/package.json +1 -1
- package/references/data-react-hello/package.json +1 -1
- package/references/data-react-pixie/package.json +1 -1
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
//
|
|
3
|
+
// Compares three Guid storage strategies (write, read, memory) and two Map key
|
|
4
|
+
// strategies (string vs bigint) at large N. Run with:
|
|
5
|
+
// npx vitest run src/schema/guid/guid.performance.test.ts
|
|
6
|
+
import { describe, it, expect } from "vitest";
|
|
7
|
+
import { createStructBuffer } from "../../typed-buffer/index.js";
|
|
8
|
+
import { Guid } from "./index.js";
|
|
9
|
+
// ─── constants ────────────────────────────────────────────────────────────────
|
|
10
|
+
const N_STORAGE = 1_000_000;
|
|
11
|
+
const N_MAP = 100_000;
|
|
12
|
+
// ─── helpers ──────────────────────────────────────────────────────────────────
|
|
13
|
+
const hrNow = () => {
|
|
14
|
+
if (typeof process !== "undefined" && process.hrtime?.bigint) {
|
|
15
|
+
return Number(process.hrtime.bigint()) / 1e6; // → ms
|
|
16
|
+
}
|
|
17
|
+
return performance.now();
|
|
18
|
+
};
|
|
19
|
+
// LCG: deterministic, varied, no crypto overhead, no duplicates up to 2^32
|
|
20
|
+
const makeGuid = (i) => [
|
|
21
|
+
(i * 1_664_525 + 1_013_904_223) >>> 0,
|
|
22
|
+
(i * 22_695_477 + 1) >>> 0,
|
|
23
|
+
(i * 6_364_136_223 + 1_442_695_037) >>> 0,
|
|
24
|
+
(i * 3_935_559_000 + 2_691_343_689) >>> 0,
|
|
25
|
+
];
|
|
26
|
+
// Pack [a,b,c,d] u32s into two BigUint64 slots (same 16-byte footprint as struct)
|
|
27
|
+
const packHigh = (g) => (BigInt(g[0]) << 32n) | BigInt(g[1]);
|
|
28
|
+
const packLow = (g) => (BigInt(g[2]) << 32n) | BigInt(g[3]);
|
|
29
|
+
const unpackBigUint = (hi, lo) => [
|
|
30
|
+
Number(hi >> 32n),
|
|
31
|
+
Number(hi & 0xffffffffn),
|
|
32
|
+
Number(lo >> 32n),
|
|
33
|
+
Number(lo & 0xffffffffn),
|
|
34
|
+
];
|
|
35
|
+
// Pack all 128 bits into a single BigInt (for heap-array and Map-key variants)
|
|
36
|
+
const guidToBigInt = (g) => (BigInt(g[0]) << 96n) | (BigInt(g[1]) << 64n) | (BigInt(g[2]) << 32n) | BigInt(g[3]);
|
|
37
|
+
// Alias for readability in this test file
|
|
38
|
+
const { toUnserializableKey } = Guid;
|
|
39
|
+
// V8 heap-size estimates (64-bit process, pointer compression off):
|
|
40
|
+
// SeqOneByteString (all chars ≤ 255, e.g. ASCII UUID):
|
|
41
|
+
// ~24-byte header + 1 byte/char, 8-byte aligned → 36-char UUID ≈ 64 bytes
|
|
42
|
+
// SeqTwoByteString (any char > 255, e.g. our min-string):
|
|
43
|
+
// ~24-byte header + 2 bytes/char, 8-byte aligned → 8-char min ≈ 40 bytes
|
|
44
|
+
// BigInt 128-bit (2 × 64-bit digits):
|
|
45
|
+
// ~24-byte header + 16 bytes data → ≈ 40 bytes
|
|
46
|
+
// Map entry overhead (V8 OrderedHashMap bucket + SmallOrderedHashTable):
|
|
47
|
+
// ≈ 48 bytes per entry regardless of key type
|
|
48
|
+
const KEY_MEM_UUID = 64; // bytes
|
|
49
|
+
const KEY_MEM_BIGINT = 40; // bytes
|
|
50
|
+
const KEY_MEM_MIN = 40; // bytes
|
|
51
|
+
const MAP_ENTRY_MEM = 48; // bytes per entry (key + value pointers + bucket chain)
|
|
52
|
+
const mb = (bytes) => `${(bytes / 1024 / 1024).toFixed(1)} MB`;
|
|
53
|
+
const nsPerOp = (ms, n) => `${(ms * 1e6 / n).toFixed(2)} ns/op`;
|
|
54
|
+
// ─── storage: write ───────────────────────────────────────────────────────────
|
|
55
|
+
describe(`Guid storage write (N = ${N_STORAGE.toLocaleString()})`, () => {
|
|
56
|
+
it("StructTypedBuffer (4×u32, SharedArrayBuffer)", () => {
|
|
57
|
+
const guids = Array.from({ length: N_STORAGE }, (_, i) => makeGuid(i));
|
|
58
|
+
const buf = createStructBuffer(Guid.schema, N_STORAGE);
|
|
59
|
+
// warmup
|
|
60
|
+
for (let j = 0; j < 10_000; j++)
|
|
61
|
+
buf.set(j, guids[j]);
|
|
62
|
+
const t0 = hrNow();
|
|
63
|
+
for (let i = 0; i < N_STORAGE; i++)
|
|
64
|
+
buf.set(i, guids[i]);
|
|
65
|
+
const ms = hrNow() - t0;
|
|
66
|
+
const bytes = buf.typedArrayElementSizeInBytes * N_STORAGE;
|
|
67
|
+
console.log(` StructTypedBuffer write: ${nsPerOp(ms, N_STORAGE)} memory: ${mb(bytes)}`);
|
|
68
|
+
expect(ms).toBeGreaterThan(0);
|
|
69
|
+
expect(bytes).toBe(16 * N_STORAGE);
|
|
70
|
+
});
|
|
71
|
+
it("BigUint64Array packed (2×u64, same 16-byte footprint)", () => {
|
|
72
|
+
const guids = Array.from({ length: N_STORAGE }, (_, i) => makeGuid(i));
|
|
73
|
+
const arr = new BigUint64Array(N_STORAGE * 2);
|
|
74
|
+
// warmup
|
|
75
|
+
for (let j = 0; j < 10_000; j++) {
|
|
76
|
+
arr[j * 2] = packHigh(guids[j]);
|
|
77
|
+
arr[j * 2 + 1] = packLow(guids[j]);
|
|
78
|
+
}
|
|
79
|
+
const t0 = hrNow();
|
|
80
|
+
for (let i = 0; i < N_STORAGE; i++) {
|
|
81
|
+
arr[i * 2] = packHigh(guids[i]);
|
|
82
|
+
arr[i * 2 + 1] = packLow(guids[i]);
|
|
83
|
+
}
|
|
84
|
+
const ms = hrNow() - t0;
|
|
85
|
+
console.log(` BigUint64Array write: ${nsPerOp(ms, N_STORAGE)} memory: ${mb(arr.byteLength)}`);
|
|
86
|
+
expect(ms).toBeGreaterThan(0);
|
|
87
|
+
expect(arr.byteLength).toBe(16 * N_STORAGE);
|
|
88
|
+
});
|
|
89
|
+
it("Array<bigint> heap (1×128-bit BigInt per entry)", () => {
|
|
90
|
+
const guids = Array.from({ length: N_STORAGE }, (_, i) => makeGuid(i));
|
|
91
|
+
const arr = new Array(N_STORAGE);
|
|
92
|
+
// warmup
|
|
93
|
+
for (let j = 0; j < 10_000; j++)
|
|
94
|
+
arr[j] = guidToBigInt(guids[j]);
|
|
95
|
+
const t0 = hrNow();
|
|
96
|
+
for (let i = 0; i < N_STORAGE; i++)
|
|
97
|
+
arr[i] = guidToBigInt(guids[i]);
|
|
98
|
+
const ms = hrNow() - t0;
|
|
99
|
+
// Array<bigint> has no .byteLength; each BigInt object is a V8 heap alloc
|
|
100
|
+
console.log(` Array<bigint> write: ${nsPerOp(ms, N_STORAGE)} memory: heap (each BigInt ~32+ bytes → ~${mb(32 * N_STORAGE)} est.)`);
|
|
101
|
+
expect(ms).toBeGreaterThan(0);
|
|
102
|
+
expect(typeof arr[0]).toBe("bigint");
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
// ─── storage: read ────────────────────────────────────────────────────────────
|
|
106
|
+
describe(`Guid storage read (N = ${N_STORAGE.toLocaleString()})`, () => {
|
|
107
|
+
it("StructTypedBuffer (4×u32 → Guid tuple)", () => {
|
|
108
|
+
const guids = Array.from({ length: N_STORAGE }, (_, i) => makeGuid(i));
|
|
109
|
+
const buf = createStructBuffer(Guid.schema, N_STORAGE);
|
|
110
|
+
for (let i = 0; i < N_STORAGE; i++)
|
|
111
|
+
buf.set(i, guids[i]);
|
|
112
|
+
// warmup
|
|
113
|
+
let sink = 0;
|
|
114
|
+
for (let j = 0; j < 10_000; j++)
|
|
115
|
+
sink += buf.get(j)[0];
|
|
116
|
+
const t0 = hrNow();
|
|
117
|
+
for (let i = 0; i < N_STORAGE; i++)
|
|
118
|
+
sink += buf.get(i)[0];
|
|
119
|
+
const ms = hrNow() - t0;
|
|
120
|
+
console.log(` StructTypedBuffer read: ${nsPerOp(ms, N_STORAGE)}`);
|
|
121
|
+
expect(sink).toBeGreaterThan(0); // prevent dead-code elimination
|
|
122
|
+
});
|
|
123
|
+
it("BigUint64Array packed (2×u64 → Guid tuple via unpack)", () => {
|
|
124
|
+
const guids = Array.from({ length: N_STORAGE }, (_, i) => makeGuid(i));
|
|
125
|
+
const arr = new BigUint64Array(N_STORAGE * 2);
|
|
126
|
+
for (let i = 0; i < N_STORAGE; i++) {
|
|
127
|
+
arr[i * 2] = packHigh(guids[i]);
|
|
128
|
+
arr[i * 2 + 1] = packLow(guids[i]);
|
|
129
|
+
}
|
|
130
|
+
// warmup
|
|
131
|
+
let sink = 0;
|
|
132
|
+
for (let j = 0; j < 10_000; j++)
|
|
133
|
+
sink += unpackBigUint(arr[j * 2], arr[j * 2 + 1])[0];
|
|
134
|
+
const t0 = hrNow();
|
|
135
|
+
for (let i = 0; i < N_STORAGE; i++) {
|
|
136
|
+
sink += unpackBigUint(arr[i * 2], arr[i * 2 + 1])[0];
|
|
137
|
+
}
|
|
138
|
+
const ms = hrNow() - t0;
|
|
139
|
+
console.log(` BigUint64Array read: ${nsPerOp(ms, N_STORAGE)}`);
|
|
140
|
+
expect(sink).toBeGreaterThan(0);
|
|
141
|
+
});
|
|
142
|
+
it("Array<bigint> heap (128-bit BigInt → Guid tuple via unpack)", () => {
|
|
143
|
+
const guids = Array.from({ length: N_STORAGE }, (_, i) => makeGuid(i));
|
|
144
|
+
const arr = new Array(N_STORAGE);
|
|
145
|
+
for (let i = 0; i < N_STORAGE; i++)
|
|
146
|
+
arr[i] = guidToBigInt(guids[i]);
|
|
147
|
+
// warmup
|
|
148
|
+
let sink = 0;
|
|
149
|
+
for (let j = 0; j < 10_000; j++) {
|
|
150
|
+
const v = arr[j];
|
|
151
|
+
sink += Number(v >> 96n);
|
|
152
|
+
}
|
|
153
|
+
const t0 = hrNow();
|
|
154
|
+
for (let i = 0; i < N_STORAGE; i++) {
|
|
155
|
+
const v = arr[i];
|
|
156
|
+
sink += Number(v >> 96n);
|
|
157
|
+
}
|
|
158
|
+
const ms = hrNow() - t0;
|
|
159
|
+
console.log(` Array<bigint> read: ${nsPerOp(ms, N_STORAGE)}`);
|
|
160
|
+
expect(sink).toBeGreaterThan(0);
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
// ─── map key: uuid-string vs bigint vs min-string ────────────────────────────
|
|
164
|
+
describe(`Guid Map key comparison (N = ${N_MAP.toLocaleString()})`, () => {
|
|
165
|
+
const totalMem = (keyMem) => {
|
|
166
|
+
const bytes = (keyMem + MAP_ENTRY_MEM) * N_MAP;
|
|
167
|
+
return `~${mb(bytes)} total (${keyMem}B/key + ${MAP_ENTRY_MEM}B/entry)`;
|
|
168
|
+
};
|
|
169
|
+
// ── set ──────────────────────────────────────────────────────────────────
|
|
170
|
+
it("Map<string> set — 36-char UUID string", () => {
|
|
171
|
+
const guids = Array.from({ length: N_MAP }, (_, i) => makeGuid(i));
|
|
172
|
+
const keys = guids.map(Guid.toUUID);
|
|
173
|
+
const map = new Map();
|
|
174
|
+
for (let j = 0; j < 1_000; j++)
|
|
175
|
+
map.set(keys[j], j);
|
|
176
|
+
map.clear();
|
|
177
|
+
const t0 = hrNow();
|
|
178
|
+
for (let i = 0; i < N_MAP; i++)
|
|
179
|
+
map.set(keys[i], i);
|
|
180
|
+
const ms = hrNow() - t0;
|
|
181
|
+
console.log(` Map<uuid-string> set: ${nsPerOp(ms, N_MAP)} mem: ${totalMem(KEY_MEM_UUID)}`);
|
|
182
|
+
expect(map.size).toBe(N_MAP);
|
|
183
|
+
});
|
|
184
|
+
it("Map<bigint> set — 128-bit BigInt", () => {
|
|
185
|
+
const guids = Array.from({ length: N_MAP }, (_, i) => makeGuid(i));
|
|
186
|
+
const keys = guids.map(guidToBigInt);
|
|
187
|
+
const map = new Map();
|
|
188
|
+
for (let j = 0; j < 1_000; j++)
|
|
189
|
+
map.set(keys[j], j);
|
|
190
|
+
map.clear();
|
|
191
|
+
const t0 = hrNow();
|
|
192
|
+
for (let i = 0; i < N_MAP; i++)
|
|
193
|
+
map.set(keys[i], i);
|
|
194
|
+
const ms = hrNow() - t0;
|
|
195
|
+
console.log(` Map<bigint> set: ${nsPerOp(ms, N_MAP)} mem: ${totalMem(KEY_MEM_BIGINT)}`);
|
|
196
|
+
expect(map.size).toBe(N_MAP);
|
|
197
|
+
});
|
|
198
|
+
it("Map<string> set — 8-char min UTF-16 string", () => {
|
|
199
|
+
const guids = Array.from({ length: N_MAP }, (_, i) => makeGuid(i));
|
|
200
|
+
const keys = guids.map(toUnserializableKey);
|
|
201
|
+
const map = new Map();
|
|
202
|
+
for (let j = 0; j < 1_000; j++)
|
|
203
|
+
map.set(keys[j], j);
|
|
204
|
+
map.clear();
|
|
205
|
+
const t0 = hrNow();
|
|
206
|
+
for (let i = 0; i < N_MAP; i++)
|
|
207
|
+
map.set(keys[i], i);
|
|
208
|
+
const ms = hrNow() - t0;
|
|
209
|
+
console.log(` Map<min-string> set: ${nsPerOp(ms, N_MAP)} mem: ${totalMem(KEY_MEM_MIN)}`);
|
|
210
|
+
expect(map.size).toBe(N_MAP);
|
|
211
|
+
});
|
|
212
|
+
// ── get ──────────────────────────────────────────────────────────────────
|
|
213
|
+
it("Map<string> get — 36-char UUID string", () => {
|
|
214
|
+
const guids = Array.from({ length: N_MAP }, (_, i) => makeGuid(i));
|
|
215
|
+
const keys = guids.map(Guid.toUUID);
|
|
216
|
+
const map = new Map(keys.map((k, i) => [k, i]));
|
|
217
|
+
let sink = 0;
|
|
218
|
+
for (let j = 0; j < 1_000; j++)
|
|
219
|
+
sink += map.get(keys[j]);
|
|
220
|
+
const t0 = hrNow();
|
|
221
|
+
for (let i = 0; i < N_MAP; i++)
|
|
222
|
+
sink += map.get(keys[i]);
|
|
223
|
+
const ms = hrNow() - t0;
|
|
224
|
+
console.log(` Map<uuid-string> get: ${nsPerOp(ms, N_MAP)}`);
|
|
225
|
+
expect(sink).toBeGreaterThan(0);
|
|
226
|
+
});
|
|
227
|
+
it("Map<bigint> get — 128-bit BigInt", () => {
|
|
228
|
+
const guids = Array.from({ length: N_MAP }, (_, i) => makeGuid(i));
|
|
229
|
+
const keys = guids.map(guidToBigInt);
|
|
230
|
+
const map = new Map(keys.map((k, i) => [k, i]));
|
|
231
|
+
let sink = 0;
|
|
232
|
+
for (let j = 0; j < 1_000; j++)
|
|
233
|
+
sink += map.get(keys[j]);
|
|
234
|
+
const t0 = hrNow();
|
|
235
|
+
for (let i = 0; i < N_MAP; i++)
|
|
236
|
+
sink += map.get(keys[i]);
|
|
237
|
+
const ms = hrNow() - t0;
|
|
238
|
+
console.log(` Map<bigint> get: ${nsPerOp(ms, N_MAP)}`);
|
|
239
|
+
expect(sink).toBeGreaterThan(0);
|
|
240
|
+
});
|
|
241
|
+
it("Map<string> get — 8-char min UTF-16 string", () => {
|
|
242
|
+
const guids = Array.from({ length: N_MAP }, (_, i) => makeGuid(i));
|
|
243
|
+
const keys = guids.map(toUnserializableKey);
|
|
244
|
+
const map = new Map(keys.map((k, i) => [k, i]));
|
|
245
|
+
let sink = 0;
|
|
246
|
+
for (let j = 0; j < 1_000; j++)
|
|
247
|
+
sink += map.get(keys[j]);
|
|
248
|
+
const t0 = hrNow();
|
|
249
|
+
for (let i = 0; i < N_MAP; i++)
|
|
250
|
+
sink += map.get(keys[i]);
|
|
251
|
+
const ms = hrNow() - t0;
|
|
252
|
+
console.log(` Map<min-string> get: ${nsPerOp(ms, N_MAP)}`);
|
|
253
|
+
expect(sink).toBeGreaterThan(0);
|
|
254
|
+
});
|
|
255
|
+
// ── key encoding cost ─────────────────────────────────────────────────────
|
|
256
|
+
// Measures the conversion from Guid → key, excluding the Map operation itself
|
|
257
|
+
it("key encoding cost — toString vs guidToBigInt vs toUnserializableKey", () => {
|
|
258
|
+
const guids = Array.from({ length: N_MAP }, (_, i) => makeGuid(i));
|
|
259
|
+
// uuid-string
|
|
260
|
+
{
|
|
261
|
+
let sink = "";
|
|
262
|
+
for (let j = 0; j < 1_000; j++)
|
|
263
|
+
sink += Guid.toUUID(guids[j]).length;
|
|
264
|
+
const t0 = hrNow();
|
|
265
|
+
for (let i = 0; i < N_MAP; i++)
|
|
266
|
+
sink += Guid.toUUID(guids[i]).length;
|
|
267
|
+
const ms = hrNow() - t0;
|
|
268
|
+
console.log(` toUUID encode: ${nsPerOp(ms, N_MAP)} key len: 36 chars`);
|
|
269
|
+
expect(sink.length).toBeGreaterThan(0);
|
|
270
|
+
}
|
|
271
|
+
// bigint
|
|
272
|
+
{
|
|
273
|
+
let sink = 0n;
|
|
274
|
+
for (let j = 0; j < 1_000; j++)
|
|
275
|
+
sink += guidToBigInt(guids[j]);
|
|
276
|
+
const t0 = hrNow();
|
|
277
|
+
for (let i = 0; i < N_MAP; i++)
|
|
278
|
+
sink += guidToBigInt(guids[i]);
|
|
279
|
+
const ms = hrNow() - t0;
|
|
280
|
+
console.log(` bigint encode: ${nsPerOp(ms, N_MAP)} key len: n/a`);
|
|
281
|
+
expect(sink).toBeGreaterThan(0n);
|
|
282
|
+
}
|
|
283
|
+
// min-string
|
|
284
|
+
{
|
|
285
|
+
let sink = "";
|
|
286
|
+
for (let j = 0; j < 1_000; j++)
|
|
287
|
+
sink += toUnserializableKey(guids[j]).length;
|
|
288
|
+
const t0 = hrNow();
|
|
289
|
+
for (let i = 0; i < N_MAP; i++)
|
|
290
|
+
sink += toUnserializableKey(guids[i]).length;
|
|
291
|
+
const ms = hrNow() - t0;
|
|
292
|
+
console.log(` min-string encode: ${nsPerOp(ms, N_MAP)} key len: 8 chars`);
|
|
293
|
+
expect(sink.length).toBeGreaterThan(0);
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
});
|
|
297
|
+
//# sourceMappingURL=guid.performance.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guid.performance.test.js","sourceRoot":"","sources":["../../../src/schema/guid/guid.performance.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schema/guid/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAOvD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const layout: import("../../typed-buffer/index.js").StructLayout;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/schema/guid/layout.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nil.js","sourceRoot":"","sources":["../../../src/schema/guid/nil.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAIvD,MAAM,CAAC,MAAM,GAAG,GAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { schema } from "./schema.js";
|
|
2
|
+
export { layout } from "./layout.js";
|
|
3
|
+
export { nil } from "./nil.js";
|
|
4
|
+
export { create } from "./create.js";
|
|
5
|
+
export { equals } from "./equals.js";
|
|
6
|
+
export { toUUID } from "./to-uuid.js";
|
|
7
|
+
export { fromUUID } from "./from-uuid.js";
|
|
8
|
+
export { toUnserializableKey } from "./to-unserializable-key.js";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
export { schema } from "./schema.js";
|
|
3
|
+
export { layout } from "./layout.js";
|
|
4
|
+
export { nil } from "./nil.js";
|
|
5
|
+
export { create } from "./create.js";
|
|
6
|
+
export { equals } from "./equals.js";
|
|
7
|
+
export { toUUID } from "./to-uuid.js";
|
|
8
|
+
export { fromUUID } from "./from-uuid.js";
|
|
9
|
+
export { toUnserializableKey } from "./to-unserializable-key.js";
|
|
10
|
+
//# sourceMappingURL=public.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/schema/guid/public.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const schema: {
|
|
2
|
+
readonly type: "array";
|
|
3
|
+
readonly items: {
|
|
4
|
+
readonly type: "integer";
|
|
5
|
+
readonly minimum: 0;
|
|
6
|
+
readonly maximum: 4294967295;
|
|
7
|
+
readonly default: number;
|
|
8
|
+
};
|
|
9
|
+
readonly minItems: 4;
|
|
10
|
+
readonly maxItems: 4;
|
|
11
|
+
readonly default: readonly [0, 0, 0, 0];
|
|
12
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { U32 } from "../../math/u32/index.js";
|
|
3
|
+
export const schema = {
|
|
4
|
+
type: 'array',
|
|
5
|
+
items: U32.schema,
|
|
6
|
+
minItems: 4,
|
|
7
|
+
maxItems: 4,
|
|
8
|
+
default: [0, 0, 0, 0],
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/schema/guid/schema.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAG9C,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,GAAG,CAAC,MAAM;IACjB,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { describe, it, expect } from "vitest";
|
|
3
|
+
import { getStructLayout, createStructBuffer } from "../../typed-buffer/index.js";
|
|
4
|
+
import { Guid } from "./index.js";
|
|
5
|
+
describe("Guid schema — struct layout", () => {
|
|
6
|
+
it("produces a valid struct layout of 16 bytes with 4 u32 fields", () => {
|
|
7
|
+
const layout = getStructLayout(Guid.schema);
|
|
8
|
+
expect(layout.size).toBe(16);
|
|
9
|
+
expect(layout.type).toBe("array");
|
|
10
|
+
expect(layout.fields["0"]).toEqual({ offset: 0, type: "u32" });
|
|
11
|
+
expect(layout.fields["1"]).toEqual({ offset: 4, type: "u32" });
|
|
12
|
+
expect(layout.fields["2"]).toEqual({ offset: 8, type: "u32" });
|
|
13
|
+
expect(layout.fields["3"]).toEqual({ offset: 12, type: "u32" });
|
|
14
|
+
});
|
|
15
|
+
it("getStructLayout does not throw for the schema", () => {
|
|
16
|
+
expect(() => getStructLayout(Guid.schema)).not.toThrow();
|
|
17
|
+
});
|
|
18
|
+
it("round-trips through a StructTypedBuffer", () => {
|
|
19
|
+
const buf = createStructBuffer(Guid.schema, 4);
|
|
20
|
+
const g = [0x12345678, 0x9abcdef0, 0x11223344, 0x55667788];
|
|
21
|
+
buf.set(0, g);
|
|
22
|
+
const result = buf.get(0);
|
|
23
|
+
expect(Guid.equals(result, g)).toBe(true);
|
|
24
|
+
});
|
|
25
|
+
it("stores two distinct Guids independently", () => {
|
|
26
|
+
const buf = createStructBuffer(Guid.schema, 4);
|
|
27
|
+
const g1 = [1, 2, 3, 4];
|
|
28
|
+
const g2 = [5, 6, 7, 8];
|
|
29
|
+
buf.set(0, g1);
|
|
30
|
+
buf.set(1, g2);
|
|
31
|
+
expect(Guid.equals(buf.get(0), g1)).toBe(true);
|
|
32
|
+
expect(Guid.equals(buf.get(1), g2)).toBe(true);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=schema.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.test.js","sourceRoot":"","sources":["../../../src/schema/guid/schema.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
// Encodes a Guid as an 8-char WTF-16 string by splitting each u32 into two
|
|
3
|
+
// u16 code units via String.fromCharCode. This is the shortest possible JS
|
|
4
|
+
// string that losslessly represents 128 bits.
|
|
5
|
+
//
|
|
6
|
+
// Use ONLY as a transient Map/Set key within a single JS process. Do NOT
|
|
7
|
+
// serialize, transmit, JSON.stringify, or store the result: some code units
|
|
8
|
+
// may be lone surrogates (0xD800–0xDFFF), which corrupt on serialization.
|
|
9
|
+
export const toUnserializableKey = ([a, b, c, d]) => String.fromCharCode(a >>> 16, a & 0xFFFF, b >>> 16, b & 0xFFFF, c >>> 16, c & 0xFFFF, d >>> 16, d & 0xFFFF);
|
|
10
|
+
//# sourceMappingURL=to-unserializable-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-unserializable-key.js","sourceRoot":"","sources":["../../../src/schema/guid/to-unserializable-key.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAIvD,2EAA2E;AAC3E,2EAA2E;AAC3E,8CAA8C;AAC9C,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAO,EAAU,EAAE,CAC9D,MAAM,CAAC,YAAY,CACf,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,MAAM,EACpB,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,MAAM,EACpB,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,MAAM,EACpB,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,MAAM,CACvB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
const hex = (n, len) => (n >>> 0).toString(16).padStart(len, "0");
|
|
3
|
+
// Maps [a, b, c, d] → "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" (~950 ns/call)
|
|
4
|
+
// a=bits 0-31, b=bits 32-63 (upper→seg2, lower→seg3),
|
|
5
|
+
// c=bits 64-95 (upper→seg4, lower→seg5 prefix), d=bits 96-127
|
|
6
|
+
// For a fast in-process Map key use toUnserializableKey (~87 ns/call) instead.
|
|
7
|
+
export const toUUID = ([a, b, c, d]) => {
|
|
8
|
+
const s1 = hex(a, 8);
|
|
9
|
+
const s2 = hex(b >>> 16, 4);
|
|
10
|
+
const s3 = hex(b & 0xFFFF, 4);
|
|
11
|
+
const s4 = hex(c >>> 16, 4);
|
|
12
|
+
const s5 = hex(c & 0xFFFF, 4) + hex(d, 8);
|
|
13
|
+
return `${s1}-${s2}-${s3}-${s4}-${s5}`;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=to-uuid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-uuid.js","sourceRoot":"","sources":["../../../src/schema/guid/to-uuid.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAIvD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,GAAW,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE1F,6EAA6E;AAC7E,sDAAsD;AACtD,8DAA8D;AAC9D,+EAA+E;AAC/E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAO,EAAU,EAAE;IACjD,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AAC3C,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { describe, it, expect } from "vitest";
|
|
3
|
+
import { Guid } from "./index.js";
|
|
4
|
+
const CANONICAL_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
|
|
5
|
+
describe("Guid.toUUID", () => {
|
|
6
|
+
it("produces the canonical 36-character form", () => {
|
|
7
|
+
const g = [0x12345678, 0x9abcdef0, 0x11223344, 0x55667788];
|
|
8
|
+
const s = Guid.toUUID(g);
|
|
9
|
+
expect(s).toHaveLength(36);
|
|
10
|
+
expect(CANONICAL_RE.test(s)).toBe(true);
|
|
11
|
+
});
|
|
12
|
+
it("encodes a known Guid to the expected string", () => {
|
|
13
|
+
// [0x12345678, 0x9abcdef0, 0x11223344, 0x55667788]
|
|
14
|
+
// a=12345678, b_hi=9abc, b_lo=def0, c_hi=1122, c_lo=3344, d=55667788
|
|
15
|
+
const g = [0x12345678, 0x9abcdef0, 0x11223344, 0x55667788];
|
|
16
|
+
expect(Guid.toUUID(g)).toBe("12345678-9abc-def0-1122-334455667788");
|
|
17
|
+
});
|
|
18
|
+
it("handles nil (all zeros)", () => {
|
|
19
|
+
expect(Guid.toUUID(Guid.nil)).toBe("00000000-0000-0000-0000-000000000000");
|
|
20
|
+
});
|
|
21
|
+
it("handles max u32 values", () => {
|
|
22
|
+
const g = [0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF];
|
|
23
|
+
expect(Guid.toUUID(g)).toBe("ffffffff-ffff-ffff-ffff-ffffffffffff");
|
|
24
|
+
});
|
|
25
|
+
it("round-trips with a created Guid", () => {
|
|
26
|
+
const g = Guid.create();
|
|
27
|
+
const s = Guid.toUUID(g);
|
|
28
|
+
expect(CANONICAL_RE.test(s)).toBe(true);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=to-uuid.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-uuid.test.js","sourceRoot":"","sources":["../../../src/schema/guid/to-uuid.test.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,YAAY,GAAG,gEAAgE,CAAC;AAEtF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,GAAS,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC3B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,mDAAmD;QACnD,qEAAqE;QACrE,MAAM,CAAC,GAAS,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,GAAS,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/dist/schema/index.d.ts
CHANGED
package/dist/schema/index.js
CHANGED
|
@@ -6,4 +6,6 @@ export * from "./boolean/index.js";
|
|
|
6
6
|
// these are both math types and basic schema types.
|
|
7
7
|
export { F32, I32, U32, F64 } from "../math/index.js";
|
|
8
8
|
export * from "./time/index.js";
|
|
9
|
+
export * from "./fractional-index/fractional-index.js";
|
|
10
|
+
export * from "./guid/index.js";
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
package/dist/schema/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAKvD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAOtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,oDAAoD;AACpD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACtD,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAKvD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAOtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,oDAAoD;AACpD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACtD,cAAc,iBAAiB,CAAC;AAChC,cAAc,wCAAwC,CAAC;AACvD,cAAc,iBAAiB,CAAC"}
|
|
@@ -2,17 +2,20 @@ import { ReadonlyTable, Table } from "./table.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Comparison operators for declarative where clauses
|
|
4
4
|
*/
|
|
5
|
-
type ComparisonOperator = "==" | "!=" | "<" | ">" | ">=" | "<=";
|
|
5
|
+
export type ComparisonOperator = "==" | "!=" | "<" | ">" | ">=" | "<=";
|
|
6
6
|
/**
|
|
7
7
|
* Represents a comparison operation in a declarative where clause
|
|
8
8
|
*/
|
|
9
|
-
type ComparisonOperation<T> = {
|
|
9
|
+
export type ComparisonOperation<T> = {
|
|
10
10
|
[P in ComparisonOperator]?: T;
|
|
11
11
|
};
|
|
12
12
|
/**
|
|
13
|
-
* Represents a condition that can be either a direct value, comparison
|
|
13
|
+
* Represents a condition that can be either a direct value, a comparison
|
|
14
|
+
* operation, or nested conditions. Exported because computed-index
|
|
15
|
+
* handles use it for their `findRange` argument — a single scalar key
|
|
16
|
+
* accepts the same operator vocabulary as a single column in `Filter`.
|
|
14
17
|
*/
|
|
15
|
-
type WhereCondition<T> = ComparisonOperation<T> | T;
|
|
18
|
+
export type WhereCondition<T> = ComparisonOperation<T> | T;
|
|
16
19
|
/**
|
|
17
20
|
* Declarative where clause structure that allows for JSON-based filtering
|
|
18
21
|
* Each key in the object represents a component field to filter on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-rows.js","sourceRoot":"","sources":["../../src/table/select-rows.ts"],"names":[],"mappings":"AAQA,MAAM,gBAAgB,GAAG;IACrB,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;CACH,CAAC;
|
|
1
|
+
{"version":3,"file":"select-rows.js","sourceRoot":"","sources":["../../src/table/select-rows.ts"],"names":[],"mappings":"AAQA,MAAM,gBAAgB,GAAG;IACrB,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;CACH,CAAC;AAiBX,MAAM,oCAAoC,GAAG,CAAI,SAA4B,EAA0B,EAAE;IACrG,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,SAAmC,CAAC;IAC/C,CAAC;IACD,OAAO;QACH,IAAI,EAAE,SAAS;KACQ,CAAC;AAChC,CAAC,CAAA;AAWD,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAoB,KAAe,EAAE,KAAiB;IACrF,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC;YAC5C,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;SACI,CAAC;QACF,MAAM,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACnD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC;YAC5C,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,GAAG,CAAC;YACd,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,aAAa,GAAG,IAAI,OAAO,EAAkC,CAAC;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAmB,KAAiB,EAAmB,EAAE;IAC9F,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;IACtB,CAAC;IACD,IAAI,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,SAAS,GAAG,oCAAoC,CAAC,KAAK,CAAC,CAAC;QACxD,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA;AAED,MAAM,oCAAoC,GAAG,CAAmB,KAAgB,EAAmB,EAAE;IACjG,IAAI,IAAI,GACJ,kCAAkC,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,IAAI,IAAI,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;QACxD,MAAM,oBAAoB,GAAG,oCAAoC,CAAC,cAAc,CAAC,CAAC;QAClF,IAAI,IAAI,WAAW,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,gBAAgB,CAAC,QAA8B,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC;IAClN,CAAC;IACD,IAAI,IAAI,kBAAkB,CAAC;IAC3B,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAoB,CAAC;AACjE,CAAC,CAAA"}
|