@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
@@ -1,4 +1,4 @@
1
+ import { FromSchema, Schema } from "../schema/schema.js";
1
2
  import { TypedBuffer } from "./typed-buffer.js";
2
- export declare const createArrayBuffer: <T>(args: {
3
- length?: number;
4
- }) => TypedBuffer<T>;
3
+ export declare const arrayBufferType = "array";
4
+ export declare const createArrayBuffer: <S extends Schema, T = FromSchema<S>>(schema: S, initialCapacity: number) => TypedBuffer<T>;
@@ -1,34 +1,38 @@
1
- export const createArrayBuffer = (args) => {
2
- const { length = 16, } = args;
3
- const array = new Array(length);
4
- const typedBuffer = {
5
- type: 'array-buffer',
6
- typedArrayElementSizeInBytes: 0,
7
- getTypedArray() {
8
- throw new Error("Typed array not supported");
9
- },
10
- get size() {
11
- return array.length;
12
- },
13
- set size(value) {
14
- array.length = value;
15
- },
16
- get(index) {
17
- return array[index];
18
- },
19
- set(index, value) {
20
- array[index] = value;
21
- },
22
- copyWithin(target, start, end) {
23
- array.copyWithin(target, start, end);
24
- },
25
- slice(start = 0, end = array.length) {
26
- if (start === 0 && end === array.length) {
27
- return array;
28
- }
29
- return array.slice(start, end);
30
- },
31
- };
32
- return typedBuffer;
1
+ import { TypedBuffer } from "./typed-buffer.js";
2
+ export const arrayBufferType = "array";
3
+ class ArrayTypedBuffer extends TypedBuffer {
4
+ constructor(schema, initialCapacity) {
5
+ super(schema);
6
+ this.type = arrayBufferType;
7
+ this.typedArrayElementSizeInBytes = 0;
8
+ this.array = new Array(initialCapacity);
9
+ }
10
+ get capacity() {
11
+ return this.array.length;
12
+ }
13
+ set capacity(value) {
14
+ this.array.length = value;
15
+ }
16
+ getTypedArray() {
17
+ throw new Error("Typed array not supported");
18
+ }
19
+ get(index) {
20
+ return this.array[index];
21
+ }
22
+ set(index, value) {
23
+ this.array[index] = value;
24
+ }
25
+ copyWithin(target, start, end) {
26
+ this.array.copyWithin(target, start, end);
27
+ }
28
+ slice(start = 0, end = this.array.length) {
29
+ if (start === 0 && end === this.array.length) {
30
+ return this.array;
31
+ }
32
+ return this.array.slice(start, end);
33
+ }
34
+ }
35
+ export const createArrayBuffer = (schema, initialCapacity) => {
36
+ return new ArrayTypedBuffer(schema, initialCapacity);
33
37
  };
34
38
  //# sourceMappingURL=create-array-buffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-array-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-array-buffer.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,IAEpC,EAAkB,EAAE;IACjB,MAAM,EACF,MAAM,GAAG,EAAE,GACd,GAAG,IAAI,CAAC;IACT,MAAM,KAAK,GAAG,IAAI,KAAK,CAAI,MAAM,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG;QAChB,IAAI,EAAE,cAAc;QACpB,4BAA4B,EAAE,CAAC;QAC/B,aAAa;YACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,IAAI;YACJ,OAAO,KAAK,CAAC,MAAM,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,KAAa;YAClB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,GAAG,CAAC,KAAa;YACb,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,GAAG,CAAC,KAAa,EAAE,KAAQ;YACvB,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW;YACjD,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM;YAC/B,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtC,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;KAC8B,CAAC;IACpC,OAAO,WAAW,CAAC;AACvB,CAAC,CAAA"}
1
+ {"version":3,"file":"create-array-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-array-buffer.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAC;AAGjE,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AAEvC,MAAM,gBAAoB,SAAQ,WAAc;IAM5C,YAAY,MAAc,EAAE,eAAuB;QAC/C,KAAK,CAAC,MAAM,CAAC,CAAC;QANF,SAAI,GAAoB,eAAe,CAAC;QACxC,iCAA4B,GAAW,CAAC,CAAC;QAMrD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAI,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ,CAAC,KAAa;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,aAAa;QACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,GAAG,CAAC,KAAa;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,KAAQ;QACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW;QACjD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;QACpC,IAAI,KAAK,KAAK,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,MAAS,EACT,eAAuB,EACT,EAAE;IAChB,OAAO,IAAI,gBAAgB,CAAI,MAAM,EAAE,eAAe,CAAC,CAAC;AAC5D,CAAC,CAAC"}
@@ -1,2 +1,4 @@
1
+ import { Schema } from "../schema/schema.js";
1
2
  import { TypedBuffer } from "./typed-buffer.js";
2
- export declare const createConstBuffer: <T>(value: T) => TypedBuffer<T>;
3
+ export declare const constBufferType = "const";
4
+ export declare const createConstBuffer: <T>(schema: Schema, initialCapacity: number) => TypedBuffer<T>;
@@ -1,30 +1,32 @@
1
- export const createConstBuffer = (value) => {
2
- let size = 0;
3
- const typedBuffer = {
4
- type: 'const-buffer',
5
- typedArrayElementSizeInBytes: 0,
6
- getTypedArray() {
7
- throw new Error("Const buffer does not support getTypedArray");
8
- },
9
- get size() {
10
- return size;
11
- },
12
- set size(value) {
13
- size = value;
14
- },
15
- get(index) {
16
- return value;
17
- },
18
- set(index, value) {
19
- // No-op: const buffer ignores set calls
20
- },
21
- copyWithin(target, start, end) {
22
- // No-op: const buffer copyWithin is a no-op
23
- },
24
- slice(start = 0, end = size) {
25
- return Array(Math.max(0, end - start)).fill(value);
26
- },
27
- };
28
- return typedBuffer;
1
+ import { TypedBuffer } from "./typed-buffer.js";
2
+ export const constBufferType = "const";
3
+ class ConstTypedBuffer extends TypedBuffer {
4
+ constructor(schema, initialCapacity) {
5
+ super(schema);
6
+ this.type = constBufferType;
7
+ this.capacity = initialCapacity;
8
+ this.constValue = schema.const;
9
+ }
10
+ get typedArrayElementSizeInBytes() {
11
+ return 0;
12
+ }
13
+ getTypedArray() {
14
+ throw new Error("Const buffer does not support getTypedArray");
15
+ }
16
+ get(_index) {
17
+ return this.constValue;
18
+ }
19
+ set(_index, _value) {
20
+ // No-op: const buffer ignores set calls
21
+ }
22
+ copyWithin(_target, _start, _end) {
23
+ // No-op: const buffer copyWithin is a no-op
24
+ }
25
+ slice(start = 0, end = this.capacity) {
26
+ return Array(Math.max(0, end - start)).fill(this.constValue);
27
+ }
28
+ }
29
+ export const createConstBuffer = (schema, initialCapacity) => {
30
+ return new ConstTypedBuffer(schema, initialCapacity);
29
31
  };
30
32
  //# sourceMappingURL=create-const-buffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-const-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-const-buffer.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,KAAQ,EACM,EAAE;IAChB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,WAAW,GAAmB;QAChC,IAAI,EAAE,cAAc;QACpB,4BAA4B,EAAE,CAAC;QAC/B,aAAa;YACT,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,IAAI;YACJ,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,KAAa;YAClB,IAAI,GAAG,KAAK,CAAC;QACjB,CAAC;QACD,GAAG,CAAC,KAAa;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,GAAG,CAAC,KAAa,EAAE,KAAQ;YACvB,wCAAwC;QAC5C,CAAC;QACD,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW;YACjD,4CAA4C;QAChD,CAAC;QACD,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI;YACvB,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;KACJ,CAAC;IAEF,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"create-const-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-const-buffer.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,WAAW,EAAmB,MAAM,mBAAmB,CAAC;AAGjE,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AAEvC,MAAM,gBAAoB,SAAQ,WAAc;IAM5C,YAAY,MAAc,EAAE,eAAuB;QAC/C,KAAK,CAAC,MAAM,CAAC,CAAC;QAHF,SAAI,GAAoB,eAAe,CAAC;QAIpD,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IACnC,CAAC;IAED,IAAI,4BAA4B;QAC5B,OAAO,CAAC,CAAC;IACb,CAAC;IAED,aAAa;QACT,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnE,CAAC;IAED,GAAG,CAAC,MAAc;QACd,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,MAAc,EAAE,MAAS;QACzB,wCAAwC;IAC5C,CAAC;IAED,UAAU,CAAC,OAAe,EAAE,MAAc,EAAE,IAAY;QACpD,4CAA4C;IAChD,CAAC;IAED,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,MAAc,EACd,eAAuB,EACT,EAAE;IAChB,OAAO,IAAI,gBAAgB,CAAI,MAAM,EAAE,eAAe,CAAC,CAAC;AAC5D,CAAC,CAAC"}
@@ -24,8 +24,7 @@ import { createConstBuffer } from './create-const-buffer.js';
24
24
  describe('createConstBuffer', () => {
25
25
  it('should always return the same value for any get call', () => {
26
26
  const constValue = { x: 10, y: 20 };
27
- const buffer = createConstBuffer(constValue);
28
- buffer.size = 5;
27
+ const buffer = createConstBuffer({ const: constValue }, 5);
29
28
  // All get calls should return the same value
30
29
  expect(buffer.get(0)).toBe(constValue);
31
30
  expect(buffer.get(1)).toBe(constValue);
@@ -34,10 +33,13 @@ describe('createConstBuffer', () => {
34
33
  expect(buffer.get(4)).toBe(constValue);
35
34
  expect(buffer.get(100)).toBe(constValue); // Even out of bounds
36
35
  });
36
+ it('should allow capacity and capacity on construction', () => {
37
+ const buffer = createConstBuffer({ const: 10 }, 5);
38
+ expect(buffer.capacity).toBe(5);
39
+ });
37
40
  it('should ignore set calls', () => {
38
41
  const constValue = 42;
39
- const buffer = createConstBuffer(constValue);
40
- buffer.size = 3;
42
+ const buffer = createConstBuffer({ const: constValue }, 3);
41
43
  // Set calls should not change the value
42
44
  buffer.set(0, 100);
43
45
  buffer.set(1, 200);
@@ -47,45 +49,25 @@ describe('createConstBuffer', () => {
47
49
  expect(buffer.get(1)).toBe(constValue);
48
50
  expect(buffer.get(2)).toBe(constValue);
49
51
  });
50
- it('should track size correctly', () => {
51
- const buffer = createConstBuffer('test');
52
- buffer.size = 10;
53
- expect(buffer.size).toBe(10);
54
- });
55
- it('should allow size to be set', () => {
56
- const buffer = createConstBuffer('test');
57
- buffer.size = 5;
58
- expect(buffer.size).toBe(5);
59
- buffer.size = 100;
60
- expect(buffer.size).toBe(100);
61
- });
62
- it('should have copyWithin as no-op', () => {
63
- const buffer = createConstBuffer('constant');
64
- buffer.size = 5;
65
- // copyWithin should not throw and should not change anything
66
- expect(() => {
67
- buffer.copyWithin(0, 1, 3);
68
- }).not.toThrow();
69
- // All values should still be the same
70
- for (let i = 0; i < buffer.size; i++) {
71
- expect(buffer.get(i)).toBe('constant');
72
- }
52
+ it('should track capacity correctly', () => {
53
+ const buffer = createConstBuffer({ const: 'test' }, 10);
54
+ expect(buffer.capacity).toBe(10);
55
+ buffer.capacity = 20;
56
+ expect(buffer.capacity).toBe(20);
73
57
  });
74
58
  it('should throw error for getTypedArray', () => {
75
- const buffer = createConstBuffer(123);
59
+ const buffer = createConstBuffer({ const: 123 }, 1);
76
60
  expect(() => {
77
61
  buffer.getTypedArray();
78
62
  }).toThrow('Const buffer does not support getTypedArray');
79
63
  });
80
64
  it('should support slicing', () => {
81
- const buffer = createConstBuffer('sliceable');
82
- buffer.size = 5;
65
+ const buffer = createConstBuffer({ const: 'sliceable' }, 5);
83
66
  const values = Array.from(buffer.slice());
84
67
  expect(values).toEqual(['sliceable', 'sliceable', 'sliceable', 'sliceable', 'sliceable']);
85
68
  });
86
69
  it('should support partial slicing', () => {
87
- const buffer = createConstBuffer('partial');
88
- buffer.size = 4;
70
+ const buffer = createConstBuffer({ const: 'partial' }, 4);
89
71
  // Slice first 2 elements
90
72
  const firstSlice = Array.from(buffer.slice(0, 2));
91
73
  expect(firstSlice).toEqual(['partial', 'partial']);
@@ -96,30 +78,20 @@ describe('createConstBuffer', () => {
96
78
  const defaultEndSlice = Array.from(buffer.slice(1));
97
79
  expect(defaultEndSlice).toEqual(['partial', 'partial', 'partial']);
98
80
  });
99
- it('should work with default size of 0', () => {
100
- const buffer = createConstBuffer('default');
101
- expect(buffer.size).toBe(0);
102
- // Should still return the value even with size 0
103
- expect(buffer.get(0)).toBe('default');
104
- });
105
81
  it('should work with complex objects', () => {
106
82
  const complexValue = {
107
83
  id: 1,
108
84
  name: 'test',
109
85
  nested: { value: 42 }
110
86
  };
111
- const buffer = createConstBuffer(complexValue);
112
- buffer.size = 2;
87
+ const buffer = createConstBuffer({ const: complexValue }, 2);
113
88
  expect(buffer.get(0)).toBe(complexValue);
114
89
  expect(buffer.get(1)).toBe(complexValue);
115
90
  });
116
91
  it('should work with primitive values', () => {
117
- const numberBuffer = createConstBuffer(42);
118
- numberBuffer.size = 3;
119
- const stringBuffer = createConstBuffer('hello');
120
- stringBuffer.size = 2;
121
- const booleanBuffer = createConstBuffer(true);
122
- booleanBuffer.size = 1;
92
+ const numberBuffer = createConstBuffer({ const: 42 }, 1);
93
+ const stringBuffer = createConstBuffer({ const: 'hello' }, 1);
94
+ const booleanBuffer = createConstBuffer({ const: true }, 1);
123
95
  expect(numberBuffer.get(0)).toBe(42);
124
96
  expect(stringBuffer.get(0)).toBe('hello');
125
97
  expect(booleanBuffer.get(0)).toBe(true);
@@ -1 +1 @@
1
- {"version":3,"file":"create-const-buffer.test.js","sourceRoot":"","sources":["../../src/typed-buffer/create-const-buffer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-const-buffer.test.js","sourceRoot":"","sources":["../../src/typed-buffer/create-const-buffer.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,4 @@
1
1
  import { Schema } from "../schema/schema.js";
2
2
  import { TypedBuffer } from "./typed-buffer.js";
3
- export declare const createNumberBuffer: (args: {
4
- schema: Schema;
5
- length?: number;
6
- maxLength?: number;
7
- arrayBuffer?: ArrayBufferLike;
8
- }) => TypedBuffer<number>;
3
+ export declare const numberBufferType = "number";
4
+ export declare const createNumberBuffer: (schema: Schema, initialCapacity: number) => TypedBuffer<number>;
@@ -22,6 +22,7 @@ SOFTWARE.*/
22
22
  import { grow } from "../internal/array-buffer-like/grow.js";
23
23
  import { I32Schema } from "../schema/i32.js";
24
24
  import { U32Schema } from "../schema/u32.js";
25
+ import { TypedBuffer } from "./typed-buffer.js";
25
26
  import { createSharedArrayBuffer } from "../internal/shared-array-buffer/create-shared-array-buffer.js";
26
27
  const getTypedArrayConstructor = (schema) => {
27
28
  if (schema.type === 'number' || schema.type === 'integer') {
@@ -42,38 +43,44 @@ const getTypedArrayConstructor = (schema) => {
42
43
  }
43
44
  throw new Error("Schema is not a valid number schema");
44
45
  };
45
- export const createNumberBuffer = (args) => {
46
- const { schema, length = 16, } = args;
47
- const typedArrayConstructor = getTypedArrayConstructor(schema);
48
- const stride = typedArrayConstructor.BYTES_PER_ELEMENT;
49
- let { arrayBuffer = createSharedArrayBuffer(stride * length), } = args;
50
- let array = new typedArrayConstructor(arrayBuffer);
51
- const typedBuffer = {
52
- type: 'number-buffer',
53
- typedArrayElementSizeInBytes: stride,
54
- getTypedArray() {
55
- return array;
56
- },
57
- get size() {
58
- return array.length;
59
- },
60
- set size(value) {
61
- arrayBuffer = grow(arrayBuffer, value * stride);
62
- array = new typedArrayConstructor(arrayBuffer);
63
- },
64
- get(index) {
65
- return array[index];
66
- },
67
- set(index, value) {
68
- array[index] = value;
69
- },
70
- copyWithin(target, start, end) {
71
- array.copyWithin(target, start, end);
72
- },
73
- slice(start = 0, end = array.length) {
74
- return array.subarray(start, end);
75
- },
76
- };
77
- return typedBuffer;
46
+ export const numberBufferType = "number";
47
+ class NumberTypedBuffer extends TypedBuffer {
48
+ constructor(schema, initialCapacity) {
49
+ super(schema);
50
+ this.type = numberBufferType;
51
+ this.typedArrayConstructor = getTypedArrayConstructor(schema);
52
+ this.typedArrayElementSizeInBytes = this.typedArrayConstructor.BYTES_PER_ELEMENT;
53
+ this._capacity = initialCapacity;
54
+ this.arrayBuffer = createSharedArrayBuffer(this.typedArrayElementSizeInBytes * initialCapacity);
55
+ this.array = new this.typedArrayConstructor(this.arrayBuffer);
56
+ }
57
+ get capacity() {
58
+ return this._capacity;
59
+ }
60
+ set capacity(value) {
61
+ if (value !== this._capacity) {
62
+ this._capacity = value;
63
+ this.arrayBuffer = grow(this.arrayBuffer, value * this.typedArrayElementSizeInBytes);
64
+ this.array = new this.typedArrayConstructor(this.arrayBuffer);
65
+ }
66
+ }
67
+ getTypedArray() {
68
+ return this.array;
69
+ }
70
+ get(index) {
71
+ return this.array[index];
72
+ }
73
+ set(index, value) {
74
+ this.array[index] = value;
75
+ }
76
+ copyWithin(target, start, end) {
77
+ this.array.copyWithin(target, start, end);
78
+ }
79
+ slice(start = 0, end = this._capacity) {
80
+ return this.array.subarray(start, end);
81
+ }
82
+ }
83
+ export const createNumberBuffer = (schema, initialCapacity) => {
84
+ return new NumberTypedBuffer(schema, initialCapacity);
78
85
  };
79
86
  //# sourceMappingURL=create-number-buffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-number-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-number-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AAExG,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAyB,EAAE;IACvE,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/D,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBAC7E,OAAO,WAAW,CAAC;gBACvB,CAAC;gBACD,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBAC7E,OAAO,UAAU,CAAC;gBACtB,CAAC;YACL,CAAC;QACL,CAAC;aACI,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,YAAY,CAAC;QACxB,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AAC3D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAKlC,EAAuB,EAAE;IACtB,MAAM,EACF,MAAM,EACN,MAAM,GAAG,EAAE,GACd,GAAG,IAAI,CAAC;IACT,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,qBAAqB,CAAC,iBAAiB,CAAC;IACvD,IAAI,EACA,WAAW,GAAG,uBAAuB,CAAC,MAAM,GAAG,MAAM,CAAC,GACzD,GAAG,IAAI,CAAC;IACT,IAAI,KAAK,GAAG,IAAI,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG;QAChB,IAAI,EAAE,eAAe;QACrB,4BAA4B,EAAE,MAAM;QACpC,aAAa;YACT,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,IAAI;YACJ,OAAO,KAAK,CAAC,MAAM,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,KAAa;YAClB,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;YAChD,KAAK,GAAG,IAAI,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC;QACD,GAAG,CAAC,KAAa;YACb,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,GAAG,CAAC,KAAa,EAAE,KAAa;YAC5B,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,UAAU,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW;YACjD,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM;YAC/B,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;KACmC,CAAC;IACzC,OAAO,WAAW,CAAC;AACvB,CAAC,CAAA"}
1
+ {"version":3,"file":"create-number-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-number-buffer.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,6 @@
1
1
  import { DataView32 } from "../internal/data-view-32/data-view-32.js";
2
2
  import { FromSchema, Schema } from "../schema/schema.js";
3
3
  import { TypedBuffer } from "./typed-buffer.js";
4
- export declare const createStructBuffer: <S extends Schema, ArrayType extends keyof DataView32 = "f32">(args: {
5
- schema: S;
6
- length?: number;
7
- maxLength?: number;
8
- arrayBuffer?: ArrayBufferLike;
9
- arrayType?: ArrayType;
10
- }) => TypedBuffer<FromSchema<S>>;
4
+ export declare const structBufferType = "struct";
5
+ export declare function createStructBuffer<S extends Schema, ArrayType extends keyof DataView32 = "f32">(schema: S, initialCapacity: number): TypedBuffer<FromSchema<S>>;
6
+ export declare function createStructBuffer<S extends Schema, ArrayType extends keyof DataView32 = "f32">(schema: S, arrayBuffer: ArrayBuffer): TypedBuffer<FromSchema<S>>;
@@ -24,47 +24,64 @@ import { createDataView32 } from "../internal/data-view-32/create-data-view-32.j
24
24
  import { createReadStruct } from "./structs/create-read-struct.js";
25
25
  import { createWriteStruct } from "./structs/create-write-struct.js";
26
26
  import { getStructLayout } from "./structs/get-struct-layout.js";
27
+ import { TypedBuffer } from "./typed-buffer.js";
27
28
  import { createSharedArrayBuffer } from "../internal/shared-array-buffer/create-shared-array-buffer.js";
28
- export const createStructBuffer = (args) => {
29
- const { schema } = args;
30
- const layout = getStructLayout(schema);
31
- if (!layout) {
32
- throw new Error("Schema is not a valid struct schema");
29
+ export const structBufferType = "struct";
30
+ class StructTypedBuffer extends TypedBuffer {
31
+ constructor(schema, initialCapacityOrArrayBuffer) {
32
+ super(schema);
33
+ this.type = structBufferType;
34
+ const layout = getStructLayout(schema);
35
+ if (!layout) {
36
+ throw new Error("Schema is not a valid struct schema");
37
+ }
38
+ this.layout = layout;
39
+ this.typedArrayElementSizeInBytes = this.layout.size;
40
+ this.arrayType = 'f32';
41
+ this.sizeInQuads = this.layout.size / 4;
42
+ this.arrayBuffer
43
+ = initialCapacityOrArrayBuffer instanceof ArrayBuffer
44
+ ? initialCapacityOrArrayBuffer
45
+ : createSharedArrayBuffer(initialCapacityOrArrayBuffer * this.layout.size);
46
+ this.dataView = createDataView32(this.arrayBuffer);
47
+ this.typedArray = this.dataView[this.arrayType];
48
+ this._capacity = this.typedArray.length / this.sizeInQuads;
49
+ this.read = createReadStruct(this.layout);
50
+ this.write = createWriteStruct(this.layout);
33
51
  }
34
- const { length = 16, arrayType = 'f32' } = args;
35
- let arrayBuffer = args.arrayBuffer ?? createSharedArrayBuffer(length * layout.size);
36
- const read = createReadStruct(layout);
37
- const write = createWriteStruct(layout);
38
- let dataView = createDataView32(arrayBuffer);
39
- const sizeInQuads = layout.size / 4;
40
- let typedArray = dataView[arrayType];
41
- const buffer = {
42
- type: 'struct-buffer',
43
- typedArrayElementSizeInBytes: layout.size,
44
- getTypedArray() {
45
- return typedArray;
46
- },
47
- get size() {
48
- return arrayBuffer.byteLength / layout.size;
49
- },
50
- set size(length) {
51
- arrayBuffer = grow(arrayBuffer, length * layout.size);
52
- dataView = createDataView32(arrayBuffer);
53
- typedArray = dataView[arrayType];
54
- },
55
- get: (index) => read(dataView, index),
56
- set: (index, value) => write(dataView, index, value),
57
- copyWithin: (target, start, end) => {
58
- dataView[arrayType].copyWithin(target * sizeInQuads, start * sizeInQuads, end * sizeInQuads);
59
- },
60
- slice(start = 0, end = buffer.size) {
61
- const result = new Array(Math.max(0, end - start));
62
- for (let i = start; i < end && i < buffer.size; i++) {
63
- result[i - start] = read(dataView, i);
64
- }
65
- return result;
66
- },
67
- };
68
- return buffer;
69
- };
52
+ get capacity() {
53
+ return this._capacity;
54
+ }
55
+ set capacity(value) {
56
+ if (value !== this._capacity) {
57
+ this._capacity = value;
58
+ this.arrayBuffer = grow(this.arrayBuffer, value * this.layout.size);
59
+ this.dataView = createDataView32(this.arrayBuffer);
60
+ this.typedArray = this.dataView[this.arrayType];
61
+ }
62
+ }
63
+ getTypedArray() {
64
+ return this.typedArray;
65
+ }
66
+ get(index) {
67
+ return this.read(this.dataView, index);
68
+ }
69
+ set(index, value) {
70
+ this.write(this.dataView, index, value);
71
+ }
72
+ copyWithin(target, start, end) {
73
+ this.dataView[this.arrayType].copyWithin(target * this.sizeInQuads, start * this.sizeInQuads, end * this.sizeInQuads);
74
+ }
75
+ slice(start = 0, end = this._capacity) {
76
+ const result = new Array(Math.max(0, end - start));
77
+ for (let i = start; i < end; i++) {
78
+ result[i - start] = this.read(this.dataView, i);
79
+ }
80
+ return result;
81
+ }
82
+ }
83
+ export function createStructBuffer(schema, initialCapacityOrArrayBuffer) {
84
+ return new StructTypedBuffer(schema, initialCapacityOrArrayBuffer);
85
+ }
86
+ ;
70
87
  //# sourceMappingURL=create-struct-buffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-struct-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-struct-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;WAoBW;AACX,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AAExG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,IAMC,EACyB,EAAE;IAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,uBAAuB,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACpF,MAAM,IAAI,GAAG,gBAAgB,CAAgB,MAAM,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,iBAAiB,CAAgB,MAAM,CAAC,CAAC;IAEvD,IAAI,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAEpC,IAAI,UAAU,GAAe,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEjD,MAAM,MAAM,GAA+B;QACvC,IAAI,EAAE,eAAe;QACrB,4BAA4B,EAAE,MAAM,CAAC,IAAI;QACzC,aAAa;YACT,OAAO,UAAU,CAAC;QACtB,CAAC;QACD,IAAI,IAAI;YACJ,OAAO,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;QAChD,CAAC;QACD,IAAI,IAAI,CAAC,MAAc;YACnB,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACtD,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACzC,UAAU,GAAG,QAAQ,CAAC,SAAS,CAA0B,CAAC;QAC9D,CAAC;QACD,GAAG,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC7C,GAAG,EAAE,CAAC,KAAa,EAAE,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;QAC3E,UAAU,EAAE,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW,EAAE,EAAE;YACvD,QAAQ,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,WAAW,EAAE,KAAK,GAAG,WAAW,EAAE,GAAG,GAAG,WAAW,CAAC,CAAC;QACjG,CAAC;QACD,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,IAAI;YAC9B,MAAM,MAAM,GAAG,IAAI,KAAK,CAAgB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;YAClE,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KACJ,CAAC;IACF,OAAO,MAAM,CAAC;AAClB,CAAC,CAAA"}
1
+ {"version":3,"file":"create-struct-buffer.js","sourceRoot":"","sources":["../../src/typed-buffer/create-struct-buffer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,4 @@
1
1
  import { FromSchema, Schema } from "../schema/schema.js";
2
2
  import { TypedBuffer } from "./typed-buffer.js";
3
- export declare const createTypedBuffer: <S extends Schema, T = FromSchema<S>>(args: {
4
- schema: S;
5
- length?: number;
6
- maxLength?: number;
7
- }) => TypedBuffer<FromSchema<S>>;
3
+ export declare function createTypedBuffer<S extends Schema>(schema: S, initialCapacity?: number): TypedBuffer<FromSchema<S>>;
4
+ export declare function createTypedBuffer<S extends Schema>(schema: S, initialValues: FromSchema<S>[]): TypedBuffer<FromSchema<S>>;