@loaders.gl/core 4.0.0-alpha.6 → 4.0.0-alpha.7
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 +97 -65
- package/dist/es5/lib/api/load.js.map +1 -1
- package/dist/es5/lib/api/parse-in-batches.js +15 -14
- package/dist/es5/lib/api/parse-in-batches.js.map +1 -1
- package/dist/es5/lib/api/parse-sync.js +3 -4
- package/dist/es5/lib/api/parse-sync.js.map +1 -1
- package/dist/es5/lib/api/parse.js +3 -3
- package/dist/es5/lib/api/parse.js.map +1 -1
- package/dist/es5/lib/api/select-loader.js +6 -7
- package/dist/es5/lib/api/select-loader.js.map +1 -1
- package/dist/es5/lib/init.js +1 -1
- package/dist/es5/lib/loader-utils/loader-context.js +16 -8
- package/dist/es5/lib/loader-utils/loader-context.js.map +1 -1
- package/dist/es5/lib/utils/resource-utils.js +31 -27
- package/dist/es5/lib/utils/resource-utils.js.map +1 -1
- package/dist/es5/lib/utils/response-utils.js +6 -5
- package/dist/es5/lib/utils/response-utils.js.map +1 -1
- package/dist/es5/lib/utils/url-utils.js +16 -0
- package/dist/es5/lib/utils/url-utils.js.map +1 -0
- package/dist/es5/null-loader.js +1 -1
- package/dist/esm/lib/api/load.js.map +1 -1
- package/dist/esm/lib/api/parse-in-batches.js +6 -7
- package/dist/esm/lib/api/parse-in-batches.js.map +1 -1
- package/dist/esm/lib/api/parse-sync.js +4 -6
- package/dist/esm/lib/api/parse-sync.js.map +1 -1
- package/dist/esm/lib/api/parse.js +3 -5
- package/dist/esm/lib/api/parse.js.map +1 -1
- package/dist/esm/lib/api/select-loader.js +7 -10
- package/dist/esm/lib/api/select-loader.js.map +1 -1
- package/dist/esm/lib/init.js +1 -1
- package/dist/esm/lib/loader-utils/loader-context.js +16 -8
- package/dist/esm/lib/loader-utils/loader-context.js.map +1 -1
- package/dist/esm/lib/utils/resource-utils.js +29 -26
- package/dist/esm/lib/utils/resource-utils.js.map +1 -1
- package/dist/esm/lib/utils/response-utils.js +3 -5
- package/dist/esm/lib/utils/response-utils.js.map +1 -1
- package/dist/esm/lib/utils/url-utils.js +9 -0
- package/dist/esm/lib/utils/url-utils.js.map +1 -0
- package/dist/esm/null-loader.js +1 -1
- package/dist/lib/api/load.d.ts +2 -1
- package/dist/lib/api/load.d.ts.map +1 -1
- package/dist/lib/api/parse-in-batches.d.ts.map +1 -1
- package/dist/lib/api/parse-in-batches.js +4 -7
- package/dist/lib/api/parse-sync.d.ts.map +1 -1
- package/dist/lib/api/parse-sync.js +3 -3
- package/dist/lib/api/parse.js +2 -2
- package/dist/lib/api/select-loader.d.ts.map +1 -1
- package/dist/lib/api/select-loader.js +6 -3
- package/dist/lib/loader-utils/loader-context.d.ts +1 -1
- package/dist/lib/loader-utils/loader-context.d.ts.map +1 -1
- package/dist/lib/loader-utils/loader-context.js +17 -7
- package/dist/lib/utils/resource-utils.d.ts +17 -8
- package/dist/lib/utils/resource-utils.d.ts.map +1 -1
- package/dist/lib/utils/resource-utils.js +46 -34
- package/dist/lib/utils/response-utils.d.ts.map +1 -1
- package/dist/lib/utils/response-utils.js +2 -1
- package/dist/lib/utils/url-utils.d.ts +3 -0
- package/dist/lib/utils/url-utils.d.ts.map +1 -0
- package/dist/lib/utils/url-utils.js +14 -0
- package/dist/null-worker-node.js +234 -0
- package/dist/null-worker.js +1 -1
- package/package.json +7 -6
- package/src/lib/api/load.ts +1 -1
- package/src/lib/api/parse-in-batches.ts +8 -9
- package/src/lib/api/parse-sync.ts +8 -4
- package/src/lib/api/parse.ts +3 -3
- package/src/lib/api/select-loader.ts +7 -4
- package/src/lib/loader-utils/loader-context.ts +19 -8
- package/src/lib/utils/resource-utils.ts +54 -34
- package/src/lib/utils/response-utils.ts +3 -2
- package/src/lib/utils/url-utils.ts +12 -0
package/dist/dist.min.js
CHANGED
|
@@ -433,7 +433,7 @@
|
|
|
433
433
|
}
|
|
434
434
|
}
|
|
435
435
|
returnWorkerToQueue(worker) {
|
|
436
|
-
const shouldDestroyWorker = this.isDestroyed || !this.reuseWorkers || this.count > this._getMaxConcurrency();
|
|
436
|
+
const shouldDestroyWorker = !isBrowser2 || this.isDestroyed || !this.reuseWorkers || this.count > this._getMaxConcurrency();
|
|
437
437
|
if (shouldDestroyWorker) {
|
|
438
438
|
worker.destroy();
|
|
439
439
|
this.count--;
|
|
@@ -535,7 +535,7 @@
|
|
|
535
535
|
}
|
|
536
536
|
function getWorkerURL(worker, options = {}) {
|
|
537
537
|
const workerOptions = options[worker.id] || {};
|
|
538
|
-
const workerFile = `${worker.id}-worker.js`;
|
|
538
|
+
const workerFile = isBrowser2 ? `${worker.id}-worker.js` : `${worker.id}-worker-node.js`;
|
|
539
539
|
let url = workerOptions.workerUrl;
|
|
540
540
|
if (!url && worker.id === "compression") {
|
|
541
541
|
url = options.workerUrl;
|
|
@@ -558,6 +558,7 @@
|
|
|
558
558
|
var init_get_worker_url = __esm({
|
|
559
559
|
"../worker-utils/src/lib/worker-api/get-worker-url.ts"() {
|
|
560
560
|
init_assert2();
|
|
561
|
+
init_globals2();
|
|
561
562
|
init_version();
|
|
562
563
|
NPM_TAG = "beta";
|
|
563
564
|
VERSION2 = typeof VERSION !== "undefined" ? VERSION : NPM_TAG;
|
|
@@ -879,7 +880,7 @@
|
|
|
879
880
|
}
|
|
880
881
|
});
|
|
881
882
|
|
|
882
|
-
//
|
|
883
|
+
// ../loader-utils/node_modules/@probe.gl/stats/dist/utils/hi-res-timestamp.js
|
|
883
884
|
function getHiResTimestamp() {
|
|
884
885
|
let timestamp;
|
|
885
886
|
if (typeof window !== "undefined" && window.performance) {
|
|
@@ -893,14 +894,14 @@
|
|
|
893
894
|
return timestamp;
|
|
894
895
|
}
|
|
895
896
|
var init_hi_res_timestamp = __esm({
|
|
896
|
-
"
|
|
897
|
+
"../loader-utils/node_modules/@probe.gl/stats/dist/utils/hi-res-timestamp.js"() {
|
|
897
898
|
}
|
|
898
899
|
});
|
|
899
900
|
|
|
900
|
-
//
|
|
901
|
+
// ../loader-utils/node_modules/@probe.gl/stats/dist/lib/stat.js
|
|
901
902
|
var Stat;
|
|
902
903
|
var init_stat = __esm({
|
|
903
|
-
"
|
|
904
|
+
"../loader-utils/node_modules/@probe.gl/stats/dist/lib/stat.js"() {
|
|
904
905
|
init_defineProperty();
|
|
905
906
|
init_hi_res_timestamp();
|
|
906
907
|
Stat = class {
|
|
@@ -1016,10 +1017,10 @@
|
|
|
1016
1017
|
}
|
|
1017
1018
|
});
|
|
1018
1019
|
|
|
1019
|
-
//
|
|
1020
|
+
// ../loader-utils/node_modules/@probe.gl/stats/dist/lib/stats.js
|
|
1020
1021
|
var Stats;
|
|
1021
1022
|
var init_stats = __esm({
|
|
1022
|
-
"
|
|
1023
|
+
"../loader-utils/node_modules/@probe.gl/stats/dist/lib/stats.js"() {
|
|
1023
1024
|
init_defineProperty();
|
|
1024
1025
|
init_stat();
|
|
1025
1026
|
Stats = class {
|
|
@@ -1088,9 +1089,9 @@
|
|
|
1088
1089
|
}
|
|
1089
1090
|
});
|
|
1090
1091
|
|
|
1091
|
-
//
|
|
1092
|
+
// ../loader-utils/node_modules/@probe.gl/stats/dist/index.js
|
|
1092
1093
|
var init_dist = __esm({
|
|
1093
|
-
"
|
|
1094
|
+
"../loader-utils/node_modules/@probe.gl/stats/dist/index.js"() {
|
|
1094
1095
|
init_stats();
|
|
1095
1096
|
init_stat();
|
|
1096
1097
|
init_hi_res_timestamp();
|
|
@@ -1585,39 +1586,60 @@
|
|
|
1585
1586
|
}
|
|
1586
1587
|
});
|
|
1587
1588
|
|
|
1589
|
+
// src/lib/utils/url-utils.ts
|
|
1590
|
+
function extractQueryString(url) {
|
|
1591
|
+
const matches3 = url.match(QUERY_STRING_PATTERN);
|
|
1592
|
+
return matches3 && matches3[0];
|
|
1593
|
+
}
|
|
1594
|
+
function stripQueryString(url) {
|
|
1595
|
+
return url.replace(QUERY_STRING_PATTERN, "");
|
|
1596
|
+
}
|
|
1597
|
+
var QUERY_STRING_PATTERN;
|
|
1598
|
+
var init_url_utils = __esm({
|
|
1599
|
+
"src/lib/utils/url-utils.ts"() {
|
|
1600
|
+
QUERY_STRING_PATTERN = /\?.*/;
|
|
1601
|
+
}
|
|
1602
|
+
});
|
|
1603
|
+
|
|
1588
1604
|
// src/lib/utils/resource-utils.ts
|
|
1589
|
-
function
|
|
1605
|
+
function getResourceUrl(resource) {
|
|
1590
1606
|
if (isResponse(resource)) {
|
|
1591
|
-
const
|
|
1592
|
-
|
|
1593
|
-
return {
|
|
1594
|
-
url,
|
|
1595
|
-
type: parseMIMEType(contentTypeHeader) || parseMIMETypeFromURL(url)
|
|
1596
|
-
};
|
|
1607
|
+
const response = resource;
|
|
1608
|
+
return response.url;
|
|
1597
1609
|
}
|
|
1598
1610
|
if (isBlob(resource)) {
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
type: resource.type || ""
|
|
1602
|
-
};
|
|
1611
|
+
const blob = resource;
|
|
1612
|
+
return blob.name || "";
|
|
1603
1613
|
}
|
|
1604
1614
|
if (typeof resource === "string") {
|
|
1605
|
-
return
|
|
1606
|
-
url: stripQueryString(resource),
|
|
1607
|
-
type: parseMIMETypeFromURL(resource)
|
|
1608
|
-
};
|
|
1615
|
+
return resource;
|
|
1609
1616
|
}
|
|
1610
|
-
return
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1617
|
+
return "";
|
|
1618
|
+
}
|
|
1619
|
+
function getResourceMIMEType(resource) {
|
|
1620
|
+
if (isResponse(resource)) {
|
|
1621
|
+
const response = resource;
|
|
1622
|
+
const contentTypeHeader = response.headers.get("content-type") || "";
|
|
1623
|
+
const noQueryUrl = stripQueryString(response.url);
|
|
1624
|
+
return parseMIMEType(contentTypeHeader) || parseMIMETypeFromURL(noQueryUrl);
|
|
1625
|
+
}
|
|
1626
|
+
if (isBlob(resource)) {
|
|
1627
|
+
const blob = resource;
|
|
1628
|
+
return blob.type || "";
|
|
1629
|
+
}
|
|
1630
|
+
if (typeof resource === "string") {
|
|
1631
|
+
return parseMIMETypeFromURL(resource);
|
|
1632
|
+
}
|
|
1633
|
+
return "";
|
|
1614
1634
|
}
|
|
1615
1635
|
function getResourceContentLength(resource) {
|
|
1616
1636
|
if (isResponse(resource)) {
|
|
1617
|
-
|
|
1637
|
+
const response = resource;
|
|
1638
|
+
return response.headers["content-length"] || -1;
|
|
1618
1639
|
}
|
|
1619
1640
|
if (isBlob(resource)) {
|
|
1620
|
-
|
|
1641
|
+
const blob = resource;
|
|
1642
|
+
return blob.size;
|
|
1621
1643
|
}
|
|
1622
1644
|
if (typeof resource === "string") {
|
|
1623
1645
|
return resource.length;
|
|
@@ -1630,15 +1652,11 @@
|
|
|
1630
1652
|
}
|
|
1631
1653
|
return -1;
|
|
1632
1654
|
}
|
|
1633
|
-
function stripQueryString(url) {
|
|
1634
|
-
return url.replace(QUERY_STRING_PATTERN, "");
|
|
1635
|
-
}
|
|
1636
|
-
var QUERY_STRING_PATTERN;
|
|
1637
1655
|
var init_resource_utils = __esm({
|
|
1638
1656
|
"src/lib/utils/resource-utils.ts"() {
|
|
1639
1657
|
init_is_type();
|
|
1640
1658
|
init_mime_type_utils();
|
|
1641
|
-
|
|
1659
|
+
init_url_utils();
|
|
1642
1660
|
}
|
|
1643
1661
|
});
|
|
1644
1662
|
|
|
@@ -1652,7 +1670,8 @@
|
|
|
1652
1670
|
if (contentLength >= 0) {
|
|
1653
1671
|
headers["content-length"] = String(contentLength);
|
|
1654
1672
|
}
|
|
1655
|
-
const
|
|
1673
|
+
const url = getResourceUrl(resource);
|
|
1674
|
+
const type = getResourceMIMEType(resource);
|
|
1656
1675
|
if (type) {
|
|
1657
1676
|
headers["content-type"] = type;
|
|
1658
1677
|
}
|
|
@@ -1807,7 +1826,7 @@
|
|
|
1807
1826
|
}
|
|
1808
1827
|
});
|
|
1809
1828
|
|
|
1810
|
-
// ../../node_modules/@probe.gl/env/dist/lib/is-electron.js
|
|
1829
|
+
// ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/lib/is-electron.js
|
|
1811
1830
|
function isElectron(mockUserAgent) {
|
|
1812
1831
|
if (typeof window !== "undefined" && typeof window.process === "object" && window.process.type === "renderer") {
|
|
1813
1832
|
return true;
|
|
@@ -1823,25 +1842,25 @@
|
|
|
1823
1842
|
return false;
|
|
1824
1843
|
}
|
|
1825
1844
|
var init_is_electron = __esm({
|
|
1826
|
-
"../../node_modules/@probe.gl/env/dist/lib/is-electron.js"() {
|
|
1845
|
+
"../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/lib/is-electron.js"() {
|
|
1827
1846
|
}
|
|
1828
1847
|
});
|
|
1829
1848
|
|
|
1830
|
-
// ../../node_modules/@probe.gl/env/dist/lib/is-browser.js
|
|
1849
|
+
// ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/lib/is-browser.js
|
|
1831
1850
|
function isBrowser3() {
|
|
1832
1851
|
const isNode = typeof process === "object" && String(process) === "[object process]" && !process.browser;
|
|
1833
1852
|
return !isNode || isElectron();
|
|
1834
1853
|
}
|
|
1835
1854
|
var init_is_browser = __esm({
|
|
1836
|
-
"../../node_modules/@probe.gl/env/dist/lib/is-browser.js"() {
|
|
1855
|
+
"../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/lib/is-browser.js"() {
|
|
1837
1856
|
init_is_electron();
|
|
1838
1857
|
}
|
|
1839
1858
|
});
|
|
1840
1859
|
|
|
1841
|
-
// ../../node_modules/@probe.gl/env/dist/lib/globals.js
|
|
1860
|
+
// ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/lib/globals.js
|
|
1842
1861
|
var self_3, window_3, document_3, process_, console_, navigator_;
|
|
1843
1862
|
var init_globals3 = __esm({
|
|
1844
|
-
"../../node_modules/@probe.gl/env/dist/lib/globals.js"() {
|
|
1863
|
+
"../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/lib/globals.js"() {
|
|
1845
1864
|
self_3 = globalThis.self || globalThis.window || globalThis.global;
|
|
1846
1865
|
window_3 = globalThis.window || globalThis.self || globalThis.global;
|
|
1847
1866
|
document_3 = globalThis.document || {};
|
|
@@ -1851,19 +1870,19 @@
|
|
|
1851
1870
|
}
|
|
1852
1871
|
});
|
|
1853
1872
|
|
|
1854
|
-
// ../../node_modules/@probe.gl/env/dist/utils/globals.js
|
|
1873
|
+
// ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/utils/globals.js
|
|
1855
1874
|
var VERSION4, isBrowser4;
|
|
1856
1875
|
var init_globals4 = __esm({
|
|
1857
|
-
"../../node_modules/@probe.gl/env/dist/utils/globals.js"() {
|
|
1876
|
+
"../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/utils/globals.js"() {
|
|
1858
1877
|
init_is_browser();
|
|
1859
1878
|
VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "untranspiled source";
|
|
1860
1879
|
isBrowser4 = isBrowser3();
|
|
1861
1880
|
}
|
|
1862
1881
|
});
|
|
1863
1882
|
|
|
1864
|
-
// ../../node_modules/@probe.gl/env/dist/index.js
|
|
1883
|
+
// ../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/index.js
|
|
1865
1884
|
var init_dist2 = __esm({
|
|
1866
|
-
"../../node_modules/@probe.gl/env/dist/index.js"() {
|
|
1885
|
+
"../../node_modules/@probe.gl/log/node_modules/@probe.gl/env/dist/index.js"() {
|
|
1867
1886
|
init_globals4();
|
|
1868
1887
|
init_globals3();
|
|
1869
1888
|
init_is_browser();
|
|
@@ -2732,8 +2751,9 @@
|
|
|
2732
2751
|
return loader;
|
|
2733
2752
|
}
|
|
2734
2753
|
function selectLoaderInternal(data, loaders, options, context) {
|
|
2735
|
-
const
|
|
2736
|
-
const
|
|
2754
|
+
const url = getResourceUrl(data);
|
|
2755
|
+
const type = getResourceMIMEType(data);
|
|
2756
|
+
const testUrl = stripQueryString(url) || context?.url;
|
|
2737
2757
|
let loader = null;
|
|
2738
2758
|
let reason = "";
|
|
2739
2759
|
if (options?.mimeType) {
|
|
@@ -2762,7 +2782,8 @@
|
|
|
2762
2782
|
return true;
|
|
2763
2783
|
}
|
|
2764
2784
|
function getNoValidLoaderMessage(data) {
|
|
2765
|
-
const
|
|
2785
|
+
const url = getResourceUrl(data);
|
|
2786
|
+
const type = getResourceMIMEType(data);
|
|
2766
2787
|
let message = "No valid loader found (";
|
|
2767
2788
|
message += url ? `${path_exports.filename(url)}, ` : "no url provided, ";
|
|
2768
2789
|
message += `MIME type: ${type ? `"${type}"` : "not provided"}, `;
|
|
@@ -2881,6 +2902,7 @@
|
|
|
2881
2902
|
init_resource_utils();
|
|
2882
2903
|
init_register_loaders();
|
|
2883
2904
|
init_is_type();
|
|
2905
|
+
init_url_utils();
|
|
2884
2906
|
EXT_PATTERN = /\.([^.]+)$/;
|
|
2885
2907
|
}
|
|
2886
2908
|
});
|
|
@@ -3130,18 +3152,25 @@
|
|
|
3130
3152
|
});
|
|
3131
3153
|
|
|
3132
3154
|
// src/lib/loader-utils/loader-context.ts
|
|
3133
|
-
function getLoaderContext(context, options,
|
|
3134
|
-
if (
|
|
3135
|
-
return
|
|
3155
|
+
function getLoaderContext(context, options, parentContext) {
|
|
3156
|
+
if (parentContext) {
|
|
3157
|
+
return parentContext;
|
|
3136
3158
|
}
|
|
3137
|
-
const
|
|
3159
|
+
const newContext = {
|
|
3138
3160
|
fetch: getFetchFunction(options, context),
|
|
3139
3161
|
...context
|
|
3140
3162
|
};
|
|
3141
|
-
if (
|
|
3142
|
-
|
|
3163
|
+
if (newContext.url) {
|
|
3164
|
+
const baseUrl = stripQueryString(newContext.url);
|
|
3165
|
+
newContext.baseUrl = baseUrl;
|
|
3166
|
+
newContext.queryString = extractQueryString(newContext.url);
|
|
3167
|
+
newContext.filename = path_exports.filename(baseUrl);
|
|
3168
|
+
newContext.baseUrl = path_exports.dirname(baseUrl);
|
|
3169
|
+
}
|
|
3170
|
+
if (!Array.isArray(newContext.loaders)) {
|
|
3171
|
+
newContext.loaders = null;
|
|
3143
3172
|
}
|
|
3144
|
-
return
|
|
3173
|
+
return newContext;
|
|
3145
3174
|
}
|
|
3146
3175
|
function getLoadersFromContext(loaders, context) {
|
|
3147
3176
|
if (!context && loaders && !Array.isArray(loaders)) {
|
|
@@ -3160,6 +3189,8 @@
|
|
|
3160
3189
|
var init_loader_context = __esm({
|
|
3161
3190
|
"src/lib/loader-utils/loader-context.ts"() {
|
|
3162
3191
|
init_get_fetch_function();
|
|
3192
|
+
init_url_utils();
|
|
3193
|
+
init_src2();
|
|
3163
3194
|
}
|
|
3164
3195
|
});
|
|
3165
3196
|
|
|
@@ -3173,7 +3204,7 @@
|
|
|
3173
3204
|
}
|
|
3174
3205
|
data = await data;
|
|
3175
3206
|
options = options || {};
|
|
3176
|
-
const
|
|
3207
|
+
const url = getResourceUrl(data);
|
|
3177
3208
|
const typedLoaders = loaders;
|
|
3178
3209
|
const candidateLoaders = getLoadersFromContext(typedLoaders, context);
|
|
3179
3210
|
const loader = await selectLoader(data, candidateLoaders, options);
|
|
@@ -3181,7 +3212,7 @@
|
|
|
3181
3212
|
return null;
|
|
3182
3213
|
}
|
|
3183
3214
|
options = normalizeOptions(options, loader, candidateLoaders, url);
|
|
3184
|
-
context = getLoaderContext({ url, parse, loaders: candidateLoaders }, options, context);
|
|
3215
|
+
context = getLoaderContext({ url, parse, loaders: candidateLoaders }, options, context || null);
|
|
3185
3216
|
return await parseWithLoader(loader, data, options, context);
|
|
3186
3217
|
}
|
|
3187
3218
|
async function parseWithLoader(loader, data, options, context) {
|
|
@@ -3239,11 +3270,11 @@
|
|
|
3239
3270
|
return null;
|
|
3240
3271
|
}
|
|
3241
3272
|
options = normalizeOptions(options, loader, candidateLoaders);
|
|
3242
|
-
const
|
|
3273
|
+
const url = getResourceUrl(data);
|
|
3243
3274
|
const parse2 = () => {
|
|
3244
|
-
throw new Error("parseSync called parse");
|
|
3275
|
+
throw new Error("parseSync called parse (which is async");
|
|
3245
3276
|
};
|
|
3246
|
-
context = getLoaderContext({ url, parseSync, parse: parse2, loaders }, options);
|
|
3277
|
+
context = getLoaderContext({ url, parseSync, parse: parse2, loaders }, options, context || null);
|
|
3247
3278
|
return parseWithLoaderSync(loader, data, options, context);
|
|
3248
3279
|
}
|
|
3249
3280
|
function parseWithLoaderSync(loader, data, options, context) {
|
|
@@ -3271,6 +3302,7 @@
|
|
|
3271
3302
|
// src/lib/api/parse-in-batches.ts
|
|
3272
3303
|
async function parseInBatches(data, loaders, options, context) {
|
|
3273
3304
|
assert(!context || typeof context === "object");
|
|
3305
|
+
const loaderArray = Array.isArray(loaders) ? loaders : void 0;
|
|
3274
3306
|
if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {
|
|
3275
3307
|
context = void 0;
|
|
3276
3308
|
options = loaders;
|
|
@@ -3278,13 +3310,13 @@
|
|
|
3278
3310
|
}
|
|
3279
3311
|
data = await data;
|
|
3280
3312
|
options = options || {};
|
|
3281
|
-
const
|
|
3313
|
+
const url = getResourceUrl(data);
|
|
3282
3314
|
const loader = await selectLoader(data, loaders, options);
|
|
3283
3315
|
if (!loader) {
|
|
3284
3316
|
return null;
|
|
3285
3317
|
}
|
|
3286
|
-
options = normalizeOptions(options, loader,
|
|
3287
|
-
context = getLoaderContext({ url, parseInBatches, parse, loaders }, options, context);
|
|
3318
|
+
options = normalizeOptions(options, loader, loaderArray, url);
|
|
3319
|
+
context = getLoaderContext({ url, parseInBatches, parse, loaders: loaderArray }, options, context || null);
|
|
3288
3320
|
return await parseWithLoaderInBatches(loader, data, options, context);
|
|
3289
3321
|
}
|
|
3290
3322
|
async function parseWithLoaderInBatches(loader, data, options, context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","names":["_isType","require","_normalizeLoader","_getFetchFunction","_parse","load","_x","_x2","_x3","_x4","_load","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","url","loaders","options","context","resolvedLoaders","resolvedOptions","fetch","data","wrap","_callee$","_context","prev","next","Array","isArray","isLoaderObject","undefined","getFetchFunction","sent","isBlob","parse","t0","abrupt","stop"],"sources":["../../../../src/lib/api/load.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {DataType, Loader, LoaderContext, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {LoaderOptionsType, LoaderReturnType} from '@loaders.gl/loader-utils';\nimport {isBlob} from '../../javascript-utils/is-type';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {getFetchFunction} from '../loader-utils/get-fetch-function';\n\nimport {parse} from './parse';\n\n/**\n * Parses `data` using a specified loader\n * Note: Load does duplicate a lot of parse.\n * it can also call fetchFile on string urls, which `parse` won't do.\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\n\nexport async function load<LoaderT extends Loader>(\n url: string | DataType,\n loader: LoaderT,\n options?: LoaderOptionsType<LoaderT>,\n context?: LoaderContext\n): Promise<LoaderReturnType<LoaderT>>;\n\nexport async function load<\n LoaderT extends Loader
|
|
1
|
+
{"version":3,"file":"load.js","names":["_isType","require","_normalizeLoader","_getFetchFunction","_parse","load","_x","_x2","_x3","_x4","_load","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","url","loaders","options","context","resolvedLoaders","resolvedOptions","fetch","data","wrap","_callee$","_context","prev","next","Array","isArray","isLoaderObject","undefined","getFetchFunction","sent","isBlob","parse","t0","abrupt","stop"],"sources":["../../../../src/lib/api/load.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {DataType, Loader, LoaderContext, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {LoaderOptionsType, LoaderReturnType} from '@loaders.gl/loader-utils';\nimport {isBlob} from '../../javascript-utils/is-type';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {getFetchFunction} from '../loader-utils/get-fetch-function';\n\nimport {parse} from './parse';\n\n/**\n * Parses `data` using a specified loader\n * Note: Load does duplicate a lot of parse.\n * it can also call fetchFile on string urls, which `parse` won't do.\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\n\nexport async function load<LoaderT extends Loader>(\n url: string | DataType,\n loader: LoaderT,\n options?: LoaderOptionsType<LoaderT>,\n context?: LoaderContext\n): Promise<LoaderReturnType<LoaderT>>;\n\nexport async function load<\n LoaderT extends Loader, // eslint-disable-line @typescript-eslint/no-unused-vars\n LoaderOptionsT extends LoaderOptions = LoaderOptions\n>(\n url: string | DataType,\n loaders: Loader[] | LoaderOptions,\n options?: LoaderOptionsT,\n context?: LoaderContext\n): Promise<any>;\n\n// implementation signature\nexport async function load<LoaderOptionsT extends LoaderOptions>(\n url: string | DataType,\n loaders?: Loader[] | LoaderOptions,\n options?: LoaderOptionsT,\n context?: LoaderContext\n): Promise<any> {\n let resolvedLoaders: Loader | Loader[];\n let resolvedOptions: LoaderOptionsT | undefined;\n\n // Signature: load(url, options)\n if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {\n resolvedLoaders = [];\n resolvedOptions = loaders as LoaderOptionsT;\n context = undefined; // context not supported in short signature\n } else {\n resolvedLoaders = loaders as Loader | Loader[];\n resolvedOptions = options;\n }\n\n // Select fetch function\n const fetch = getFetchFunction(resolvedOptions);\n\n // at this point, `url` could be already loaded binary data\n let data = url;\n // url is a string, fetch the url\n if (typeof url === 'string') {\n data = await fetch(url);\n // URL is Blob or File, fetchFile handles it (alt: we could generate ObjectURL here)\n }\n\n if (isBlob(url)) {\n // The fetch response object will contain blob.name\n // @ts-expect-error TODO - This may not work for overridden fetch functions\n data = await fetch(url);\n }\n\n // Data is loaded (at least we have a `Response` object) so time to hand over to `parse`\n // return await parse(data, loaders as Loader[], options);\n return Array.isArray(resolvedLoaders)\n ? await parse(data, resolvedLoaders, resolvedOptions) // loader array overload\n : await parse(data, resolvedLoaders, resolvedOptions); // single loader overload\n}\n"],"mappings":";;;;;;;;;AAIA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AAA8B,SA8BRI,IAAIA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,KAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,MAAA;EAAAA,KAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAnB,SAAAC,QACLC,GAAsB,EACtBC,OAAkC,EAClCC,OAAwB,EACxBC,OAAuB;IAAA,IAAAC,eAAA,EAAAC,eAAA,EAAAC,KAAA,EAAAC,IAAA;IAAA,OAAAV,YAAA,CAAAD,OAAA,CAAAY,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAMvB,IAAI,CAACC,KAAK,CAACC,OAAO,CAACb,OAAO,CAAC,IAAI,CAAC,IAAAc,+BAAc,EAACd,OAAO,CAAC,EAAE;YACvDG,eAAe,GAAG,EAAE;YACpBC,eAAe,GAAGJ,OAAyB;YAC3CE,OAAO,GAAGa,SAAS;UACrB,CAAC,MAAM;YACLZ,eAAe,GAAGH,OAA4B;YAC9CI,eAAe,GAAGH,OAAO;UAC3B;UAGMI,KAAK,GAAG,IAAAW,kCAAgB,EAACZ,eAAe,CAAC;UAG3CE,IAAI,GAAGP,GAAG;UAAA,MAEV,OAAOA,GAAG,KAAK,QAAQ;YAAAU,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACZN,KAAK,CAACN,GAAG,CAAC;QAAA;UAAvBO,IAAI,GAAAG,QAAA,CAAAQ,IAAA;QAAA;UAAA,KAIF,IAAAC,cAAM,EAACnB,GAAG,CAAC;YAAAU,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OAGAN,KAAK,CAACN,GAAG,CAAC;QAAA;UAAvBO,IAAI,GAAAG,QAAA,CAAAQ,IAAA;QAAA;UAAA,KAKCL,KAAK,CAACC,OAAO,CAACV,eAAe,CAAC;YAAAM,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OAC3B,IAAAQ,YAAK,EAACb,IAAI,EAAEH,eAAe,EAAEC,eAAe,CAAC;QAAA;UAAAK,QAAA,CAAAW,EAAA,GAAAX,QAAA,CAAAQ,IAAA;UAAAR,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OAC7C,IAAAQ,YAAK,EAACb,IAAI,EAAEH,eAAe,EAAEC,eAAe,CAAC;QAAA;UAAAK,QAAA,CAAAW,EAAA,GAAAX,QAAA,CAAAQ,IAAA;QAAA;UAAA,OAAAR,QAAA,CAAAY,MAAA,WAAAZ,QAAA,CAAAW,EAAA;QAAA;QAAA;UAAA,OAAAX,QAAA,CAAAa,IAAA;MAAA;IAAA,GAAAxB,OAAA;EAAA,CACxD;EAAA,OAAAP,KAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}
|
|
@@ -29,44 +29,45 @@ function parseInBatches(_x2, _x3, _x4, _x5) {
|
|
|
29
29
|
}
|
|
30
30
|
function _parseInBatches() {
|
|
31
31
|
_parseInBatches = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, loaders, options, context) {
|
|
32
|
-
var
|
|
32
|
+
var loaderArray, url, loader;
|
|
33
33
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
34
34
|
while (1) switch (_context.prev = _context.next) {
|
|
35
35
|
case 0:
|
|
36
36
|
(0, _loaderUtils.assert)(!context || (0, _typeof2.default)(context) === 'object');
|
|
37
|
+
loaderArray = Array.isArray(loaders) ? loaders : undefined;
|
|
37
38
|
if (!Array.isArray(loaders) && !(0, _normalizeLoader.isLoaderObject)(loaders)) {
|
|
38
39
|
context = undefined;
|
|
39
40
|
options = loaders;
|
|
40
41
|
loaders = undefined;
|
|
41
42
|
}
|
|
42
|
-
_context.next =
|
|
43
|
+
_context.next = 5;
|
|
43
44
|
return data;
|
|
44
|
-
case
|
|
45
|
+
case 5:
|
|
45
46
|
data = _context.sent;
|
|
46
47
|
options = options || {};
|
|
47
|
-
|
|
48
|
-
_context.next =
|
|
48
|
+
url = (0, _resourceUtils.getResourceUrl)(data);
|
|
49
|
+
_context.next = 10;
|
|
49
50
|
return (0, _selectLoader.selectLoader)(data, loaders, options);
|
|
50
|
-
case
|
|
51
|
+
case 10:
|
|
51
52
|
loader = _context.sent;
|
|
52
53
|
if (loader) {
|
|
53
|
-
_context.next =
|
|
54
|
+
_context.next = 13;
|
|
54
55
|
break;
|
|
55
56
|
}
|
|
56
57
|
return _context.abrupt("return", null);
|
|
57
|
-
case
|
|
58
|
-
options = (0, _optionUtils.normalizeOptions)(options, loader,
|
|
58
|
+
case 13:
|
|
59
|
+
options = (0, _optionUtils.normalizeOptions)(options, loader, loaderArray, url);
|
|
59
60
|
context = (0, _loaderContext.getLoaderContext)({
|
|
60
61
|
url: url,
|
|
61
62
|
parseInBatches: parseInBatches,
|
|
62
63
|
parse: _parse.parse,
|
|
63
|
-
loaders:
|
|
64
|
-
}, options, context);
|
|
65
|
-
_context.next =
|
|
64
|
+
loaders: loaderArray
|
|
65
|
+
}, options, context || null);
|
|
66
|
+
_context.next = 17;
|
|
66
67
|
return parseWithLoaderInBatches(loader, data, options, context);
|
|
67
|
-
case 16:
|
|
68
|
-
return _context.abrupt("return", _context.sent);
|
|
69
68
|
case 17:
|
|
69
|
+
return _context.abrupt("return", _context.sent);
|
|
70
|
+
case 18:
|
|
70
71
|
case "end":
|
|
71
72
|
return _context.stop();
|
|
72
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-in-batches.js","names":["_loaderUtils","require","_normalizeLoader","_optionUtils","_loaderContext","_getData","_resourceUtils","_selectLoader","_parse","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","parseInBatches","_x2","_x3","_x4","_x5","_parseInBatches","_asyncToGenerator2","_regenerator","mark","_callee","data","loaders","options","context","_getResourceUrlAndTyp","url","loader","wrap","_callee$","_context","prev","assert","_typeof2","Array","isArray","isLoaderObject","undefined","sent","getResourceUrlAndType","selectLoader","abrupt","normalizeOptions","getLoaderContext","parse","parseWithLoaderInBatches","stop","_x6","_x7","_x8","_x9","_parseWithLoaderInBatches","_callee3","outputIterator","metadataBatch","makeMetadataBatchIterator","_makeMetadataBatchIterator","_callee3$","_context3","_makeMetadataBatchIte2","_wrapAsyncGenerator2","_callee2","_callee2$","_context2","delegateYield","_asyncGeneratorDelegate2","_awaitAsyncGenerator2","_makeMetadataBatchIte","_x","parseToOutputIterator","metadata","batchType","_loader","bytesUsed","_x10","_x11","_x12","_x13","_parseToOutputIterator","_callee5","inputIterator","transformedIterator","parseChunkInBatches","_parseChunkInBatches","_callee5$","_context5","_parseChunkInBatches3","_callee4","arrayBuffer","parsedData","batch","_callee4$","_context4","concatenateArrayBuffersAsync","mimeType","mimeTypes","shape","_parseChunkInBatches2","getAsyncIterableFromData","applyInputTransforms","transforms","_x14","_applyInputTransforms","_callee6","iteratorChain","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","transformBatches","_args6","_callee6$","_context6","t0","finish"],"sources":["../../../../src/lib/api/parse-in-batches.ts"],"sourcesContent":["import type {Batch} from '@loaders.gl/schema';\nimport type {\n BatchableDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getLoaderContext} from '../loader-utils/loader-context';\nimport {getAsyncIterableFromData} from '../loader-utils/get-data';\nimport {getResourceUrlAndType} from '../utils/resource-utils';\nimport {selectLoader} from './select-loader';\n\n// Ensure `parse` is available in context if loader falls back to `parse`\nimport {parse} from './parse';\n\n/**\n * Parses `data` using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport async function parseInBatches(\n data: BatchableDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<AsyncIterable<any>> {\n assert(!context || typeof context === 'object'); // parseInBatches no longer accepts final url\n\n // Signature: parseInBatches(data, options, url) - Uses registered loaders\n if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n data = await data; // Resolve any promise\n options = options || {};\n\n // Extract a url for auto detection\n const {url} = getResourceUrlAndType(data);\n\n // Chooses a loader and normalizes it\n // Note - only uses URL and contentType for streams and iterator inputs\n const loader = await selectLoader(data as ArrayBuffer, loaders as Loader[], options);\n // Note: if options.nothrow was set, it is possible that no loader was found, if so just return null\n if (!loader) {\n // @ts-ignore\n return null;\n }\n\n // Normalize options\n // @ts-ignore\n options = normalizeOptions(options, loader, loaders, url);\n // @ts-ignore\n context = getLoaderContext(\n // @ts-ignore\n {url, parseInBatches, parse, loaders: loaders as Loader[]},\n options,\n context\n );\n\n return await parseWithLoaderInBatches(loader as LoaderWithParser, data, options, context);\n}\n\n/**\n * Loader has been selected and context has been prepared, see if we need to emit a metadata batch\n */\nasync function parseWithLoaderInBatches(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n const outputIterator = await parseToOutputIterator(loader, data, options, context);\n\n // Generate metadata batch if requested\n if (!options.metadata) {\n return outputIterator;\n }\n\n const metadataBatch = {\n batchType: 'metadata',\n metadata: {\n _loader: loader,\n _context: context\n },\n // Populate with some default fields to avoid crashing\n data: [],\n bytesUsed: 0\n };\n\n async function* makeMetadataBatchIterator(iterator) {\n yield metadataBatch;\n yield* iterator;\n }\n\n return makeMetadataBatchIterator(outputIterator);\n}\n\n/**\n * Prep work is done, now it is time to start parsing into an output operator\n * The approach depends on which parse function the loader exposes\n * `parseInBatches` (preferred), `parse` (fallback)\n */\nasync function parseToOutputIterator(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n // Get an iterator from the input\n const inputIterator = await getAsyncIterableFromData(data, options);\n\n // Apply any iterator transforms (options.transforms)\n const transformedIterator = await applyInputTransforms(inputIterator, options?.transforms || []);\n\n // If loader supports parseInBatches, we are done\n if (loader.parseInBatches) {\n return loader.parseInBatches(transformedIterator, options, context);\n }\n\n // Fallback: load atomically using `parse` concatenating input iterator into single chunk\n async function* parseChunkInBatches() {\n const arrayBuffer = await concatenateArrayBuffersAsync(transformedIterator);\n // Call `parse` instead of `loader.parse` to ensure we can call workers etc.\n const parsedData = await parse(\n arrayBuffer,\n loader,\n // TODO - Hack: supply loaders MIME type to ensure we match it\n {...options, mimeType: loader.mimeTypes[0]},\n context\n );\n // yield a single batch, the output from loader.parse()\n // TODO - run through batch builder to apply options etc...\n const batch: Batch = {\n mimeType: loader.mimeTypes[0],\n shape: Array.isArray(parsedData) ? 'row-table' : 'unknown',\n batchType: 'data',\n data: parsedData,\n length: Array.isArray(parsedData) ? parsedData.length : 1\n };\n yield batch;\n }\n\n return parseChunkInBatches();\n}\n\ntype TransformBatches = (\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n) => AsyncIterable<ArrayBuffer>;\n\n/**\n * Create an iterator chain with any transform iterators (crypto, decompression)\n * @param inputIterator\n * @param options\n */\nasync function applyInputTransforms(\n inputIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n transforms: TransformBatches[] = []\n): Promise<AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>> {\n let iteratorChain = inputIterator;\n for await (const transformBatches of transforms) {\n iteratorChain = transformBatches(iteratorChain);\n }\n return iteratorChain;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-in-batches.js","names":["_loaderUtils","require","_normalizeLoader","_optionUtils","_loaderContext","_getData","_resourceUtils","_selectLoader","_parse","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","parseInBatches","_x2","_x3","_x4","_x5","_parseInBatches","_asyncToGenerator2","_regenerator","mark","_callee","data","loaders","options","context","loaderArray","url","loader","wrap","_callee$","_context","prev","assert","_typeof2","Array","isArray","undefined","isLoaderObject","sent","getResourceUrl","selectLoader","abrupt","normalizeOptions","getLoaderContext","parse","parseWithLoaderInBatches","stop","_x6","_x7","_x8","_x9","_parseWithLoaderInBatches","_callee3","outputIterator","metadataBatch","makeMetadataBatchIterator","_makeMetadataBatchIterator","_callee3$","_context3","_makeMetadataBatchIte2","_wrapAsyncGenerator2","_callee2","_callee2$","_context2","delegateYield","_asyncGeneratorDelegate2","_awaitAsyncGenerator2","_makeMetadataBatchIte","_x","parseToOutputIterator","metadata","batchType","_loader","bytesUsed","_x10","_x11","_x12","_x13","_parseToOutputIterator","_callee5","inputIterator","transformedIterator","parseChunkInBatches","_parseChunkInBatches","_callee5$","_context5","_parseChunkInBatches3","_callee4","arrayBuffer","parsedData","batch","_callee4$","_context4","concatenateArrayBuffersAsync","mimeType","mimeTypes","shape","_parseChunkInBatches2","getAsyncIterableFromData","applyInputTransforms","transforms","_x14","_applyInputTransforms","_callee6","iteratorChain","_iteratorAbruptCompletion","_didIteratorError","_iteratorError","_iterator","_step","transformBatches","_args6","_callee6$","_context6","t0","finish"],"sources":["../../../../src/lib/api/parse-in-batches.ts"],"sourcesContent":["import type {Batch} from '@loaders.gl/schema';\nimport type {\n BatchableDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert, concatenateArrayBuffersAsync} from '@loaders.gl/loader-utils';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getLoaderContext} from '../loader-utils/loader-context';\nimport {getAsyncIterableFromData} from '../loader-utils/get-data';\nimport {getResourceUrl} from '../utils/resource-utils';\nimport {selectLoader} from './select-loader';\n\n// Ensure `parse` is available in context if loader falls back to `parse`\nimport {parse} from './parse';\n\n/**\n * Parses `data` using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport async function parseInBatches(\n data: BatchableDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): Promise<AsyncIterable<any>> {\n assert(!context || typeof context === 'object'); // parseInBatches no longer accepts final url\n\n const loaderArray = Array.isArray(loaders) ? loaders : undefined;\n\n // Signature: parseInBatches(data, options, url) - Uses registered loaders\n if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n data = await data; // Resolve any promise\n options = options || {};\n\n // Extract a url for auto detection\n const url = getResourceUrl(data);\n\n // Chooses a loader and normalizes it\n // Note - only uses URL and contentType for streams and iterator inputs\n const loader = await selectLoader(data as ArrayBuffer, loaders as Loader | Loader[], options);\n // Note: if options.nothrow was set, it is possible that no loader was found, if so just return null\n if (!loader) {\n // @ts-ignore\n return null;\n }\n\n // Normalize options\n options = normalizeOptions(options, loader, loaderArray, url);\n context = getLoaderContext(\n {url, parseInBatches, parse, loaders: loaderArray},\n options,\n context || null\n );\n\n return await parseWithLoaderInBatches(loader as LoaderWithParser, data, options, context);\n}\n\n/**\n * Loader has been selected and context has been prepared, see if we need to emit a metadata batch\n */\nasync function parseWithLoaderInBatches(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n const outputIterator = await parseToOutputIterator(loader, data, options, context);\n\n // Generate metadata batch if requested\n if (!options.metadata) {\n return outputIterator;\n }\n\n const metadataBatch = {\n batchType: 'metadata',\n metadata: {\n _loader: loader,\n _context: context\n },\n // Populate with some default fields to avoid crashing\n data: [],\n bytesUsed: 0\n };\n\n async function* makeMetadataBatchIterator(iterator) {\n yield metadataBatch;\n yield* iterator;\n }\n\n return makeMetadataBatchIterator(outputIterator);\n}\n\n/**\n * Prep work is done, now it is time to start parsing into an output operator\n * The approach depends on which parse function the loader exposes\n * `parseInBatches` (preferred), `parse` (fallback)\n */\nasync function parseToOutputIterator(\n loader: LoaderWithParser,\n data: BatchableDataType,\n options: LoaderOptions,\n context: LoaderContext\n): Promise<AsyncIterable<any>> {\n // Get an iterator from the input\n const inputIterator = await getAsyncIterableFromData(data, options);\n\n // Apply any iterator transforms (options.transforms)\n const transformedIterator = await applyInputTransforms(inputIterator, options?.transforms || []);\n\n // If loader supports parseInBatches, we are done\n if (loader.parseInBatches) {\n return loader.parseInBatches(transformedIterator, options, context);\n }\n\n // Fallback: load atomically using `parse` concatenating input iterator into single chunk\n async function* parseChunkInBatches() {\n const arrayBuffer = await concatenateArrayBuffersAsync(transformedIterator);\n // Call `parse` instead of `loader.parse` to ensure we can call workers etc.\n const parsedData = await parse(\n arrayBuffer,\n loader,\n // TODO - Hack: supply loaders MIME type to ensure we match it\n {...options, mimeType: loader.mimeTypes[0]},\n context\n );\n // yield a single batch, the output from loader.parse()\n // TODO - run through batch builder to apply options etc...\n const batch: Batch = {\n mimeType: loader.mimeTypes[0],\n shape: Array.isArray(parsedData) ? 'row-table' : 'unknown',\n batchType: 'data',\n data: parsedData,\n length: Array.isArray(parsedData) ? parsedData.length : 1\n };\n yield batch;\n }\n\n return parseChunkInBatches();\n}\n\ntype TransformBatches = (\n asyncIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>\n) => AsyncIterable<ArrayBuffer>;\n\n/**\n * Create an iterator chain with any transform iterators (crypto, decompression)\n * @param inputIterator\n * @param options\n */\nasync function applyInputTransforms(\n inputIterator: AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>,\n transforms: TransformBatches[] = []\n): Promise<AsyncIterable<ArrayBuffer> | Iterable<ArrayBuffer>> {\n let iteratorChain = inputIterator;\n for await (const transformBatches of transforms) {\n iteratorChain = transformBatches(iteratorChain);\n }\n return iteratorChain;\n}\n"],"mappings":"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"}
|
|
@@ -28,17 +28,16 @@ function parseSync(data, loaders, options, context) {
|
|
|
28
28
|
return null;
|
|
29
29
|
}
|
|
30
30
|
options = (0, _optionUtils.normalizeOptions)(options, loader, candidateLoaders);
|
|
31
|
-
var
|
|
32
|
-
url = _getResourceUrlAndTyp.url;
|
|
31
|
+
var url = (0, _resourceUtils.getResourceUrl)(data);
|
|
33
32
|
var parse = function parse() {
|
|
34
|
-
throw new Error('parseSync called parse');
|
|
33
|
+
throw new Error('parseSync called parse (which is async');
|
|
35
34
|
};
|
|
36
35
|
context = (0, _loaderContext.getLoaderContext)({
|
|
37
36
|
url: url,
|
|
38
37
|
parseSync: parseSync,
|
|
39
38
|
parse: parse,
|
|
40
39
|
loaders: loaders
|
|
41
|
-
}, options);
|
|
40
|
+
}, options, context || null);
|
|
42
41
|
return parseWithLoaderSync(loader, data, options, context);
|
|
43
42
|
}
|
|
44
43
|
function parseWithLoaderSync(loader, data, options, context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-sync.js","names":["_loaderUtils","require","_selectLoader","_normalizeLoader","_optionUtils","_getData","_loaderContext","_resourceUtils","parseSync","data","loaders","options","context","assert","_typeof2","default","Array","isArray","isLoaderObject","undefined","typedLoaders","candidateLoaders","getLoadersFromContext","loader","selectLoaderSync","normalizeOptions","
|
|
1
|
+
{"version":3,"file":"parse-sync.js","names":["_loaderUtils","require","_selectLoader","_normalizeLoader","_optionUtils","_getData","_loaderContext","_resourceUtils","parseSync","data","loaders","options","context","assert","_typeof2","default","Array","isArray","isLoaderObject","undefined","typedLoaders","candidateLoaders","getLoadersFromContext","loader","selectLoaderSync","normalizeOptions","url","getResourceUrl","parse","Error","getLoaderContext","parseWithLoaderSync","getArrayBufferOrStringFromDataSync","parseTextSync","ArrayBuffer","concat","name"],"sources":["../../../../src/lib/api/parse-sync.ts"],"sourcesContent":["import type {\n SyncDataType,\n Loader,\n LoaderWithParser,\n LoaderContext,\n LoaderOptions\n} from '@loaders.gl/loader-utils';\nimport {assert} from '@loaders.gl/loader-utils';\nimport {selectLoaderSync} from './select-loader';\nimport {isLoaderObject} from '../loader-utils/normalize-loader';\nimport {normalizeOptions} from '../loader-utils/option-utils';\nimport {getArrayBufferOrStringFromDataSync} from '../loader-utils/get-data';\nimport {getLoaderContext, getLoadersFromContext} from '../loader-utils/loader-context';\nimport {getResourceUrl} from '../utils/resource-utils';\n\n/**\n * Parses `data` synchronously using a specified loader\n * @param data\n * @param loaders\n * @param options\n * @param context\n */\nexport function parseSync(\n data: SyncDataType,\n loaders?: Loader | Loader[] | LoaderOptions,\n options?: LoaderOptions,\n context?: LoaderContext\n): any {\n assert(!context || typeof context === 'object'); // parseSync no longer accepts final url\n\n // Signature: parseSync(data, options)\n // Uses registered loaders\n if (!Array.isArray(loaders) && !isLoaderObject(loaders)) {\n context = undefined; // context not supported in short signature\n options = loaders as LoaderOptions;\n loaders = undefined;\n }\n\n options = options || {};\n\n // Chooses a loader (and normalizes it)\n // Also use any loaders in the context, new loaders take priority\n const typedLoaders = loaders as Loader | Loader[] | undefined;\n const candidateLoaders = getLoadersFromContext(typedLoaders, context);\n const loader = selectLoaderSync(data, candidateLoaders, options);\n // Note: if nothrow option was set, it is possible that no loader was found, if so just return null\n if (!loader) {\n return null;\n }\n\n // Normalize options\n options = normalizeOptions(options, loader, candidateLoaders);\n\n // Extract a url for auto detection\n const url = getResourceUrl(data);\n\n const parse = () => {\n throw new Error('parseSync called parse (which is async');\n };\n context = getLoaderContext(\n {url, parseSync, parse, loaders: loaders as Loader[]},\n options,\n context || null\n );\n\n return parseWithLoaderSync(loader as LoaderWithParser, data, options, context);\n}\n\n// TODO - should accept loader.parseSync/parse and generate 1 chunk asyncIterator\nfunction parseWithLoaderSync(\n loader: LoaderWithParser,\n data: SyncDataType,\n options: LoaderOptions,\n context: LoaderContext\n) {\n data = getArrayBufferOrStringFromDataSync(data, loader, options);\n\n if (loader.parseTextSync && typeof data === 'string') {\n return loader.parseTextSync(data, options); // , context, loader);\n }\n\n if (loader.parseSync && data instanceof ArrayBuffer) {\n return loader.parseSync(data, options, context); // , loader);\n }\n\n // TBD - If synchronous parser not available, return null\n throw new Error(\n `${loader.name} loader: 'parseSync' not supported by this loader, use 'parse' instead. ${\n context.url || ''\n }`\n );\n}\n"],"mappings":";;;;;;;;AAOA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AASO,SAASO,SAASA,CACvBC,IAAkB,EAClBC,OAA2C,EAC3CC,OAAuB,EACvBC,OAAuB,EAClB;EACL,IAAAC,mBAAM,EAAC,CAACD,OAAO,IAAI,IAAAE,QAAA,CAAAC,OAAA,EAAOH,OAAO,MAAK,QAAQ,CAAC;EAI/C,IAAI,CAACI,KAAK,CAACC,OAAO,CAACP,OAAO,CAAC,IAAI,CAAC,IAAAQ,+BAAc,EAACR,OAAO,CAAC,EAAE;IACvDE,OAAO,GAAGO,SAAS;IACnBR,OAAO,GAAGD,OAAwB;IAClCA,OAAO,GAAGS,SAAS;EACrB;EAEAR,OAAO,GAAGA,OAAO,IAAI,CAAC,CAAC;EAIvB,IAAMS,YAAY,GAAGV,OAAwC;EAC7D,IAAMW,gBAAgB,GAAG,IAAAC,oCAAqB,EAACF,YAAY,EAAER,OAAO,CAAC;EACrE,IAAMW,MAAM,GAAG,IAAAC,8BAAgB,EAACf,IAAI,EAAEY,gBAAgB,EAAEV,OAAO,CAAC;EAEhE,IAAI,CAACY,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EAGAZ,OAAO,GAAG,IAAAc,6BAAgB,EAACd,OAAO,EAAEY,MAAM,EAAEF,gBAAgB,CAAC;EAG7D,IAAMK,GAAG,GAAG,IAAAC,6BAAc,EAAClB,IAAI,CAAC;EAEhC,IAAMmB,KAAK,GAAG,SAARA,KAAKA,CAAA,EAAS;IAClB,MAAM,IAAIC,KAAK,CAAC,wCAAwC,CAAC;EAC3D,CAAC;EACDjB,OAAO,GAAG,IAAAkB,+BAAgB,EACxB;IAACJ,GAAG,EAAHA,GAAG;IAAElB,SAAS,EAATA,SAAS;IAAEoB,KAAK,EAALA,KAAK;IAAElB,OAAO,EAAEA;EAAmB,CAAC,EACrDC,OAAO,EACPC,OAAO,IAAI,IACb,CAAC;EAED,OAAOmB,mBAAmB,CAACR,MAAM,EAAsBd,IAAI,EAAEE,OAAO,EAAEC,OAAO,CAAC;AAChF;AAGA,SAASmB,mBAAmBA,CAC1BR,MAAwB,EACxBd,IAAkB,EAClBE,OAAsB,EACtBC,OAAsB,EACtB;EACAH,IAAI,GAAG,IAAAuB,2CAAkC,EAACvB,IAAI,EAAEc,MAAM,EAAEZ,OAAO,CAAC;EAEhE,IAAIY,MAAM,CAACU,aAAa,IAAI,OAAOxB,IAAI,KAAK,QAAQ,EAAE;IACpD,OAAOc,MAAM,CAACU,aAAa,CAACxB,IAAI,EAAEE,OAAO,CAAC;EAC5C;EAEA,IAAIY,MAAM,CAACf,SAAS,IAAIC,IAAI,YAAYyB,WAAW,EAAE;IACnD,OAAOX,MAAM,CAACf,SAAS,CAACC,IAAI,EAAEE,OAAO,EAAEC,OAAO,CAAC;EACjD;EAGA,MAAM,IAAIiB,KAAK,IAAAM,MAAA,CACVZ,MAAM,CAACa,IAAI,8EAAAD,MAAA,CACZvB,OAAO,CAACc,GAAG,IAAI,EAAE,CAErB,CAAC;AACH"}
|
|
@@ -22,7 +22,7 @@ function parse(_x, _x2, _x3, _x4) {
|
|
|
22
22
|
}
|
|
23
23
|
function _parse() {
|
|
24
24
|
_parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, loaders, options, context) {
|
|
25
|
-
var
|
|
25
|
+
var url, typedLoaders, candidateLoaders, loader;
|
|
26
26
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
27
27
|
while (1) switch (_context.prev = _context.next) {
|
|
28
28
|
case 0:
|
|
@@ -37,7 +37,7 @@ function _parse() {
|
|
|
37
37
|
case 4:
|
|
38
38
|
data = _context.sent;
|
|
39
39
|
options = options || {};
|
|
40
|
-
|
|
40
|
+
url = (0, _resourceUtils.getResourceUrl)(data);
|
|
41
41
|
typedLoaders = loaders;
|
|
42
42
|
candidateLoaders = (0, _loaderContext.getLoadersFromContext)(typedLoaders, context);
|
|
43
43
|
_context.next = 11;
|
|
@@ -55,7 +55,7 @@ function _parse() {
|
|
|
55
55
|
url: url,
|
|
56
56
|
parse: parse,
|
|
57
57
|
loaders: candidateLoaders
|
|
58
|
-
}, options, context);
|
|
58
|
+
}, options, context || null);
|
|
59
59
|
_context.next = 18;
|
|
60
60
|
return parseWithLoader(loader, data, options, context);
|
|
61
61
|
case 18:
|