@adobe/data 0.3.1 → 0.3.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.
Files changed (122) hide show
  1. package/dist/cache/functions/hashing/array-buffer-to-hex.d.ts +1 -0
  2. package/dist/cache/functions/hashing/array-buffer-to-hex.js +27 -0
  3. package/dist/cache/functions/hashing/array-buffer-to-hex.js.map +1 -0
  4. package/dist/cache/functions/hashing/arrayBufferToHex.d.ts +1 -0
  5. package/dist/cache/functions/hashing/arrayBufferToHex.js +27 -0
  6. package/dist/cache/functions/hashing/arrayBufferToHex.js.map +1 -0
  7. package/dist/cache/functions/hashing/blob-to-hash.d.ts +5 -0
  8. package/dist/cache/functions/hashing/blob-to-hash.js +34 -8
  9. package/dist/cache/functions/hashing/blob-to-hash.js.map +1 -1
  10. package/dist/cache/functions/hashing/buffer-to-hash.js +1 -5
  11. package/dist/cache/functions/hashing/buffer-to-hash.js.map +1 -1
  12. package/dist/cache/functions/hashing/hashing.test.js +322 -65
  13. package/dist/cache/functions/hashing/hashing.test.js.map +1 -1
  14. package/dist/ecs/archetype/create-archetype.test.js +4 -4
  15. package/dist/ecs/archetype/create-archetype.test.js.map +1 -1
  16. package/dist/ecs/archetype/delete-row.test.js +3 -3
  17. package/dist/ecs/archetype/delete-row.test.js.map +1 -1
  18. package/dist/ecs/database/create-database.js.map +1 -1
  19. package/dist/ecs/database/transactional-store/create-transactional-store.js +2 -2
  20. package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
  21. package/dist/ecs/database/transactional-store/create-transactional-store.test.js +5 -5
  22. package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
  23. package/dist/ecs/entity-location-table/create-entity-location-table.d.ts +7 -0
  24. package/dist/ecs/entity-location-table/create-entity-location-table.js +14 -3
  25. package/dist/ecs/entity-location-table/create-entity-location-table.js.map +1 -1
  26. package/dist/ecs/store/core/select-entities.js +2 -2
  27. package/dist/ecs/store/core/select-entities.js.map +1 -1
  28. package/dist/equals.js +17 -11
  29. package/dist/equals.js.map +1 -1
  30. package/dist/equals.test.js +47 -0
  31. package/dist/equals.test.js.map +1 -1
  32. package/dist/functions/blit.d.ts +9 -0
  33. package/dist/functions/blit.js +42 -0
  34. package/dist/functions/blit.js.map +1 -0
  35. package/dist/functions/copy-view-bytes.d.ts +2 -0
  36. package/dist/functions/copy-view-bytes.js +29 -0
  37. package/dist/functions/copy-view-bytes.js.map +1 -0
  38. package/dist/functions/index.d.ts +3 -0
  39. package/dist/functions/index.js +3 -0
  40. package/dist/functions/index.js.map +1 -1
  41. package/dist/functions/serialization/codec.d.ts +24 -0
  42. package/dist/functions/serialization/codec.js +48 -0
  43. package/dist/functions/serialization/codec.js.map +1 -0
  44. package/dist/functions/serialization/deserialize.d.ts +4 -0
  45. package/dist/functions/serialization/deserialize.js +15 -0
  46. package/dist/functions/serialization/deserialize.js.map +1 -0
  47. package/dist/functions/serialization/index.d.ts +2 -0
  48. package/dist/functions/serialization/index.js +3 -0
  49. package/dist/functions/serialization/index.js.map +1 -0
  50. package/dist/functions/serialization/register-typed-array-codecs.d.ts +1 -0
  51. package/dist/functions/serialization/register-typed-array-codecs.js +13 -0
  52. package/dist/functions/serialization/register-typed-array-codecs.js.map +1 -0
  53. package/dist/functions/serialization/serialization.test.d.ts +1 -0
  54. package/dist/functions/serialization/serialization.test.js +79 -0
  55. package/dist/functions/serialization/serialization.test.js.map +1 -0
  56. package/dist/functions/serialization/serialize.d.ts +4 -0
  57. package/dist/functions/serialization/serialize.js +19 -0
  58. package/dist/functions/serialization/serialize.js.map +1 -0
  59. package/dist/observe/index.d.ts +1 -0
  60. package/dist/observe/index.js +1 -0
  61. package/dist/observe/index.js.map +1 -1
  62. package/dist/observe/observe.test.js +24 -0
  63. package/dist/observe/observe.test.js.map +1 -1
  64. package/dist/observe/with-map.d.ts +1 -1
  65. package/dist/observe/with-map.js +4 -1
  66. package/dist/observe/with-map.js.map +1 -1
  67. package/dist/schema/schema.d.ts +5 -1
  68. package/dist/table/add-row.js +4 -3
  69. package/dist/table/add-row.js.map +1 -1
  70. package/dist/table/copy-column-to-gpu-buffer.js +2 -2
  71. package/dist/table/copy-column-to-gpu-buffer.js.map +1 -1
  72. package/dist/table/create-table.js +4 -2
  73. package/dist/table/create-table.js.map +1 -1
  74. package/dist/table/create-table.test.js +1 -1
  75. package/dist/table/create-table.test.js.map +1 -1
  76. package/dist/table/delete-row.js +1 -1
  77. package/dist/table/delete-row.js.map +1 -1
  78. package/dist/table/ensure-capacity.d.ts +1 -1
  79. package/dist/table/ensure-capacity.js +10 -10
  80. package/dist/table/ensure-capacity.js.map +1 -1
  81. package/dist/table/select-rows.js +2 -2
  82. package/dist/table/select-rows.js.map +1 -1
  83. package/dist/table/table.d.ts +4 -2
  84. package/dist/tsconfig.tsbuildinfo +1 -1
  85. package/dist/typed-buffer/create-array-buffer.d.ts +3 -3
  86. package/dist/typed-buffer/create-array-buffer.js +36 -32
  87. package/dist/typed-buffer/create-array-buffer.js.map +1 -1
  88. package/dist/typed-buffer/create-const-buffer.d.ts +3 -1
  89. package/dist/typed-buffer/create-const-buffer.js +30 -28
  90. package/dist/typed-buffer/create-const-buffer.js.map +1 -1
  91. package/dist/typed-buffer/create-const-buffer.test.js +18 -46
  92. package/dist/typed-buffer/create-const-buffer.test.js.map +1 -1
  93. package/dist/typed-buffer/create-number-buffer.d.ts +2 -6
  94. package/dist/typed-buffer/create-number-buffer.js +40 -33
  95. package/dist/typed-buffer/create-number-buffer.js.map +1 -1
  96. package/dist/typed-buffer/create-struct-buffer.d.ts +3 -7
  97. package/dist/typed-buffer/create-struct-buffer.js +58 -41
  98. package/dist/typed-buffer/create-struct-buffer.js.map +1 -1
  99. package/dist/typed-buffer/create-typed-buffer.d.ts +2 -5
  100. package/dist/typed-buffer/create-typed-buffer.js +16 -8
  101. package/dist/typed-buffer/create-typed-buffer.js.map +1 -1
  102. package/dist/typed-buffer/is-typed-buffer.d.ts +2 -0
  103. package/dist/typed-buffer/is-typed-buffer.js +5 -0
  104. package/dist/typed-buffer/is-typed-buffer.js.map +1 -0
  105. package/dist/typed-buffer/is-typed-buffer.test.d.ts +1 -0
  106. package/dist/typed-buffer/is-typed-buffer.test.js +26 -0
  107. package/dist/typed-buffer/is-typed-buffer.test.js.map +1 -0
  108. package/dist/typed-buffer/register-typed-buffer-codecs.d.ts +1 -0
  109. package/dist/typed-buffer/register-typed-buffer-codecs.js +80 -0
  110. package/dist/typed-buffer/register-typed-buffer-codecs.js.map +1 -0
  111. package/dist/typed-buffer/typed-buffer-equals.d.ts +2 -0
  112. package/dist/typed-buffer/typed-buffer-equals.js +20 -0
  113. package/dist/typed-buffer/typed-buffer-equals.js.map +1 -0
  114. package/dist/typed-buffer/typed-buffer-equals.test.d.ts +1 -0
  115. package/dist/typed-buffer/typed-buffer-equals.test.js +234 -0
  116. package/dist/typed-buffer/typed-buffer-equals.test.js.map +1 -0
  117. package/dist/typed-buffer/typed-buffer.d.ts +18 -8
  118. package/dist/typed-buffer/typed-buffer.js +6 -1
  119. package/dist/typed-buffer/typed-buffer.js.map +1 -1
  120. package/dist/typed-buffer/typed-buffer.test.js +30 -66
  121. package/dist/typed-buffer/typed-buffer.test.js.map +1 -1
  122. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blit.js","sourceRoot":"","sources":["../../src/functions/blit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAChB,GAAoB,EACpB,GAAoB,EACpB,aAAa,GAAG,CAAC,EACjB,aAAa,GAAG,CAAC,EACjB,UAAU,GAAG,GAAG,CAAC,UAAU,GAAG,aAAa;IAE3C,8CAA8C;IAC9C,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QACd;4CACoC;QACpC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,CAC1B,aAAa,EACb,aAAa,EACb,aAAa,GAAG,UAAU,CAC7B,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,oDAAoD;QACpD,IAAI,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,GAAG,CAC9C,IAAI,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,CACjD,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** Raw byte-copy from any view to any view. */
