@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.
- package/LICENSE +41 -0
- package/README.md +5 -0
- package/dist/bson-loader.d.ts +11 -0
- package/dist/bson-loader.d.ts.map +1 -0
- package/dist/bson-loader.js +31 -0
- package/dist/bson-writer.d.ts +3 -0
- package/dist/bson-writer.d.ts.map +1 -0
- package/dist/bson-writer.js +27 -0
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +5 -0
- package/dist/dist.min.js +5846 -0
- package/dist/es5/bson-loader.js +55 -0
- package/dist/es5/bson-loader.js.map +1 -0
- package/dist/es5/bson-writer.js +41 -0
- package/dist/es5/bson-writer.js.map +1 -0
- package/dist/es5/bundle.js +6 -0
- package/dist/es5/bundle.js.map +1 -0
- package/dist/es5/index.js +20 -0
- package/dist/es5/index.js.map +1 -0
- package/dist/es5/lib/encoders/encode-bson.js +12 -0
- package/dist/es5/lib/encoders/encode-bson.js.map +1 -0
- package/dist/es5/lib/parsers/parse-bson.js +12 -0
- package/dist/es5/lib/parsers/parse-bson.js.map +1 -0
- package/dist/esm/bson-loader.js +33 -0
- package/dist/esm/bson-loader.js.map +1 -0
- package/dist/esm/bson-writer.js +21 -0
- package/dist/esm/bson-writer.js.map +1 -0
- package/dist/esm/bundle.js +4 -0
- package/dist/esm/bundle.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/encoders/encode-bson.js +6 -0
- package/dist/esm/lib/encoders/encode-bson.js.map +1 -0
- package/dist/esm/lib/parsers/parse-bson.js +6 -0
- package/dist/esm/lib/parsers/parse-bson.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/lib/encoders/encode-bson.d.ts +4 -0
- package/dist/lib/encoders/encode-bson.d.ts.map +1 -0
- package/dist/lib/encoders/encode-bson.js +11 -0
- package/dist/lib/parsers/parse-bson.d.ts +4 -0
- package/dist/lib/parsers/parse-bson.d.ts.map +1 -0
- package/dist/lib/parsers/parse-bson.js +10 -0
- package/package.json +44 -0
- package/src/bson-loader.ts +44 -0
- package/src/bson-writer.ts +28 -0
- package/src/bundle.ts +4 -0
- package/src/index.ts +5 -0
- package/src/lib/encoders/encode-bson.ts +15 -0
- 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":";;;;;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAAuD,SAAAC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAIvD,IAAMY,OAAO,GAAG,sBAAkB,KAAK,WAAW,qBAAiB,QAAQ;AAU3E,IAAMC,2BAA2B,GAAG;EAClCC,IAAI,EAAE,CAAC;AACT,CAAC;AAEM,IAAMC,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,EAALA,KAAK;EACLC,SAAS,EAATA,SAAS;EACTC,OAAO,EAAEb;AACX,CAAC;AAACc,OAAA,CAAAZ,UAAA,GAAAA,UAAA;AAAA,SAEaS,KAAKA,CAAAI,EAAA,EAAAC,GAAA;EAAA,OAAAC,MAAA,CAAAhC,KAAA,OAAAI,SAAA;AAAA;AAAA,SAAA4B,OAAA;EAAAA,MAAA,OAAAC,kBAAA,CAAAvB,OAAA,EAAAwB,YAAA,CAAAxB,OAAA,CAAAyB,IAAA,CAApB,SAAAC,QAAqBC,WAAwB,EAAET,OAA2B;IAAA,IAAAU,WAAA;IAAA,OAAAJ,YAAA,CAAAxB,OAAA,CAAA6B,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAClEL,WAAW,GAAArC,aAAA,CAAAA,aAAA,KAAOc,2BAA2B,CAACC,IAAI,GAAKY,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEZ,IAAI;UAAA,OAAAyB,QAAA,CAAAG,MAAA,WACnE,IAAAC,wBAAa,EAACR,WAAW,EAAEC,WAAW,CAAC;QAAA;QAAA;UAAA,OAAAG,QAAA,CAAAK,IAAA;MAAA;IAAA,GAAAV,OAAA;EAAA,CAC/C;EAAA,OAAAJ,MAAA,CAAAhC,KAAA,OAAAI,SAAA;AAAA;AAED,SAASuB,SAASA,CAACU,WAAwB,EAAET,OAA2B,EAAE;EACxE,IAAMU,WAAW,GAAArC,aAAA,CAAAA,aAAA,KAAOc,2BAA2B,CAACC,IAAI,GAAKY,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEZ,IAAI,CAAC;EAC3E,OAAO,IAAA6B,wBAAa,EAACR,WAAW,EAAEC,WAAW,CAAC;AAChD"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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
package/src/index.ts
ADDED
|
@@ -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
|
+
}
|