@math.gl/wkb 5.0.0-alpha.2 → 5.0.0-alpha.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/index.cjs CHANGED
@@ -590,16 +590,30 @@ var WKBBuilder = class _WKBBuilder {
590
590
  this.writeFloat64(coordinate[index] ?? Number.NaN);
591
591
  }
592
592
  }
593
+ /** Temporarily changes the semantic dimension for a nested geometry. */
594
+ withDimension(dimension, callback) {
595
+ const previous = this.dimension;
596
+ this.dimension = dimension;
597
+ try {
598
+ return callback();
599
+ } finally {
600
+ this.dimension = previous;
601
+ }
602
+ }
593
603
  /** Returns the number of bytes measured or written. */
594
604
  finishGeometry() {
595
605
  return this.byteOffset - this.startByteOffset;
596
606
  }
597
607
  /** Measures geometry callbacks and returns contiguous Binary offsets. */
598
608
  static measureGeometryArray(geometryWriters, options = {}) {
609
+ var _a;
599
610
  const valueOffsets = new Int32Array(geometryWriters.length + 1);
600
611
  for (let geometryIndex = 0; geometryIndex < geometryWriters.length; geometryIndex++) {
601
612
  const geometryWriter = geometryWriters[geometryIndex];
602
- const byteLength = geometryWriter ? measureGeometry(geometryWriter, options) : 0;
613
+ const byteLength = geometryWriter ? measureGeometry(geometryWriter, {
614
+ ...options,
615
+ dimension: ((_a = options.dimensionResolver) == null ? void 0 : _a.call(options, geometryIndex)) ?? options.dimension
616
+ }) : 0;
603
617
  const nextOffset = valueOffsets[geometryIndex] + byteLength;
604
618
  if (nextOffset > 2147483647)
605
619
  throw new Error("WKB geometry array exceeds Int32 offsets");
@@ -609,6 +623,7 @@ var WKBBuilder = class _WKBBuilder {
609
623
  }
610
624
  /** Writes geometry callbacks into an existing contiguous values buffer. */
611
625
  static writeGeometryArray(geometryWriters, valueOffsets, values, options = {}) {
626
+ var _a;
612
627
  if (valueOffsets.length !== geometryWriters.length + 1) {
613
628
  throw new Error("WKB valueOffsets length must equal geometry count plus one");
614
629
  }
@@ -623,7 +638,8 @@ var WKBBuilder = class _WKBBuilder {
623
638
  mode: "write",
624
639
  target: values,
625
640
  byteOffset: valueOffsets[geometryIndex],
626
- ...options
641
+ ...options,
642
+ dimension: ((_a = options.dimensionResolver) == null ? void 0 : _a.call(options, geometryIndex)) ?? options.dimension
627
643
  });
628
644
  geometryWriter(builder);
629
645
  const byteLength = builder.finishGeometry();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/types.ts", "../src/wkb-reader.ts", "../src/wkb.ts", "../src/wkb-builder.ts", "../src/wkt.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["validateLimit", "assertRemaining", "readCount"]
6
6
  }
@@ -8,6 +8,8 @@ export type WKBCoordinateTransform = (coordinate: readonly number[], dimension:
8
8
  export type WKBBuilderBaseOptions = Readonly<{
9
9
  /** Coordinate dimension written by every geometry header. Defaults to `xy`. */
10
10
  dimension?: WellKnownDimension;
11
+ /** Optional per-row dimension resolver used by geometry-array helpers. */
12
+ dimensionResolver?: (geometryIndex: number) => WellKnownDimension;
11
13
  /** Byte order written by every geometry header. Defaults to little endian. */
12
14
  byteOrder?: 'little-endian' | 'big-endian';
13
15
  /** Optional EWKB spatial reference identifier. */
@@ -43,7 +45,7 @@ export type WKBGeometryArray = Readonly<{
43
45
  */
44
46
  export declare class WKBBuilder {
45
47
  readonly mode: 'measure' | 'write';
46
- readonly dimension: WellKnownDimension;
48
+ dimension: WellKnownDimension;
47
49
  readonly littleEndian: boolean;
48
50
  readonly srid?: number;
49
51
  readonly transform?: WKBCoordinateTransform;
@@ -70,6 +72,8 @@ export declare class WKBBuilder {
70
72
  beginMultiPolygon(polygonCount: number): void;
71
73
  /** Writes one coordinate using the builder's semantic dimension. */
72
74
  writeCoordinate(x: number, y: number, z?: number, m?: number): void;
75
+ /** Temporarily changes the semantic dimension for a nested geometry. */
76
+ withDimension<T>(dimension: WellKnownDimension, callback: () => T): T;
73
77
  /** Returns the number of bytes measured or written. */
74
78
  finishGeometry(): number;
75
79
  /** Measures geometry callbacks and returns contiguous Binary offsets. */
@@ -1 +1 @@
1
- {"version":3,"file":"wkb-builder.d.ts","sourceRoot":"","sources":["../src/wkb-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wkb-builder.d.ts","sourceRoot":"","sources":["../src/wkb-builder.ts"],"names":[],"mappings":"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"}
@@ -112,6 +112,17 @@ export class WKBBuilder {
112
112
  this.writeFloat64(coordinate[index] ?? Number.NaN);
113
113
  }
114
114
  }
115
+ /** Temporarily changes the semantic dimension for a nested geometry. */
116
+ withDimension(dimension, callback) {
117
+ const previous = this.dimension;
118
+ this.dimension = dimension;
119
+ try {
120
+ return callback();
121
+ }
122
+ finally {
123
+ this.dimension = previous;
124
+ }
125
+ }
115
126
  /** Returns the number of bytes measured or written. */
116
127
  finishGeometry() {
117
128
  return this.byteOffset - this.startByteOffset;
@@ -121,7 +132,12 @@ export class WKBBuilder {
121
132
  const valueOffsets = new Int32Array(geometryWriters.length + 1);
122
133
  for (let geometryIndex = 0; geometryIndex < geometryWriters.length; geometryIndex++) {
123
134
  const geometryWriter = geometryWriters[geometryIndex];
124
- const byteLength = geometryWriter ? measureGeometry(geometryWriter, options) : 0;
135
+ const byteLength = geometryWriter
136
+ ? measureGeometry(geometryWriter, {
137
+ ...options,
138
+ dimension: options.dimensionResolver?.(geometryIndex) ?? options.dimension
139
+ })
140
+ : 0;
125
141
  const nextOffset = valueOffsets[geometryIndex] + byteLength;
126
142
  if (nextOffset > 0x7fffffff)
127
143
  throw new Error('WKB geometry array exceeds Int32 offsets');
@@ -145,7 +161,8 @@ export class WKBBuilder {
145
161
  mode: 'write',
146
162
  target: values,
147
163
  byteOffset: valueOffsets[geometryIndex],
148
- ...options
164
+ ...options,
165
+ dimension: options.dimensionResolver?.(geometryIndex) ?? options.dimension
149
166
  });
150
167
  geometryWriter(builder);
151
168
  const byteLength = builder.finishGeometry();
@@ -1 +1 @@
1
- {"version":3,"file":"wkb-builder.js","sourceRoot":"","sources":["../src/wkb-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wkb-builder.js","sourceRoot":"","sources":["../src/wkb-builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
- "version": "5.0.0-alpha.2",
9
+ "version": "5.0.0-alpha.3",
10
10
  "keywords": [
11
11
  "wkb",
12
12
  "wkt",
@@ -33,5 +33,5 @@
33
33
  "src"
34
34
  ],
35
35
  "sideEffects": false,
36
- "gitHead": "1b21ecbe8872e604b1b362fe09ab59240bd5b41e"
36
+ "gitHead": "9887e5711acfceafb78d746dd8002629f1a4d398"
37
37
  }
@@ -18,6 +18,8 @@ export type WKBCoordinateTransform = (
18
18
  export type WKBBuilderBaseOptions = Readonly<{
19
19
  /** Coordinate dimension written by every geometry header. Defaults to `xy`. */
20
20
  dimension?: WellKnownDimension;
21
+ /** Optional per-row dimension resolver used by geometry-array helpers. */
22
+ dimensionResolver?: (geometryIndex: number) => WellKnownDimension;
21
23
  /** Byte order written by every geometry header. Defaults to little endian. */
22
24
  byteOrder?: 'little-endian' | 'big-endian';
23
25
  /** Optional EWKB spatial reference identifier. */
@@ -67,7 +69,7 @@ const GEOMETRY_TYPE_CODES: Readonly<Record<WKBGeometryType, number>> = {
67
69
  */
68
70
  export class WKBBuilder {
69
71
  readonly mode: 'measure' | 'write';
70
- readonly dimension: WellKnownDimension;
72
+ dimension: WellKnownDimension;
71
73
  readonly littleEndian: boolean;
72
74
  readonly srid?: number;
73
75
  readonly transform?: WKBCoordinateTransform;
@@ -181,6 +183,17 @@ export class WKBBuilder {
181
183
  }
182
184
  }
183
185
 
186
+ /** Temporarily changes the semantic dimension for a nested geometry. */
187
+ withDimension<T>(dimension: WellKnownDimension, callback: () => T): T {
188
+ const previous = this.dimension;
189
+ this.dimension = dimension;
190
+ try {
191
+ return callback();
192
+ } finally {
193
+ this.dimension = previous;
194
+ }
195
+ }
196
+
184
197
  /** Returns the number of bytes measured or written. */
185
198
  finishGeometry(): number {
186
199
  return this.byteOffset - this.startByteOffset;
@@ -194,7 +207,12 @@ export class WKBBuilder {
194
207
  const valueOffsets = new Int32Array(geometryWriters.length + 1);
195
208
  for (let geometryIndex = 0; geometryIndex < geometryWriters.length; geometryIndex++) {
196
209
  const geometryWriter = geometryWriters[geometryIndex];
197
- const byteLength = geometryWriter ? measureGeometry(geometryWriter, options) : 0;
210
+ const byteLength = geometryWriter
211
+ ? measureGeometry(geometryWriter, {
212
+ ...options,
213
+ dimension: options.dimensionResolver?.(geometryIndex) ?? options.dimension
214
+ })
215
+ : 0;
198
216
  const nextOffset = valueOffsets[geometryIndex] + byteLength;
199
217
  if (nextOffset > 0x7fffffff) throw new Error('WKB geometry array exceeds Int32 offsets');
200
218
  valueOffsets[geometryIndex + 1] = nextOffset;
@@ -222,7 +240,8 @@ export class WKBBuilder {
222
240
  mode: 'write',
223
241
  target: values,
224
242
  byteOffset: valueOffsets[geometryIndex],
225
- ...options
243
+ ...options,
244
+ dimension: options.dimensionResolver?.(geometryIndex) ?? options.dimension
226
245
  });
227
246
  geometryWriter(builder);
228
247
  const byteLength = builder.finishGeometry();