@adobe/data 0.3.1 → 0.3.3
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/cache/functions/hashing/array-buffer-to-hex.d.ts +1 -0
- package/dist/cache/functions/hashing/array-buffer-to-hex.js +27 -0
- package/dist/cache/functions/hashing/array-buffer-to-hex.js.map +1 -0
- package/dist/cache/functions/hashing/arrayBufferToHex.d.ts +1 -0
- package/dist/cache/functions/hashing/arrayBufferToHex.js +27 -0
- package/dist/cache/functions/hashing/arrayBufferToHex.js.map +1 -0
- package/dist/cache/functions/hashing/blob-to-hash.d.ts +5 -0
- package/dist/cache/functions/hashing/blob-to-hash.js +34 -8
- package/dist/cache/functions/hashing/blob-to-hash.js.map +1 -1
- package/dist/cache/functions/hashing/buffer-to-hash.js +1 -5
- package/dist/cache/functions/hashing/buffer-to-hash.js.map +1 -1
- package/dist/cache/functions/hashing/hashing.test.js +322 -65
- package/dist/cache/functions/hashing/hashing.test.js.map +1 -1
- package/dist/ecs/archetype/create-archetype.test.js +4 -4
- package/dist/ecs/archetype/create-archetype.test.js.map +1 -1
- package/dist/ecs/archetype/delete-row.test.js +3 -3
- package/dist/ecs/archetype/delete-row.test.js.map +1 -1
- package/dist/ecs/database/create-database.js.map +1 -1
- package/dist/ecs/database/transactional-store/create-transactional-store.js +2 -2
- package/dist/ecs/database/transactional-store/create-transactional-store.js.map +1 -1
- package/dist/ecs/database/transactional-store/create-transactional-store.test.js +5 -5
- package/dist/ecs/database/transactional-store/create-transactional-store.test.js.map +1 -1
- package/dist/ecs/entity-location-table/create-entity-location-table.d.ts +7 -0
- package/dist/ecs/entity-location-table/create-entity-location-table.js +14 -3
- package/dist/ecs/entity-location-table/create-entity-location-table.js.map +1 -1
- package/dist/ecs/store/core/select-entities.js +2 -2
- package/dist/ecs/store/core/select-entities.js.map +1 -1
- package/dist/equals.js +17 -11
- package/dist/equals.js.map +1 -1
- package/dist/equals.test.js +47 -0
- package/dist/equals.test.js.map +1 -1
- package/dist/functions/blit.d.ts +9 -0
- package/dist/functions/blit.js +42 -0
- package/dist/functions/blit.js.map +1 -0
- package/dist/functions/copy-view-bytes.d.ts +2 -0
- package/dist/functions/copy-view-bytes.js +29 -0
- package/dist/functions/copy-view-bytes.js.map +1 -0
- package/dist/functions/index.d.ts +3 -0
- package/dist/functions/index.js +3 -0
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/serialization/codec.d.ts +24 -0
- package/dist/functions/serialization/codec.js +48 -0
- package/dist/functions/serialization/codec.js.map +1 -0
- package/dist/functions/serialization/deserialize.d.ts +4 -0
- package/dist/functions/serialization/deserialize.js +15 -0
- package/dist/functions/serialization/deserialize.js.map +1 -0
- package/dist/functions/serialization/index.d.ts +2 -0
- package/dist/functions/serialization/index.js +3 -0
- package/dist/functions/serialization/index.js.map +1 -0
- package/dist/functions/serialization/register-typed-array-codecs.d.ts +1 -0
- package/dist/functions/serialization/register-typed-array-codecs.js +13 -0
- package/dist/functions/serialization/register-typed-array-codecs.js.map +1 -0
- package/dist/functions/serialization/serialization.test.d.ts +1 -0
- package/dist/functions/serialization/serialization.test.js +79 -0
- package/dist/functions/serialization/serialization.test.js.map +1 -0
- package/dist/functions/serialization/serialize.d.ts +4 -0
- package/dist/functions/serialization/serialize.js +19 -0
- package/dist/functions/serialization/serialize.js.map +1 -0
- package/dist/observe/index.d.ts +2 -0
- package/dist/observe/index.js +2 -0
- package/dist/observe/index.js.map +1 -1
- package/dist/observe/observe.test.js +41 -1
- package/dist/observe/observe.test.js.map +1 -1
- package/dist/observe/with-filter.d.ts +6 -0
- package/dist/observe/with-filter.js +15 -0
- package/dist/observe/with-filter.js.map +1 -0
- package/dist/observe/with-filter.test.d.ts +1 -0
- package/dist/observe/with-filter.test.js +70 -0
- package/dist/observe/with-filter.test.js.map +1 -0
- package/dist/observe/with-map copy.d.ts +5 -0
- package/dist/observe/with-map copy.js +14 -0
- package/dist/observe/with-map copy.js.map +1 -0
- package/dist/schema/schema.d.ts +5 -1
- package/dist/table/add-row.js +4 -3
- package/dist/table/add-row.js.map +1 -1
- package/dist/table/copy-column-to-gpu-buffer.js +2 -2
- package/dist/table/copy-column-to-gpu-buffer.js.map +1 -1
- package/dist/table/create-table.js +4 -2
- package/dist/table/create-table.js.map +1 -1
- package/dist/table/create-table.test.js +1 -1
- package/dist/table/create-table.test.js.map +1 -1
- package/dist/table/delete-row.js +1 -1
- package/dist/table/delete-row.js.map +1 -1
- package/dist/table/ensure-capacity.d.ts +1 -1
- package/dist/table/ensure-capacity.js +10 -10
- package/dist/table/ensure-capacity.js.map +1 -1
- package/dist/table/select-rows.js +2 -2
- package/dist/table/select-rows.js.map +1 -1
- package/dist/table/table.d.ts +4 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/typed-buffer/create-array-buffer.d.ts +3 -3
- package/dist/typed-buffer/create-array-buffer.js +36 -32
- package/dist/typed-buffer/create-array-buffer.js.map +1 -1
- package/dist/typed-buffer/create-const-buffer.d.ts +3 -1
- package/dist/typed-buffer/create-const-buffer.js +30 -28
- package/dist/typed-buffer/create-const-buffer.js.map +1 -1
- package/dist/typed-buffer/create-const-buffer.test.js +18 -46
- package/dist/typed-buffer/create-const-buffer.test.js.map +1 -1
- package/dist/typed-buffer/create-number-buffer.d.ts +2 -6
- package/dist/typed-buffer/create-number-buffer.js +40 -33
- package/dist/typed-buffer/create-number-buffer.js.map +1 -1
- package/dist/typed-buffer/create-struct-buffer.d.ts +3 -7
- package/dist/typed-buffer/create-struct-buffer.js +58 -41
- package/dist/typed-buffer/create-struct-buffer.js.map +1 -1
- package/dist/typed-buffer/create-typed-buffer.d.ts +2 -5
- package/dist/typed-buffer/create-typed-buffer.js +16 -8
- package/dist/typed-buffer/create-typed-buffer.js.map +1 -1
- package/dist/typed-buffer/is-typed-buffer.d.ts +2 -0
- package/dist/typed-buffer/is-typed-buffer.js +5 -0
- package/dist/typed-buffer/is-typed-buffer.js.map +1 -0
- package/dist/typed-buffer/is-typed-buffer.test.d.ts +1 -0
- package/dist/typed-buffer/is-typed-buffer.test.js +26 -0
- package/dist/typed-buffer/is-typed-buffer.test.js.map +1 -0
- package/dist/typed-buffer/register-typed-buffer-codecs.d.ts +1 -0
- package/dist/typed-buffer/register-typed-buffer-codecs.js +80 -0
- package/dist/typed-buffer/register-typed-buffer-codecs.js.map +1 -0
- package/dist/typed-buffer/typed-buffer-equals.d.ts +2 -0
- package/dist/typed-buffer/typed-buffer-equals.js +20 -0
- package/dist/typed-buffer/typed-buffer-equals.js.map +1 -0
- package/dist/typed-buffer/typed-buffer-equals.test.d.ts +1 -0
- package/dist/typed-buffer/typed-buffer-equals.test.js +234 -0
- package/dist/typed-buffer/typed-buffer-equals.test.js.map +1 -0
- package/dist/typed-buffer/typed-buffer.d.ts +18 -8
- package/dist/typed-buffer/typed-buffer.js +6 -1
- package/dist/typed-buffer/typed-buffer.js.map +1 -1
- package/dist/typed-buffer/typed-buffer.test.js +30 -66
- package/dist/typed-buffer/typed-buffer.test.js.map +1 -1
- package/package.json +1 -1
package/dist/schema/schema.d.ts
CHANGED
|
@@ -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;
|
package/dist/table/add-row.js
CHANGED
|
@@ -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.
|
|
30
|
-
const rowIndex = table.
|
|
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.
|
|
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,
|
|
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.
|
|
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.
|
|
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,
|
|
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(
|
|
27
|
+
columns[name] = createTypedBuffer(schemas[name], rowCapacity);
|
|
27
28
|
}
|
|
28
29
|
return {
|
|
29
30
|
columns,
|
|
30
|
-
|
|
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,
|
|
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.
|
|
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,
|
|
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"}
|
package/dist/table/delete-row.js
CHANGED
|
@@ -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,
|
|
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
|
|
2
|
+
export declare const ensureCapacity: <C>(table: Table<C>, minimumCapacity: number) => void;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export const ensureCapacity = (table, minimumCapacity
|
|
1
|
+
export const ensureCapacity = (table, minimumCapacity) => {
|
|
2
2
|
// we don't actually loop, we just need to check the first columns length.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
const currentCapacity = table.rowCapacity;
|
|
4
|
+
if (currentCapacity < minimumCapacity) {
|
|
5
|
+
// may need smart growth factor, faster when smaller, smaller when larger.
|
|
6
|
+
const growthFactor = 2;
|
|
7
|
+
const newCapacity = Math.max(minimumCapacity, currentCapacity * growthFactor);
|
|
8
|
+
for (const name in table.columns) {
|
|
9
|
+
const column = table.columns[name];
|
|
10
|
+
column.capacity = newCapacity;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
table.rowCapacity = newCapacity;
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
//# sourceMappingURL=ensure-capacity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-capacity.js","sourceRoot":"","sources":["../../src/table/ensure-capacity.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAI,KAAe,EAAE,eAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"ensure-capacity.js","sourceRoot":"","sources":["../../src/table/ensure-capacity.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAI,KAAe,EAAE,eAAuB,EAAE,EAAE;IAC1E,0EAA0E;IAC1E,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC;IAC1C,IAAI,eAAe,GAAG,eAAe,EAAE,CAAC;QACpC,0EAA0E;QAC1E,MAAM,YAAY,GAAG,CAAC,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,GAAG,YAAY,CAAC,CAAC;QAC9E,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;QAClC,CAAC;QACD,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IACpC,CAAC;AACL,CAAC,CAAA"}
|
|
@@ -16,13 +16,13 @@ const whereConditionToComparisonOperations = (condition) => {
|
|
|
16
16
|
};
|
|
17
17
|
export const selectRows = function* (table, where) {
|
|
18
18
|
if (!where) {
|
|
19
|
-
for (let row = 0; row < table.
|
|
19
|
+
for (let row = 0; row < table.rowCount; row++) {
|
|
20
20
|
yield row;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
else {
|
|
24
24
|
const predicate = getRowPredicateFromFilter(where);
|
|
25
|
-
for (let row = 0; row < table.
|
|
25
|
+
for (let row = 0; row < table.rowCount; row++) {
|
|
26
26
|
if (predicate(table, row)) {
|
|
27
27
|
yield row;
|
|
28
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-rows.js","sourceRoot":"","sources":["../../src/table/select-rows.ts"],"names":[],"mappings":"AA4BA,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;AAcX,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,
|
|
1
|
+
{"version":3,"file":"select-rows.js","sourceRoot":"","sources":["../../src/table/select-rows.ts"],"names":[],"mappings":"AA4BA,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;AAcX,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"}
|
package/dist/table/table.d.ts
CHANGED
|
@@ -3,11 +3,13 @@ export interface ReadonlyTable<C> {
|
|
|
3
3
|
readonly columns: {
|
|
4
4
|
readonly [K in keyof C]: ReadonlyTypedBuffer<C[K]>;
|
|
5
5
|
};
|
|
6
|
-
readonly
|
|
6
|
+
readonly rowCount: number;
|
|
7
|
+
readonly rowCapacity: number;
|
|
7
8
|
}
|
|
8
9
|
export interface Table<C> extends ReadonlyTable<C> {
|
|
9
10
|
readonly columns: {
|
|
10
11
|
readonly [K in keyof C]: TypedBuffer<C[K]>;
|
|
11
12
|
};
|
|
12
|
-
|
|
13
|
+
rowCount: number;
|
|
14
|
+
rowCapacity: number;
|
|
13
15
|
}
|