@loaders.gl/kml 4.0.0-beta.1 → 4.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,10 @@
1
1
  import { geojsonToBinary } from '@loaders.gl/gis';
2
2
  import { gpx } from '@tmcw/togeojson';
3
3
  import { DOMParser } from '@xmldom/xmldom';
4
- const VERSION = typeof "4.0.0-beta.1" !== 'undefined' ? "4.0.0-beta.1" : 'latest';
5
- const GPX_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<gpx";
4
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
5
+ const GPX_HEADER = `\
6
+ <?xml version="1.0" encoding="UTF-8"?>
7
+ <gpx`;
6
8
  export const GPXLoader = {
7
9
  name: 'GPX (GPS exchange format)',
8
10
  id: 'gpx',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpx-loader.js","names":["geojsonToBinary","gpx","DOMParser","VERSION","__VERSION__","GPX_HEADER","GPXLoader","name","id","module","version","extensions","mimeTypes","text","tests","parse","arrayBuffer","options","parseTextSync","TextDecoder","decode","gis","_options$gis","_options$gpx","_options$gpx2","doc","parseFromString","geojson","shape","format","type","table","data","features"],"sources":["../src/gpx-loader.ts"],"sourcesContent":["import type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport type {GeoJSONTable, FeatureCollection, ObjectRowTable} from '@loaders.gl/schema';\nimport {gpx} from '@tmcw/togeojson';\nimport {DOMParser} from '@xmldom/xmldom';\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 GPXLoaderOptions = LoaderOptions & {\n gpx?: {\n shape?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n /** @deprecated. Use options.gpx.shape */\n type?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n };\n gis?: {\n /** @deprecated. Use options.gpx.shape */\n format?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n };\n};\n\nconst GPX_HEADER = `\\\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<gpx`;\n\n/**\n * Loader for GPX (GPS exchange format)\n */\nexport const GPXLoader: LoaderWithParser<any, never, GPXLoaderOptions> = {\n name: 'GPX (GPS exchange format)',\n id: 'gpx',\n module: 'kml',\n version: VERSION,\n extensions: ['gpx'],\n mimeTypes: ['application/gpx+xml'],\n text: true,\n tests: [GPX_HEADER],\n parse: async (arrayBuffer, options?: GPXLoaderOptions) =>\n parseTextSync(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync,\n options: {\n gpx: {},\n gis: {}\n }\n};\n\nfunction parseTextSync(text: string, options?: GPXLoaderOptions) {\n const doc = new DOMParser().parseFromString(text, 'text/xml');\n const geojson: FeatureCollection = gpx(doc);\n\n const shape = options?.gis?.format || options?.gpx?.type || options?.gpx?.shape;\n\n switch (shape) {\n case 'object-row-table': {\n const table: ObjectRowTable = {\n shape: 'object-row-table',\n data: geojson.features\n };\n return table;\n }\n case 'geojson-table': {\n const table: GeoJSONTable = {\n shape: 'geojson-table',\n type: 'FeatureCollection',\n features: geojson.features\n };\n return table;\n }\n case 'geojson':\n return geojson;\n case 'binary':\n return geojsonToBinary(geojson.features);\n case 'raw':\n return doc;\n default:\n // Default to geojson for backwards compatibility\n return geojson;\n }\n}\n"],"mappings":"AACA,SAAQA,eAAe,QAAO,iBAAiB;AAE/C,SAAQC,GAAG,QAAO,iBAAiB;AACnC,SAAQC,SAAS,QAAO,gBAAgB;AAIxC,MAAMC,OAAO,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAGA,WAAW,GAAG,QAAQ;AAc3E,MAAMC,UAAU,GAAI;AACpB;AACA,KAAK;AAKL,OAAO,MAAMC,SAAyD,GAAG;EACvEC,IAAI,EAAE,2BAA2B;EACjCC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEP,OAAO;EAChBQ,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,qBAAqB,CAAC;EAClCC,IAAI,EAAE,IAAI;EACVC,KAAK,EAAE,CAACT,UAAU,CAAC;EACnBU,KAAK,EAAE,MAAAA,CAAOC,WAAW,EAAEC,OAA0B,KACnDC,aAAa,CAAC,IAAIC,WAAW,CAAC,CAAC,CAACC,MAAM,CAACJ,WAAW,CAAC,EAAEC,OAAO,CAAC;EAC/DC,aAAa;EACbD,OAAO,EAAE;IACPhB,GAAG,EAAE,CAAC,CAAC;IACPoB,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAED,SAASH,aAAaA,CAACL,IAAY,EAAEI,OAA0B,EAAE;EAAA,IAAAK,YAAA,EAAAC,YAAA,EAAAC,aAAA;EAC/D,MAAMC,GAAG,GAAG,IAAIvB,SAAS,CAAC,CAAC,CAACwB,eAAe,CAACb,IAAI,EAAE,UAAU,CAAC;EAC7D,MAAMc,OAA0B,GAAG1B,GAAG,CAACwB,GAAG,CAAC;EAE3C,MAAMG,KAAK,GAAG,CAAAX,OAAO,aAAPA,OAAO,wBAAAK,YAAA,GAAPL,OAAO,CAAEI,GAAG,cAAAC,YAAA,uBAAZA,YAAA,CAAcO,MAAM,MAAIZ,OAAO,aAAPA,OAAO,wBAAAM,YAAA,GAAPN,OAAO,CAAEhB,GAAG,cAAAsB,YAAA,uBAAZA,YAAA,CAAcO,IAAI,MAAIb,OAAO,aAAPA,OAAO,wBAAAO,aAAA,GAAPP,OAAO,CAAEhB,GAAG,cAAAuB,aAAA,uBAAZA,aAAA,CAAcI,KAAK;EAE/E,QAAQA,KAAK;IACX,KAAK,kBAAkB;MAAE;QACvB,MAAMG,KAAqB,GAAG;UAC5BH,KAAK,EAAE,kBAAkB;UACzBI,IAAI,EAAEL,OAAO,CAACM;QAChB,CAAC;QACD,OAAOF,KAAK;MACd;IACA,KAAK,eAAe;MAAE;QACpB,MAAMA,KAAmB,GAAG;UAC1BH,KAAK,EAAE,eAAe;UACtBE,IAAI,EAAE,mBAAmB;UACzBG,QAAQ,EAAEN,OAAO,CAACM;QACpB,CAAC;QACD,OAAOF,KAAK;MACd;IACA,KAAK,SAAS;MACZ,OAAOJ,OAAO;IAChB,KAAK,QAAQ;MACX,OAAO3B,eAAe,CAAC2B,OAAO,CAACM,QAAQ,CAAC;IAC1C,KAAK,KAAK;MACR,OAAOR,GAAG;IACZ;MAEE,OAAOE,OAAO;EAClB;AACF"}
package/dist/index.cjs ADDED
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ GPXLoader: () => GPXLoader,
24
+ KMLLoader: () => KMLLoader,
25
+ TCXLoader: () => TCXLoader
26
+ });
27
+ module.exports = __toCommonJS(src_exports);
28
+
29
+ // src/gpx-loader.ts
30
+ var import_gis = require("@loaders.gl/gis");
31
+ var import_togeojson = require("@tmcw/togeojson");
32
+ var import_xmldom = require("@xmldom/xmldom");
33
+ var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
34
+ var GPX_HEADER = `<?xml version="1.0" encoding="UTF-8"?>
35
+ <gpx`;
36
+ var GPXLoader = {
37
+ name: "GPX (GPS exchange format)",
38
+ id: "gpx",
39
+ module: "kml",
40
+ version: VERSION,
41
+ extensions: ["gpx"],
42
+ mimeTypes: ["application/gpx+xml"],
43
+ text: true,
44
+ tests: [GPX_HEADER],
45
+ parse: async (arrayBuffer, options) => parseTextSync(new TextDecoder().decode(arrayBuffer), options),
46
+ parseTextSync,
47
+ options: {
48
+ gpx: {},
49
+ gis: {}
50
+ }
51
+ };
52
+ function parseTextSync(text, options) {
53
+ var _a, _b, _c;
54
+ const doc = new import_xmldom.DOMParser().parseFromString(text, "text/xml");
55
+ const geojson = (0, import_togeojson.gpx)(doc);
56
+ const shape = ((_a = options == null ? void 0 : options.gis) == null ? void 0 : _a.format) || ((_b = options == null ? void 0 : options.gpx) == null ? void 0 : _b.type) || ((_c = options == null ? void 0 : options.gpx) == null ? void 0 : _c.shape);
57
+ switch (shape) {
58
+ case "object-row-table": {
59
+ const table = {
60
+ shape: "object-row-table",
61
+ data: geojson.features
62
+ };
63
+ return table;
64
+ }
65
+ case "geojson-table": {
66
+ const table = {
67
+ shape: "geojson-table",
68
+ type: "FeatureCollection",
69
+ features: geojson.features
70
+ };
71
+ return table;
72
+ }
73
+ case "geojson":
74
+ return geojson;
75
+ case "binary":
76
+ return (0, import_gis.geojsonToBinary)(geojson.features);
77
+ case "raw":
78
+ return doc;
79
+ default:
80
+ return geojson;
81
+ }
82
+ }
83
+
84
+ // src/kml-loader.ts
85
+ var import_togeojson2 = require("@tmcw/togeojson");
86
+ var import_xmldom2 = require("@xmldom/xmldom");
87
+ var VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
88
+ var KML_HEADER = `<?xml version="1.0" encoding="UTF-8"?>
89
+ <kml xmlns="http://www.opengis.net/kml/2.2">`;
90
+ var KMLLoader = {
91
+ name: "KML (Keyhole Markup Language)",
92
+ id: "kml",
93
+ module: "kml",
94
+ version: VERSION2,
95
+ extensions: ["kml"],
96
+ mimeTypes: ["application/vnd.google-earth.kml+xml"],
97
+ text: true,
98
+ tests: [KML_HEADER],
99
+ parse: async (arrayBuffer, options) => parseTextSync2(new TextDecoder().decode(arrayBuffer), options),
100
+ parseTextSync: parseTextSync2,
101
+ options: {
102
+ kml: {},
103
+ gis: {}
104
+ }
105
+ };
106
+ function parseTextSync2(text, options) {
107
+ var _a, _b, _c;
108
+ const doc = new import_xmldom2.DOMParser().parseFromString(text, "text/xml");
109
+ const geojson = (0, import_togeojson2.kml)(doc);
110
+ const shape = ((_a = options == null ? void 0 : options.gis) == null ? void 0 : _a.format) || ((_b = options == null ? void 0 : options.kml) == null ? void 0 : _b.type) || ((_c = options == null ? void 0 : options.kml) == null ? void 0 : _c.shape);
111
+ switch (shape) {
112
+ case "object-row-table":
113
+ default:
114
+ const table = {
115
+ shape: "object-row-table",
116
+ data: geojson.features
117
+ };
118
+ return table;
119
+ }
120
+ }
121
+
122
+ // src/tcx-loader.ts
123
+ var import_gis2 = require("@loaders.gl/gis");
124
+ var import_togeojson3 = require("@tmcw/togeojson");
125
+ var import_xmldom3 = require("@xmldom/xmldom");
126
+ var VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
127
+ var TCX_HEADER = `<?xml version="1.0" encoding="UTF-8"?>
128
+ <TrainingCenterDatabase`;
129
+ var TCXLoader = {
130
+ name: "TCX (Training Center XML)",
131
+ id: "tcx",
132
+ module: "kml",
133
+ version: VERSION3,
134
+ extensions: ["tcx"],
135
+ mimeTypes: ["application/vnd.garmin.tcx+xml"],
136
+ text: true,
137
+ tests: [TCX_HEADER],
138
+ parse: async (arrayBuffer, options) => parseTextSync3(new TextDecoder().decode(arrayBuffer), options),
139
+ parseTextSync: parseTextSync3,
140
+ options: {
141
+ tcx: {},
142
+ gis: {}
143
+ }
144
+ };
145
+ function parseTextSync3(text, options) {
146
+ var _a, _b, _c;
147
+ const doc = new import_xmldom3.DOMParser().parseFromString(text, "text/xml");
148
+ const geojson = (0, import_togeojson3.tcx)(doc);
149
+ const shape = ((_a = options == null ? void 0 : options.gis) == null ? void 0 : _a.format) || ((_b = options == null ? void 0 : options.tcx) == null ? void 0 : _b.type) || ((_c = options == null ? void 0 : options.tcx) == null ? void 0 : _c.shape);
150
+ switch (shape) {
151
+ case "object-row-table": {
152
+ const table = {
153
+ shape: "object-row-table",
154
+ data: geojson.features
155
+ };
156
+ return table;
157
+ }
158
+ case "geojson-table": {
159
+ const table = {
160
+ shape: "geojson-table",
161
+ type: "FeatureCollection",
162
+ features: geojson.features
163
+ };
164
+ return table;
165
+ }
166
+ case "geojson":
167
+ return geojson;
168
+ case "binary":
169
+ return (0, import_gis2.geojsonToBinary)(geojson.features);
170
+ case "raw":
171
+ return doc;
172
+ default:
173
+ return geojson;
174
+ }
175
+ }
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export { GPXLoader } from "./gpx-loader.js";
2
+ export { KMLLoader } from "./kml-loader.js";
3
+ export { TCXLoader } from "./tcx-loader.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["GPXLoader","KMLLoader","TCXLoader"],"sources":["../src/index.ts"],"sourcesContent":["// POLYFILL: DOMParser\n// - Node: Yes\n// - Browser: No\n\nexport type {GPXLoaderOptions} from './gpx-loader';\nexport {GPXLoader} from './gpx-loader';\n\nexport type {KMLLoaderOptions} from './kml-loader';\nexport {KMLLoader} from './kml-loader';\n\nexport type {TCXLoaderOptions} from './tcx-loader';\nexport {TCXLoader} from './tcx-loader';\n"],"mappings":"SAKQA,SAAS;AAAA,SAGTC,SAAS;AAAA,SAGTC,SAAS"}
@@ -1,7 +1,9 @@
1
1
  import { kml } from '@tmcw/togeojson';
2
2
  import { DOMParser } from '@xmldom/xmldom';
3
- const VERSION = typeof "4.0.0-beta.1" !== 'undefined' ? "4.0.0-beta.1" : 'latest';
4
- const KML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<kml xmlns=\"http://www.opengis.net/kml/2.2\">";
3
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
4
+ const KML_HEADER = `\
5
+ <?xml version="1.0" encoding="UTF-8"?>
6
+ <kml xmlns="http://www.opengis.net/kml/2.2">`;
5
7
  export const KMLLoader = {
6
8
  name: 'KML (Keyhole Markup Language)',
7
9
  id: 'kml',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kml-loader.js","names":["kml","DOMParser","VERSION","__VERSION__","KML_HEADER","KMLLoader","name","id","module","version","extensions","mimeTypes","text","tests","parse","arrayBuffer","options","parseTextSync","TextDecoder","decode","gis","_options$gis","_options$kml","_options$kml2","doc","parseFromString","geojson","shape","format","type","table","data","features"],"sources":["../src/kml-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\n// import {geojsonToBinary} from '@loaders.gl/gis';\n// import {GeoJSONTable} from '@loaders.gl/schema';\nimport {FeatureCollection, ObjectRowTable} from '@loaders.gl/schema';\nimport {kml} from '@tmcw/togeojson';\nimport {DOMParser} from '@xmldom/xmldom';\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 KMLLoaderOptions = LoaderOptions & {\n kml?: {\n shape?: 'object-row-table' | 'geojson-table';\n /** @deprecated. Use options.kml.shape */\n type?: 'object-row-table' | 'geojson-table';\n };\n gis?: {\n /** @deprecated. Use options.kml.shape */\n format?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n };\n};\n\nconst KML_HEADER = `\\\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<kml xmlns=\"http://www.opengis.net/kml/2.2\">`;\n\n/**\n * Loader for KML (Keyhole Markup Language)\n */\nexport const KMLLoader: LoaderWithParser<ObjectRowTable, never, KMLLoaderOptions> = {\n name: 'KML (Keyhole Markup Language)',\n id: 'kml',\n module: 'kml',\n version: VERSION,\n extensions: ['kml'],\n mimeTypes: ['application/vnd.google-earth.kml+xml'],\n text: true,\n tests: [KML_HEADER],\n parse: async (arrayBuffer, options?: KMLLoaderOptions) =>\n parseTextSync(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync,\n options: {\n kml: {},\n gis: {}\n }\n};\n\nfunction parseTextSync(text: string, options?: KMLLoaderOptions): ObjectRowTable {\n const doc = new DOMParser().parseFromString(text, 'text/xml');\n const geojson: FeatureCollection = kml(doc);\n\n // backwards compatibility\n const shape = options?.gis?.format || options?.kml?.type || options?.kml?.shape;\n switch (shape) {\n // case 'geojson-table': {\n // const table: GeoJSONTable = {\n // shape: 'geojson-table',\n // data: geojson.features\n // };\n // return table;\n // }\n // case 'geojson':\n // return geojson;\n // case 'binary':\n // return geojsonToBinary(geojson.features);\n // case 'raw':\n // return doc;\n case 'object-row-table':\n default:\n const table: ObjectRowTable = {\n shape: 'object-row-table',\n data: geojson.features\n };\n return table;\n }\n}\n"],"mappings":"AAIA,SAAQA,GAAG,QAAO,iBAAiB;AACnC,SAAQC,SAAS,QAAO,gBAAgB;AAIxC,MAAMC,OAAO,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAGA,WAAW,GAAG,QAAQ;AAc3E,MAAMC,UAAU,GAAI;AACpB;AACA,6CAA6C;AAK7C,OAAO,MAAMC,SAAoE,GAAG;EAClFC,IAAI,EAAE,+BAA+B;EACrCC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEP,OAAO;EAChBQ,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,sCAAsC,CAAC;EACnDC,IAAI,EAAE,IAAI;EACVC,KAAK,EAAE,CAACT,UAAU,CAAC;EACnBU,KAAK,EAAE,MAAAA,CAAOC,WAAW,EAAEC,OAA0B,KACnDC,aAAa,CAAC,IAAIC,WAAW,CAAC,CAAC,CAACC,MAAM,CAACJ,WAAW,CAAC,EAAEC,OAAO,CAAC;EAC/DC,aAAa;EACbD,OAAO,EAAE;IACPhB,GAAG,EAAE,CAAC,CAAC;IACPoB,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAED,SAASH,aAAaA,CAACL,IAAY,EAAEI,OAA0B,EAAkB;EAAA,IAAAK,YAAA,EAAAC,YAAA,EAAAC,aAAA;EAC/E,MAAMC,GAAG,GAAG,IAAIvB,SAAS,CAAC,CAAC,CAACwB,eAAe,CAACb,IAAI,EAAE,UAAU,CAAC;EAC7D,MAAMc,OAA0B,GAAG1B,GAAG,CAACwB,GAAG,CAAC;EAG3C,MAAMG,KAAK,GAAG,CAAAX,OAAO,aAAPA,OAAO,wBAAAK,YAAA,GAAPL,OAAO,CAAEI,GAAG,cAAAC,YAAA,uBAAZA,YAAA,CAAcO,MAAM,MAAIZ,OAAO,aAAPA,OAAO,wBAAAM,YAAA,GAAPN,OAAO,CAAEhB,GAAG,cAAAsB,YAAA,uBAAZA,YAAA,CAAcO,IAAI,MAAIb,OAAO,aAAPA,OAAO,wBAAAO,aAAA,GAAPP,OAAO,CAAEhB,GAAG,cAAAuB,aAAA,uBAAZA,aAAA,CAAcI,KAAK;EAC/E,QAAQA,KAAK;IAcX,KAAK,kBAAkB;IACvB;MACE,MAAMG,KAAqB,GAAG;QAC5BH,KAAK,EAAE,kBAAkB;QACzBI,IAAI,EAAEL,OAAO,CAACM;MAChB,CAAC;MACD,OAAOF,KAAK;EAChB;AACF"}
@@ -1,8 +1,10 @@
1
1
  import { geojsonToBinary } from '@loaders.gl/gis';
2
2
  import { tcx } from '@tmcw/togeojson';
3
3
  import { DOMParser } from '@xmldom/xmldom';
4
- const VERSION = typeof "4.0.0-beta.1" !== 'undefined' ? "4.0.0-beta.1" : 'latest';
5
- const TCX_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<TrainingCenterDatabase";
4
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
5
+ const TCX_HEADER = `\
6
+ <?xml version="1.0" encoding="UTF-8"?>
7
+ <TrainingCenterDatabase`;
6
8
  export const TCXLoader = {
7
9
  name: 'TCX (Training Center XML)',
8
10
  id: 'tcx',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tcx-loader.js","names":["geojsonToBinary","tcx","DOMParser","VERSION","__VERSION__","TCX_HEADER","TCXLoader","name","id","module","version","extensions","mimeTypes","text","tests","parse","arrayBuffer","options","parseTextSync","TextDecoder","decode","gis","_options$gis","_options$tcx","_options$tcx2","doc","parseFromString","geojson","shape","format","type","table","data","features"],"sources":["../src/tcx-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport type {GeoJSONTable, FeatureCollection, ObjectRowTable} from '@loaders.gl/schema';\nimport {tcx} from '@tmcw/togeojson';\nimport {DOMParser} from '@xmldom/xmldom';\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 TCXLoaderOptions = LoaderOptions & {\n tcx?: {\n shape?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n /** @deprecated. Use options.tcx.shape */\n type?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n };\n gis?: {\n /** @deprecated. Use options.tcx.shape */\n format?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n };\n};\n\nconst TCX_HEADER = `\\\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<TrainingCenterDatabase`;\n\n/**\n * Loader for TCX (Training Center XML) - Garmin GPS track format\n */\nexport const TCXLoader: LoaderWithParser<any, never, TCXLoaderOptions> = {\n name: 'TCX (Training Center XML)',\n id: 'tcx',\n module: 'kml',\n version: VERSION,\n extensions: ['tcx'],\n mimeTypes: ['application/vnd.garmin.tcx+xml'],\n text: true,\n tests: [TCX_HEADER],\n parse: async (arrayBuffer, options?: TCXLoaderOptions) =>\n parseTextSync(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync,\n options: {\n tcx: {},\n gis: {}\n }\n};\n\nfunction parseTextSync(text: string, options?: TCXLoaderOptions) {\n const doc = new DOMParser().parseFromString(text, 'text/xml');\n const geojson: FeatureCollection = tcx(doc);\n\n // backwards compatibility\n const shape = options?.gis?.format || options?.tcx?.type || options?.tcx?.shape;\n\n switch (shape) {\n case 'object-row-table': {\n const table: ObjectRowTable = {\n shape: 'object-row-table',\n data: geojson.features\n };\n return table;\n }\n case 'geojson-table': {\n const table: GeoJSONTable = {\n shape: 'geojson-table',\n type: 'FeatureCollection',\n features: geojson.features\n };\n return table;\n }\n case 'geojson':\n return geojson;\n case 'binary':\n return geojsonToBinary(geojson.features);\n case 'raw':\n return doc;\n default:\n // Default to geojson for backwards compatibility\n return geojson;\n }\n}\n"],"mappings":"AACA,SAAQA,eAAe,QAAO,iBAAiB;AAE/C,SAAQC,GAAG,QAAO,iBAAiB;AACnC,SAAQC,SAAS,QAAO,gBAAgB;AAIxC,MAAMC,OAAO,GAAG,OAAOC,WAAW,KAAK,WAAW,GAAGA,WAAW,GAAG,QAAQ;AAc3E,MAAMC,UAAU,GAAI;AACpB;AACA,wBAAwB;AAKxB,OAAO,MAAMC,SAAyD,GAAG;EACvEC,IAAI,EAAE,2BAA2B;EACjCC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEP,OAAO;EAChBQ,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,gCAAgC,CAAC;EAC7CC,IAAI,EAAE,IAAI;EACVC,KAAK,EAAE,CAACT,UAAU,CAAC;EACnBU,KAAK,EAAE,MAAAA,CAAOC,WAAW,EAAEC,OAA0B,KACnDC,aAAa,CAAC,IAAIC,WAAW,CAAC,CAAC,CAACC,MAAM,CAACJ,WAAW,CAAC,EAAEC,OAAO,CAAC;EAC/DC,aAAa;EACbD,OAAO,EAAE;IACPhB,GAAG,EAAE,CAAC,CAAC;IACPoB,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAED,SAASH,aAAaA,CAACL,IAAY,EAAEI,OAA0B,EAAE;EAAA,IAAAK,YAAA,EAAAC,YAAA,EAAAC,aAAA;EAC/D,MAAMC,GAAG,GAAG,IAAIvB,SAAS,CAAC,CAAC,CAACwB,eAAe,CAACb,IAAI,EAAE,UAAU,CAAC;EAC7D,MAAMc,OAA0B,GAAG1B,GAAG,CAACwB,GAAG,CAAC;EAG3C,MAAMG,KAAK,GAAG,CAAAX,OAAO,aAAPA,OAAO,wBAAAK,YAAA,GAAPL,OAAO,CAAEI,GAAG,cAAAC,YAAA,uBAAZA,YAAA,CAAcO,MAAM,MAAIZ,OAAO,aAAPA,OAAO,wBAAAM,YAAA,GAAPN,OAAO,CAAEhB,GAAG,cAAAsB,YAAA,uBAAZA,YAAA,CAAcO,IAAI,MAAIb,OAAO,aAAPA,OAAO,wBAAAO,aAAA,GAAPP,OAAO,CAAEhB,GAAG,cAAAuB,aAAA,uBAAZA,aAAA,CAAcI,KAAK;EAE/E,QAAQA,KAAK;IACX,KAAK,kBAAkB;MAAE;QACvB,MAAMG,KAAqB,GAAG;UAC5BH,KAAK,EAAE,kBAAkB;UACzBI,IAAI,EAAEL,OAAO,CAACM;QAChB,CAAC;QACD,OAAOF,KAAK;MACd;IACA,KAAK,eAAe;MAAE;QACpB,MAAMA,KAAmB,GAAG;UAC1BH,KAAK,EAAE,eAAe;UACtBE,IAAI,EAAE,mBAAmB;UACzBG,QAAQ,EAAEN,OAAO,CAACM;QACpB,CAAC;QACD,OAAOF,KAAK;MACd;IACA,KAAK,SAAS;MACZ,OAAOJ,OAAO;IAChB,KAAK,QAAQ;MACX,OAAO3B,eAAe,CAAC2B,OAAO,CAACM,QAAQ,CAAC;IAC1C,KAAK,KAAK;MACR,OAAOR,GAAG;IACZ;MAEE,OAAOE,OAAO;EAClB;AACF"}
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@loaders.gl/kml",
3
- "version": "4.0.0-beta.1",
3
+ "version": "4.0.0-beta.3",
4
4
  "description": "Framework-independent loader for the KML format",
5
5
  "license": "MIT",
6
+ "type": "module",
6
7
  "publishConfig": {
7
8
  "access": "public"
8
9
  },
@@ -19,8 +20,15 @@
19
20
  "KML"
20
21
  ],
21
22
  "types": "dist/index.d.ts",
22
- "main": "dist/es5/index.js",
23
- "module": "dist/esm/index.js",
23
+ "main": "dist/index.cjs",
24
+ "module": "dist/index.js",
25
+ "exports": {
26
+ ".": {
27
+ "import": "./dist/index.js",
28
+ "require": "./dist/index.cjs",
29
+ "types": "./dist/index.d.ts"
30
+ }
31
+ },
24
32
  "sideEffects": false,
25
33
  "files": [
26
34
  "src",
@@ -28,15 +36,15 @@
28
36
  "README.md"
29
37
  ],
30
38
  "scripts": {
31
- "pre-build": "npm run build-bundle",
32
- "build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js"
39
+ "pre-build": "npm run build-bundle && npm run build-bundle -- --env=dev",
40
+ "build-bundle": "ocular-bundle ./src/index.ts"
33
41
  },
34
42
  "dependencies": {
35
- "@loaders.gl/gis": "4.0.0-beta.1",
36
- "@loaders.gl/loader-utils": "4.0.0-beta.1",
37
- "@loaders.gl/schema": "4.0.0-beta.1",
43
+ "@loaders.gl/gis": "4.0.0-beta.3",
44
+ "@loaders.gl/loader-utils": "4.0.0-beta.3",
45
+ "@loaders.gl/schema": "4.0.0-beta.3",
38
46
  "@tmcw/togeojson": "^4.5.0",
39
47
  "@xmldom/xmldom": "^0.7.13"
40
48
  },
41
- "gitHead": "35c625e67132b0784e597d9ddabae8aefea29ff2"
49
+ "gitHead": "7ba9621cc51c7a26c407086ac86171f35b8712af"
42
50
  }
package/dist/bundle.d.ts DELETED
@@ -1,2 +0,0 @@
1
- declare const moduleExports: any;
2
- //# sourceMappingURL=bundle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AACA,QAAA,MAAM,aAAa,KAAqB,CAAC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- var moduleExports = require('./index');
4
- globalThis.loaders = globalThis.loaders || {};
5
- module.exports = Object.assign(globalThis.loaders, moduleExports);
6
- //# sourceMappingURL=bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"mappings":";;AACA,IAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,OAAO,GAAGD,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC;AAC7CC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,EAAEH,aAAa,CAAC"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.GPXLoader = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _gis = require("@loaders.gl/gis");
11
- var _togeojson = require("@tmcw/togeojson");
12
- var _xmldom = require("@xmldom/xmldom");
13
- var VERSION = typeof "4.0.0-beta.1" !== 'undefined' ? "4.0.0-beta.1" : 'latest';
14
- var GPX_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<gpx";
15
- var GPXLoader = {
16
- name: 'GPX (GPS exchange format)',
17
- id: 'gpx',
18
- module: 'kml',
19
- version: VERSION,
20
- extensions: ['gpx'],
21
- mimeTypes: ['application/gpx+xml'],
22
- text: true,
23
- tests: [GPX_HEADER],
24
- parse: function () {
25
- var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
26
- return _regenerator.default.wrap(function _callee$(_context) {
27
- while (1) switch (_context.prev = _context.next) {
28
- case 0:
29
- return _context.abrupt("return", parseTextSync(new TextDecoder().decode(arrayBuffer), options));
30
- case 1:
31
- case "end":
32
- return _context.stop();
33
- }
34
- }, _callee);
35
- }));
36
- function parse(_x, _x2) {
37
- return _parse.apply(this, arguments);
38
- }
39
- return parse;
40
- }(),
41
- parseTextSync: parseTextSync,
42
- options: {
43
- gpx: {},
44
- gis: {}
45
- }
46
- };
47
- exports.GPXLoader = GPXLoader;
48
- function parseTextSync(text, options) {
49
- var _options$gis, _options$gpx, _options$gpx2;
50
- var doc = new _xmldom.DOMParser().parseFromString(text, 'text/xml');
51
- var geojson = (0, _togeojson.gpx)(doc);
52
- var shape = (options === null || options === void 0 ? void 0 : (_options$gis = options.gis) === null || _options$gis === void 0 ? void 0 : _options$gis.format) || (options === null || options === void 0 ? void 0 : (_options$gpx = options.gpx) === null || _options$gpx === void 0 ? void 0 : _options$gpx.type) || (options === null || options === void 0 ? void 0 : (_options$gpx2 = options.gpx) === null || _options$gpx2 === void 0 ? void 0 : _options$gpx2.shape);
53
- switch (shape) {
54
- case 'object-row-table':
55
- {
56
- var table = {
57
- shape: 'object-row-table',
58
- data: geojson.features
59
- };
60
- return table;
61
- }
62
- case 'geojson-table':
63
- {
64
- var _table = {
65
- shape: 'geojson-table',
66
- type: 'FeatureCollection',
67
- features: geojson.features
68
- };
69
- return _table;
70
- }
71
- case 'geojson':
72
- return geojson;
73
- case 'binary':
74
- return (0, _gis.geojsonToBinary)(geojson.features);
75
- case 'raw':
76
- return doc;
77
- default:
78
- return geojson;
79
- }
80
- }
81
- //# sourceMappingURL=gpx-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gpx-loader.js","names":["_gis","require","_togeojson","_xmldom","VERSION","GPX_HEADER","GPXLoader","name","id","module","version","extensions","mimeTypes","text","tests","parse","_parse","_asyncToGenerator2","default","_regenerator","mark","_callee","arrayBuffer","options","wrap","_callee$","_context","prev","next","abrupt","parseTextSync","TextDecoder","decode","stop","_x","_x2","apply","arguments","gpx","gis","exports","_options$gis","_options$gpx","_options$gpx2","doc","DOMParser","parseFromString","geojson","shape","format","type","table","data","features","geojsonToBinary"],"sources":["../../src/gpx-loader.ts"],"sourcesContent":["import type {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport type {GeoJSONTable, FeatureCollection, ObjectRowTable} from '@loaders.gl/schema';\nimport {gpx} from '@tmcw/togeojson';\nimport {DOMParser} from '@xmldom/xmldom';\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 GPXLoaderOptions = LoaderOptions & {\n gpx?: {\n shape?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n /** @deprecated. Use options.gpx.shape */\n type?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n };\n gis?: {\n /** @deprecated. Use options.gpx.shape */\n format?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n };\n};\n\nconst GPX_HEADER = `\\\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<gpx`;\n\n/**\n * Loader for GPX (GPS exchange format)\n */\nexport const GPXLoader: LoaderWithParser<any, never, GPXLoaderOptions> = {\n name: 'GPX (GPS exchange format)',\n id: 'gpx',\n module: 'kml',\n version: VERSION,\n extensions: ['gpx'],\n mimeTypes: ['application/gpx+xml'],\n text: true,\n tests: [GPX_HEADER],\n parse: async (arrayBuffer, options?: GPXLoaderOptions) =>\n parseTextSync(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync,\n options: {\n gpx: {},\n gis: {}\n }\n};\n\nfunction parseTextSync(text: string, options?: GPXLoaderOptions) {\n const doc = new DOMParser().parseFromString(text, 'text/xml');\n const geojson: FeatureCollection = gpx(doc);\n\n const shape = options?.gis?.format || options?.gpx?.type || options?.gpx?.shape;\n\n switch (shape) {\n case 'object-row-table': {\n const table: ObjectRowTable = {\n shape: 'object-row-table',\n data: geojson.features\n };\n return table;\n }\n case 'geojson-table': {\n const table: GeoJSONTable = {\n shape: 'geojson-table',\n type: 'FeatureCollection',\n features: geojson.features\n };\n return table;\n }\n case 'geojson':\n return geojson;\n case 'binary':\n return geojsonToBinary(geojson.features);\n case 'raw':\n return doc;\n default:\n // Default to geojson for backwards compatibility\n return geojson;\n }\n}\n"],"mappings":"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"}
package/dist/es5/index.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "GPXLoader", {
7
- enumerable: true,
8
- get: function get() {
9
- return _gpxLoader.GPXLoader;
10
- }
11
- });
12
- Object.defineProperty(exports, "KMLLoader", {
13
- enumerable: true,
14
- get: function get() {
15
- return _kmlLoader.KMLLoader;
16
- }
17
- });
18
- Object.defineProperty(exports, "TCXLoader", {
19
- enumerable: true,
20
- get: function get() {
21
- return _tcxLoader.TCXLoader;
22
- }
23
- });
24
- var _gpxLoader = require("./gpx-loader");
25
- var _kmlLoader = require("./kml-loader");
26
- var _tcxLoader = require("./tcx-loader");
27
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_gpxLoader","require","_kmlLoader","_tcxLoader"],"sources":["../../src/index.ts"],"sourcesContent":["// POLYFILL: DOMParser\n// - Node: Yes\n// - Browser: No\n\nexport type {GPXLoaderOptions} from './gpx-loader';\nexport {GPXLoader} from './gpx-loader';\n\nexport type {KMLLoaderOptions} from './kml-loader';\nexport {KMLLoader} from './kml-loader';\n\nexport type {TCXLoaderOptions} from './tcx-loader';\nexport {TCXLoader} from './tcx-loader';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAAA,UAAA,GAAAC,OAAA;AAGA,IAAAC,UAAA,GAAAD,OAAA;AAGA,IAAAE,UAAA,GAAAF,OAAA"}
@@ -1,62 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.KMLLoader = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _togeojson = require("@tmcw/togeojson");
11
- var _xmldom = require("@xmldom/xmldom");
12
- var VERSION = typeof "4.0.0-beta.1" !== 'undefined' ? "4.0.0-beta.1" : 'latest';
13
- var KML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<kml xmlns=\"http://www.opengis.net/kml/2.2\">";
14
- var KMLLoader = {
15
- name: 'KML (Keyhole Markup Language)',
16
- id: 'kml',
17
- module: 'kml',
18
- version: VERSION,
19
- extensions: ['kml'],
20
- mimeTypes: ['application/vnd.google-earth.kml+xml'],
21
- text: true,
22
- tests: [KML_HEADER],
23
- parse: function () {
24
- var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
25
- return _regenerator.default.wrap(function _callee$(_context) {
26
- while (1) switch (_context.prev = _context.next) {
27
- case 0:
28
- return _context.abrupt("return", parseTextSync(new TextDecoder().decode(arrayBuffer), options));
29
- case 1:
30
- case "end":
31
- return _context.stop();
32
- }
33
- }, _callee);
34
- }));
35
- function parse(_x, _x2) {
36
- return _parse.apply(this, arguments);
37
- }
38
- return parse;
39
- }(),
40
- parseTextSync: parseTextSync,
41
- options: {
42
- kml: {},
43
- gis: {}
44
- }
45
- };
46
- exports.KMLLoader = KMLLoader;
47
- function parseTextSync(text, options) {
48
- var _options$gis, _options$kml, _options$kml2;
49
- var doc = new _xmldom.DOMParser().parseFromString(text, 'text/xml');
50
- var geojson = (0, _togeojson.kml)(doc);
51
- var shape = (options === null || options === void 0 ? void 0 : (_options$gis = options.gis) === null || _options$gis === void 0 ? void 0 : _options$gis.format) || (options === null || options === void 0 ? void 0 : (_options$kml = options.kml) === null || _options$kml === void 0 ? void 0 : _options$kml.type) || (options === null || options === void 0 ? void 0 : (_options$kml2 = options.kml) === null || _options$kml2 === void 0 ? void 0 : _options$kml2.shape);
52
- switch (shape) {
53
- case 'object-row-table':
54
- default:
55
- var table = {
56
- shape: 'object-row-table',
57
- data: geojson.features
58
- };
59
- return table;
60
- }
61
- }
62
- //# sourceMappingURL=kml-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kml-loader.js","names":["_togeojson","require","_xmldom","VERSION","KML_HEADER","KMLLoader","name","id","module","version","extensions","mimeTypes","text","tests","parse","_parse","_asyncToGenerator2","default","_regenerator","mark","_callee","arrayBuffer","options","wrap","_callee$","_context","prev","next","abrupt","parseTextSync","TextDecoder","decode","stop","_x","_x2","apply","arguments","kml","gis","exports","_options$gis","_options$kml","_options$kml2","doc","DOMParser","parseFromString","geojson","shape","format","type","table","data","features"],"sources":["../../src/kml-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\n// import {geojsonToBinary} from '@loaders.gl/gis';\n// import {GeoJSONTable} from '@loaders.gl/schema';\nimport {FeatureCollection, ObjectRowTable} from '@loaders.gl/schema';\nimport {kml} from '@tmcw/togeojson';\nimport {DOMParser} from '@xmldom/xmldom';\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 KMLLoaderOptions = LoaderOptions & {\n kml?: {\n shape?: 'object-row-table' | 'geojson-table';\n /** @deprecated. Use options.kml.shape */\n type?: 'object-row-table' | 'geojson-table';\n };\n gis?: {\n /** @deprecated. Use options.kml.shape */\n format?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n };\n};\n\nconst KML_HEADER = `\\\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<kml xmlns=\"http://www.opengis.net/kml/2.2\">`;\n\n/**\n * Loader for KML (Keyhole Markup Language)\n */\nexport const KMLLoader: LoaderWithParser<ObjectRowTable, never, KMLLoaderOptions> = {\n name: 'KML (Keyhole Markup Language)',\n id: 'kml',\n module: 'kml',\n version: VERSION,\n extensions: ['kml'],\n mimeTypes: ['application/vnd.google-earth.kml+xml'],\n text: true,\n tests: [KML_HEADER],\n parse: async (arrayBuffer, options?: KMLLoaderOptions) =>\n parseTextSync(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync,\n options: {\n kml: {},\n gis: {}\n }\n};\n\nfunction parseTextSync(text: string, options?: KMLLoaderOptions): ObjectRowTable {\n const doc = new DOMParser().parseFromString(text, 'text/xml');\n const geojson: FeatureCollection = kml(doc);\n\n // backwards compatibility\n const shape = options?.gis?.format || options?.kml?.type || options?.kml?.shape;\n switch (shape) {\n // case 'geojson-table': {\n // const table: GeoJSONTable = {\n // shape: 'geojson-table',\n // data: geojson.features\n // };\n // return table;\n // }\n // case 'geojson':\n // return geojson;\n // case 'binary':\n // return geojsonToBinary(geojson.features);\n // case 'raw':\n // return doc;\n case 'object-row-table':\n default:\n const table: ObjectRowTable = {\n shape: 'object-row-table',\n data: geojson.features\n };\n return table;\n }\n}\n"],"mappings":";;;;;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAIA,IAAME,OAAO,GAAG,qBAAkB,KAAK,WAAW,oBAAiB,QAAQ;AAc3E,IAAMC,UAAU,+FAE6B;AAKtC,IAAMC,SAAoE,GAAG;EAClFC,IAAI,EAAE,+BAA+B;EACrCC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAEN,OAAO;EAChBO,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,sCAAsC,CAAC;EACnDC,IAAI,EAAE,IAAI;EACVC,KAAK,EAAE,CAACT,UAAU,CAAC;EACnBU,KAAK;IAAA,IAAAC,MAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAE,SAAAC,QAAOC,WAAW,EAAEC,OAA0B;MAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WACnDC,aAAa,CAAC,IAAIC,WAAW,CAAC,CAAC,CAACC,MAAM,CAACV,WAAW,CAAC,EAAEC,OAAO,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAO,IAAA;QAAA;MAAA,GAAAZ,OAAA;IAAA;IAAA,SAAAN,MAAAmB,EAAA,EAAAC,GAAA;MAAA,OAAAnB,MAAA,CAAAoB,KAAA,OAAAC,SAAA;IAAA;IAAA,OAAAtB,KAAA;EAAA;EAC/De,aAAa,EAAbA,aAAa;EACbP,OAAO,EAAE;IACPe,GAAG,EAAE,CAAC,CAAC;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAACC,OAAA,CAAAlC,SAAA,GAAAA,SAAA;AAEF,SAASwB,aAAaA,CAACjB,IAAY,EAAEU,OAA0B,EAAkB;EAAA,IAAAkB,YAAA,EAAAC,YAAA,EAAAC,aAAA;EAC/E,IAAMC,GAAG,GAAG,IAAIC,iBAAS,CAAC,CAAC,CAACC,eAAe,CAACjC,IAAI,EAAE,UAAU,CAAC;EAC7D,IAAMkC,OAA0B,GAAG,IAAAT,cAAG,EAACM,GAAG,CAAC;EAG3C,IAAMI,KAAK,GAAG,CAAAzB,OAAO,aAAPA,OAAO,wBAAAkB,YAAA,GAAPlB,OAAO,CAAEgB,GAAG,cAAAE,YAAA,uBAAZA,YAAA,CAAcQ,MAAM,MAAI1B,OAAO,aAAPA,OAAO,wBAAAmB,YAAA,GAAPnB,OAAO,CAAEe,GAAG,cAAAI,YAAA,uBAAZA,YAAA,CAAcQ,IAAI,MAAI3B,OAAO,aAAPA,OAAO,wBAAAoB,aAAA,GAAPpB,OAAO,CAAEe,GAAG,cAAAK,aAAA,uBAAZA,aAAA,CAAcK,KAAK;EAC/E,QAAQA,KAAK;IAcX,KAAK,kBAAkB;IACvB;MACE,IAAMG,KAAqB,GAAG;QAC5BH,KAAK,EAAE,kBAAkB;QACzBI,IAAI,EAAEL,OAAO,CAACM;MAChB,CAAC;MACD,OAAOF,KAAK;EAChB;AACF"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.TCXLoader = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _gis = require("@loaders.gl/gis");
11
- var _togeojson = require("@tmcw/togeojson");
12
- var _xmldom = require("@xmldom/xmldom");
13
- var VERSION = typeof "4.0.0-beta.1" !== 'undefined' ? "4.0.0-beta.1" : 'latest';
14
- var TCX_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<TrainingCenterDatabase";
15
- var TCXLoader = {
16
- name: 'TCX (Training Center XML)',
17
- id: 'tcx',
18
- module: 'kml',
19
- version: VERSION,
20
- extensions: ['tcx'],
21
- mimeTypes: ['application/vnd.garmin.tcx+xml'],
22
- text: true,
23
- tests: [TCX_HEADER],
24
- parse: function () {
25
- var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
26
- return _regenerator.default.wrap(function _callee$(_context) {
27
- while (1) switch (_context.prev = _context.next) {
28
- case 0:
29
- return _context.abrupt("return", parseTextSync(new TextDecoder().decode(arrayBuffer), options));
30
- case 1:
31
- case "end":
32
- return _context.stop();
33
- }
34
- }, _callee);
35
- }));
36
- function parse(_x, _x2) {
37
- return _parse.apply(this, arguments);
38
- }
39
- return parse;
40
- }(),
41
- parseTextSync: parseTextSync,
42
- options: {
43
- tcx: {},
44
- gis: {}
45
- }
46
- };
47
- exports.TCXLoader = TCXLoader;
48
- function parseTextSync(text, options) {
49
- var _options$gis, _options$tcx, _options$tcx2;
50
- var doc = new _xmldom.DOMParser().parseFromString(text, 'text/xml');
51
- var geojson = (0, _togeojson.tcx)(doc);
52
- var shape = (options === null || options === void 0 ? void 0 : (_options$gis = options.gis) === null || _options$gis === void 0 ? void 0 : _options$gis.format) || (options === null || options === void 0 ? void 0 : (_options$tcx = options.tcx) === null || _options$tcx === void 0 ? void 0 : _options$tcx.type) || (options === null || options === void 0 ? void 0 : (_options$tcx2 = options.tcx) === null || _options$tcx2 === void 0 ? void 0 : _options$tcx2.shape);
53
- switch (shape) {
54
- case 'object-row-table':
55
- {
56
- var table = {
57
- shape: 'object-row-table',
58
- data: geojson.features
59
- };
60
- return table;
61
- }
62
- case 'geojson-table':
63
- {
64
- var _table = {
65
- shape: 'geojson-table',
66
- type: 'FeatureCollection',
67
- features: geojson.features
68
- };
69
- return _table;
70
- }
71
- case 'geojson':
72
- return geojson;
73
- case 'binary':
74
- return (0, _gis.geojsonToBinary)(geojson.features);
75
- case 'raw':
76
- return doc;
77
- default:
78
- return geojson;
79
- }
80
- }
81
- //# sourceMappingURL=tcx-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tcx-loader.js","names":["_gis","require","_togeojson","_xmldom","VERSION","TCX_HEADER","TCXLoader","name","id","module","version","extensions","mimeTypes","text","tests","parse","_parse","_asyncToGenerator2","default","_regenerator","mark","_callee","arrayBuffer","options","wrap","_callee$","_context","prev","next","abrupt","parseTextSync","TextDecoder","decode","stop","_x","_x2","apply","arguments","tcx","gis","exports","_options$gis","_options$tcx","_options$tcx2","doc","DOMParser","parseFromString","geojson","shape","format","type","table","data","features","geojsonToBinary"],"sources":["../../src/tcx-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport type {GeoJSONTable, FeatureCollection, ObjectRowTable} from '@loaders.gl/schema';\nimport {tcx} from '@tmcw/togeojson';\nimport {DOMParser} from '@xmldom/xmldom';\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 TCXLoaderOptions = LoaderOptions & {\n tcx?: {\n shape?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n /** @deprecated. Use options.tcx.shape */\n type?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n };\n gis?: {\n /** @deprecated. Use options.tcx.shape */\n format?: 'object-row-table' | 'geojson-table' | 'geojson' | 'binary' | 'raw';\n };\n};\n\nconst TCX_HEADER = `\\\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<TrainingCenterDatabase`;\n\n/**\n * Loader for TCX (Training Center XML) - Garmin GPS track format\n */\nexport const TCXLoader: LoaderWithParser<any, never, TCXLoaderOptions> = {\n name: 'TCX (Training Center XML)',\n id: 'tcx',\n module: 'kml',\n version: VERSION,\n extensions: ['tcx'],\n mimeTypes: ['application/vnd.garmin.tcx+xml'],\n text: true,\n tests: [TCX_HEADER],\n parse: async (arrayBuffer, options?: TCXLoaderOptions) =>\n parseTextSync(new TextDecoder().decode(arrayBuffer), options),\n parseTextSync,\n options: {\n tcx: {},\n gis: {}\n }\n};\n\nfunction parseTextSync(text: string, options?: TCXLoaderOptions) {\n const doc = new DOMParser().parseFromString(text, 'text/xml');\n const geojson: FeatureCollection = tcx(doc);\n\n // backwards compatibility\n const shape = options?.gis?.format || options?.tcx?.type || options?.tcx?.shape;\n\n switch (shape) {\n case 'object-row-table': {\n const table: ObjectRowTable = {\n shape: 'object-row-table',\n data: geojson.features\n };\n return table;\n }\n case 'geojson-table': {\n const table: GeoJSONTable = {\n shape: 'geojson-table',\n type: 'FeatureCollection',\n features: geojson.features\n };\n return table;\n }\n case 'geojson':\n return geojson;\n case 'binary':\n return geojsonToBinary(geojson.features);\n case 'raw':\n return doc;\n default:\n // Default to geojson for backwards compatibility\n return geojson;\n }\n}\n"],"mappings":"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"}