2
+ export declare function copyViewBytes(src: ArrayBufferView, dst: ArrayBufferView): number;
@@ -0,0 +1,29 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ import { blit } from "./blit.js";
23
+ /** Raw byte-copy from any view to any view. */
24
+ export function copyViewBytes(src, dst) {
25
+ const bytes = Math.min(src.byteLength, dst.byteLength);
26
+ blit(src.buffer, dst.buffer, src.byteOffset, dst.byteOffset, bytes);
27
+ return bytes;
28
+ }
29
+ //# sourceMappingURL=copy-view-bytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-view-bytes.js","sourceRoot":"","sources":["../../src/functions/copy-view-bytes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,+CAA+C;AAC/C,MAAM,UAAU,aAAa,CACzB,GAAoB,EACpB,GAAoB;IAEpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAEvD,IAAI,CACF,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,UAAU,EACd,KAAK,CACN,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1,4 @@
1
1
  export * from "./apply-args.js";
2
+ export * from "./serialization/index.js";
3
+ export * from "./blit.js";
4
+ export * from "./copy-view-bytes.js";
@@ -20,4 +20,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.*/
22
22
  export * from "./apply-args.js";
23
+ export * from "./serialization/index.js";
24
+ export * from "./blit.js";
25
+ export * from "./copy-view-bytes.js";
23
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { Data } from "../../data.js";
2
+ type Codec<T> = {
3
+ name: string;
4
+ predicate: (data: any) => data is T;
5
+ serialize: (data: T) => {
6
+ json?: any;
7
+ binary?: Uint8Array[];
8
+ };
9
+ deserialize: (props: {
10
+ json?: any;
11
+ binary: Uint8Array[];
12
+ }) => T;
13
+ };
14
+ export declare function findCodec(data: any): Codec<any> | null;
15
+ export declare function getCodec(name: string): Codec<any> | null;
16
+ export type EncodedValue = {
17
+ codec: string;
18
+ json?: Data;
19
+ binaryIndex: number;
20
+ binaryCount: number;
21
+ };
22
+ export declare function isEncodedValue(value: unknown): value is EncodedValue;
23
+ export declare function registerCodec<T>(codec: Codec<T>): void;
24
+ export {};
@@ -0,0 +1,48 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ import { registerTypedBufferCodecs } from "../../typed-buffer/register-typed-buffer-codecs.js";
23
+ import { registerTypedArrayCodecs } from "./register-typed-array-codecs.js";
24
+ const codecs = {};
25
+ export function findCodec(data) {
26
+ if (typeof data === "object" && data !== null) {
27
+ for (const codec of Object.values(codecs)) {
28
+ if (codec.predicate(data)) {
29
+ return codec;
30
+ }
31
+ }
32
+ }
33
+ return null;
34
+ }
35
+ export function getCodec(name) {
36
+ return codecs[name] ?? null;
37
+ }
38
+ export function isEncodedValue(value) {
39
+ return typeof value === "object" && value !== null && "codec" in value && "binaryIndex" in value && "binaryCount" in value;
40
+ }
41
+ export function registerCodec(codec) {
42
+ if (codecs[codec.name])
43
+ throw new Error(`codec "${codec.name}" already registered`);
44
+ codecs[codec.name] = codec;
45
+ }
46
+ registerTypedArrayCodecs();
47
+ registerTypedBufferCodecs();
48
+ //# sourceMappingURL=codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../src/functions/serialization/codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAGX,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAQ5E,MAAM,MAAM,GAA+B,EAAE,CAAC;AAE9C,MAAM,UAAU,SAAS,CAAC,IAAS;IAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AACD,MAAM,UAAU,QAAQ,CAAC,IAAY;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAChC,CAAC;AASD,MAAM,UAAU,cAAc,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,IAAI,aAAa,IAAI,KAAK,IAAI,aAAa,IAAI,KAAK,CAAC;AAC/H,CAAC;AAED,MAAM,UAAU,aAAa,CAAI,KAAe;IAC5C,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,sBAAsB,CAAC,CAAC;IACpF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAC/B,CAAC;AAED,wBAAwB,EAAE,CAAC;AAC3B,yBAAyB,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function deserialize<T>(payload: {
2
+ json: string;
3
+ binary: Uint8Array[];
4
+ }): T;
@@ -0,0 +1,15 @@
1
+ import { getCodec, isEncodedValue } from "./codec.js";
2
+ export function deserialize(payload) {
3
+ const data = JSON.parse(payload.json, (_key, value) => {
4
+ if (isEncodedValue(value)) {
5
+ const codec = getCodec(value.codec);
6
+ if (codec) {
7
+ const binary = payload.binary.slice(value.binaryIndex, value.binaryIndex + value.binaryCount);
8
+ return codec.deserialize({ json: value.json, binary });
9
+ }
10
+ }
11
+ return value;
12
+ });
13
+ return data;
14
+ }
15
+ //# sourceMappingURL=deserialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deserialize.js","sourceRoot":"","sources":["../../../src/functions/serialization/deserialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,UAAU,WAAW,CAAI,OAA+C;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAClD,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC9F,OAAO,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,IAAS,CAAC;AACrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./serialize.js";
2
+ export * from "./deserialize.js";
@@ -0,0 +1,3 @@
1
+ export * from "./serialize.js";
2
+ export * from "./deserialize.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/serialization/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function registerTypedArrayCodecs(): void;
@@ -0,0 +1,13 @@
1
+ import { registerCodec } from "./codec.js";
2
+ export function registerTypedArrayCodecs() {
3
+ // Built in support for all 32-bit typed arrays and float64 arrays
4
+ for (const typedArrayConstructor of [Float32Array, Int32Array, Uint32Array, Float64Array]) {
5
+ registerCodec({
6
+ name: typedArrayConstructor.name,
7
+ predicate: (data) => data instanceof typedArrayConstructor,
8
+ serialize: (data) => ({ binary: [new Uint8Array(data.buffer, data.byteOffset, data.byteLength)] }),
9
+ deserialize: ({ binary }) => new typedArrayConstructor(binary[0].buffer, binary[0].byteOffset, binary[0].byteLength / typedArrayConstructor.BYTES_PER_ELEMENT),
10
+ });
11
+ }
12
+ }
13
+ //# sourceMappingURL=register-typed-array-codecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-typed-array-codecs.js","sourceRoot":"","sources":["../../../src/functions/serialization/register-typed-array-codecs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,UAAU,wBAAwB;IACpC,kEAAkE;IAClE,KAAK,MAAM,qBAAqB,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC;QACxF,aAAa,CAAM;YACf,IAAI,EAAE,qBAAqB,CAAC,IAAI;YAChC,SAAS,EAAE,CAAC,IAAS,EAAe,EAAE,CAAC,IAAI,YAAY,qBAAqB;YAC5E,SAAS,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACvG,WAAW,EAAE,CAAC,EAAE,MAAM,EAAyC,EAAE,EAAE,CAAC,IAAK,qBAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,qBAAqB,CAAC,iBAAiB,CAAC;SACjN,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
@@ -0,0 +1,79 @@
1
+ /*MIT License
2
+
3
+ © Copyright 2025 Adobe. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.*/
22
+ import { describe, it, expect } from 'vitest';
23
+ import { serialize } from './serialize.js';
24
+ import { deserialize } from './deserialize.js';
25
+ import { createTypedBuffer } from '../../typed-buffer/create-typed-buffer.js';
26
+ import { equals } from '../../equals.js';
27
+ import { createTable } from '../../table/create-table.js';
28
+ import { addRow } from '../../table/add-row.js';
29
+ describe('serialize/deserialize', () => {
30
+ it('round-trips objects with typed arrays', () => {
31
+ const original = {
32
+ a: 1,
33
+ b: new Int32Array([1, 2, 3]),
34
+ nested: {
35
+ c: 3,
36
+ d: new Uint32Array([4, 5]),
37
+ },
38
+ e: new Float32Array([1.5, 2.5, 3.5]),
39
+ d: [new Uint32Array([1])],
40
+ f: new Float64Array([5.5, 6.5, 7.5]),
41
+ };
42
+ const payload = serialize(original);
43
+ expect(payload.json).toBeTypeOf('string');
44
+ expect(payload.binary).toBeInstanceOf(Array);
45
+ const roundTrip = deserialize(payload);
46
+ expect(roundTrip).toEqual(original);
47
+ });
48
+ it('round-trips typed buffers', () => {
49
+ const original = {
50
+ a: createTypedBuffer({ type: "number", precision: 1 }, [3, 2, 1]),
51
+ b: createTypedBuffer({ const: true }, 2),
52
+ c: createTypedBuffer({ type: "object", properties: { x: { type: "number", precision: 1 }, y: { type: "number", precision: 1 } }, required: ["x", "y"], additionalProperties: false }, [
53
+ { x: 1, y: 2 },
54
+ { x: 3, y: 4 },
55
+ ]),
56
+ d: createTypedBuffer({ type: "object", properties: { name: { type: "string" }, age: { type: "integer" } }, required: ["name", "age"], additionalProperties: false }, [
57
+ { name: "John", age: 30 },
58
+ { name: "Jane", age: 25 },
59
+ ]),
60
+ };
61
+ // console.log(original);
62
+ const payload = serialize(original);
63
+ const roundTrip = deserialize(payload);
64
+ expect(equals(roundTrip, original)).toBe(true);
65
+ });
66
+ it('round-trips tables', () => {
67
+ const table = createTable({
68
+ id: { type: "integer" },
69
+ name: { type: "string" },
70
+ age: { type: "integer" },
71
+ });
72
+ addRow(table, { id: 1, name: "John", age: 30 });
73
+ addRow(table, { id: 2, name: "Jane", age: 25 });
74
+ const payload = serialize(table);
75
+ const roundTrip = deserialize(payload);
76
+ expect(equals(roundTrip, table)).toBe(true);
77
+ });
78
+ });
79
+ //# sourceMappingURL=serialization.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.test.js","sourceRoot":"","sources":["../../../src/functions/serialization/serialization.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function serialize<T>(data: T): {
2
+ json: string;
3
+ binary: Uint8Array[];
4
+ };
@@ -0,0 +1,19 @@
1
+ import { findCodec } from "./codec.js";
2
+ export function serialize(data) {
3
+ const allBinaries = [];
4
+ const json = JSON.stringify(data, (_key, value) => {
5
+ const codec = findCodec(value);
6
+ if (codec) {
7
+ const { json, binary } = codec.serialize(value);
8
+ console.log("serialize", { json, binary });
9
+ const binaryIndex = allBinaries.length;
10
+ if (binary) {
11
+ allBinaries.push(...binary);
12
+ }
13
+ return { codec: codec.name, json, binaryIndex, binaryCount: binary?.length ?? 0 };
14
+ }
15
+ return value;
16
+ });
17
+ return { json, binary: allBinaries };
18
+ }
19
+ //# sourceMappingURL=serialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/functions/serialization/serialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,YAAY,CAAC;AAErD,MAAM,UAAU,SAAS,CAAI,IAAO;IAChC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACT,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,EAAyB,CAAC;QAC7G,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACzC,CAAC"}
@@ -15,6 +15,7 @@ export * from "./from-promise-with-error.js";
15
15
  export * from "./from-promise.js";
