@loaders.gl/bson 3.4.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/LICENSE +41 -0
  2. package/README.md +5 -0
  3. package/dist/bson-loader.d.ts +11 -0
  4. package/dist/bson-loader.d.ts.map +1 -0
  5. package/dist/bson-loader.js +31 -0
  6. package/dist/bson-writer.d.ts +3 -0
  7. package/dist/bson-writer.d.ts.map +1 -0
  8. package/dist/bson-writer.js +27 -0
  9. package/dist/bundle.d.ts +2 -0
  10. package/dist/bundle.d.ts.map +1 -0
  11. package/dist/bundle.js +5 -0
  12. package/dist/dist.min.js +5846 -0
  13. package/dist/es5/bson-loader.js +55 -0
  14. package/dist/es5/bson-loader.js.map +1 -0
  15. package/dist/es5/bson-writer.js +41 -0
  16. package/dist/es5/bson-writer.js.map +1 -0
  17. package/dist/es5/bundle.js +6 -0
  18. package/dist/es5/bundle.js.map +1 -0
  19. package/dist/es5/index.js +20 -0
  20. package/dist/es5/index.js.map +1 -0
  21. package/dist/es5/lib/encoders/encode-bson.js +12 -0
  22. package/dist/es5/lib/encoders/encode-bson.js.map +1 -0
  23. package/dist/es5/lib/parsers/parse-bson.js +12 -0
  24. package/dist/es5/lib/parsers/parse-bson.js.map +1 -0
  25. package/dist/esm/bson-loader.js +33 -0
  26. package/dist/esm/bson-loader.js.map +1 -0
  27. package/dist/esm/bson-writer.js +21 -0
  28. package/dist/esm/bson-writer.js.map +1 -0
  29. package/dist/esm/bundle.js +4 -0
  30. package/dist/esm/bundle.js.map +1 -0
  31. package/dist/esm/index.js +3 -0
  32. package/dist/esm/index.js.map +1 -0
  33. package/dist/esm/lib/encoders/encode-bson.js +6 -0
  34. package/dist/esm/lib/encoders/encode-bson.js.map +1 -0
  35. package/dist/esm/lib/parsers/parse-bson.js +6 -0
  36. package/dist/esm/lib/parsers/parse-bson.js.map +1 -0
  37. package/dist/index.d.ts +4 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +8 -0
  40. package/dist/lib/encoders/encode-bson.d.ts +4 -0
  41. package/dist/lib/encoders/encode-bson.d.ts.map +1 -0
  42. package/dist/lib/encoders/encode-bson.js +11 -0
  43. package/dist/lib/parsers/parse-bson.d.ts +4 -0
  44. package/dist/lib/parsers/parse-bson.d.ts.map +1 -0
  45. package/dist/lib/parsers/parse-bson.js +10 -0
  46. package/package.json +44 -0
  47. package/src/bson-loader.ts +44 -0
  48. package/src/bson-writer.ts +28 -0
  49. package/src/bundle.ts +4 -0
  50. package/src/index.ts +5 -0
  51. package/src/lib/encoders/encode-bson.ts +15 -0
  52. package/src/lib/parsers/parse-bson.ts +14 -0
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.BSONLoader = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _parseBson = require("./lib/parsers/parse-bson");
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
+ var VERSION = typeof "3.4.0-alpha.3" !== 'undefined' ? "3.4.0-alpha.3" : 'latest';
15
+ var DEFAULT_BSON_LOADER_OPTIONS = {
16
+ bson: {}
17
+ };
18
+ var BSONLoader = {
19
+ name: 'BSON',
20
+ id: 'bson',
21
+ module: 'bson',
22
+ version: VERSION,
23
+ extensions: ['bson'],
24
+ mimeTypes: ['application/bson'],
25
+ category: 'json',
26
+ binary: true,
27
+ parse: parse,
28
+ parseSync: parseSync,
29
+ options: DEFAULT_BSON_LOADER_OPTIONS
30
+ };
31
+ exports.BSONLoader = BSONLoader;
32
+ function parse(_x, _x2) {
33
+ return _parse.apply(this, arguments);
34
+ }
35
+ function _parse() {
36
+ _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
37
+ var bsonOptions;
38
+ return _regenerator.default.wrap(function _callee$(_context) {
39
+ while (1) switch (_context.prev = _context.next) {
40
+ case 0:
41
+ bsonOptions = _objectSpread(_objectSpread({}, DEFAULT_BSON_LOADER_OPTIONS.bson), options === null || options === void 0 ? void 0 : options.bson);
42
+ return _context.abrupt("return", (0, _parseBson.parseBSONSync)(arrayBuffer, bsonOptions));
43
+ case 2:
44
+ case "end":
45
+ return _context.stop();
46
+ }
47
+ }, _callee);
48
+ }));
49
+ return _parse.apply(this, arguments);
50
+ }
51
+ function parseSync(arrayBuffer, options) {
52
+ var bsonOptions = _objectSpread(_objectSpread({}, DEFAULT_BSON_LOADER_OPTIONS.bson), options === null || options === void 0 ? void 0 : options.bson);
53
+ return (0, _parseBson.parseBSONSync)(arrayBuffer, bsonOptions);
54
+ }
55
+ //# sourceMappingURL=bson-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bson-loader.js","names":["_parseBson","require","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","VERSION","DEFAULT_BSON_LOADER_OPTIONS","bson","BSONLoader","name","id","module","version","extensions","mimeTypes","category","binary","parse","parseSync","options","exports","_x","_x2","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","bsonOptions","wrap","_callee$","_context","prev","next","abrupt","parseBSONSync","stop"],"sources":["../../src/bson-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {ParseBSONOptions} from './lib/parsers/parse-bson';\nimport {parseBSONSync} from './lib/parsers/parse-bson';\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\n/**\n * @param table -\n * @param bsonpaths -\n */\nexport type BSONLoaderOptions = LoaderOptions & {\n bson?: ParseBSONOptions;\n};\n\nconst DEFAULT_BSON_LOADER_OPTIONS = {\n bson: {}\n};\n\nexport const BSONLoader: LoaderWithParser = {\n name: 'BSON',\n id: 'bson',\n module: 'bson',\n version: VERSION,\n extensions: ['bson'],\n mimeTypes: ['application/bson'],\n category: 'json',\n binary: true,\n parse,\n parseSync,\n options: DEFAULT_BSON_LOADER_OPTIONS\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: BSONLoaderOptions) {\n const bsonOptions = {...DEFAULT_BSON_LOADER_OPTIONS.bson, ...options?.bson};\n return parseBSONSync(arrayBuffer, bsonOptions);\n}\n\nfunction parseSync(arrayBuffer: ArrayBuffer, options?: BSONLoaderOptions) {\n const bsonOptions = {...DEFAULT_BSON_LOADER_OPTIONS.bson, ...options?.bson};\n return parseBSONSync(arrayBuffer, bsonOptions);\n}\n"],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.BSONWriter = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _encodeBson = require("./lib/encoders/encode-bson");
11
+ var VERSION = typeof "3.4.0-alpha.3" !== 'undefined' ? "3.4.0-alpha.3" : 'latest';
12
+ var BSONWriter = {
13
+ name: 'BSON',
14
+ id: 'bson',
15
+ module: 'bson',
16
+ version: VERSION,
17
+ extensions: ['bson'],
18
+ options: {
19
+ image: {
20
+ mimeType: 'application/bson'
21
+ }
22
+ },
23
+ encode: function encode(data, options) {
24
+ return (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
25
+ return _regenerator.default.wrap(function _callee$(_context) {
26
+ while (1) switch (_context.prev = _context.next) {
27
+ case 0:
28
+ return _context.abrupt("return", (0, _encodeBson.encodeBSONSync)(data, {}));
29
+ case 1:
30
+ case "end":
31
+ return _context.stop();
32
+ }
33
+ }, _callee);
34
+ }))();
35
+ },
36
+ encodeSync: function encodeSync(data, options) {
37
+ return (0, _encodeBson.encodeBSONSync)(data, {});
38
+ }
39
+ };
40
+ exports.BSONWriter = BSONWriter;
41
+ //# sourceMappingURL=bson-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bson-writer.js","names":["_encodeBson","require","VERSION","BSONWriter","name","id","module","version","extensions","options","image","mimeType","encode","data","_asyncToGenerator2","default","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","encodeBSONSync","stop","encodeSync","exports"],"sources":["../../src/bson-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {encodeBSONSync} from './lib/encoders/encode-bson';\n// import type {Writer} from '@loaders.gl/loader-utils';\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 const BSONWriter: Writer = {\n name: 'BSON',\n id: 'bson',\n module: 'bson',\n version: VERSION,\n extensions: ['bson'],\n options: {\n image: {\n mimeType: 'application/bson'\n }\n },\n async encode(data: Record<string, unknown>, options?: WriterOptions): Promise<ArrayBuffer> {\n return encodeBSONSync(data, {}); // options\n },\n encodeSync(data: Record<string, unknown>, options?: WriterOptions): ArrayBuffer {\n return encodeBSONSync(data, {}); // options\n }\n};\n"],"mappings":";;;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAEpE,IAAMC,UAAkB,GAAG;EAChCC,IAAI,EAAE,MAAM;EACZC,EAAE,EAAE,MAAM;EACVC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAEL,OAAO;EAChBM,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,EAAE;IACPC,KAAK,EAAE;MACLC,QAAQ,EAAE;IACZ;EACF,CAAC;EACKC,MAAM,WAAAA,OAACC,IAA6B,EAAEJ,OAAuB,EAAwB;IAAA,WAAAK,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,UAAAC,QAAA;MAAA,OAAAF,YAAA,CAAAD,OAAA,CAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,WAClF,IAAAC,0BAAc,EAACZ,IAAI,EAAE,CAAC,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAQ,QAAA,CAAAK,IAAA;QAAA;MAAA,GAAAR,OAAA;IAAA;EACjC,CAAC;EACDS,UAAU,WAAAA,WAACd,IAA6B,EAAEJ,OAAuB,EAAe;IAC9E,OAAO,IAAAgB,0BAAc,EAACZ,IAAI,EAAE,CAAC,CAAC,CAAC;EACjC;AACF,CAAC;AAACe,OAAA,CAAAzB,UAAA,GAAAA,UAAA"}
@@ -0,0 +1,6 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "BSONLoader", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _bsonLoader.BSONLoader;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "BSONWriter", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _bsonWriter.BSONWriter;
16
+ }
17
+ });
18
+ var _bsonLoader = require("./bson-loader");
19
+ var _bsonWriter = require("./bson-writer");
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_bsonLoader","require","_bsonWriter"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport type {BSONLoaderOptions} from './bson-loader';\nexport {BSONLoader} from './bson-loader';\nexport {BSONWriter} from './bson-writer';\n"],"mappings":";;;;;;;;;;;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.encodeBSONSync = encodeBSONSync;
7
+ var _bson = require("bson");
8
+ function encodeBSONSync(value, options) {
9
+ var uint8Array = (0, _bson.serialize)(value);
10
+ return uint8Array.buffer;
11
+ }
12
+ //# sourceMappingURL=encode-bson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-bson.js","names":["_bson","require","encodeBSONSync","value","options","uint8Array","serialize","buffer"],"sources":["../../../../src/lib/encoders/encode-bson.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {SerializeOptions} from 'bson';\nimport {serialize} from 'bson';\n\nexport type EncodeBSONOptions = SerializeOptions;\n\nexport function encodeBSONSync(\n value: Record<string, unknown>,\n options?: EncodeBSONOptions\n): ArrayBuffer {\n const uint8Array = serialize(value);\n // TODO - make sure the uint8array occupies the entire buffer.\n return uint8Array.buffer;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAIO,SAASC,cAAcA,CAC5BC,KAA8B,EAC9BC,OAA2B,EACd;EACb,IAAMC,UAAU,GAAG,IAAAC,eAAS,EAACH,KAAK,CAAC;EAEnC,OAAOE,UAAU,CAACE,MAAM;AAC1B"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseBSONSync = parseBSONSync;
7
+ var _bson = require("bson");
8
+ function parseBSONSync(value, options) {
9
+ var parsedData = (0, _bson.deserialize)(new Uint8Array(value), options);
10
+ return parsedData;
11
+ }
12
+ //# sourceMappingURL=parse-bson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-bson.js","names":["_bson","require","parseBSONSync","value","options","parsedData","deserialize","Uint8Array"],"sources":["../../../../src/lib/parsers/parse-bson.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {DeserializeOptions} from 'bson';\nimport {deserialize} from 'bson';\n\nexport type ParseBSONOptions = DeserializeOptions;\n\nexport function parseBSONSync(\n value: ArrayBuffer,\n options?: ParseBSONOptions\n): Record<string, unknown> {\n const parsedData = deserialize(new Uint8Array(value), options);\n return parsedData;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAIO,SAASC,aAAaA,CAC3BC,KAAkB,EAClBC,OAA0B,EACD;EACzB,IAAMC,UAAU,GAAG,IAAAC,iBAAW,EAAC,IAAIC,UAAU,CAACJ,KAAK,CAAC,EAAEC,OAAO,CAAC;EAC9D,OAAOC,UAAU;AACnB"}
@@ -0,0 +1,33 @@
1
+ import { parseBSONSync } from './lib/parsers/parse-bson';
2
+ const VERSION = typeof "3.4.0-alpha.3" !== 'undefined' ? "3.4.0-alpha.3" : 'latest';
3
+ const DEFAULT_BSON_LOADER_OPTIONS = {
4
+ bson: {}
5
+ };
6
+ export const BSONLoader = {
7
+ name: 'BSON',
8
+ id: 'bson',
9
+ module: 'bson',
10
+ version: VERSION,
11
+ extensions: ['bson'],
12
+ mimeTypes: ['application/bson'],
13
+ category: 'json',
14
+ binary: true,
15
+ parse,
16
+ parseSync,
17
+ options: DEFAULT_BSON_LOADER_OPTIONS
18
+ };
19
+ async function parse(arrayBuffer, options) {
20
+ const bsonOptions = {
21
+ ...DEFAULT_BSON_LOADER_OPTIONS.bson,
22
+ ...(options === null || options === void 0 ? void 0 : options.bson)
23
+ };
24
+ return parseBSONSync(arrayBuffer, bsonOptions);
25
+ }
26
+ function parseSync(arrayBuffer, options) {
27
+ const bsonOptions = {
28
+ ...DEFAULT_BSON_LOADER_OPTIONS.bson,
29
+ ...(options === null || options === void 0 ? void 0 : options.bson)
30
+ };
31
+ return parseBSONSync(arrayBuffer, bsonOptions);
32
+ }
33
+ //# sourceMappingURL=bson-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bson-loader.js","names":["parseBSONSync","VERSION","DEFAULT_BSON_LOADER_OPTIONS","bson","BSONLoader","name","id","module","version","extensions","mimeTypes","category","binary","parse","parseSync","options","arrayBuffer","bsonOptions"],"sources":["../../src/bson-loader.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {ParseBSONOptions} from './lib/parsers/parse-bson';\nimport {parseBSONSync} from './lib/parsers/parse-bson';\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\n/**\n * @param table -\n * @param bsonpaths -\n */\nexport type BSONLoaderOptions = LoaderOptions & {\n bson?: ParseBSONOptions;\n};\n\nconst DEFAULT_BSON_LOADER_OPTIONS = {\n bson: {}\n};\n\nexport const BSONLoader: LoaderWithParser = {\n name: 'BSON',\n id: 'bson',\n module: 'bson',\n version: VERSION,\n extensions: ['bson'],\n mimeTypes: ['application/bson'],\n category: 'json',\n binary: true,\n parse,\n parseSync,\n options: DEFAULT_BSON_LOADER_OPTIONS\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: BSONLoaderOptions) {\n const bsonOptions = {...DEFAULT_BSON_LOADER_OPTIONS.bson, ...options?.bson};\n return parseBSONSync(arrayBuffer, bsonOptions);\n}\n\nfunction parseSync(arrayBuffer: ArrayBuffer, options?: BSONLoaderOptions) {\n const bsonOptions = {...DEFAULT_BSON_LOADER_OPTIONS.bson, ...options?.bson};\n return parseBSONSync(arrayBuffer, bsonOptions);\n}\n"],"mappings":"AAGA,SAAQA,aAAa,QAAO,0BAA0B;AAItD,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAU3E,MAAMC,2BAA2B,GAAG;EAClCC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,OAAO,MAAMC,UAA4B,GAAG;EAC1CC,IAAI,EAAE,MAAM;EACZC,EAAE,EAAE,MAAM;EACVC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAEP,OAAO;EAChBQ,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,SAAS,EAAE,CAAC,kBAAkB,CAAC;EAC/BC,QAAQ,EAAE,MAAM;EAChBC,MAAM,EAAE,IAAI;EACZC,KAAK;EACLC,SAAS;EACTC,OAAO,EAAEb;AACX,CAAC;AAED,eAAeW,KAAKA,CAACG,WAAwB,EAAED,OAA2B,EAAE;EAC1E,MAAME,WAAW,GAAG;IAAC,GAAGf,2BAA2B,CAACC,IAAI;IAAE,IAAGY,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEZ,IAAI;EAAA,CAAC;EAC3E,OAAOH,aAAa,CAACgB,WAAW,EAAEC,WAAW,CAAC;AAChD;AAEA,SAASH,SAASA,CAACE,WAAwB,EAAED,OAA2B,EAAE;EACxE,MAAME,WAAW,GAAG;IAAC,GAAGf,2BAA2B,CAACC,IAAI;IAAE,IAAGY,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEZ,IAAI;EAAA,CAAC;EAC3E,OAAOH,aAAa,CAACgB,WAAW,EAAEC,WAAW,CAAC;AAChD"}
@@ -0,0 +1,21 @@
1
+ import { encodeBSONSync } from './lib/encoders/encode-bson';
2
+ const VERSION = typeof "3.4.0-alpha.3" !== 'undefined' ? "3.4.0-alpha.3" : 'latest';
3
+ export const BSONWriter = {
4
+ name: 'BSON',
5
+ id: 'bson',
6
+ module: 'bson',
7
+ version: VERSION,
8
+ extensions: ['bson'],
9
+ options: {
10
+ image: {
11
+ mimeType: 'application/bson'
12
+ }
13
+ },
14
+ async encode(data, options) {
15
+ return encodeBSONSync(data, {});
16
+ },
17
+ encodeSync(data, options) {
18
+ return encodeBSONSync(data, {});
19
+ }
20
+ };
21
+ //# sourceMappingURL=bson-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bson-writer.js","names":["encodeBSONSync","VERSION","BSONWriter","name","id","module","version","extensions","options","image","mimeType","encode","data","encodeSync"],"sources":["../../src/bson-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {encodeBSONSync} from './lib/encoders/encode-bson';\n// import type {Writer} from '@loaders.gl/loader-utils';\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 const BSONWriter: Writer = {\n name: 'BSON',\n id: 'bson',\n module: 'bson',\n version: VERSION,\n extensions: ['bson'],\n options: {\n image: {\n mimeType: 'application/bson'\n }\n },\n async encode(data: Record<string, unknown>, options?: WriterOptions): Promise<ArrayBuffer> {\n return encodeBSONSync(data, {}); // options\n },\n encodeSync(data: Record<string, unknown>, options?: WriterOptions): ArrayBuffer {\n return encodeBSONSync(data, {}); // options\n }\n};\n"],"mappings":"AAGA,SAAQA,cAAc,QAAO,4BAA4B;AAKzD,MAAMC,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAE3E,OAAO,MAAMC,UAAkB,GAAG;EAChCC,IAAI,EAAE,MAAM;EACZC,EAAE,EAAE,MAAM;EACVC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAEL,OAAO;EAChBM,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,EAAE;IACPC,KAAK,EAAE;MACLC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,MAAMC,MAAMA,CAACC,IAA6B,EAAEJ,OAAuB,EAAwB;IACzF,OAAOR,cAAc,CAACY,IAAI,EAAE,CAAC,CAAC,CAAC;EACjC,CAAC;EACDC,UAAUA,CAACD,IAA6B,EAAEJ,OAAuB,EAAe;IAC9E,OAAOR,cAAc,CAACY,IAAI,EAAE,CAAC,CAAC,CAAC;EACjC;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ const moduleExports = require('./index');
2
+ globalThis.loaders = globalThis.loaders || {};
3
+ module.exports = Object.assign(globalThis.loaders, moduleExports);
4
+ //# sourceMappingURL=bundle.js.map
@@ -0,0 +1 @@
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,MAAMA,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"}
@@ -0,0 +1,3 @@
1
+ export { BSONLoader } from './bson-loader';
2
+ export { BSONWriter } from './bson-writer';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["BSONLoader","BSONWriter"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport type {BSONLoaderOptions} from './bson-loader';\nexport {BSONLoader} from './bson-loader';\nexport {BSONWriter} from './bson-writer';\n"],"mappings":"AAGA,SAAQA,UAAU,QAAO,eAAe;AACxC,SAAQC,UAAU,QAAO,eAAe"}
@@ -0,0 +1,6 @@
1
+ import { serialize } from 'bson';
2
+ export function encodeBSONSync(value, options) {
3
+ const uint8Array = serialize(value);
4
+ return uint8Array.buffer;
5
+ }
6
+ //# sourceMappingURL=encode-bson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-bson.js","names":["serialize","encodeBSONSync","value","options","uint8Array","buffer"],"sources":["../../../../src/lib/encoders/encode-bson.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {SerializeOptions} from 'bson';\nimport {serialize} from 'bson';\n\nexport type EncodeBSONOptions = SerializeOptions;\n\nexport function encodeBSONSync(\n value: Record<string, unknown>,\n options?: EncodeBSONOptions\n): ArrayBuffer {\n const uint8Array = serialize(value);\n // TODO - make sure the uint8array occupies the entire buffer.\n return uint8Array.buffer;\n}\n"],"mappings":"AAGA,SAAQA,SAAS,QAAO,MAAM;AAI9B,OAAO,SAASC,cAAcA,CAC5BC,KAA8B,EAC9BC,OAA2B,EACd;EACb,MAAMC,UAAU,GAAGJ,SAAS,CAACE,KAAK,CAAC;EAEnC,OAAOE,UAAU,CAACC,MAAM;AAC1B"}
@@ -0,0 +1,6 @@
1
+ import { deserialize } from 'bson';
2
+ export function parseBSONSync(value, options) {
3
+ const parsedData = deserialize(new Uint8Array(value), options);
4
+ return parsedData;
5
+ }
6
+ //# sourceMappingURL=parse-bson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-bson.js","names":["deserialize","parseBSONSync","value","options","parsedData","Uint8Array"],"sources":["../../../../src/lib/parsers/parse-bson.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {DeserializeOptions} from 'bson';\nimport {deserialize} from 'bson';\n\nexport type ParseBSONOptions = DeserializeOptions;\n\nexport function parseBSONSync(\n value: ArrayBuffer,\n options?: ParseBSONOptions\n): Record<string, unknown> {\n const parsedData = deserialize(new Uint8Array(value), options);\n return parsedData;\n}\n"],"mappings":"AAGA,SAAQA,WAAW,QAAO,MAAM;AAIhC,OAAO,SAASC,aAAaA,CAC3BC,KAAkB,EAClBC,OAA0B,EACD;EACzB,MAAMC,UAAU,GAAGJ,WAAW,CAAC,IAAIK,UAAU,CAACH,KAAK,CAAC,EAAEC,OAAO,CAAC;EAC9D,OAAOC,UAAU;AACnB"}
@@ -0,0 +1,4 @@
1
+ export type { BSONLoaderOptions } from './bson-loader';
2
+ export { BSONLoader } from './bson-loader';
3
+ export { BSONWriter } from './bson-writer';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AACrD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ // loaders.gl, MIT license
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.BSONWriter = exports.BSONLoader = void 0;
5
+ var bson_loader_1 = require("./bson-loader");
6
+ Object.defineProperty(exports, "BSONLoader", { enumerable: true, get: function () { return bson_loader_1.BSONLoader; } });
7
+ var bson_writer_1 = require("./bson-writer");
8
+ Object.defineProperty(exports, "BSONWriter", { enumerable: true, get: function () { return bson_writer_1.BSONWriter; } });
@@ -0,0 +1,4 @@
1
+ import type { SerializeOptions } from 'bson';
2
+ export type EncodeBSONOptions = SerializeOptions;
3
+ export declare function encodeBSONSync(value: Record<string, unknown>, options?: EncodeBSONOptions): ArrayBuffer;
4
+ //# sourceMappingURL=encode-bson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-bson.d.ts","sourceRoot":"","sources":["../../../src/lib/encoders/encode-bson.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,MAAM,CAAC;AAG3C,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAEjD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,WAAW,CAIb"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ // loaders.gl, MIT license
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.encodeBSONSync = void 0;
5
+ const bson_1 = require("bson");
6
+ function encodeBSONSync(value, options) {
7
+ const uint8Array = (0, bson_1.serialize)(value);
8
+ // TODO - make sure the uint8array occupies the entire buffer.
9
+ return uint8Array.buffer;
10
+ }
11
+ exports.encodeBSONSync = encodeBSONSync;
@@ -0,0 +1,4 @@
1
+ import type { DeserializeOptions } from 'bson';
2
+ export type ParseBSONOptions = DeserializeOptions;
3
+ export declare function parseBSONSync(value: ArrayBuffer, options?: ParseBSONOptions): Record<string, unknown>;
4
+ //# sourceMappingURL=parse-bson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-bson.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-bson.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,MAAM,CAAC;AAG7C,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAElD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,gBAAgB,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ // loaders.gl, MIT license
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.parseBSONSync = void 0;
5
+ const bson_1 = require("bson");
6
+ function parseBSONSync(value, options) {
7
+ const parsedData = (0, bson_1.deserialize)(new Uint8Array(value), options);
8
+ return parsedData;
9
+ }
10
+ exports.parseBSONSync = parseBSONSync;
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@loaders.gl/bson",
3
+ "version": "3.4.0-alpha.3",
4
+ "description": "Framework-independent loader for JSON and streaming JSON formats",
5
+ "license": "MIT",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/visgl/loaders.gl"
12
+ },
13
+ "keywords": [
14
+ "webgl",
15
+ "loader",
16
+ "parser",
17
+ "table",
18
+ "JSON",
19
+ "Streaming JSON",
20
+ "JSON stream",
21
+ "JSON async iterator"
22
+ ],
23
+ "types": "dist/index.d.ts",
24
+ "main": "dist/es5/index.js",
25
+ "module": "dist/esm/index.js",
26
+ "sideEffects": false,
27
+ "files": [
28
+ "src",
29
+ "dist",
30
+ "README.md"
31
+ ],
32
+ "scripts": {
33
+ "pre-build": "npm run build-bundle",
34
+ "build-bundle": "esbuild src/bundle.ts --bundle --outfile=dist/dist.min.js"
35
+ },
36
+ "dependencies": {
37
+ "@loaders.gl/gis": "3.4.0-alpha.3",
38
+ "@loaders.gl/loader-utils": "3.4.0-alpha.3",
39
+ "@loaders.gl/schema": "3.4.0-alpha.3",
40
+ "@types/bson": "4.2.0",
41
+ "bson": "4.2.0"
42
+ },
43
+ "gitHead": "a954528dd1d78a1f128d8f6b07e4baeb7a296924"
44
+ }
@@ -0,0 +1,44 @@
1
+ // loaders.gl, MIT license
2
+ import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
3
+ import type {ParseBSONOptions} from './lib/parsers/parse-bson';
4
+ import {parseBSONSync} from './lib/parsers/parse-bson';
5
+
6
+ // __VERSION__ is injected by babel-plugin-version-inline
7
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
8
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
9
+
10
+ /**
11
+ * @param table -
12
+ * @param bsonpaths -
13
+ */
14
+ export type BSONLoaderOptions = LoaderOptions & {
15
+ bson?: ParseBSONOptions;
16
+ };
17
+
18
+ const DEFAULT_BSON_LOADER_OPTIONS = {
19
+ bson: {}
20
+ };
21
+
22
+ export const BSONLoader: LoaderWithParser = {
23
+ name: 'BSON',
24
+ id: 'bson',
25
+ module: 'bson',
26
+ version: VERSION,
27
+ extensions: ['bson'],
28
+ mimeTypes: ['application/bson'],
29
+ category: 'json',
30
+ binary: true,
31
+ parse,
32
+ parseSync,
33
+ options: DEFAULT_BSON_LOADER_OPTIONS
34
+ };
35
+
36
+ async function parse(arrayBuffer: ArrayBuffer, options?: BSONLoaderOptions) {
37
+ const bsonOptions = {...DEFAULT_BSON_LOADER_OPTIONS.bson, ...options?.bson};
38
+ return parseBSONSync(arrayBuffer, bsonOptions);
39
+ }
40
+
41
+ function parseSync(arrayBuffer: ArrayBuffer, options?: BSONLoaderOptions) {
42
+ const bsonOptions = {...DEFAULT_BSON_LOADER_OPTIONS.bson, ...options?.bson};
43
+ return parseBSONSync(arrayBuffer, bsonOptions);
44
+ }
@@ -0,0 +1,28 @@
1
+ // loaders.gl, MIT license
2
+
3
+ import type {Writer, WriterOptions} from '@loaders.gl/loader-utils';
4
+ import {encodeBSONSync} from './lib/encoders/encode-bson';
5
+ // import type {Writer} from '@loaders.gl/loader-utils';
6
+
7
+ // __VERSION__ is injected by babel-plugin-version-inline
8
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
9
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
10
+
11
+ export const BSONWriter: Writer = {
12
+ name: 'BSON',
13
+ id: 'bson',
14
+ module: 'bson',
15
+ version: VERSION,
16
+ extensions: ['bson'],
17
+ options: {
18
+ image: {
19
+ mimeType: 'application/bson'
20
+ }
21
+ },
22
+ async encode(data: Record<string, unknown>, options?: WriterOptions): Promise<ArrayBuffer> {
23
+ return encodeBSONSync(data, {}); // options
24
+ },
25
+ encodeSync(data: Record<string, unknown>, options?: WriterOptions): ArrayBuffer {
26
+ return encodeBSONSync(data, {}); // options
27
+ }
28
+ };
package/src/bundle.ts ADDED
@@ -0,0 +1,4 @@
1
+ // @ts-nocheck
2
+ const moduleExports = require('./index');
3
+ globalThis.loaders = globalThis.loaders || {};
4
+ module.exports = Object.assign(globalThis.loaders, moduleExports);
package/src/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ // loaders.gl, MIT license
2
+
3
+ export type {BSONLoaderOptions} from './bson-loader';
4
+ export {BSONLoader} from './bson-loader';
5
+ export {BSONWriter} from './bson-writer';
@@ -0,0 +1,15 @@
1
+ // loaders.gl, MIT license
2
+
3
+ import type {SerializeOptions} from 'bson';
4
+ import {serialize} from 'bson';
5
+
6
+ export type EncodeBSONOptions = SerializeOptions;
7
+
8
+ export function encodeBSONSync(
9
+ value: Record<string, unknown>,
10
+ options?: EncodeBSONOptions
11
+ ): ArrayBuffer {
12
+ const uint8Array = serialize(value);
13
+ // TODO - make sure the uint8array occupies the entire buffer.
14
+ return uint8Array.buffer;
15
+ }
@@ -0,0 +1,14 @@
1
+ // loaders.gl, MIT license
2
+
3
+ import type {DeserializeOptions} from 'bson';
4
+ import {deserialize} from 'bson';
5
+
6
+ export type ParseBSONOptions = DeserializeOptions;
7
+
8
+ export function parseBSONSync(
9
+ value: ArrayBuffer,
10
+ options?: ParseBSONOptions
11
+ ): Record<string, unknown> {
12
+ const parsedData = deserialize(new Uint8Array(value), options);
13
+ return parsedData;
14
+ }