@loaders.gl/json 4.0.0-alpha.24 → 4.0.0-alpha.25
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/dist.min.js +86 -50
- package/dist/es5/geojson-loader.js +14 -5
- package/dist/es5/geojson-loader.js.map +1 -1
- package/dist/es5/geojson-writer.js.map +1 -1
- package/dist/es5/json-loader.js +1 -1
- package/dist/es5/json-writer.js +1 -1
- package/dist/es5/json-writer.js.map +1 -1
- package/dist/es5/lib/encoder-utils/encode-table-row.js +54 -0
- package/dist/es5/lib/encoder-utils/encode-table-row.js.map +1 -0
- package/dist/es5/lib/encoder-utils/encode-utils.js.map +1 -0
- package/dist/es5/lib/encoder-utils/utf8-encoder.js.map +1 -0
- package/dist/es5/lib/encoders/geojson-encoder.js +47 -84
- package/dist/es5/lib/encoders/geojson-encoder.js.map +1 -1
- package/dist/es5/lib/encoders/json-encoder.js +3 -3
- package/dist/es5/lib/encoders/json-encoder.js.map +1 -1
- package/dist/es5/ndgeoson-loader.js +1 -1
- package/dist/es5/ndjson-loader.js +1 -1
- package/dist/esm/geojson-loader.js +14 -5
- package/dist/esm/geojson-loader.js.map +1 -1
- package/dist/esm/geojson-writer.js.map +1 -1
- package/dist/esm/json-loader.js +1 -1
- package/dist/esm/json-writer.js +1 -1
- package/dist/esm/json-writer.js.map +1 -1
- package/dist/esm/lib/encoder-utils/encode-table-row.js +44 -0
- package/dist/esm/lib/encoder-utils/encode-table-row.js.map +1 -0
- package/dist/esm/lib/encoder-utils/encode-utils.js.map +1 -0
- package/dist/esm/lib/encoder-utils/utf8-encoder.js.map +1 -0
- package/dist/esm/lib/encoders/geojson-encoder.js +9 -52
- package/dist/esm/lib/encoders/geojson-encoder.js.map +1 -1
- package/dist/esm/lib/encoders/json-encoder.js +3 -3
- package/dist/esm/lib/encoders/json-encoder.js.map +1 -1
- package/dist/esm/ndgeoson-loader.js +1 -1
- package/dist/esm/ndjson-loader.js +1 -1
- package/dist/geojson-loader.d.ts.map +1 -1
- package/dist/geojson-worker.js +13 -182
- package/dist/geojson-writer.d.ts +8 -3
- package/dist/geojson-writer.d.ts.map +1 -1
- package/dist/json-writer.d.ts +13 -3
- package/dist/json-writer.d.ts.map +1 -1
- package/dist/lib/encoder-utils/encode-table-row.d.ts +7 -0
- package/dist/lib/encoder-utils/encode-table-row.d.ts.map +1 -0
- package/dist/lib/encoder-utils/encode-utils.d.ts.map +1 -0
- package/dist/lib/encoder-utils/utf8-encoder.d.ts.map +1 -0
- package/dist/lib/encoders/geojson-encoder.d.ts +2 -8
- package/dist/lib/encoders/geojson-encoder.d.ts.map +1 -1
- package/dist/lib/encoders/json-encoder.d.ts +1 -10
- package/dist/lib/encoders/json-encoder.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/geojson-loader.ts +19 -5
- package/src/geojson-writer.ts +8 -3
- package/src/json-writer.ts +12 -4
- package/src/lib/encoder-utils/encode-table-row.ts +69 -0
- package/src/lib/encoders/geojson-encoder.ts +15 -78
- package/src/lib/encoders/json-encoder.ts +3 -11
- package/dist/es5/lib/encoders/encode-utils.js.map +0 -1
- package/dist/es5/lib/encoders/utf8-encoder.js.map +0 -1
- package/dist/esm/lib/encoders/encode-utils.js.map +0 -1
- package/dist/esm/lib/encoders/utf8-encoder.js.map +0 -1
- package/dist/lib/encoders/encode-utils.d.ts.map +0 -1
- package/dist/lib/encoders/utf8-encoder.d.ts.map +0 -1
- /package/dist/es5/lib/{encoders → encoder-utils}/encode-utils.js +0 -0
- /package/dist/es5/lib/{encoders → encoder-utils}/utf8-encoder.js +0 -0
- /package/dist/esm/lib/{encoders → encoder-utils}/encode-utils.js +0 -0
- /package/dist/esm/lib/{encoders → encoder-utils}/utf8-encoder.js +0 -0
- /package/dist/lib/{encoders → encoder-utils}/encode-utils.d.ts +0 -0
- /package/dist/lib/{encoders → encoder-utils}/utf8-encoder.d.ts +0 -0
- /package/src/lib/{encoders → encoder-utils}/encode-utils.ts +0 -0
- /package/src/lib/{encoders → encoder-utils}/utf8-encoder.ts +0 -0
package/dist/dist.min.js
CHANGED
|
@@ -406,8 +406,9 @@
|
|
|
406
406
|
switch (table.shape) {
|
|
407
407
|
case "array-row-table":
|
|
408
408
|
case "object-row-table":
|
|
409
|
-
case "geojson-row-table":
|
|
410
409
|
return table.data.length;
|
|
410
|
+
case "geojson-table":
|
|
411
|
+
return table.features.length;
|
|
411
412
|
case "arrow-table":
|
|
412
413
|
return table.data.numRows;
|
|
413
414
|
case "columnar-table":
|
|
@@ -430,8 +431,9 @@
|
|
|
430
431
|
case "array-row-table":
|
|
431
432
|
return table.data[0].length;
|
|
432
433
|
case "object-row-table":
|
|
433
|
-
case "geojson-row-table":
|
|
434
434
|
return Object.keys(table.data[0]).length;
|
|
435
|
+
case "geojson-table":
|
|
436
|
+
return Object.keys(table.features[0]).length;
|
|
435
437
|
case "columnar-table":
|
|
436
438
|
return Object.keys(table.data).length;
|
|
437
439
|
case "arrow-table":
|
|
@@ -445,7 +447,6 @@
|
|
|
445
447
|
case "object-row-table":
|
|
446
448
|
return copy2 ? Object.fromEntries(Object.entries(table.data[rowIndex])) : table.data[rowIndex];
|
|
447
449
|
case "array-row-table":
|
|
448
|
-
case "geojson-row-table":
|
|
449
450
|
if (table.schema) {
|
|
450
451
|
const objectRow2 = target || {};
|
|
451
452
|
for (let i = 0; i < table.schema.fields.length; i++) {
|
|
@@ -454,6 +455,15 @@
|
|
|
454
455
|
return objectRow2;
|
|
455
456
|
}
|
|
456
457
|
throw new Error("no schema");
|
|
458
|
+
case "geojson-table":
|
|
459
|
+
if (table.schema) {
|
|
460
|
+
const objectRow2 = target || {};
|
|
461
|
+
for (let i = 0; i < table.schema.fields.length; i++) {
|
|
462
|
+
objectRow2[table.schema.fields[i].name] = table.features[rowIndex][i];
|
|
463
|
+
}
|
|
464
|
+
return objectRow2;
|
|
465
|
+
}
|
|
466
|
+
throw new Error("no schema");
|
|
457
467
|
case "columnar-table":
|
|
458
468
|
if (table.schema) {
|
|
459
469
|
const objectRow2 = target || {};
|
|
@@ -485,7 +495,6 @@
|
|
|
485
495
|
case "array-row-table":
|
|
486
496
|
return copy2 ? Array.from(table.data[rowIndex]) : table.data[rowIndex];
|
|
487
497
|
case "object-row-table":
|
|
488
|
-
case "geojson-row-table":
|
|
489
498
|
if (table.schema) {
|
|
490
499
|
const arrayRow2 = target || [];
|
|
491
500
|
for (let i = 0; i < table.schema.fields.length; i++) {
|
|
@@ -494,6 +503,15 @@
|
|
|
494
503
|
return arrayRow2;
|
|
495
504
|
}
|
|
496
505
|
return Object.values(table.data[rowIndex]);
|
|
506
|
+
case "geojson-table":
|
|
507
|
+
if (table.schema) {
|
|
508
|
+
const arrayRow2 = target || [];
|
|
509
|
+
for (let i = 0; i < table.schema.fields.length; i++) {
|
|
510
|
+
arrayRow2[i] = table.features[rowIndex][table.schema.fields[i].name];
|
|
511
|
+
}
|
|
512
|
+
return arrayRow2;
|
|
513
|
+
}
|
|
514
|
+
return Object.values(table.features[rowIndex]);
|
|
497
515
|
case "columnar-table":
|
|
498
516
|
if (table.schema) {
|
|
499
517
|
const arrayRow2 = target || [];
|
|
@@ -1781,8 +1799,8 @@ Char: ${this.c}`;
|
|
|
1781
1799
|
});
|
|
1782
1800
|
|
|
1783
1801
|
// src/lib/encoders/json-encoder.ts
|
|
1784
|
-
function encodeTableAsJSON(table, options
|
|
1785
|
-
const shape = options
|
|
1802
|
+
function encodeTableAsJSON(table, options) {
|
|
1803
|
+
const shape = options?.json?.shape || "object-row-table";
|
|
1786
1804
|
const strings = [];
|
|
1787
1805
|
const rowIterator = makeRowIterator(table, shape);
|
|
1788
1806
|
for (const row of rowIterator) {
|
|
@@ -1811,7 +1829,7 @@ Char: ${this.c}`;
|
|
|
1811
1829
|
options: {},
|
|
1812
1830
|
text: true,
|
|
1813
1831
|
encode: async (table, options) => new TextEncoder().encode(encodeTableAsJSON(table, options)).buffer,
|
|
1814
|
-
|
|
1832
|
+
encodeTextSync: (table, options) => encodeTableAsJSON(table, options)
|
|
1815
1833
|
};
|
|
1816
1834
|
}
|
|
1817
1835
|
});
|
|
@@ -2834,11 +2852,20 @@ Char: ${this.c}`;
|
|
|
2834
2852
|
options = { ...GeoJSONLoader.options, ...options };
|
|
2835
2853
|
options.geojson = { ...GeoJSONLoader.options.geojson, ...options.geojson };
|
|
2836
2854
|
options.gis = options.gis || {};
|
|
2837
|
-
|
|
2838
|
-
|
|
2855
|
+
let geojson;
|
|
2856
|
+
try {
|
|
2857
|
+
geojson = JSON.parse(text);
|
|
2858
|
+
} catch {
|
|
2859
|
+
geojson = {};
|
|
2860
|
+
}
|
|
2861
|
+
const table = {
|
|
2862
|
+
shape: "geojson-table",
|
|
2863
|
+
type: "FeatureCollection",
|
|
2864
|
+
features: geojson?.features || []
|
|
2865
|
+
};
|
|
2839
2866
|
switch (options.gis.format) {
|
|
2840
2867
|
case "binary":
|
|
2841
|
-
return geojsonToBinary(table.
|
|
2868
|
+
return geojsonToBinary(table.features);
|
|
2842
2869
|
default:
|
|
2843
2870
|
return table;
|
|
2844
2871
|
}
|
|
@@ -2864,7 +2891,6 @@ Char: ${this.c}`;
|
|
|
2864
2891
|
var init_geojson_loader = __esm({
|
|
2865
2892
|
"src/geojson-loader.ts"() {
|
|
2866
2893
|
init_src3();
|
|
2867
|
-
init_parse_json();
|
|
2868
2894
|
init_parse_json_in_batches();
|
|
2869
2895
|
VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
2870
2896
|
GeoJSONWorkerLoader = {
|
|
@@ -2899,7 +2925,7 @@ Char: ${this.c}`;
|
|
|
2899
2925
|
}
|
|
2900
2926
|
});
|
|
2901
2927
|
|
|
2902
|
-
// src/lib/
|
|
2928
|
+
// src/lib/encoder-utils/encode-utils.ts
|
|
2903
2929
|
function detectGeometryColumnIndex(table) {
|
|
2904
2930
|
const geometryIndex = table.schema?.fields.findIndex((field) => field.name === "geometry") ?? -1;
|
|
2905
2931
|
if (geometryIndex > -1) {
|
|
@@ -2927,15 +2953,53 @@ Char: ${this.c}`;
|
|
|
2927
2953
|
return properties;
|
|
2928
2954
|
}
|
|
2929
2955
|
var init_encode_utils = __esm({
|
|
2930
|
-
"src/lib/
|
|
2956
|
+
"src/lib/encoder-utils/encode-utils.ts"() {
|
|
2931
2957
|
init_src();
|
|
2932
2958
|
}
|
|
2933
2959
|
});
|
|
2934
2960
|
|
|
2935
|
-
// src/lib/
|
|
2961
|
+
// src/lib/encoder-utils/encode-table-row.ts
|
|
2962
|
+
function encodeTableRow(table, rowIndex, geometryColumnIndex, utf8Encoder) {
|
|
2963
|
+
const row = getTableRowAsObject(table, rowIndex);
|
|
2964
|
+
if (!row)
|
|
2965
|
+
return;
|
|
2966
|
+
const featureWithProperties = getFeatureFromRow(table, row, geometryColumnIndex);
|
|
2967
|
+
const featureString = JSON.stringify(featureWithProperties);
|
|
2968
|
+
utf8Encoder.push(featureString);
|
|
2969
|
+
}
|
|
2970
|
+
function getFeatureFromRow(table, row, geometryColumnIndex) {
|
|
2971
|
+
const properties = getRowPropertyObject(table, row, [geometryColumnIndex]);
|
|
2972
|
+
const columnName = table.schema?.fields[geometryColumnIndex].name;
|
|
2973
|
+
let featureOrGeometry = columnName && row[columnName];
|
|
2974
|
+
if (!featureOrGeometry) {
|
|
2975
|
+
return { type: "Feature", geometry: null, properties };
|
|
2976
|
+
}
|
|
2977
|
+
if (typeof featureOrGeometry === "string") {
|
|
2978
|
+
try {
|
|
2979
|
+
featureOrGeometry = JSON.parse(featureOrGeometry);
|
|
2980
|
+
} catch (err) {
|
|
2981
|
+
throw new Error("Invalid string geometry");
|
|
2982
|
+
}
|
|
2983
|
+
}
|
|
2984
|
+
if (typeof featureOrGeometry !== "object" || typeof featureOrGeometry?.type !== "string") {
|
|
2985
|
+
throw new Error("invalid geometry column value");
|
|
2986
|
+
}
|
|
2987
|
+
if (featureOrGeometry?.type === "Feature") {
|
|
2988
|
+
return { ...featureOrGeometry, properties };
|
|
2989
|
+
}
|
|
2990
|
+
return { type: "Feature", geometry: featureOrGeometry, properties };
|
|
2991
|
+
}
|
|
2992
|
+
var init_encode_table_row = __esm({
|
|
2993
|
+
"src/lib/encoder-utils/encode-table-row.ts"() {
|
|
2994
|
+
init_src();
|
|
2995
|
+
init_encode_utils();
|
|
2996
|
+
}
|
|
2997
|
+
});
|
|
2998
|
+
|
|
2999
|
+
// src/lib/encoder-utils/utf8-encoder.ts
|
|
2936
3000
|
var Utf8ArrayBufferEncoder;
|
|
2937
3001
|
var init_utf8_encoder = __esm({
|
|
2938
|
-
"src/lib/
|
|
3002
|
+
"src/lib/encoder-utils/utf8-encoder.ts"() {
|
|
2939
3003
|
Utf8ArrayBufferEncoder = class {
|
|
2940
3004
|
constructor(chunkSize) {
|
|
2941
3005
|
this.strings = [];
|
|
@@ -2975,10 +3039,11 @@ Char: ${this.c}`;
|
|
|
2975
3039
|
utf8Encoder.push("[");
|
|
2976
3040
|
let geometryColumn = options.geojson.geometryColumn;
|
|
2977
3041
|
let isFirstLine = true;
|
|
2978
|
-
|
|
2979
|
-
|
|
3042
|
+
let start = 0;
|
|
3043
|
+
for await (const tableBatch of batchIterator) {
|
|
3044
|
+
const end = start + getTableLength(tableBatch);
|
|
2980
3045
|
if (!geometryColumn) {
|
|
2981
|
-
geometryColumn = geometryColumn || detectGeometryColumnIndex(
|
|
3046
|
+
geometryColumn = geometryColumn || detectGeometryColumnIndex(tableBatch);
|
|
2982
3047
|
}
|
|
2983
3048
|
for (let rowIndex = start; rowIndex < end; ++rowIndex) {
|
|
2984
3049
|
if (!isFirstLine) {
|
|
@@ -2986,10 +3051,11 @@ Char: ${this.c}`;
|
|
|
2986
3051
|
}
|
|
2987
3052
|
utf8Encoder.push("\n");
|
|
2988
3053
|
isFirstLine = false;
|
|
2989
|
-
|
|
3054
|
+
encodeTableRow(tableBatch, rowIndex, geometryColumn, utf8Encoder);
|
|
2990
3055
|
if (utf8Encoder.isFull()) {
|
|
2991
3056
|
yield utf8Encoder.getArrayBufferBatch();
|
|
2992
3057
|
}
|
|
3058
|
+
start = end;
|
|
2993
3059
|
}
|
|
2994
3060
|
const arrayBufferBatch = utf8Encoder.getArrayBufferBatch();
|
|
2995
3061
|
if (arrayBufferBatch.byteLength > 0) {
|
|
@@ -3003,41 +3069,11 @@ Char: ${this.c}`;
|
|
|
3003
3069
|
}
|
|
3004
3070
|
yield utf8Encoder.getArrayBufferBatch();
|
|
3005
3071
|
}
|
|
3006
|
-
function encodeRow(table, rowIndex, geometryColumnIndex, utf8Encoder) {
|
|
3007
|
-
const row = getTableRowAsObject(table, rowIndex);
|
|
3008
|
-
if (!row)
|
|
3009
|
-
return;
|
|
3010
|
-
const featureWithProperties = getFeatureFromRow(table, row, geometryColumnIndex);
|
|
3011
|
-
const featureString = JSON.stringify(featureWithProperties);
|
|
3012
|
-
utf8Encoder.push(featureString);
|
|
3013
|
-
}
|
|
3014
|
-
function getFeatureFromRow(table, row, geometryColumnIndex) {
|
|
3015
|
-
const properties = getRowPropertyObject(table, row, [geometryColumnIndex]);
|
|
3016
|
-
const columnName = table.schema?.fields[geometryColumnIndex].name;
|
|
3017
|
-
let featureOrGeometry = columnName && row[columnName];
|
|
3018
|
-
if (!featureOrGeometry) {
|
|
3019
|
-
return { type: "Feature", geometry: null, properties };
|
|
3020
|
-
}
|
|
3021
|
-
if (typeof featureOrGeometry === "string") {
|
|
3022
|
-
try {
|
|
3023
|
-
featureOrGeometry = JSON.parse(featureOrGeometry);
|
|
3024
|
-
} catch (err) {
|
|
3025
|
-
throw new Error("Invalid string geometry");
|
|
3026
|
-
}
|
|
3027
|
-
}
|
|
3028
|
-
if (typeof featureOrGeometry !== "object" || typeof featureOrGeometry?.type !== "string") {
|
|
3029
|
-
throw new Error("invalid geometry column value");
|
|
3030
|
-
}
|
|
3031
|
-
if (featureOrGeometry?.type === "Feature") {
|
|
3032
|
-
return { ...featureOrGeometry, properties };
|
|
3033
|
-
}
|
|
3034
|
-
return { type: "Feature", geometry: featureOrGeometry, properties };
|
|
3035
|
-
}
|
|
3036
3072
|
var init_geojson_encoder = __esm({
|
|
3037
3073
|
"src/lib/encoders/geojson-encoder.ts"() {
|
|
3038
|
-
init_src();
|
|
3039
3074
|
init_src();
|
|
3040
3075
|
init_encode_utils();
|
|
3076
|
+
init_encode_table_row();
|
|
3041
3077
|
init_utf8_encoder();
|
|
3042
3078
|
}
|
|
3043
3079
|
});
|
|
@@ -11,13 +11,12 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
11
11
|
var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
|
|
12
12
|
var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
|
|
13
13
|
var _gis = require("@loaders.gl/gis");
|
|
14
|
-
var _parseJson = require("./lib/parsers/parse-json");
|
|
15
14
|
var _parseJsonInBatches = require("./lib/parsers/parse-json-in-batches");
|
|
16
15
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
16
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
18
17
|
function _asyncIterator(iterable) { var method, async, sync, retry = 2; for ("undefined" != typeof Symbol && (async = Symbol.asyncIterator, sync = Symbol.iterator); retry--;) { if (async && null != (method = iterable[async])) return method.call(iterable); if (sync && null != (method = iterable[sync])) return new AsyncFromSyncIterator(method.call(iterable)); async = "@@asyncIterator", sync = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
|
|
19
18
|
function AsyncFromSyncIterator(s) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var done = r.done; return Promise.resolve(r.value).then(function (value) { return { value: value, done: done }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(s) { this.s = s, this.n = s.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, return: function _return(value) { var ret = this.s.return; return void 0 === ret ? Promise.resolve({ value: value, done: !0 }) : AsyncFromSyncIteratorContinuation(ret.apply(this.s, arguments)); }, throw: function _throw(value) { var thr = this.s.return; return void 0 === thr ? Promise.reject(value) : AsyncFromSyncIteratorContinuation(thr.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(s); }
|
|
20
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
19
|
+
var VERSION = typeof "4.0.0-alpha.25" !== 'undefined' ? "4.0.0-alpha.25" : 'latest';
|
|
21
20
|
var GeoJSONWorkerLoader = {
|
|
22
21
|
name: 'GeoJSON',
|
|
23
22
|
id: 'geojson',
|
|
@@ -66,14 +65,24 @@ function _parse() {
|
|
|
66
65
|
return _parse.apply(this, arguments);
|
|
67
66
|
}
|
|
68
67
|
function parseTextSync(text, options) {
|
|
68
|
+
var _geojson;
|
|
69
69
|
options = _objectSpread(_objectSpread({}, GeoJSONLoader.options), options);
|
|
70
70
|
options.geojson = _objectSpread(_objectSpread({}, GeoJSONLoader.options.geojson), options.geojson);
|
|
71
71
|
options.gis = options.gis || {};
|
|
72
|
-
var
|
|
73
|
-
|
|
72
|
+
var geojson;
|
|
73
|
+
try {
|
|
74
|
+
geojson = JSON.parse(text);
|
|
75
|
+
} catch (_unused) {
|
|
76
|
+
geojson = {};
|
|
77
|
+
}
|
|
78
|
+
var table = {
|
|
79
|
+
shape: 'geojson-table',
|
|
80
|
+
type: 'FeatureCollection',
|
|
81
|
+
features: ((_geojson = geojson) === null || _geojson === void 0 ? void 0 : _geojson.features) || []
|
|
82
|
+
};
|
|
74
83
|
switch (options.gis.format) {
|
|
75
84
|
case 'binary':
|
|
76
|
-
return (0, _gis.geojsonToBinary)(table.
|
|
85
|
+
return (0, _gis.geojsonToBinary)(table.features);
|
|
77
86
|
default:
|
|
78
87
|
return table;
|
|
79
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geojson-loader.js","names":["_gis","require","_parseJson","_parseJsonInBatches","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Promise","reject","done","resolve","value","then","n","next","prototype","return","_return","ret","throw","_throw","thr","VERSION","GeoJSONWorkerLoader","name","id","module","version","worker","extensions","mimeTypes","category","text","options","geojson","shape","json","jsonpaths","gis","format","exports","GeoJSONLoader","parse","parseTextSync","parseInBatches","_x2","_x3","_parse","_asyncToGenerator2","_regenerator","mark","_callee2","arrayBuffer","wrap","_callee2$","_context2","prev","abrupt","TextDecoder","decode","stop","table","parseJSONSync","geojsonToBinary","data","geojsonIterator","parseJSONInBatches","makeBinaryGeometryIterator","_x","_makeBinaryGeometryIterator","_wrapAsyncGenerator2","_callee","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","batch","_callee$","_context","_awaitAsyncGenerator2","sent","t0","finish"],"sources":["../../src/geojson-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {GeoJSON, GeoJSONRowTable, TableBatch} from '@loaders.gl/schema';\nimport type {JSONLoaderOptions} from './json-loader';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type GeoJSONLoaderOptions = JSONLoaderOptions & {\n geojson?: {\n shape?: 'object-row-table';\n };\n gis?: {\n format?: 'geojson' | 'binary';\n };\n};\n\n/**\n * GeoJSON loader\n */\nexport const GeoJSONWorkerLoader: Loader<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n name: 'GeoJSON',\n id: 'geojson',\n module: 'geojson',\n version: VERSION,\n worker: true,\n extensions: ['geojson'],\n mimeTypes: ['application/geo+json'],\n category: 'geometry',\n text: true,\n options: {\n geojson: {\n shape: 'object-row-table'\n },\n json: {\n shape: 'object-row-table',\n jsonpaths: ['$', '$.features']\n },\n gis: {\n format: 'geojson'\n }\n }\n};\n\nexport const GeoJSONLoader: LoaderWithParser<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n ...GeoJSONWorkerLoader,\n // @ts-expect-error\n parse,\n // @ts-expect-error\n parseTextSync,\n parseInBatches\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: GeoJSONLoaderOptions) {\n return parseTextSync(new TextDecoder().decode(arrayBuffer), options);\n}\n\nfunction parseTextSync(text: string, options?: GeoJSONLoaderOptions) {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.geojson = {...GeoJSONLoader.options.geojson, ...options.geojson};\n options.gis = options.gis || {};\n const table = parseJSONSync(text, options) as GeoJSONRowTable;\n table.shape = 'geojson-row-table';\n switch (options.gis.format) {\n case 'binary':\n return geojsonToBinary(table.data);\n default:\n return table;\n }\n}\n\nfunction parseInBatches(asyncIterator, options): AsyncIterable<TableBatch> {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.json = {...GeoJSONLoader.options.geojson, ...options.geojson};\n\n const geojsonIterator = parseJSONInBatches(asyncIterator, options);\n\n switch (options.gis.format) {\n case 'binary':\n return makeBinaryGeometryIterator(geojsonIterator);\n default:\n return geojsonIterator;\n }\n}\n\nasync function* makeBinaryGeometryIterator(geojsonIterator) {\n for await (const batch of geojsonIterator) {\n batch.data = geojsonToBinary(batch.data);\n yield batch;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"geojson-loader.js","names":["_gis","require","_parseJsonInBatches","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","_asyncIterator","iterable","method","async","sync","retry","Symbol","asyncIterator","iterator","call","AsyncFromSyncIterator","TypeError","s","AsyncFromSyncIteratorContinuation","r","Promise","reject","done","resolve","value","then","n","next","prototype","return","_return","ret","throw","_throw","thr","VERSION","GeoJSONWorkerLoader","name","id","module","version","worker","extensions","mimeTypes","category","text","options","geojson","shape","json","jsonpaths","gis","format","exports","GeoJSONLoader","parse","parseTextSync","parseInBatches","_x2","_x3","_parse","_asyncToGenerator2","_regenerator","mark","_callee2","arrayBuffer","wrap","_callee2$","_context2","prev","abrupt","TextDecoder","decode","stop","_geojson","JSON","_unused","table","type","features","geojsonToBinary","geojsonIterator","parseJSONInBatches","makeBinaryGeometryIterator","_x","_makeBinaryGeometryIterator","_wrapAsyncGenerator2","_callee","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","batch","_callee$","_context","_awaitAsyncGenerator2","sent","data","t0","finish"],"sources":["../../src/geojson-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {GeoJSON, GeoJSONTable, TableBatch} from '@loaders.gl/schema';\nimport type {JSONLoaderOptions} from './json-loader';\nimport {geojsonToBinary} from '@loaders.gl/gis';\n// import {parseJSONSync} from './lib/parsers/parse-json';\nimport {parseJSONInBatches} from './lib/parsers/parse-json-in-batches';\n\n// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\nexport type GeoJSONLoaderOptions = JSONLoaderOptions & {\n geojson?: {\n shape?: 'object-row-table';\n };\n gis?: {\n format?: 'geojson' | 'binary';\n };\n};\n\n/**\n * GeoJSON loader\n */\nexport const GeoJSONWorkerLoader: Loader<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n name: 'GeoJSON',\n id: 'geojson',\n module: 'geojson',\n version: VERSION,\n worker: true,\n extensions: ['geojson'],\n mimeTypes: ['application/geo+json'],\n category: 'geometry',\n text: true,\n options: {\n geojson: {\n shape: 'object-row-table'\n },\n json: {\n shape: 'object-row-table',\n jsonpaths: ['$', '$.features']\n },\n gis: {\n format: 'geojson'\n }\n }\n};\n\nexport const GeoJSONLoader: LoaderWithParser<GeoJSON, TableBatch, GeoJSONLoaderOptions> = {\n ...GeoJSONWorkerLoader,\n // @ts-expect-error\n parse,\n // @ts-expect-error\n parseTextSync,\n parseInBatches\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: GeoJSONLoaderOptions) {\n return parseTextSync(new TextDecoder().decode(arrayBuffer), options);\n}\n\nfunction parseTextSync(text: string, options?: GeoJSONLoaderOptions) {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.geojson = {...GeoJSONLoader.options.geojson, ...options.geojson};\n options.gis = options.gis || {};\n\n let geojson;\n try {\n geojson = JSON.parse(text);\n } catch {\n geojson = {};\n }\n\n const table: GeoJSONTable = {\n shape: 'geojson-table',\n // TODO - deduce schema from geojson\n // TODO check that parsed data is of type FeatureCollection\n type: 'FeatureCollection',\n features: geojson?.features || []\n };\n\n switch (options.gis.format) {\n case 'binary':\n return geojsonToBinary(table.features);\n default:\n return table;\n }\n}\n\nfunction parseInBatches(asyncIterator, options): AsyncIterable<TableBatch> {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GeoJSONLoader.options, ...options};\n options.json = {...GeoJSONLoader.options.geojson, ...options.geojson};\n\n const geojsonIterator = parseJSONInBatches(asyncIterator, options);\n\n switch (options.gis.format) {\n case 'binary':\n return makeBinaryGeometryIterator(geojsonIterator);\n default:\n return geojsonIterator;\n }\n}\n\nasync function* makeBinaryGeometryIterator(geojsonIterator) {\n for await (const batch of geojsonIterator) {\n batch.data = geojsonToBinary(batch.data);\n yield batch;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geojson-writer.js","names":["_geojsonEncoder","require","GeoJSONWriter","id","version","module","name","extensions","mimeTypes","options","geojson","featureArray","geometryColumn","text","encodeInBatches","tableIterator","encodeTableAsGeojsonInBatches","exports"],"sources":["../../src/geojson-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright Foursquare, Inc 20222\n\nimport type {Writer} from '@loaders.gl/loader-utils';\nimport type {Table, TableBatch} from '@loaders.gl/schema';\nimport
|
|
1
|
+
{"version":3,"file":"geojson-writer.js","names":["_geojsonEncoder","require","GeoJSONWriter","id","version","module","name","extensions","mimeTypes","options","geojson","featureArray","geometryColumn","text","encodeInBatches","tableIterator","encodeTableAsGeojsonInBatches","exports"],"sources":["../../src/geojson-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright Foursquare, Inc 20222\n\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport type {Table, TableBatch} from '@loaders.gl/schema';\nimport {encodeTableAsGeojsonInBatches} from './lib/encoders/geojson-encoder';\n\nexport type GeoJSONWriterOptions = WriterOptions & {\n geojson?: {\n featureArray?: boolean;\n geometryColumn?: number | null;\n };\n chunkSize?: number;\n};\n\nexport const GeoJSONWriter: Writer<Table, TableBatch, GeoJSONWriterOptions> = {\n id: 'geojson',\n version: 'latest',\n module: 'geojson',\n name: 'GeoJSON',\n extensions: ['geojson'],\n mimeTypes: ['application/geo+json'],\n options: {\n geojson: {\n featureArray: false,\n geometryColumn: null\n }\n },\n text: true,\n encodeInBatches: (tableIterator: AsyncIterable<TableBatch>, options) =>\n encodeTableAsGeojsonInBatches(tableIterator, options)\n};\n"],"mappings":";;;;;;AAKA,IAAAA,eAAA,GAAAC,OAAA;AAUO,IAAMC,aAA8D,GAAG;EAC5EC,EAAE,EAAE,SAAS;EACbC,OAAO,EAAE,QAAQ;EACjBC,MAAM,EAAE,SAAS;EACjBC,IAAI,EAAE,SAAS;EACfC,UAAU,EAAE,CAAC,SAAS,CAAC;EACvBC,SAAS,EAAE,CAAC,sBAAsB,CAAC;EACnCC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,YAAY,EAAE,KAAK;MACnBC,cAAc,EAAE;IAClB;EACF,CAAC;EACDC,IAAI,EAAE,IAAI;EACVC,eAAe,EAAE,SAAAA,gBAACC,aAAwC,EAAEN,OAAO;IAAA,OACjE,IAAAO,6CAA6B,EAACD,aAAa,EAAEN,OAAO,CAAC;EAAA;AACzD,CAAC;AAACQ,OAAA,CAAAf,aAAA,GAAAA,aAAA"}
|
package/dist/es5/json-loader.js
CHANGED
|
@@ -12,7 +12,7 @@ var _parseJson = require("./lib/parsers/parse-json");
|
|
|
12
12
|
var _parseJsonInBatches = require("./lib/parsers/parse-json-in-batches");
|
|
13
13
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
14
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
15
|
+
var VERSION = typeof "4.0.0-alpha.25" !== 'undefined' ? "4.0.0-alpha.25" : 'latest';
|
|
16
16
|
var DEFAULT_JSON_LOADER_OPTIONS = {
|
|
17
17
|
json: {
|
|
18
18
|
shape: 'object-row-table',
|
package/dist/es5/json-writer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-writer.js","names":["_jsonEncoder","require","JSONWriter","id","version","module","name","extensions","mimeTypes","options","text","encode","_encode","_asyncToGenerator2","default","_regenerator","mark","_callee","table","wrap","_callee$","_context","prev","next","abrupt","TextEncoder","encodeTableAsJSON","buffer","stop","_x","_x2","apply","arguments","
|
|
1
|
+
{"version":3,"file":"json-writer.js","names":["_jsonEncoder","require","JSONWriter","id","version","module","name","extensions","mimeTypes","options","text","encode","_encode","_asyncToGenerator2","default","_regenerator","mark","_callee","table","wrap","_callee$","_context","prev","next","abrupt","TextEncoder","encodeTableAsJSON","buffer","stop","_x","_x2","apply","arguments","encodeTextSync","exports"],"sources":["../../src/json-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright 2022 Foursquare Labs, Inc.\n\n/* global TextEncoder */\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport type {Table, TableBatch} from '@loaders.gl/schema';\nimport {encodeTableAsJSON} from './lib/encoders/json-encoder';\n\nexport type JSONWriterOptions = WriterOptions & {\n json?: {\n shape?: 'object-row-table' | 'array-row-table';\n wrapper?: (table: TableJSON) => unknown;\n };\n};\n\ntype RowArray = unknown[];\ntype RowObject = {[key: string]: unknown};\ntype TableJSON = RowArray[] | RowObject[];\n\nexport const JSONWriter: Writer<Table, TableBatch, JSONWriterOptions> = {\n id: 'json',\n version: 'latest',\n module: 'json',\n name: 'JSON',\n extensions: ['json'],\n mimeTypes: ['application/json'],\n options: {},\n text: true,\n encode: async (table: Table, options: JSONWriterOptions) =>\n new TextEncoder().encode(encodeTableAsJSON(table, options)).buffer,\n encodeTextSync: (table: Table, options: JSONWriterOptions) => encodeTableAsJSON(table, options)\n};\n"],"mappings":";;;;;;;;;AAMA,IAAAA,YAAA,GAAAC,OAAA;AAaO,IAAMC,UAAwD,GAAG;EACtEC,EAAE,EAAE,MAAM;EACVC,OAAO,EAAE,QAAQ;EACjBC,MAAM,EAAE,MAAM;EACdC,IAAI,EAAE,MAAM;EACZC,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,SAAS,EAAE,CAAC,kBAAkB,CAAC;EAC/BC,OAAO,EAAE,CAAC,CAAC;EACXC,IAAI,EAAE,IAAI;EACVC,MAAM;IAAA,IAAAC,OAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAC,QAAOC,KAAY,EAAET,OAA0B;MAAA,OAAAM,YAAA,CAAAD,OAAA,CAAAK,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WACrD,IAAIC,WAAW,CAAC,CAAC,CAACd,MAAM,CAAC,IAAAe,8BAAiB,EAACR,KAAK,EAAET,OAAO,CAAC,CAAC,CAACkB,MAAM;UAAA;UAAA;YAAA,OAAAN,QAAA,CAAAO,IAAA;QAAA;MAAA,GAAAX,OAAA;IAAA;IAAA,SAAAN,OAAAkB,EAAA,EAAAC,GAAA;MAAA,OAAAlB,OAAA,CAAAmB,KAAA,OAAAC,SAAA;IAAA;IAAA,OAAArB,MAAA;EAAA;EACpEsB,cAAc,EAAE,SAAAA,eAACf,KAAY,EAAET,OAA0B;IAAA,OAAK,IAAAiB,8BAAiB,EAACR,KAAK,EAAET,OAAO,CAAC;EAAA;AACjG,CAAC;AAACyB,OAAA,CAAAhC,UAAA,GAAAA,UAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.encodeTableRow = encodeTableRow;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
|
+
var _schema = require("@loaders.gl/schema");
|
|
11
|
+
var _encodeUtils = require("./encode-utils");
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
+
function encodeTableRow(table, rowIndex, geometryColumnIndex, utf8Encoder) {
|
|
15
|
+
var row = (0, _schema.getTableRowAsObject)(table, rowIndex);
|
|
16
|
+
if (!row) return;
|
|
17
|
+
var featureWithProperties = getFeatureFromRow(table, row, geometryColumnIndex);
|
|
18
|
+
var featureString = JSON.stringify(featureWithProperties);
|
|
19
|
+
utf8Encoder.push(featureString);
|
|
20
|
+
}
|
|
21
|
+
function getFeatureFromRow(table, row, geometryColumnIndex) {
|
|
22
|
+
var _table$schema, _featureOrGeometry, _featureOrGeometry2;
|
|
23
|
+
var properties = (0, _encodeUtils.getRowPropertyObject)(table, row, [geometryColumnIndex]);
|
|
24
|
+
var columnName = (_table$schema = table.schema) === null || _table$schema === void 0 ? void 0 : _table$schema.fields[geometryColumnIndex].name;
|
|
25
|
+
var featureOrGeometry = columnName && row[columnName];
|
|
26
|
+
if (!featureOrGeometry) {
|
|
27
|
+
return {
|
|
28
|
+
type: 'Feature',
|
|
29
|
+
geometry: null,
|
|
30
|
+
properties: properties
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
if (typeof featureOrGeometry === 'string') {
|
|
34
|
+
try {
|
|
35
|
+
featureOrGeometry = JSON.parse(featureOrGeometry);
|
|
36
|
+
} catch (err) {
|
|
37
|
+
throw new Error('Invalid string geometry');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if ((0, _typeof2.default)(featureOrGeometry) !== 'object' || typeof ((_featureOrGeometry = featureOrGeometry) === null || _featureOrGeometry === void 0 ? void 0 : _featureOrGeometry.type) !== 'string') {
|
|
41
|
+
throw new Error('invalid geometry column value');
|
|
42
|
+
}
|
|
43
|
+
if (((_featureOrGeometry2 = featureOrGeometry) === null || _featureOrGeometry2 === void 0 ? void 0 : _featureOrGeometry2.type) === 'Feature') {
|
|
44
|
+
return _objectSpread(_objectSpread({}, featureOrGeometry), {}, {
|
|
45
|
+
properties: properties
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
type: 'Feature',
|
|
50
|
+
geometry: featureOrGeometry,
|
|
51
|
+
properties: properties
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=encode-table-row.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode-table-row.js","names":["_schema","require","_encodeUtils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","encodeTableRow","table","rowIndex","geometryColumnIndex","utf8Encoder","row","getTableRowAsObject","featureWithProperties","getFeatureFromRow","featureString","JSON","stringify","_table$schema","_featureOrGeometry","_featureOrGeometry2","properties","getRowPropertyObject","columnName","schema","fields","name","featureOrGeometry","type","geometry","parse","err","Error","_typeof2"],"sources":["../../../../src/lib/encoder-utils/encode-table-row.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright 2022 Foursquare Labs, Inc.\n\nimport {Feature} from '@loaders.gl/schema';\nimport {Table, getTableRowAsObject} from '@loaders.gl/schema';\nimport {getRowPropertyObject} from './encode-utils';\nimport {Utf8ArrayBufferEncoder} from './utf8-encoder';\n\ntype Row = {[key: string]: unknown};\n\n// Helpers\n\n/**\n * Encode a row. Currently this ignores properties in the geometry column.\n */\nexport function encodeTableRow(\n table: Table,\n rowIndex: number,\n geometryColumnIndex: number,\n utf8Encoder: Utf8ArrayBufferEncoder\n): void {\n const row = getTableRowAsObject(table, rowIndex);\n if (!row) return;\n const featureWithProperties = getFeatureFromRow(table, row, geometryColumnIndex);\n const featureString = JSON.stringify(featureWithProperties);\n utf8Encoder.push(featureString);\n}\n\n/**\n * Encode a row as a Feature. Currently this ignores properties objects in the geometry column.\n */\nfunction getFeatureFromRow(table: Table, row: Row, geometryColumnIndex: number): Feature {\n // Extract non-feature/geometry properties\n const properties = getRowPropertyObject(table, row, [geometryColumnIndex]);\n\n // Extract geometry feature\n const columnName = table.schema?.fields[geometryColumnIndex].name;\n let featureOrGeometry =\n columnName && (row[columnName] as {[key: string]: unknown} | string | null | undefined);\n\n // GeoJSON support null geometries\n if (!featureOrGeometry) {\n // @ts-ignore Feature type does not support null geometries\n return {type: 'Feature', geometry: null, properties};\n }\n\n // Support string geometries?\n // TODO: This assumes GeoJSON strings, which may not be the correct format\n // (could be WKT, encoded WKB...)\n if (typeof featureOrGeometry === 'string') {\n try {\n featureOrGeometry = JSON.parse(featureOrGeometry);\n } catch (err) {\n throw new Error('Invalid string geometry');\n }\n }\n\n if (typeof featureOrGeometry !== 'object' || typeof featureOrGeometry?.type !== 'string') {\n throw new Error('invalid geometry column value');\n }\n\n if (featureOrGeometry?.type === 'Feature') {\n // @ts-ignore Feature type does not support null geometries\n return {...featureOrGeometry, properties};\n }\n\n // @ts-ignore Feature type does not support null geometries\n return {type: 'Feature', geometry: featureOrGeometry, properties};\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encode-utils.js","names":["_schema","require","detectGeometryColumnIndex","table","_table$schema$fields$","_table$schema","geometryIndex","schema","fields","findIndex","field","name","getTableLength","row","getTableRowAsArray","columnIndex","getTableNumCols","value","_typeof2","default","Error","getRowPropertyObject","excludeColumnIndices","arguments","length","undefined","properties","_table$schema2","columnName","includes"],"sources":["../../../../src/lib/encoder-utils/encode-utils.ts"],"sourcesContent":["// loaders.gl, MIT license\n// Copyright 2022 Foursquare Labs, Inc.\n\nimport {Table, getTableLength, getTableNumCols, getTableRowAsArray} from '@loaders.gl/schema';\n\ntype Row = {[key: string]: unknown};\n\n/**\n * Attempts to identify which column contains geometry\n * Currently just returns name (key) of first object-valued column\n * @todo look for hints in schema metadata\n * @todo look for WKB\n */\nexport function detectGeometryColumnIndex(table: Table): number {\n // TODO - look for hints in schema metadata\n\n // look for a column named geometry\n const geometryIndex = table.schema?.fields.findIndex((field) => field.name === 'geometry') ?? -1;\n if (geometryIndex > -1) {\n return geometryIndex;\n }\n\n // look at the data\n // TODO - this drags in the indices\n if (getTableLength(table) > 0) {\n const row = getTableRowAsArray(table, 0);\n for (let columnIndex = 0; columnIndex < getTableNumCols(table); columnIndex++) {\n const value = row?.[columnIndex];\n if (value && typeof value === 'object') {\n return columnIndex;\n }\n }\n }\n\n throw new Error('Failed to detect geometry column');\n}\n\n/**\n * Return a row as a property (key/value) object, excluding selected columns\n */\nexport function getRowPropertyObject(\n table: Table,\n row: Row,\n excludeColumnIndices: number[] = []\n): {[columnName: string]: unknown} {\n const properties = {};\n for (let columnIndex = 0; columnIndex < getTableNumCols(table); ++columnIndex) {\n const columnName = table.schema?.fields[columnIndex].name;\n if (columnName && !excludeColumnIndices.includes(columnIndex)) {\n properties[columnName] = row[columnName];\n }\n }\n return properties;\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAUO,SAASC,yBAAyBA,CAACC,KAAY,EAAU;EAAA,IAAAC,qBAAA,EAAAC,aAAA;EAI9D,IAAMC,aAAa,IAAAF,qBAAA,IAAAC,aAAA,GAAGF,KAAK,CAACI,MAAM,cAAAF,aAAA,uBAAZA,aAAA,CAAcG,MAAM,CAACC,SAAS,CAAC,UAACC,KAAK;IAAA,OAAKA,KAAK,CAACC,IAAI,KAAK,UAAU;EAAA,EAAC,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;EAChG,IAAIE,aAAa,GAAG,CAAC,CAAC,EAAE;IACtB,OAAOA,aAAa;EACtB;EAIA,IAAI,IAAAM,sBAAc,EAACT,KAAK,CAAC,GAAG,CAAC,EAAE;IAC7B,IAAMU,GAAG,GAAG,IAAAC,0BAAkB,EAACX,KAAK,EAAE,CAAC,CAAC;IACxC,KAAK,IAAIY,WAAW,GAAG,CAAC,EAAEA,WAAW,GAAG,IAAAC,uBAAe,EAACb,KAAK,CAAC,EAAEY,WAAW,EAAE,EAAE;MAC7E,IAAME,KAAK,GAAGJ,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAGE,WAAW,CAAC;MAChC,IAAIE,KAAK,IAAI,IAAAC,QAAA,CAAAC,OAAA,EAAOF,KAAK,MAAK,QAAQ,EAAE;QACtC,OAAOF,WAAW;MACpB;IACF;EACF;EAEA,MAAM,IAAIK,KAAK,CAAC,kCAAkC,CAAC;AACrD;AAKO,SAASC,oBAAoBA,CAClClB,KAAY,EACZU,GAAQ,EAEyB;EAAA,IADjCS,oBAA8B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAEnC,IAAMG,UAAU,GAAG,CAAC,CAAC;EACrB,KAAK,IAAIX,WAAW,GAAG,CAAC,EAAEA,WAAW,GAAG,IAAAC,uBAAe,EAACb,KAAK,CAAC,EAAE,EAAEY,WAAW,EAAE;IAAA,IAAAY,cAAA;IAC7E,IAAMC,WAAU,IAAAD,cAAA,GAAGxB,KAAK,CAACI,MAAM,cAAAoB,cAAA,uBAAZA,cAAA,CAAcnB,MAAM,CAACO,WAAW,CAAC,CAACJ,IAAI;IACzD,IAAIiB,WAAU,IAAI,CAACN,oBAAoB,CAACO,QAAQ,CAACd,WAAW,CAAC,EAAE;MAC7DW,UAAU,CAACE,WAAU,CAAC,GAAGf,GAAG,CAACe,WAAU,CAAC;IAC1C;EACF;EACA,OAAOF,UAAU;AACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utf8-encoder.js","names":["Utf8ArrayBufferEncoder","chunkSize","_classCallCheck2","default","_defineProperty2","TextEncoder","_createClass2","key","value","push","_len","arguments","length","strings","Array","_key","_i","_strings","string","totalLength","isFull","getArrayBufferBatch","textEncoder","encode","getStringBatch","buffer","stringChunk","join","exports"],"sources":["../../../../src/lib/encoder-utils/utf8-encoder.ts"],"sourcesContent":["// loaders.gl, MIT License\n\n/* global TextEncoder */\nexport class Utf8ArrayBufferEncoder {\n private readonly chunkSize: number;\n private strings: string[] = [];\n private totalLength = 0;\n private textEncoder: TextEncoder = new TextEncoder();\n\n constructor(chunkSize: number) {\n this.chunkSize = chunkSize;\n }\n\n push(...strings: string[]): void {\n for (const string of strings) {\n this.strings.push(string);\n this.totalLength += string.length;\n }\n }\n\n isFull(): boolean {\n return this.totalLength >= this.chunkSize;\n }\n\n getArrayBufferBatch(): ArrayBufferLike {\n return this.textEncoder.encode(this.getStringBatch()).buffer;\n }\n\n getStringBatch(): string {\n const stringChunk = this.strings.join('');\n this.strings = [];\n this.totalLength = 0;\n return stringChunk;\n }\n}\n"],"mappings":";;;;;;;;;;IAGaA,sBAAsB;EAMjC,SAAAA,uBAAYC,SAAiB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAH,sBAAA;IAAA,IAAAI,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA,mBAJH,EAAE;IAAA,IAAAC,gBAAA,CAAAD,OAAA,uBACR,CAAC;IAAA,IAAAC,gBAAA,CAAAD,OAAA,uBACY,IAAIE,WAAW,CAAC,CAAC;IAGlD,IAAI,CAACJ,SAAS,GAAGA,SAAS;EAC5B;EAAC,IAAAK,aAAA,CAAAH,OAAA,EAAAH,sBAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAAC,KAAA,EAAiC;MAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAzBC,OAAO,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;QAAPF,OAAO,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;MAAA;MACb,SAAAC,EAAA,MAAAC,QAAA,GAAqBJ,OAAO,EAAAG,EAAA,GAAAC,QAAA,CAAAL,MAAA,EAAAI,EAAA,IAAE;QAAzB,IAAME,MAAM,GAAAD,QAAA,CAAAD,EAAA;QACf,IAAI,CAACH,OAAO,CAACJ,IAAI,CAACS,MAAM,CAAC;QACzB,IAAI,CAACC,WAAW,IAAID,MAAM,CAACN,MAAM;MACnC;IACF;EAAC;IAAAL,GAAA;IAAAC,KAAA,EAED,SAAAY,OAAA,EAAkB;MAChB,OAAO,IAAI,CAACD,WAAW,IAAI,IAAI,CAAClB,SAAS;IAC3C;EAAC;IAAAM,GAAA;IAAAC,KAAA,EAED,SAAAa,oBAAA,EAAuC;MACrC,OAAO,IAAI,CAACC,WAAW,CAACC,MAAM,CAAC,IAAI,CAACC,cAAc,CAAC,CAAC,CAAC,CAACC,MAAM;IAC9D;EAAC;IAAAlB,GAAA;IAAAC,KAAA,EAED,SAAAgB,eAAA,EAAyB;MACvB,IAAME,WAAW,GAAG,IAAI,CAACb,OAAO,CAACc,IAAI,CAAC,EAAE,CAAC;MACzC,IAAI,CAACd,OAAO,GAAG,EAAE;MACjB,IAAI,CAACM,WAAW,GAAG,CAAC;MACpB,OAAOO,WAAW;IACpB;EAAC;EAAA,OAAA1B,sBAAA;AAAA;AAAA4B,OAAA,CAAA5B,sBAAA,GAAAA,sBAAA"}
|