16
16
  export * from "./to-promise.js";
17
17
  export * from "./to-properties.js";
18
+ export * from "./to-async-generator.js";
18
19
  export * from "./types.js";
19
20
  export * from "./with-cache.js";
20
21
  export * from "./with-copy.js";
@@ -36,6 +36,7 @@ export * from "./from-promise-with-error.js";
36
36
  export * from "./from-promise.js";
37
37
  export * from "./to-promise.js";
38
38
  export * from "./to-properties.js";
39
+ export * from "./to-async-generator.js";
39
40
  export * from "./types.js";
40
41
  export * from "./with-cache.js";
41
42
  export * from "./with-copy.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAEX;;GAEG;AACH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
@@ -320,6 +320,30 @@ describe("observable", () => {
320
320
  output: [2, [2, 4, 6]],
321
321
  });
322
322
  });
323
+ test("withMap filters undefined values", async () => {
324
+ await testObservableFilter({
325
+ given: "an Observable withMap that filters out undefined values",
326
+ filter: (observable) => withMap(observable, (value) => value > 0 ? value * 2 : undefined),
327
+ input: [1, [-1, 2, -3, 4]],
328
+ output: [2, [4, 8]],
329
+ });
330
+ });
331
+ test("withMap filters all values", async () => {
332
+ await testObservableFilter({
333
+ given: "an Observable withMap that filters out all values",
334
+ filter: (observable) => withMap(observable, (value) => undefined),
335
+ input: [1, [2, 3, 4]],
336
+ output: [undefined, []],
337
+ });
338
+ });
339
+ test("withMap filters based on condition", async () => {
340
+ await testObservableFilter({
341
+ given: "an Observable withMap that filters based on condition",
342
+ filter: (observable) => withMap(observable, (value) => value % 2 === 0 ? value : undefined),
343
+ input: [1, [2, 3, 4, 5, 6]],
344
+ output: [undefined, [2, 4, 6]],
345
+ });
346
+ });
323
347
  test("withAsyncMap", async () => {
324
348
  await testObservableFilter({
325
349
  given: "an Observable withAsyncMap",
@@ -1 +1 @@
1
- {"version":3,"file":"observe.test.js","sourceRoot":"","sources":["../../src/observe/observe.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observe.test.js","sourceRoot":"","sources":["../../src/observe/observe.test.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,4 @@ import { Observe } from "./types.js";
2
2
  /**
3
3
  * Creates a new Observe function that converts the original observe functions notify values into a new value at each notification.
4
4
  */
5
- export declare function withMap<T, U>(observable: Observe<T>, map: (value: T) => U): Observe<U>;
5
+ export declare function withMap<T, U>(observable: Observe<T>, map: (value: T) => U | undefined): Observe<U>;
@@ -4,7 +4,10 @@
4
4
  export function withMap(observable, map) {
5
5
  return (observer) => {
6
6
  return observable((value) => {
7
- observer(map(value));
7
+ const mapped = map(value);
8
+ if (mapped !== undefined) {
9
+ observer(mapped);
10
+ }
8
11
  });
9
12
  };
10
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"with-map.js","sourceRoot":"","sources":["../../src/observe/with-map.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,UAAsB,EACtB,GAAoB;IAEpB,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,OAAO,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"with-map.js","sourceRoot":"","sources":["../../src/observe/with-map.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,UAAsB,EACtB,GAAgC;IAEhC,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,OAAO,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { TypedBuffer } from "../typed-buffer/typed-buffer.js";
1
2
  import { DeepReadonly } from "../types/types.js";
2
3
  type JSONPath = string;
3
4
  type JSONMergePatch = unknown;
@@ -28,7 +29,7 @@ export interface UIProperties {
28
29
  };
29
30
  }
30
31
  export interface Schema {
31
- type?: 'number' | 'integer' | 'string' | 'boolean' | 'null' | 'array' | 'object';
32
+ type?: 'number' | 'integer' | 'string' | 'boolean' | 'null' | 'array' | 'object' | 'typed-buffer';
32
33
  conditionals?: readonly Conditional[];
33
34
  ui?: UIProperties;
34
35
  transient?: boolean;
@@ -76,6 +77,9 @@ export type FromSchema<T, Depth extends number = 5> = DeepReadonly<Depth extends
76
77
  } ? boolean : T extends {
77
78
  type: 'null';
78
79
  } ? null : T extends {
80
+ type: 'typed-buffer';
81
+ items: infer Items;
82
+ } ? TypedBuffer<FromSchema<Items>> : T extends {
79
83
  type: 'array';
80
84
  } | {
81
85
  items: any;
@@ -26,15 +26,16 @@ import { ensureCapacity } from "./ensure-capacity.js";
26
26
  * @param rowData
27
27
  */
28
28
  export const addRow = (table, rowData) => {
29
- ensureCapacity(table, table.rows + 1);
30
- const rowIndex = table.rows;
29
+ ensureCapacity(table, table.rowCount + 1);
30
+ const rowIndex = table.rowCount;
31
+ const newLength = rowIndex + 1;
31
32
  for (const name in rowData) {
32
33
  const column = table.columns[name];
33
34
  if (column) {
34
35
  column.set(rowIndex, rowData[name]);
35
36
  }
36
37
  }
37
- table.rows++;
38
+ table.rowCount++;
38
39
  return rowIndex;
39
40
  };
40
41
  //# sourceMappingURL=add-row.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-row.js","sourceRoot":"","sources":["../../src/table/add-row.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,KAAe,EAAE,OAAU,EAAY,EAAE;IAC/D,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACb,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"add-row.js","sourceRoot":"","sources":["../../src/table/add-row.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAI,KAAe,EAAE,OAAU,EAAY,EAAE;IAC/D,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjB,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAA"}
@@ -26,7 +26,7 @@ export const copyColumnToGPUBuffer = (tables, columnName, device, gpuBuffer) =>
26
26
  // get total byte length
27
27
  let totalByteLength = 0;
28
28
  for (const table of tables) {
29
- totalByteLength += table.rows * table.columns[columnName].typedArrayElementSizeInBytes;
29
+ totalByteLength += table.rowCount * table.columns[columnName].typedArrayElementSizeInBytes;
30
30
  }
31
31
  // ensure the gpu buffer is large enough
32
32
  if (gpuBuffer.size < totalByteLength) {
@@ -37,7 +37,7 @@ export const copyColumnToGPUBuffer = (tables, columnName, device, gpuBuffer) =>
37
37
  let offset = 0;
38
38
  for (const table of tables) {
39
39
  const column = table.columns[columnName];
40
- const writeByteLength = table.rows * column.typedArrayElementSizeInBytes;
40
+ const writeByteLength = table.rowCount * column.typedArrayElementSizeInBytes;
41
41
  const array = column.getTypedArray();
42
42
  device.queue.writeBuffer(gpuBuffer, offset, array.buffer, 0, writeByteLength);
43
43
  offset += writeByteLength;
@@ -1 +1 @@
1
- {"version":3,"file":"copy-column-to-gpu-buffer.js","sourceRoot":"","sources":["../../src/table/copy-column-to-gpu-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,MAAoB,EACpB,UAAa,EACb,MAAiB,EACjB,SAAoB,EACX,EAAE;IACX,wBAAwB;IACxB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,eAAe,IAAI,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,4BAA4B,CAAC;IAC3F,CAAC;IACD,wCAAwC;IACxC,IAAI,SAAS,CAAC,IAAI,GAAG,eAAe,EAAE,CAAC;QACnC,SAAS,CAAC,OAAO,EAAE,CAAC;QACpB,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,mEAAmE;IACnE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,4BAA4B,CAAC;QACzE,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;QAC9E,MAAM,IAAI,eAAe,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA"}
1
+ {"version":3,"file":"copy-column-to-gpu-buffer.js","sourceRoot":"","sources":["../../src/table/copy-column-to-gpu-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,MAAoB,EACpB,UAAa,EACb,MAAiB,EACjB,SAAoB,EACX,EAAE;IACX,wBAAwB;IACxB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,eAAe,IAAI,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,4BAA4B,CAAC;IAC/F,CAAC;IACD,wCAAwC;IACxC,IAAI,SAAS,CAAC,IAAI,GAAG,eAAe,EAAE,CAAC;QACnC,SAAS,CAAC,OAAO,EAAE,CAAC;QACpB,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,mEAAmE;IACnE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,4BAA4B,CAAC;QAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;QAC9E,MAAM,IAAI,eAAe,CAAC;IAC9B,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAA"}
@@ -22,12 +22,14 @@ SOFTWARE.*/
22
22
  import { createTypedBuffer } from "../typed-buffer/index.js";
23
23
  export const createTable = (schemas) => {
24
24
  const columns = {};
25
+ const rowCapacity = 16;
25
26
  for (const name in schemas) {
26
- columns[name] = createTypedBuffer({ schema: schemas[name] });
27
+ columns[name] = createTypedBuffer(schemas[name], rowCapacity);
27
28
  }
28
29
  return {
29
30
  columns,
30
- rows: 0,
31
+ rowCount: 0,
32
+ rowCapacity,
31
33
  };
32
34
  };
33
35
  //# sourceMappingURL=create-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-table.js","sourceRoot":"","sources":["../../src/table/create-table.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,iBAAiB,EAAe,MAAM,0BAA0B,CAAC;AAI1E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAmC,OAAU,EAAgD,EAAE;IACtH,MAAM,OAAO,GAAG,EAAuD,CAAC;IACxE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACH,OAAO;QACP,IAAI,EAAE,CAAC;KACV,CAAC;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"create-table.js","sourceRoot":"","sources":["../../src/table/create-table.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,iBAAiB,EAAe,MAAM,0BAA0B,CAAC;AAI1E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAmC,OAAU,EAAgD,EAAE;IACtH,MAAM,OAAO,GAAG,EAAuD,CAAC;IACxE,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC;IAED,OAAO;QACH,OAAO;QACP,QAAQ,EAAE,CAAC;QACX,WAAW;KACd,CAAC;AACN,CAAC,CAAA"}
@@ -35,7 +35,7 @@ describe("createTable", () => {
35
35
  it("should initialize with 0 rows", () => {
36
36
  const schemas = { a: { type: "number" } };
37
37
  const table = createTable(schemas);
38
- expect(table.rows).toBe(0);
38
+ expect(table.rowCount).toBe(0);
39
39
  });
40
40
  });
41
41
  //# sourceMappingURL=create-table.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-table.test.js","sourceRoot":"","sources":["../../src/table/create-table.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC7C,MAAM,OAAO,GAAG;YACZ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACf,CAAC;QAEX,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAW,CAAC;QACnD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"create-table.test.js","sourceRoot":"","sources":["../../src/table/create-table.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC7C,MAAM,OAAO,GAAG;YACZ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACrB,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACf,CAAC;QAEX,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAW,CAAC;QACnD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * @param rowIndex
6
6
  */
7
7
  export const deleteRow = (table, rowIndex) => {
8
- const lastRowIndex = --table.rows;
8
+ const lastRowIndex = --table.rowCount;
9
9
  if (rowIndex === lastRowIndex) {
10
10
  return false;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delete-row.js","sourceRoot":"","sources":["../../src/table/delete-row.ts"],"names":[],"mappings":"AAwBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,KAAe,EAAE,QAAkB,EAAW,EAAE;IACzE,MAAM,YAAY,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC;IAClC,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"delete-row.js","sourceRoot":"","sources":["../../src/table/delete-row.ts"],"names":[],"mappings":"AAwBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,KAAe,EAAE,QAAkB,EAAW,EAAE;IACzE,MAAM,YAAY,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC;IACtC,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA"}
@@ -1,2 +1,2 @@
1
1
  import { Table } from "./table.js";
2
- export declare const ensureCapacity: <C>(table: Table<C>, minimumCapacity: number, growthFactor?: number) => void;
2
+ export declare const ensureCapacity: <C>(table: Table<C>, minimumCapacity: number) => void;