@loaders.gl/loader-utils 3.3.0-alpha.9 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es5/index.js +36 -22
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/json-loader.js +1 -1
- package/dist/es5/json-loader.js.map +1 -1
- package/dist/es5/lib/binary-utils/array-buffer-utils.js +0 -30
- package/dist/es5/lib/binary-utils/array-buffer-utils.js.map +1 -1
- package/dist/es5/lib/binary-utils/{binary-copy-utils.js → dataview-copy-utils.js} +33 -1
- package/dist/es5/lib/binary-utils/dataview-copy-utils.js.map +1 -0
- package/dist/es5/lib/binary-utils/get-first-characters.js +2 -0
- package/dist/es5/lib/binary-utils/get-first-characters.js.map +1 -1
- package/dist/es5/lib/binary-utils/{buffer-utils.js → memory-conversion-utils.js} +26 -7
- package/dist/es5/lib/binary-utils/memory-conversion-utils.js.map +1 -0
- package/dist/es5/lib/filesystems/readable-file.js +100 -0
- package/dist/es5/lib/filesystems/readable-file.js.map +1 -0
- package/dist/es5/lib/filesystems/writable-file.js +89 -0
- package/dist/es5/lib/filesystems/writable-file.js.map +1 -0
- package/dist/es5/lib/loader-utils/buffer-utils.js +19 -0
- package/dist/es5/lib/loader-utils/buffer-utils.js.map +1 -0
- package/dist/es5/lib/node/buffer.js +5 -8
- package/dist/es5/lib/node/buffer.js.map +1 -1
- package/dist/es5/lib/node/fs.js +18 -9
- package/dist/es5/lib/node/fs.js.map +1 -1
- package/dist/es5/lib/node/stream.js +20 -0
- package/dist/es5/lib/node/stream.js.map +1 -0
- package/dist/es5/lib/node/util.js +31 -7
- package/dist/es5/lib/node/util.js.map +1 -1
- package/dist/esm/index.js +11 -9
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/json-loader.js +1 -1
- package/dist/esm/json-loader.js.map +1 -1
- package/dist/esm/lib/binary-utils/array-buffer-utils.js +0 -27
- package/dist/esm/lib/binary-utils/array-buffer-utils.js.map +1 -1
- package/dist/esm/lib/binary-utils/{binary-copy-utils.js → dataview-copy-utils.js} +31 -1
- package/dist/esm/lib/binary-utils/dataview-copy-utils.js.map +1 -0
- package/dist/esm/lib/binary-utils/get-first-characters.js +3 -0
- package/dist/esm/lib/binary-utils/get-first-characters.js.map +1 -1
- package/dist/esm/lib/binary-utils/memory-conversion-utils.js +38 -0
- package/dist/esm/lib/binary-utils/memory-conversion-utils.js.map +1 -0
- package/dist/esm/lib/filesystems/readable-file.js +22 -0
- package/dist/esm/lib/filesystems/readable-file.js.map +1 -0
- package/dist/esm/lib/filesystems/writable-file.js +21 -0
- package/dist/esm/lib/filesystems/writable-file.js.map +1 -0
- package/dist/esm/lib/loader-utils/buffer-utils.js +13 -0
- package/dist/esm/lib/loader-utils/buffer-utils.js.map +1 -0
- package/dist/esm/lib/node/buffer.js +5 -9
- package/dist/esm/lib/node/buffer.js.map +1 -1
- package/dist/esm/lib/node/fs.js +11 -9
- package/dist/esm/lib/node/fs.js.map +1 -1
- package/dist/esm/lib/node/stream.js +11 -0
- package/dist/esm/lib/node/stream.js.map +1 -0
- package/dist/esm/lib/node/util.js +10 -2
- package/dist/esm/lib/node/util.js.map +1 -1
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -23
- package/dist/lib/binary-utils/array-buffer-utils.d.ts +4 -8
- package/dist/lib/binary-utils/array-buffer-utils.d.ts.map +1 -1
- package/dist/lib/binary-utils/array-buffer-utils.js +5 -36
- package/dist/lib/binary-utils/dataview-copy-utils.d.ts +43 -0
- package/dist/lib/binary-utils/dataview-copy-utils.d.ts.map +1 -0
- package/dist/lib/binary-utils/{binary-copy-utils.js → dataview-copy-utils.js} +51 -5
- package/dist/lib/binary-utils/get-first-characters.d.ts +15 -1
- package/dist/lib/binary-utils/get-first-characters.d.ts.map +1 -1
- package/dist/lib/binary-utils/get-first-characters.js +15 -0
- package/dist/lib/binary-utils/{buffer-utils.d.ts → memory-conversion-utils.d.ts} +3 -4
- package/dist/lib/binary-utils/memory-conversion-utils.d.ts.map +1 -0
- package/dist/lib/binary-utils/{buffer-utils.js → memory-conversion-utils.js} +28 -9
- package/dist/lib/filesystems/readable-file.d.ts +10 -0
- package/dist/lib/filesystems/readable-file.d.ts.map +1 -0
- package/dist/lib/filesystems/readable-file.js +25 -0
- package/dist/lib/filesystems/writable-file.d.ts +18 -0
- package/dist/lib/filesystems/writable-file.d.ts.map +1 -0
- package/dist/lib/filesystems/writable-file.js +48 -0
- package/dist/lib/loader-utils/buffer-utils.d.ts +10 -0
- package/dist/lib/loader-utils/buffer-utils.d.ts.map +1 -0
- package/dist/lib/loader-utils/buffer-utils.js +22 -0
- package/dist/lib/node/buffer.d.ts +3 -1
- package/dist/lib/node/buffer.d.ts.map +1 -1
- package/dist/lib/node/buffer.js +7 -8
- package/dist/lib/node/fs.d.ts +4 -2
- package/dist/lib/node/fs.d.ts.map +1 -1
- package/dist/lib/node/fs.js +10 -9
- package/dist/lib/node/stream.d.ts +4 -0
- package/dist/lib/node/stream.d.ts.map +1 -0
- package/dist/lib/node/stream.js +17 -0
- package/dist/lib/node/util.d.ts +11 -3
- package/dist/lib/node/util.d.ts.map +1 -1
- package/dist/lib/node/util.js +20 -27
- package/package.json +5 -4
- package/src/index.ts +22 -18
- package/src/lib/binary-utils/array-buffer-utils.ts +4 -40
- package/src/lib/binary-utils/{binary-copy-utils.ts → dataview-copy-utils.ts} +57 -5
- package/src/lib/binary-utils/get-first-characters.ts +17 -1
- package/src/lib/binary-utils/memory-conversion-utils.ts +53 -0
- package/src/lib/filesystems/readable-file.ts +30 -0
- package/src/lib/filesystems/writable-file.ts +44 -0
- package/src/lib/loader-utils/buffer-utils.ts +18 -0
- package/src/lib/node/buffer.ts +9 -10
- package/src/lib/node/fs.ts +16 -11
- package/src/lib/node/stream.ts +18 -0
- package/src/lib/node/util.ts +68 -2
- package/dist/es5/lib/binary-utils/binary-copy-utils.js.map +0 -1
- package/dist/es5/lib/binary-utils/buffer-utils.js.map +0 -1
- package/dist/es5/lib/binary-utils/encode-utils.js +0 -36
- package/dist/es5/lib/binary-utils/encode-utils.js.map +0 -1
- package/dist/esm/lib/binary-utils/binary-copy-utils.js.map +0 -1
- package/dist/esm/lib/binary-utils/buffer-utils.js +0 -18
- package/dist/esm/lib/binary-utils/buffer-utils.js.map +0 -1
- package/dist/esm/lib/binary-utils/encode-utils.js +0 -29
- package/dist/esm/lib/binary-utils/encode-utils.js.map +0 -1
- package/dist/lib/binary-utils/binary-copy-utils.d.ts +0 -24
- package/dist/lib/binary-utils/binary-copy-utils.d.ts.map +0 -1
- package/dist/lib/binary-utils/buffer-utils.d.ts.map +0 -1
- package/dist/lib/binary-utils/encode-utils.d.ts +0 -4
- package/dist/lib/binary-utils/encode-utils.d.ts.map +0 -1
- package/dist/lib/binary-utils/encode-utils.js +0 -35
- package/src/lib/binary-utils/buffer-utils.ts +0 -28
- package/src/lib/binary-utils/encode-utils.ts +0 -32
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as node from '../node/buffer';
|
|
2
|
-
|
|
3
|
-
export function isBuffer(value) {
|
|
4
|
-
return value && typeof value === 'object' && value.isBuffer;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export function toBuffer(data) {
|
|
8
|
-
return node.toBuffer ? node.toBuffer(data) : data;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export function bufferToArrayBuffer(buffer) {
|
|
12
|
-
if (isBuffer(buffer)) {
|
|
13
|
-
const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);
|
|
14
|
-
return typedArray.slice().buffer;
|
|
15
|
-
}
|
|
16
|
-
return buffer;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=buffer-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buffer-utils.js","names":["node","isBuffer","value","toBuffer","data","bufferToArrayBuffer","buffer","typedArray","Uint8Array","byteOffset","length","slice"],"sources":["../../../../src/lib/binary-utils/buffer-utils.ts"],"sourcesContent":["import * as node from '../node/buffer';\n\n/**\n * Check for Node.js `Buffer` (without triggering bundler to include Buffer polyfill on browser)\n */\nexport function isBuffer(value: any): boolean {\n return value && typeof value === 'object' && value.isBuffer;\n}\n\n/**\n * Converts to Node.js `Buffer` (without triggering bundler to include Buffer polyfill on browser)\n * @todo better data type\n */\nexport function toBuffer(data: any): Buffer {\n return node.toBuffer ? node.toBuffer(data) : data;\n}\n\n/**\n * Converts Node.js `Buffer` to `ArrayBuffer` (without triggering bundler to include Buffer polyfill on browser)\n * @todo better data type\n */\nexport function bufferToArrayBuffer(buffer: any): ArrayBuffer {\n if (isBuffer(buffer)) {\n const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);\n return typedArray.slice().buffer;\n }\n return buffer;\n}\n"],"mappings":"AAAA,OAAO,KAAKA,IAAI,MAAM,gBAAgB;;AAKtC,OAAO,SAASC,QAAQ,CAACC,KAAU,EAAW;EAC5C,OAAOA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACD,QAAQ;AAC7D;;AAMA,OAAO,SAASE,QAAQ,CAACC,IAAS,EAAU;EAC1C,OAAOJ,IAAI,CAACG,QAAQ,GAAGH,IAAI,CAACG,QAAQ,CAACC,IAAI,CAAC,GAAGA,IAAI;AACnD;;AAMA,OAAO,SAASC,mBAAmB,CAACC,MAAW,EAAe;EAC5D,IAAIL,QAAQ,CAACK,MAAM,CAAC,EAAE;IACpB,MAAMC,UAAU,GAAG,IAAIC,UAAU,CAACF,MAAM,CAACA,MAAM,EAAEA,MAAM,CAACG,UAAU,EAAEH,MAAM,CAACI,MAAM,CAAC;IAClF,OAAOH,UAAU,CAACI,KAAK,EAAE,CAACL,MAAM;EAClC;EACA,OAAOA,MAAM;AACf"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export function padStringToByteAlignment(string, byteAlignment) {
|
|
4
|
-
const length = string.length;
|
|
5
|
-
const paddedLength = Math.ceil(length / byteAlignment) * byteAlignment;
|
|
6
|
-
const padding = paddedLength - length;
|
|
7
|
-
let whitespace = '';
|
|
8
|
-
for (let i = 0; i < padding; ++i) {
|
|
9
|
-
whitespace += ' ';
|
|
10
|
-
}
|
|
11
|
-
return string + whitespace;
|
|
12
|
-
}
|
|
13
|
-
export function copyStringToDataView(dataView, byteOffset, string, byteLength) {
|
|
14
|
-
if (dataView) {
|
|
15
|
-
for (let i = 0; i < byteLength; i++) {
|
|
16
|
-
dataView.setUint8(byteOffset + i, string.charCodeAt(i));
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return byteOffset + byteLength;
|
|
20
|
-
}
|
|
21
|
-
export function copyBinaryToDataView(dataView, byteOffset, binary, byteLength) {
|
|
22
|
-
if (dataView) {
|
|
23
|
-
for (let i = 0; i < byteLength; i++) {
|
|
24
|
-
dataView.setUint8(byteOffset + i, binary[i]);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return byteOffset + byteLength;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=encode-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encode-utils.js","names":["padStringToByteAlignment","string","byteAlignment","length","paddedLength","Math","ceil","padding","whitespace","i","copyStringToDataView","dataView","byteOffset","byteLength","setUint8","charCodeAt","copyBinaryToDataView","binary"],"sources":["../../../../src/lib/binary-utils/encode-utils.ts"],"sourcesContent":["// Note: These were broken out from gltf loader...\n// eslint-disable-next-line complexity\n\n// PERFORMANCE IDEA: No need to copy string twice...\nexport function padStringToByteAlignment(string, byteAlignment) {\n const length = string.length;\n const paddedLength = Math.ceil(length / byteAlignment) * byteAlignment; // Round up to the required alignment\n const padding = paddedLength - length;\n let whitespace = '';\n for (let i = 0; i < padding; ++i) {\n whitespace += ' ';\n }\n return string + whitespace;\n}\n\nexport function copyStringToDataView(dataView, byteOffset, string, byteLength) {\n if (dataView) {\n for (let i = 0; i < byteLength; i++) {\n dataView.setUint8(byteOffset + i, string.charCodeAt(i));\n }\n }\n return byteOffset + byteLength;\n}\n\nexport function copyBinaryToDataView(dataView, byteOffset, binary, byteLength) {\n if (dataView) {\n for (let i = 0; i < byteLength; i++) {\n dataView.setUint8(byteOffset + i, binary[i]);\n }\n }\n return byteOffset + byteLength;\n}\n"],"mappings":";;AAIA,OAAO,SAASA,wBAAwB,CAACC,MAAM,EAAEC,aAAa,EAAE;EAC9D,MAAMC,MAAM,GAAGF,MAAM,CAACE,MAAM;EAC5B,MAAMC,YAAY,GAAGC,IAAI,CAACC,IAAI,CAACH,MAAM,GAAGD,aAAa,CAAC,GAAGA,aAAa;EACtE,MAAMK,OAAO,GAAGH,YAAY,GAAGD,MAAM;EACrC,IAAIK,UAAU,GAAG,EAAE;EACnB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,OAAO,EAAE,EAAEE,CAAC,EAAE;IAChCD,UAAU,IAAI,GAAG;EACnB;EACA,OAAOP,MAAM,GAAGO,UAAU;AAC5B;AAEA,OAAO,SAASE,oBAAoB,CAACC,QAAQ,EAAEC,UAAU,EAAEX,MAAM,EAAEY,UAAU,EAAE;EAC7E,IAAIF,QAAQ,EAAE;IACZ,KAAK,IAAIF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGI,UAAU,EAAEJ,CAAC,EAAE,EAAE;MACnCE,QAAQ,CAACG,QAAQ,CAACF,UAAU,GAAGH,CAAC,EAAER,MAAM,CAACc,UAAU,CAACN,CAAC,CAAC,CAAC;IACzD;EACF;EACA,OAAOG,UAAU,GAAGC,UAAU;AAChC;AAEA,OAAO,SAASG,oBAAoB,CAACL,QAAQ,EAAEC,UAAU,EAAEK,MAAM,EAAEJ,UAAU,EAAE;EAC7E,IAAIF,QAAQ,EAAE;IACZ,KAAK,IAAIF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGI,UAAU,EAAEJ,CAAC,EAAE,EAAE;MACnCE,QAAQ,CAACG,QAAQ,CAACF,UAAU,GAAGH,CAAC,EAAEQ,MAAM,CAACR,CAAC,CAAC,CAAC;IAC9C;EACF;EACA,OAAOG,UAAU,GAAGC,UAAU;AAChC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { TypedArray } from '../../types';
|
|
2
|
-
/**
|
|
3
|
-
* Copy sourceBuffer to dataView with some padding
|
|
4
|
-
*
|
|
5
|
-
* @param {DataView | null} dataView - destination data container. If null - only new offset is calculated
|
|
6
|
-
* @param {number} byteOffset - destination byte offset to copy to
|
|
7
|
-
* @param {Array | TypedArray} sourceBuffer - source data buffer
|
|
8
|
-
* @param {number} padding - pad the resulting array to multiple of "padding" bytes. Additional bytes are filled with 0x20 (ASCII space)
|
|
9
|
-
*
|
|
10
|
-
* @return new byteOffset of resulting dataView
|
|
11
|
-
*/
|
|
12
|
-
export declare function copyPaddedArrayBufferToDataView(dataView: DataView | null, byteOffset: number, sourceBuffer: TypedArray, padding: number): number;
|
|
13
|
-
/**
|
|
14
|
-
* Copy string to dataView with some padding
|
|
15
|
-
*
|
|
16
|
-
* @param {DataView | null} dataView - destination data container. If null - only new offset is calculated
|
|
17
|
-
* @param {number} byteOffset - destination byte offset to copy to
|
|
18
|
-
* @param {string} string - source string
|
|
19
|
-
* @param {number} padding - pad the resulting array to multiple of "padding" bytes. Additional bytes are filled with 0x20 (ASCII space)
|
|
20
|
-
*
|
|
21
|
-
* @return new byteOffset of resulting dataView
|
|
22
|
-
*/
|
|
23
|
-
export declare function copyPaddedStringToDataView(dataView: DataView | null, byteOffset: number, string: string, padding: number): number;
|
|
24
|
-
//# sourceMappingURL=binary-copy-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"binary-copy-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/binary-utils/binary-copy-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAGvC;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,QAAQ,GAAG,IAAI,EACzB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,UAAU,EACxB,OAAO,EAAE,MAAM,UAuBhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,QAAQ,GAAG,IAAI,EACzB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,MAAM,CASR"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buffer-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/binary-utils/buffer-utils.ts"],"names":[],"mappings":";AAEA;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE5C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAE1C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,CAM5D"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare function padStringToByteAlignment(string: any, byteAlignment: any): string;
|
|
2
|
-
export declare function copyStringToDataView(dataView: any, byteOffset: any, string: any, byteLength: any): any;
|
|
3
|
-
export declare function copyBinaryToDataView(dataView: any, byteOffset: any, binary: any, byteLength: any): any;
|
|
4
|
-
//# sourceMappingURL=encode-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encode-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/binary-utils/encode-utils.ts"],"names":[],"mappings":"AAIA,wBAAgB,wBAAwB,CAAC,MAAM,KAAA,EAAE,aAAa,KAAA,UAS7D;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,KAAA,EAAE,UAAU,KAAA,EAAE,MAAM,KAAA,EAAE,UAAU,KAAA,OAO5E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,KAAA,EAAE,UAAU,KAAA,EAAE,MAAM,KAAA,EAAE,UAAU,KAAA,OAO5E"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Note: These were broken out from gltf loader...
|
|
3
|
-
// eslint-disable-next-line complexity
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.copyBinaryToDataView = exports.copyStringToDataView = exports.padStringToByteAlignment = void 0;
|
|
6
|
-
// PERFORMANCE IDEA: No need to copy string twice...
|
|
7
|
-
function padStringToByteAlignment(string, byteAlignment) {
|
|
8
|
-
const length = string.length;
|
|
9
|
-
const paddedLength = Math.ceil(length / byteAlignment) * byteAlignment; // Round up to the required alignment
|
|
10
|
-
const padding = paddedLength - length;
|
|
11
|
-
let whitespace = '';
|
|
12
|
-
for (let i = 0; i < padding; ++i) {
|
|
13
|
-
whitespace += ' ';
|
|
14
|
-
}
|
|
15
|
-
return string + whitespace;
|
|
16
|
-
}
|
|
17
|
-
exports.padStringToByteAlignment = padStringToByteAlignment;
|
|
18
|
-
function copyStringToDataView(dataView, byteOffset, string, byteLength) {
|
|
19
|
-
if (dataView) {
|
|
20
|
-
for (let i = 0; i < byteLength; i++) {
|
|
21
|
-
dataView.setUint8(byteOffset + i, string.charCodeAt(i));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return byteOffset + byteLength;
|
|
25
|
-
}
|
|
26
|
-
exports.copyStringToDataView = copyStringToDataView;
|
|
27
|
-
function copyBinaryToDataView(dataView, byteOffset, binary, byteLength) {
|
|
28
|
-
if (dataView) {
|
|
29
|
-
for (let i = 0; i < byteLength; i++) {
|
|
30
|
-
dataView.setUint8(byteOffset + i, binary[i]);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return byteOffset + byteLength;
|
|
34
|
-
}
|
|
35
|
-
exports.copyBinaryToDataView = copyBinaryToDataView;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import * as node from '../node/buffer';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Check for Node.js `Buffer` (without triggering bundler to include Buffer polyfill on browser)
|
|
5
|
-
*/
|
|
6
|
-
export function isBuffer(value: any): boolean {
|
|
7
|
-
return value && typeof value === 'object' && value.isBuffer;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Converts to Node.js `Buffer` (without triggering bundler to include Buffer polyfill on browser)
|
|
12
|
-
* @todo better data type
|
|
13
|
-
*/
|
|
14
|
-
export function toBuffer(data: any): Buffer {
|
|
15
|
-
return node.toBuffer ? node.toBuffer(data) : data;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Converts Node.js `Buffer` to `ArrayBuffer` (without triggering bundler to include Buffer polyfill on browser)
|
|
20
|
-
* @todo better data type
|
|
21
|
-
*/
|
|
22
|
-
export function bufferToArrayBuffer(buffer: any): ArrayBuffer {
|
|
23
|
-
if (isBuffer(buffer)) {
|
|
24
|
-
const typedArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);
|
|
25
|
-
return typedArray.slice().buffer;
|
|
26
|
-
}
|
|
27
|
-
return buffer;
|
|
28
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
// Note: These were broken out from gltf loader...
|
|
2
|
-
// eslint-disable-next-line complexity
|
|
3
|
-
|
|
4
|
-
// PERFORMANCE IDEA: No need to copy string twice...
|
|
5
|
-
export function padStringToByteAlignment(string, byteAlignment) {
|
|
6
|
-
const length = string.length;
|
|
7
|
-
const paddedLength = Math.ceil(length / byteAlignment) * byteAlignment; // Round up to the required alignment
|
|
8
|
-
const padding = paddedLength - length;
|
|
9
|
-
let whitespace = '';
|
|
10
|
-
for (let i = 0; i < padding; ++i) {
|
|
11
|
-
whitespace += ' ';
|
|
12
|
-
}
|
|
13
|
-
return string + whitespace;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export function copyStringToDataView(dataView, byteOffset, string, byteLength) {
|
|
17
|
-
if (dataView) {
|
|
18
|
-
for (let i = 0; i < byteLength; i++) {
|
|
19
|
-
dataView.setUint8(byteOffset + i, string.charCodeAt(i));
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
return byteOffset + byteLength;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export function copyBinaryToDataView(dataView, byteOffset, binary, byteLength) {
|
|
26
|
-
if (dataView) {
|
|
27
|
-
for (let i = 0; i < byteLength; i++) {
|
|
28
|
-
dataView.setUint8(byteOffset + i, binary[i]);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return byteOffset + byteLength;
|
|
32
|
-
}
|