@loaders.gl/polyfills 3.1.3 → 4.0.0-alpha.5

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 (142) hide show
  1. package/dist/bundle.js +2 -2
  2. package/dist/bundle.js.map +1 -0
  3. package/dist/index.js +49 -84
  4. package/dist/index.js.map +1 -0
  5. package/dist/lib/encoding-indexes.js +29 -34
  6. package/dist/lib/encoding-indexes.js.map +1 -0
  7. package/dist/lib/encoding.js +1281 -2610
  8. package/dist/lib/encoding.js.map +1 -0
  9. package/dist/libs/encoding-indexes-asian.js +8 -9
  10. package/dist/node/buffer/btoa.node.js +5 -12
  11. package/dist/node/buffer/btoa.node.js.map +1 -0
  12. package/dist/node/buffer/to-array-buffer.node.js +8 -11
  13. package/dist/node/buffer/to-array-buffer.node.js.map +1 -0
  14. package/dist/node/fetch/fetch.node.js +112 -103
  15. package/dist/node/fetch/fetch.node.js.map +1 -0
  16. package/dist/node/fetch/headers.node.js +114 -94
  17. package/dist/node/fetch/headers.node.js.map +1 -0
  18. package/dist/node/fetch/response.node.js +84 -73
  19. package/dist/node/fetch/response.node.js.map +1 -0
  20. package/dist/node/fetch/utils/decode-data-uri.node.js +53 -63
  21. package/dist/node/fetch/utils/decode-data-uri.node.js.map +1 -0
  22. package/dist/node/fetch/utils/stream-utils.node.js +87 -105
  23. package/dist/node/fetch/utils/stream-utils.node.js.map +1 -0
  24. package/dist/node/file/blob-stream-controller.js +52 -59
  25. package/dist/node/file/blob-stream-controller.js.map +1 -0
  26. package/dist/node/file/blob-stream.js +25 -36
  27. package/dist/node/file/blob-stream.js.map +1 -0
  28. package/dist/node/file/blob.js +131 -151
  29. package/dist/node/file/blob.js.map +1 -0
  30. package/dist/node/file/file-reader.js +77 -28
  31. package/dist/node/file/file-reader.js.map +1 -0
  32. package/dist/node/file/file.js +25 -36
  33. package/dist/node/file/file.js.map +1 -0
  34. package/dist/node/file/install-file-polyfills.js +21 -26
  35. package/dist/node/file/install-file-polyfills.js.map +1 -0
  36. package/dist/node/file/readable-stream.js +3 -10
  37. package/dist/node/file/readable-stream.js.map +1 -0
  38. package/dist/node/images/encode-image.node.js +17 -38
  39. package/dist/node/images/encode-image.node.js.map +1 -0
  40. package/dist/node/images/parse-image.node.js +19 -28
  41. package/dist/node/images/parse-image.node.js.map +1 -0
  42. package/dist/promise/all-settled.js +17 -22
  43. package/dist/promise/all-settled.js.map +1 -0
  44. package/dist/utils/assert.js +5 -8
  45. package/dist/utils/assert.js.map +1 -0
  46. package/dist/utils/globals.js +7 -34
  47. package/dist/utils/globals.js.map +1 -0
  48. package/package.json +4 -4
  49. package/dist/es5/bundle.js +0 -7
  50. package/dist/es5/bundle.js.map +0 -1
  51. package/dist/es5/index.js +0 -122
  52. package/dist/es5/index.js.map +0 -1
  53. package/dist/es5/lib/encoding-indexes.js +0 -37
  54. package/dist/es5/lib/encoding-indexes.js.map +0 -1
  55. package/dist/es5/lib/encoding.js +0 -1465
  56. package/dist/es5/lib/encoding.js.map +0 -1
  57. package/dist/es5/libs/encoding-indexes-asian.js +0 -13
  58. package/dist/es5/node/buffer/btoa.node.js +0 -16
  59. package/dist/es5/node/buffer/btoa.node.js.map +0 -1
  60. package/dist/es5/node/buffer/to-array-buffer.node.js +0 -16
  61. package/dist/es5/node/buffer/to-array-buffer.node.js.map +0 -1
  62. package/dist/es5/node/fetch/fetch.node.js +0 -183
  63. package/dist/es5/node/fetch/fetch.node.js.map +0 -1
  64. package/dist/es5/node/fetch/headers.node.js +0 -175
  65. package/dist/es5/node/fetch/headers.node.js.map +0 -1
  66. package/dist/es5/node/fetch/response.node.js +0 -231
  67. package/dist/es5/node/fetch/response.node.js.map +0 -1
  68. package/dist/es5/node/fetch/utils/decode-data-uri.node.js +0 -72
  69. package/dist/es5/node/fetch/utils/decode-data-uri.node.js.map +0 -1
  70. package/dist/es5/node/fetch/utils/stream-utils.node.js +0 -213
  71. package/dist/es5/node/fetch/utils/stream-utils.node.js.map +0 -1
  72. package/dist/es5/node/file/blob-stream-controller.js +0 -110
  73. package/dist/es5/node/file/blob-stream-controller.js.map +0 -1
  74. package/dist/es5/node/file/blob-stream.js +0 -93
  75. package/dist/es5/node/file/blob-stream.js.map +0 -1
  76. package/dist/es5/node/file/blob.js +0 -259
  77. package/dist/es5/node/file/blob.js.map +0 -1
  78. package/dist/es5/node/file/file-reader.js +0 -189
  79. package/dist/es5/node/file/file-reader.js.map +0 -1
  80. package/dist/es5/node/file/file.js +0 -63
  81. package/dist/es5/node/file/file.js.map +0 -1
  82. package/dist/es5/node/file/install-file-polyfills.js +0 -33
  83. package/dist/es5/node/file/install-file-polyfills.js.map +0 -1
  84. package/dist/es5/node/file/readable-stream.js +0 -40
  85. package/dist/es5/node/file/readable-stream.js.map +0 -1
  86. package/dist/es5/node/images/encode-image.node.js +0 -36
  87. package/dist/es5/node/images/encode-image.node.js.map +0 -1
  88. package/dist/es5/node/images/parse-image.node.js +0 -61
  89. package/dist/es5/node/images/parse-image.node.js.map +0 -1
  90. package/dist/es5/promise/all-settled.js +0 -29
  91. package/dist/es5/promise/all-settled.js.map +0 -1
  92. package/dist/es5/utils/assert.js +0 -13
  93. package/dist/es5/utils/assert.js.map +0 -1
  94. package/dist/es5/utils/globals.js +0 -21
  95. package/dist/es5/utils/globals.js.map +0 -1
  96. package/dist/esm/bundle.js +0 -5
  97. package/dist/esm/bundle.js.map +0 -1
  98. package/dist/esm/index.js +0 -63
  99. package/dist/esm/index.js.map +0 -1
  100. package/dist/esm/lib/encoding-indexes.js +0 -30
  101. package/dist/esm/lib/encoding-indexes.js.map +0 -1
  102. package/dist/esm/lib/encoding.js +0 -1450
  103. package/dist/esm/lib/encoding.js.map +0 -1
  104. package/dist/esm/libs/encoding-indexes-asian.js +0 -13
  105. package/dist/esm/node/buffer/btoa.node.js +0 -7
  106. package/dist/esm/node/buffer/btoa.node.js.map +0 -1
  107. package/dist/esm/node/buffer/to-array-buffer.node.js +0 -9
  108. package/dist/esm/node/buffer/to-array-buffer.node.js.map +0 -1
  109. package/dist/esm/node/fetch/fetch.node.js +0 -126
  110. package/dist/esm/node/fetch/fetch.node.js.map +0 -1
  111. package/dist/esm/node/fetch/headers.node.js +0 -125
  112. package/dist/esm/node/fetch/headers.node.js.map +0 -1
  113. package/dist/esm/node/fetch/response.node.js +0 -88
  114. package/dist/esm/node/fetch/response.node.js.map +0 -1
  115. package/dist/esm/node/fetch/utils/decode-data-uri.node.js +0 -55
  116. package/dist/esm/node/fetch/utils/decode-data-uri.node.js.map +0 -1
  117. package/dist/esm/node/fetch/utils/stream-utils.node.js +0 -98
  118. package/dist/esm/node/fetch/utils/stream-utils.node.js.map +0 -1
  119. package/dist/esm/node/file/blob-stream-controller.js +0 -56
  120. package/dist/esm/node/file/blob-stream-controller.js.map +0 -1
  121. package/dist/esm/node/file/blob-stream.js +0 -26
  122. package/dist/esm/node/file/blob-stream.js.map +0 -1
  123. package/dist/esm/node/file/blob.js +0 -140
  124. package/dist/esm/node/file/blob.js.map +0 -1
  125. package/dist/esm/node/file/file-reader.js +0 -84
  126. package/dist/esm/node/file/file-reader.js.map +0 -1
  127. package/dist/esm/node/file/file.js +0 -26
  128. package/dist/esm/node/file/file.js.map +0 -1
  129. package/dist/esm/node/file/install-file-polyfills.js +0 -22
  130. package/dist/esm/node/file/install-file-polyfills.js.map +0 -1
  131. package/dist/esm/node/file/readable-stream.js +0 -4
  132. package/dist/esm/node/file/readable-stream.js.map +0 -1
  133. package/dist/esm/node/images/encode-image.node.js +0 -20
  134. package/dist/esm/node/images/encode-image.node.js.map +0 -1
  135. package/dist/esm/node/images/parse-image.node.js +0 -20
  136. package/dist/esm/node/images/parse-image.node.js.map +0 -1
  137. package/dist/esm/promise/all-settled.js +0 -19
  138. package/dist/esm/promise/all-settled.js.map +0 -1
  139. package/dist/esm/utils/assert.js +0 -6
  140. package/dist/esm/utils/assert.js.map +0 -1
  141. package/dist/esm/utils/globals.js +0 -9
  142. package/dist/esm/utils/globals.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/node/file/blob-stream-controller.ts"],"names":["BlobStreamController","constructor","chunks","start","controller","work","isWorking","isCancelled","desiredSize","next","error","done","enqueue","value","close","pull","cancel"],"mappings":";AAIA,OAAO,MAAMA,oBAAN,CAA2B;AAQhCC,EAAAA,WAAW,CAACC,MAAD,EAA+B;AAAA;;AAAA,uCANb,KAMa;;AAAA,yCALX,KAKW;;AACxC,SAAKA,MAAL,GAAcA,MAAd;AACD;;AAKDC,EAAAA,KAAK,CAACC,UAAD,EAA8C;AACjD,SAAKC,IAAL,CAAUD,UAAV;AACD;;AAMS,QAAJC,IAAI,CAACD,UAAD,EAA8C;AACtD,UAAM;AAACF,MAAAA;AAAD,QAAW,IAAjB;AAEA,SAAKI,SAAL,GAAiB,IAAjB;;AACA,WAAO,CAAC,KAAKC,WAAN,IAAqB,CAACH,UAAU,CAACI,WAAX,IAA0B,CAA3B,IAAgC,CAA5D,EAA+D;AAC7D,UAAIC,IAAJ;;AACA,UAAI;AACFA,QAAAA,IAAI,GAAGP,MAAM,CAACO,IAAP,EAAP;AACD,OAFD,CAEE,OAAOC,KAAP,EAAc;AACdN,QAAAA,UAAU,CAACM,KAAX,CAAiBA,KAAjB;AACA;AACD;;AAED,UAAID,IAAJ,EAAU;AACR,YAAI,CAACA,IAAI,CAACE,IAAN,IAAc,CAAC,KAAKJ,WAAxB,EAAqC;AACnCH,UAAAA,UAAU,CAACQ,OAAX,CAAmBH,IAAI,CAACI,KAAxB;AACD,SAFD,MAEO;AACLT,UAAAA,UAAU,CAACU,KAAX;AACD;AACF;AACF;;AAED,SAAKR,SAAL,GAAiB,KAAjB;AACD;;AAMDS,EAAAA,IAAI,CAACX,UAAD,EAAa;AACf,QAAI,CAAC,KAAKE,SAAV,EAAqB;AACnB,WAAKD,IAAL,CAAUD,UAAV;AACD;AACF;;AACDY,EAAAA,MAAM,GAAG;AACP,SAAKT,WAAL,GAAmB,IAAnB;AACD;;AA3D+B","sourcesContent":["/**\n * Forked from @gozala's web-blob under MIT license\n * @see https://github.com/Gozala/web-blob\n */\nexport class BlobStreamController {\n private chunks: Iterator<Uint8Array>;\n private isWorking: boolean = false;\n private isCancelled: boolean = false;\n\n /**\n * @param chunks\n */\n constructor(chunks: Iterator<Uint8Array>) {\n this.chunks = chunks;\n }\n\n /**\n * @param controller\n */\n start(controller: ReadableStreamDefaultController) {\n this.work(controller); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n\n /**\n *\n * @param controller\n */\n async work(controller: ReadableStreamDefaultController) {\n const {chunks} = this;\n\n this.isWorking = true;\n while (!this.isCancelled && (controller.desiredSize || 0) > 0) {\n let next: {done?: boolean; value?: Uint8Array} | undefined;\n try {\n next = chunks.next();\n } catch (error) {\n controller.error(error);\n break;\n }\n\n if (next) {\n if (!next.done && !this.isCancelled) {\n controller.enqueue(next.value);\n } else {\n controller.close();\n }\n }\n }\n\n this.isWorking = false;\n }\n\n /**\n *\n * @param {ReadableStreamDefaultController} controller\n */\n pull(controller) {\n if (!this.isWorking) {\n this.work(controller); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n }\n cancel() {\n this.isCancelled = true;\n }\n}\n"],"file":"blob-stream-controller.js"}
@@ -1,26 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
-
3
- let _Symbol$asyncIterator;
4
-
5
- import { ReadableStreamPolyfill } from './readable-stream';
6
- import { BlobStreamController } from './blob-stream-controller';
7
- _Symbol$asyncIterator = Symbol.asyncIterator;
8
- export class BlobStream extends ReadableStreamPolyfill {
9
- constructor(chunks) {
10
- super(new BlobStreamController(chunks.values()), {
11
- type: 'bytes'
12
- });
13
-
14
- _defineProperty(this, "_chunks", void 0);
15
-
16
- this._chunks = chunks;
17
- }
18
-
19
- async *[_Symbol$asyncIterator](_options) {
20
- const reader = this.getReader();
21
- yield* this._chunks;
22
- reader.releaseLock();
23
- }
24
-
25
- }
26
- //# sourceMappingURL=blob-stream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/node/file/blob-stream.ts"],"names":["ReadableStreamPolyfill","BlobStreamController","Symbol","asyncIterator","BlobStream","constructor","chunks","values","type","_chunks","_options","reader","getReader","releaseLock"],"mappings":";;;;AAIA,SAAQA,sBAAR,QAAqC,mBAArC;AACA,SAAQC,oBAAR,QAAmC,0BAAnC;wBAyBUC,MAAM,CAACC,a;AAhBjB,OAAO,MAAMC,UAAN,SAA4BJ,sBAA5B,CAAsD;AAK3DK,EAAAA,WAAW,CAACC,MAAD,EAAS;AAElB,UAAM,IAAIL,oBAAJ,CAAyBK,MAAM,CAACC,MAAP,EAAzB,CAAN,EAAiD;AAACC,MAAAA,IAAI,EAAE;AAAP,KAAjD;;AAFkB;;AAIlB,SAAKC,OAAL,GAAeH,MAAf;AACD;;AAMD,iCAA8BI,QAA9B,EAA+F;AAC7F,UAAMC,MAAM,GAAG,KAAKC,SAAL,EAAf;AACA,WAAO,KAAKH,OAAZ;AACAE,IAAAA,MAAM,CAACE,WAAP;AACD;;AApB0D","sourcesContent":["/**\n * Forked from @gozala's web-blob under MIT license\n * @see https://github.com/Gozala/web-blob\n */\nimport {ReadableStreamPolyfill} from './readable-stream';\nimport {BlobStreamController} from './blob-stream-controller';\n\n/**\n * Blob stream is a `ReadableStream` extension optimized to have minimal\n * overhead when consumed as `AsyncIterable<Uint8Array>`.\n * extends {ReadableStream<Uint8Array>}\n * implements {AsyncIterable<Uint8Array>}\n */\n// @ts-ignore\nexport class BlobStream<T> extends ReadableStreamPolyfill<T> {\n private readonly _chunks: Uint8Array[];\n /**\n * @param chunks\n */\n constructor(chunks) {\n // @ts-ignore\n super(new BlobStreamController(chunks.values()), {type: 'bytes'});\n /** @private */\n this._chunks = chunks;\n }\n\n /**\n * @property [_options.preventCancel]\n */\n // @ts-ignore\n async *[Symbol.asyncIterator](_options?: {preventCancel?: boolean}): AsyncIterable<Uint8Array> {\n const reader = this.getReader();\n yield* this._chunks;\n reader.releaseLock();\n }\n}\n"],"file":"blob-stream.js"}
@@ -1,140 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
-
3
- let _Symbol$toStringTag;
4
-
5
- import { BlobStream } from './blob-stream';
6
- _Symbol$toStringTag = Symbol.toStringTag;
7
- export class BlobPolyfill {
8
- constructor(init = [], options = {}) {
9
- _defineProperty(this, "type", void 0);
10
-
11
- _defineProperty(this, "size", void 0);
12
-
13
- _defineProperty(this, "parts", void 0);
14
-
15
- this.parts = [];
16
- this.size = 0;
17
-
18
- for (const part of init) {
19
- if (typeof part === 'string') {
20
- const bytes = new TextEncoder().encode(part);
21
- this.parts.push(bytes);
22
- this.size += bytes.byteLength;
23
- } else if (part instanceof BlobPolyfill) {
24
- this.size += part.size;
25
- this.parts.push(...part.parts);
26
- } else if (part instanceof ArrayBuffer) {
27
- this.parts.push(new Uint8Array(part));
28
- this.size += part.byteLength;
29
- } else if (part instanceof Uint8Array) {
30
- this.parts.push(part);
31
- this.size += part.byteLength;
32
- } else if (ArrayBuffer.isView(part)) {
33
- const {
34
- buffer,
35
- byteOffset,
36
- byteLength
37
- } = part;
38
- this.parts.push(new Uint8Array(buffer, byteOffset, byteLength));
39
- this.size += byteLength;
40
- } else {
41
- const bytes = new TextEncoder().encode(String(part));
42
- this.parts.push(bytes);
43
- this.size += bytes.byteLength;
44
- }
45
- }
46
-
47
- this.type = readType(options.type);
48
- }
49
-
50
- slice(start = 0, end = this.size, type = '') {
51
- const {
52
- size,
53
- parts: parts
54
- } = this;
55
- let offset = start < 0 ? Math.max(size + start, 0) : Math.min(start, size);
56
- let limit = end < 0 ? Math.max(size + end, 0) : Math.min(end, size);
57
- const span = Math.max(limit - offset, 0);
58
- const blob = new BlobPolyfill([], {
59
- type
60
- });
61
-
62
- if (span === 0) {
63
- return blob;
64
- }
65
-
66
- let blobSize = 0;
67
- const blobParts = [];
68
-
69
- for (const part of parts) {
70
- const {
71
- byteLength
72
- } = part;
73
-
74
- if (offset > 0 && byteLength <= offset) {
75
- offset -= byteLength;
76
- limit -= byteLength;
77
- } else {
78
- const chunk = part.subarray(offset, Math.min(byteLength, limit));
79
- blobParts.push(chunk);
80
- blobSize += chunk.byteLength;
81
- offset = 0;
82
-
83
- if (blobSize >= span) {
84
- break;
85
- }
86
- }
87
- }
88
-
89
- blob.parts = blobParts;
90
- blob.size = blobSize;
91
- return blob;
92
- }
93
-
94
- async arrayBuffer() {
95
- return this._toArrayBuffer();
96
- }
97
-
98
- async text() {
99
- const decoder = new TextDecoder();
100
- let text = '';
101
-
102
- for (const part of this.parts) {
103
- text += decoder.decode(part);
104
- }
105
-
106
- return text;
107
- }
108
-
109
- stream() {
110
- return new BlobStream(this.parts);
111
- }
112
-
113
- toString() {
114
- return '[object Blob]';
115
- }
116
-
117
- get [_Symbol$toStringTag]() {
118
- return 'Blob';
119
- }
120
-
121
- _toArrayBuffer() {
122
- const buffer = new ArrayBuffer(this.size);
123
- const bytes = new Uint8Array(buffer);
124
- let offset = 0;
125
-
126
- for (const part of this.parts) {
127
- bytes.set(part, offset);
128
- offset += part.byteLength;
129
- }
130
-
131
- return buffer;
132
- }
133
-
134
- }
135
-
136
- function readType(input = '') {
137
- const type = String(input).toLowerCase();
138
- return /[^\u0020-\u007E]/.test(type) ? '' : type;
139
- }
140
- //# sourceMappingURL=blob.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/node/file/blob.ts"],"names":["BlobStream","Symbol","toStringTag","BlobPolyfill","constructor","init","options","parts","size","part","bytes","TextEncoder","encode","push","byteLength","ArrayBuffer","Uint8Array","isView","buffer","byteOffset","String","type","readType","slice","start","end","offset","Math","max","min","limit","span","blob","blobSize","blobParts","chunk","subarray","arrayBuffer","_toArrayBuffer","text","decoder","TextDecoder","decode","stream","toString","set","input","toLowerCase","test"],"mappings":"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","sourcesContent":["// Forked from @gozala's web-blob under MIT license https://github.com/Gozala/web-blob\nimport {BlobStream} from './blob-stream';\n\n/**\n * Forked from @gozala's web-blob under MIT license\n * @see https://github.com/Gozala/web-blob\n */\nexport class BlobPolyfill {\n // implements Blob {\n /** The MIME type of the data contained in the Blob. If type is unknown, string is empty. */\n readonly type: string;\n /** The size, in bytes, of the data contained in the Blob object. */\n size: number;\n private parts: Uint8Array[];\n /**\n * @param [init]\n * @param [options]\n */\n constructor(init: BlobPart[] = [], options: BlobPropertyBag = {}) {\n this.parts = [];\n\n this.size = 0;\n for (const part of init) {\n if (typeof part === 'string') {\n const bytes = new TextEncoder().encode(part);\n this.parts.push(bytes);\n this.size += bytes.byteLength;\n } else if (part instanceof BlobPolyfill) {\n this.size += part.size;\n // @ts-ignore - `parts` is marked private so TS will complain about\n // accessing it.\n this.parts.push(...part.parts);\n } else if (part instanceof ArrayBuffer) {\n this.parts.push(new Uint8Array(part));\n this.size += part.byteLength;\n } else if (part instanceof Uint8Array) {\n this.parts.push(part);\n this.size += part.byteLength;\n } else if (ArrayBuffer.isView(part)) {\n const {buffer, byteOffset, byteLength} = part;\n this.parts.push(new Uint8Array(buffer, byteOffset, byteLength));\n this.size += byteLength;\n } else {\n const bytes = new TextEncoder().encode(String(part));\n this.parts.push(bytes);\n this.size += bytes.byteLength;\n }\n }\n\n /** @private */\n this.type = readType(options.type);\n }\n\n /**\n * Returns a new Blob object containing the data in the specified range of\n * bytes of the blob on which it's called.\n * @param start=0 - An index into the Blob indicating the first\n * byte to include in the new Blob. If you specify a negative value, it's\n * treated as an offset from the end of the Blob toward the beginning. For\n * example, `-10` would be the 10th from last byte in the Blob. The default\n * value is `0`. If you specify a value for start that is larger than the\n * size of the source Blob, the returned Blob has size 0 and contains no\n * data.\n * @param end - An index into the `Blob` indicating the first byte\n * that will *not* be included in the new `Blob` (i.e. the byte exactly at\n * this index is not included). If you specify a negative value, it's treated\n * as an offset from the end of the Blob toward the beginning. For example,\n * `-10` would be the 10th from last byte in the `Blob`. The default value is\n * size.\n * @param type - The content type to assign to the new Blob;\n * this will be the value of its type property. The default value is an empty\n * string.\n */\n slice(start: number = 0, end: number = this.size, type: string = ''): Blob {\n const {size, parts: parts} = this;\n let offset = start < 0 ? Math.max(size + start, 0) : Math.min(start, size);\n\n let limit = end < 0 ? Math.max(size + end, 0) : Math.min(end, size);\n const span = Math.max(limit - offset, 0);\n const blob = new BlobPolyfill([], {type});\n\n if (span === 0) {\n // @ts-ignore\n return blob;\n }\n\n let blobSize = 0;\n const blobParts: Uint8Array[] = [];\n for (const part of parts) {\n const {byteLength} = part;\n if (offset > 0 && byteLength <= offset) {\n offset -= byteLength;\n limit -= byteLength;\n } else {\n const chunk = part.subarray(offset, Math.min(byteLength, limit));\n blobParts.push(chunk);\n blobSize += chunk.byteLength;\n // no longer need to take that into account\n offset = 0;\n\n // don't add the overflow to new blobParts\n if (blobSize >= span) {\n break;\n }\n }\n }\n\n blob.parts = blobParts;\n blob.size = blobSize;\n\n // @ts-ignore\n return blob;\n }\n\n /**\n * Returns a promise that resolves with an ArrayBuffer containing the entire\n * contents of the Blob as binary data.\n */\n // eslint-disable-next-line require-await\n async arrayBuffer(): Promise<ArrayBuffer> {\n return this._toArrayBuffer();\n }\n\n /**\n * Returns a promise that resolves with a USVString containing the entire\n * contents of the Blob interpreted as UTF-8 text.\n */\n // eslint-disable-next-line require-await\n async text(): Promise<string> {\n const decoder = new TextDecoder();\n let text = '';\n for (const part of this.parts) {\n text += decoder.decode(part);\n }\n return text;\n }\n\n /**\n */\n // @ts-ignore\n stream(): BlobStream<any> {\n return new BlobStream<any>(this.parts);\n }\n\n /**\n * @returns {string}\n */\n toString() {\n return '[object Blob]';\n }\n\n get [Symbol.toStringTag]() {\n return 'Blob';\n }\n\n _toArrayBuffer(): ArrayBuffer {\n const buffer = new ArrayBuffer(this.size);\n const bytes = new Uint8Array(buffer);\n let offset = 0;\n for (const part of this.parts) {\n bytes.set(part, offset);\n offset += part.byteLength;\n }\n return buffer;\n }\n}\n\n/**\n */\nfunction readType(input: string = ''): string {\n const type = String(input).toLowerCase();\n return /[^\\u0020-\\u007E]/.test(type) ? '' : type;\n}\n"],"file":"blob.js"}
@@ -1,84 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import { atob } from '../buffer/btoa.node';
3
- export class FileReaderPolyfill {
4
- constructor() {
5
- _defineProperty(this, "onload", void 0);
6
-
7
- _defineProperty(this, "onabort", void 0);
8
-
9
- _defineProperty(this, "onerror", void 0);
10
-
11
- _defineProperty(this, "error", void 0);
12
-
13
- _defineProperty(this, "onloadstart", void 0);
14
-
15
- _defineProperty(this, "onloadend", void 0);
16
-
17
- _defineProperty(this, "onprogress", void 0);
18
-
19
- _defineProperty(this, "readyState", void 0);
20
-
21
- _defineProperty(this, "result", void 0);
22
-
23
- _defineProperty(this, "DONE", void 0);
24
-
25
- _defineProperty(this, "EMPTY", void 0);
26
-
27
- _defineProperty(this, "LOADING", void 0);
28
-
29
- _defineProperty(this, "addEventListener", void 0);
30
-
31
- _defineProperty(this, "removeEventListener", void 0);
32
-
33
- _defineProperty(this, "dispatchEvent", void 0);
34
-
35
- this.onload = null;
36
- }
37
-
38
- abort() {
39
- return;
40
- }
41
-
42
- async readAsArrayBuffer(blob) {
43
- const arrayBuffer = await blob.arrayBuffer();
44
-
45
- if (this.onload) {
46
- this.onload({
47
- target: {
48
- result: arrayBuffer
49
- }
50
- });
51
- }
52
- }
53
-
54
- async readAsBinaryString(blob) {
55
- throw Error('Not implemented');
56
- }
57
-
58
- async readAsDataURL(blob) {
59
- const text = await blob.text();
60
- const dataUrl = "data://;base64,".concat(atob(text));
61
-
62
- if (this.onload) {
63
- this.onload({
64
- target: {
65
- result: dataUrl
66
- }
67
- });
68
- }
69
- }
70
-
71
- async readAsText(blob) {
72
- const text = await blob.text();
73
-
74
- if (this.onload) {
75
- this.onload({
76
- target: {
77
- result: text
78
- }
79
- });
80
- }
81
- }
82
-
83
- }
84
- //# sourceMappingURL=file-reader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/node/file/file-reader.ts"],"names":["atob","FileReaderPolyfill","constructor","onload","abort","readAsArrayBuffer","blob","arrayBuffer","target","result","readAsBinaryString","Error","readAsDataURL","text","dataUrl","readAsText"],"mappings":";AAAA,SAAQA,IAAR,QAAmB,qBAAnB;AAEA,OAAO,MAAMC,kBAAN,CAA+C;AAmBpDC,EAAAA,WAAW,GAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AACZ,SAAKC,MAAL,GAAc,IAAd;AACD;;AAEDC,EAAAA,KAAK,GAAS;AACZ;AACD;;AAEsB,QAAjBC,iBAAiB,CAACC,IAAD,EAA4B;AACjD,UAAMC,WAAW,GAAG,MAAMD,IAAI,CAACC,WAAL,EAA1B;;AACA,QAAI,KAAKJ,MAAT,EAAiB;AACf,WAAKA,MAAL,CAAY;AAACK,QAAAA,MAAM,EAAE;AAACC,UAAAA,MAAM,EAAEF;AAAT;AAAT,OAAZ;AACD;AACF;;AAEuB,QAAlBG,kBAAkB,CAACJ,IAAD,EAAO;AAC7B,UAAMK,KAAK,CAAC,iBAAD,CAAX;AACD;;AAEkB,QAAbC,aAAa,CAACN,IAAD,EAAO;AACxB,UAAMO,IAAI,GAAG,MAAMP,IAAI,CAACO,IAAL,EAAnB;AACA,UAAMC,OAAO,4BAAqBd,IAAI,CAACa,IAAD,CAAzB,CAAb;;AACA,QAAI,KAAKV,MAAT,EAAiB;AACf,WAAKA,MAAL,CAAY;AAACK,QAAAA,MAAM,EAAE;AAACC,UAAAA,MAAM,EAAEK;AAAT;AAAT,OAAZ;AACD;AACF;;AAEe,QAAVC,UAAU,CAACT,IAAD,EAAO;AACrB,UAAMO,IAAI,GAAG,MAAMP,IAAI,CAACO,IAAL,EAAnB;;AACA,QAAI,KAAKV,MAAT,EAAiB;AACf,WAAKA,MAAL,CAAY;AAACK,QAAAA,MAAM,EAAE;AAACC,UAAAA,MAAM,EAAEI;AAAT;AAAT,OAAZ;AACD;AACF;;AAnDmD","sourcesContent":["import {atob} from '../buffer/btoa.node';\n\nexport class FileReaderPolyfill implements FileReader {\n // onload: ({result: any}) => void;\n onload;\n onabort;\n onerror;\n error;\n onloadstart;\n onloadend;\n onprogress;\n\n readyState;\n result;\n DONE;\n EMPTY;\n LOADING;\n addEventListener;\n removeEventListener;\n dispatchEvent;\n\n constructor() {\n this.onload = null;\n }\n\n abort(): void {\n return;\n }\n\n async readAsArrayBuffer(blob: Blob): Promise<void> {\n const arrayBuffer = await blob.arrayBuffer();\n if (this.onload) {\n this.onload({target: {result: arrayBuffer}});\n }\n }\n\n async readAsBinaryString(blob) {\n throw Error('Not implemented');\n }\n\n async readAsDataURL(blob) {\n const text = await blob.text();\n const dataUrl = `data://;base64,${atob(text)}`;\n if (this.onload) {\n this.onload({target: {result: dataUrl}});\n }\n }\n\n async readAsText(blob) {\n const text = await blob.text();\n if (this.onload) {\n this.onload({target: {result: text}});\n }\n }\n}\n"],"file":"file-reader.js"}
@@ -1,26 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
-
3
- let _Symbol$toStringTag;
4
-
5
- import { BlobPolyfill } from './blob';
6
- _Symbol$toStringTag = Symbol.toStringTag;
7
- export class FilePolyfill extends BlobPolyfill {
8
- constructor(init, name, options = {}) {
9
- super(init, options);
10
-
11
- _defineProperty(this, "name", '');
12
-
13
- _defineProperty(this, "webkitRelativePath", '');
14
-
15
- _defineProperty(this, "lastModified", void 0);
16
-
17
- this.name = String(name).replace(/\//g, ':');
18
- this.lastModified = (options === null || options === void 0 ? void 0 : options.lastModified) || Date.now();
19
- }
20
-
21
- get [_Symbol$toStringTag]() {
22
- return 'File';
23
- }
24
-
25
- }
26
- //# sourceMappingURL=file.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/node/file/file.ts"],"names":["BlobPolyfill","Symbol","toStringTag","FilePolyfill","constructor","init","name","options","String","replace","lastModified","Date","now"],"mappings":";;;;AACA,SAAQA,YAAR,QAA2B,QAA3B;sBAqCOC,MAAM,CAACC,W;AA9Bd,OAAO,MAAMC,YAAN,SAA2BH,YAA3B,CAAwC;AAoB7CI,EAAAA,WAAW,CAACC,IAAD,EAAmBC,IAAnB,EAAiCC,OAAwB,GAAG,EAA5D,EAAgE;AACzE,UAAMF,IAAN,EAAYE,OAAZ;;AADyE,kCAhB5D,EAgB4D;;AAAA,gDAd9C,EAc8C;;AAAA;;AAKzE,SAAKD,IAAL,GAAYE,MAAM,CAACF,IAAD,CAAN,CAAaG,OAAb,CAAqB,KAArB,EAA4B,GAA5B,CAAZ;AAEA,SAAKC,YAAL,GAAoB,CAAAH,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEG,YAAT,KAAyBC,IAAI,CAACC,GAAL,EAA7C;AACD;;AAED,8BAA2B;AACzB,WAAO,MAAP;AACD;;AAhC4C","sourcesContent":["// Forked from @gozala's web-file under MIT license https://github.com/Gozala/web-file\nimport {BlobPolyfill} from './blob';\n\n/**\n * Forked from @gozala's web-file under MIT license\n * @see https://github.com/Gozala/web-file\n */\n// @ts-ignore\nexport class FilePolyfill extends BlobPolyfill {\n // implements File {\n // public API\n /** The name of the file referenced by the File object. */\n name: string = '';\n /** The path the URL of the File is relative to. */\n webkitRelativePath: string = '';\n\n /**\n * Returns the last modified time of the file, in millisecond since the UNIX\n * epoch (January 1st, 1970 at Midnight).\n */\n lastModified: number;\n\n /**\n * @param init\n * @param name - A USVString representing the file name or the path\n * to the file.\n * @param [options]\n */\n constructor(init: BlobPart[], name: string, options: FilePropertyBag = {}) {\n super(init, options);\n // Per File API spec https://w3c.github.io/FileAPI/#file-constructor\n // Every \"/\" character of file name must be replaced with a \":\".\n /** @private */\n this.name = String(name).replace(/\\//g, ':');\n /** @private */\n this.lastModified = options?.lastModified || Date.now();\n }\n\n get [Symbol.toStringTag]() {\n return 'File';\n }\n}\n"],"file":"file.js"}
@@ -1,22 +0,0 @@
1
- import { ReadableStreamPolyfill } from './readable-stream';
2
- import { BlobPolyfill } from './blob';
3
- import { FileReaderPolyfill } from './file-reader';
4
- import { FilePolyfill } from './file';
5
- export function installFilePolyfills() {
6
- if (typeof ReadableStream === 'undefined' && global) {
7
- global.ReadableStream = ReadableStreamPolyfill;
8
- }
9
-
10
- if (typeof Blob === 'undefined' && global) {
11
- global.Blob = BlobPolyfill;
12
- }
13
-
14
- if (typeof FileReader === 'undefined' && global) {
15
- global.FileReader = FileReaderPolyfill;
16
- }
17
-
18
- if (typeof File === 'undefined' && global) {
19
- global.File = FilePolyfill;
20
- }
21
- }
22
- //# sourceMappingURL=install-file-polyfills.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/node/file/install-file-polyfills.ts"],"names":["ReadableStreamPolyfill","BlobPolyfill","FileReaderPolyfill","FilePolyfill","installFilePolyfills","ReadableStream","global","Blob","FileReader","File"],"mappings":"AAAA,SAAQA,sBAAR,QAAqC,mBAArC;AACA,SAAQC,YAAR,QAA2B,QAA3B;AACA,SAAQC,kBAAR,QAAiC,eAAjC;AACA,SAAQC,YAAR,QAA2B,QAA3B;AAEA,OAAO,SAASC,oBAAT,GAAgC;AACrC,MAAI,OAAOC,cAAP,KAA0B,WAA1B,IAAyCC,MAA7C,EAAqD;AAEnDA,IAAAA,MAAM,CAACD,cAAP,GAAwBL,sBAAxB;AACD;;AAED,MAAI,OAAOO,IAAP,KAAgB,WAAhB,IAA+BD,MAAnC,EAA2C;AAEzCA,IAAAA,MAAM,CAACC,IAAP,GAAcN,YAAd;AACD;;AAED,MAAI,OAAOO,UAAP,KAAsB,WAAtB,IAAqCF,MAAzC,EAAiD;AAE/CA,IAAAA,MAAM,CAACE,UAAP,GAAoBN,kBAApB;AACD;;AAGD,MAAI,OAAOO,IAAP,KAAgB,WAAhB,IAA+BH,MAAnC,EAA2C;AAEzCA,IAAAA,MAAM,CAACG,IAAP,GAAcN,YAAd;AACD;AACF","sourcesContent":["import {ReadableStreamPolyfill} from './readable-stream';\nimport {BlobPolyfill} from './blob';\nimport {FileReaderPolyfill} from './file-reader';\nimport {FilePolyfill} from './file';\n\nexport function installFilePolyfills() {\n if (typeof ReadableStream === 'undefined' && global) {\n // @ts-ignore;\n global.ReadableStream = ReadableStreamPolyfill;\n }\n\n if (typeof Blob === 'undefined' && global) {\n // @ts-ignore;\n global.Blob = BlobPolyfill;\n }\n\n if (typeof FileReader === 'undefined' && global) {\n // @ts-ignore;\n global.FileReader = FileReaderPolyfill;\n }\n\n // Install minimal Node.js File polyfill\n if (typeof File === 'undefined' && global) {\n // @ts-ignore;\n global.File = FilePolyfill;\n }\n}\n"],"file":"install-file-polyfills.js"}
@@ -1,4 +0,0 @@
1
- import { ReadableStream as WSPReadableStream } from 'web-streams-polyfill';
2
- delete global.ReadableStream;
3
- export class ReadableStreamPolyfill extends WSPReadableStream {}
4
- //# sourceMappingURL=readable-stream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/node/file/readable-stream.ts"],"names":["ReadableStream","WSPReadableStream","global","ReadableStreamPolyfill"],"mappings":"AAAA,SAAQA,cAAc,IAAIC,iBAA1B,QAAkD,sBAAlD;AAIA,OAAOC,MAAM,CAACF,cAAd;AAGA,OAAO,MAAMG,sBAAN,SAAwCF,iBAAxC,CAAuF","sourcesContent":["import {ReadableStream as WSPReadableStream} from 'web-streams-polyfill';\n\n// Want a polyfill, but please don't install it\n// @ts-ignore\ndelete global.ReadableStream;\n\n// @ts-ignore\nexport class ReadableStreamPolyfill<T> extends WSPReadableStream<T> implements ReadableStream {}\n"],"file":"readable-stream.js"}
@@ -1,20 +0,0 @@
1
- import savePixels from 'save-pixels';
2
- import ndarray from 'ndarray';
3
- import { bufferToArrayBuffer } from '../buffer/to-array-buffer.node';
4
- export function encodeImageToStreamNode(image, options) {
5
- const type = options.type ? options.type.replace('image/', '') : 'jpeg';
6
- const pixels = ndarray(image.data, [image.width, image.height, 4], [4, image.width * 4, 1], 0);
7
- return savePixels(pixels, type, options);
8
- }
9
- export function encodeImageNode(image, options) {
10
- const imageStream = encodeImageToStreamNode(image, options);
11
- return new Promise(resolve => {
12
- const buffers = [];
13
- imageStream.on('data', buffer => buffers.push(buffer));
14
- imageStream.on('end', () => {
15
- const buffer = Buffer.concat(buffers);
16
- resolve(bufferToArrayBuffer(buffer));
17
- });
18
- });
19
- }
20
- //# sourceMappingURL=encode-image.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/node/images/encode-image.node.ts"],"names":["savePixels","ndarray","bufferToArrayBuffer","encodeImageToStreamNode","image","options","type","replace","pixels","data","width","height","encodeImageNode","imageStream","Promise","resolve","buffers","on","buffer","push","Buffer","concat"],"mappings":"AAEA,OAAOA,UAAP,MAAuB,aAAvB;AACA,OAAOC,OAAP,MAAoB,SAApB;AACA,SAAQC,mBAAR,QAAkC,gCAAlC;AAYA,OAAO,SAASC,uBAAT,CACLC,KADK,EAELC,OAFK,EAGL;AAEA,QAAMC,IAAI,GAAGD,OAAO,CAACC,IAAR,GAAeD,OAAO,CAACC,IAAR,CAAaC,OAAb,CAAqB,QAArB,EAA+B,EAA/B,CAAf,GAAoD,MAAjE;AACA,QAAMC,MAAM,GAAGP,OAAO,CAACG,KAAK,CAACK,IAAP,EAAa,CAACL,KAAK,CAACM,KAAP,EAAcN,KAAK,CAACO,MAApB,EAA4B,CAA5B,CAAb,EAA6C,CAAC,CAAD,EAAIP,KAAK,CAACM,KAAN,GAAc,CAAlB,EAAqB,CAArB,CAA7C,EAAsE,CAAtE,CAAtB;AAGA,SAAOV,UAAU,CAACQ,MAAD,EAASF,IAAT,EAAeD,OAAf,CAAjB;AACD;AAED,OAAO,SAASO,eAAT,CAAyBR,KAAzB,EAAgCC,OAAhC,EAAyC;AAC9C,QAAMQ,WAAW,GAAGV,uBAAuB,CAACC,KAAD,EAAQC,OAAR,CAA3C;AAEA,SAAO,IAAIS,OAAJ,CAAaC,OAAD,IAAa;AAC9B,UAAMC,OAAc,GAAG,EAAvB;AACAH,IAAAA,WAAW,CAACI,EAAZ,CAAe,MAAf,EAAwBC,MAAD,IAAYF,OAAO,CAACG,IAAR,CAAaD,MAAb,CAAnC;AAEAL,IAAAA,WAAW,CAACI,EAAZ,CAAe,KAAf,EAAsB,MAAM;AAC1B,YAAMC,MAAM,GAAGE,MAAM,CAACC,MAAP,CAAcL,OAAd,CAAf;AACAD,MAAAA,OAAO,CAACb,mBAAmB,CAACgB,MAAD,CAApB,CAAP;AACD,KAHD;AAID,GARM,CAAP;AASD","sourcesContent":["// Use stackgl modules for DOM-less reading and writing of images\n\nimport savePixels from 'save-pixels';\nimport ndarray from 'ndarray';\nimport {bufferToArrayBuffer} from '../buffer/to-array-buffer.node';\n\n/**\n * Returns data bytes representing a compressed image in PNG or JPG format,\n * This data can be saved using file system (f) methods or\n * used in a request.\n * @param image to save\n * @param options\n * @param options.type='png' - png, jpg or image/png, image/jpg are valid\n * @param options.dataURI - Whether to include a data URI header\n * @return {*} bytes\n */\nexport function encodeImageToStreamNode(\n image: {data: any; width: number; height: number},\n options: {type?: string; dataURI?: string}\n) {\n // Support MIME type strings\n const type = options.type ? options.type.replace('image/', '') : 'jpeg';\n const pixels = ndarray(image.data, [image.width, image.height, 4], [4, image.width * 4, 1], 0);\n\n // Note: savePixels returns a stream\n return savePixels(pixels, type, options);\n}\n\nexport function encodeImageNode(image, options) {\n const imageStream = encodeImageToStreamNode(image, options);\n\n return new Promise((resolve) => {\n const buffers: any[] = [];\n imageStream.on('data', (buffer) => buffers.push(buffer));\n // TODO - convert to arraybuffer?\n imageStream.on('end', () => {\n const buffer = Buffer.concat(buffers);\n resolve(bufferToArrayBuffer(buffer));\n });\n });\n}\n"],"file":"encode-image.node.js"}
@@ -1,20 +0,0 @@
1
- import getPixels from 'get-pixels';
2
- import { assert } from '../../utils/assert';
3
- import util from 'util';
4
- export async function parseImageNode(arrayBuffer, mimeType) {
5
- assert(mimeType, 'MIMEType is required to parse image under Node.js');
6
- const getPixelsAsync = util.promisify(getPixels);
7
- const buffer = arrayBuffer instanceof Buffer ? arrayBuffer : Buffer.from(arrayBuffer);
8
- const ndarray = await getPixelsAsync(buffer, mimeType);
9
- const shape = [...ndarray.shape];
10
- const layers = ndarray.shape.length === 4 ? ndarray.shape.shift() : 1;
11
- return {
12
- shape,
13
- data: ndarray.data,
14
- width: ndarray.shape[0],
15
- height: ndarray.shape[1],
16
- components: ndarray.shape[2],
17
- layers
18
- };
19
- }
20
- //# sourceMappingURL=parse-image.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/node/images/parse-image.node.ts"],"names":["getPixels","assert","util","parseImageNode","arrayBuffer","mimeType","getPixelsAsync","promisify","buffer","Buffer","from","ndarray","shape","layers","length","shift","data","width","height","components"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AACA,SAAQC,MAAR,QAAqB,oBAArB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AAYA,OAAO,eAAeC,cAAf,CAA8BC,WAA9B,EAAwDC,QAAxD,EAA4F;AACjGJ,EAAAA,MAAM,CAACI,QAAD,EAAW,mDAAX,CAAN;AAIA,QAAMC,cAAc,GAAGJ,IAAI,CAACK,SAAL,CAAeP,SAAf,CAAvB;AAEA,QAAMQ,MAAM,GAAGJ,WAAW,YAAYK,MAAvB,GAAgCL,WAAhC,GAA8CK,MAAM,CAACC,IAAP,CAAYN,WAAZ,CAA7D;AAEA,QAAMO,OAAO,GAAG,MAAML,cAAc,CAACE,MAAD,EAASH,QAAT,CAApC;AAEA,QAAMO,KAAK,GAAG,CAAC,GAAGD,OAAO,CAACC,KAAZ,CAAd;AACA,QAAMC,MAAM,GAAGF,OAAO,CAACC,KAAR,CAAcE,MAAd,KAAyB,CAAzB,GAA6BH,OAAO,CAACC,KAAR,CAAcG,KAAd,EAA7B,GAAqD,CAApE;AAGA,SAAO;AACLH,IAAAA,KADK;AAELI,IAAAA,IAAI,EAAEL,OAAO,CAACK,IAFT;AAGLC,IAAAA,KAAK,EAAEN,OAAO,CAACC,KAAR,CAAc,CAAd,CAHF;AAILM,IAAAA,MAAM,EAAEP,OAAO,CAACC,KAAR,CAAc,CAAd,CAJH;AAKLO,IAAAA,UAAU,EAAER,OAAO,CAACC,KAAR,CAAc,CAAd,CALP;AAMLC,IAAAA;AANK,GAAP;AAQD","sourcesContent":["import getPixels from 'get-pixels';\nimport {assert} from '../../utils/assert';\nimport util from 'util';\n\n// Note: These types are also defined in @loaders.gl/images and need to be kept in sync\ntype NDArray = {\n shape: number[];\n data: Uint8Array;\n width: number;\n height: number;\n components: number;\n layers: number[];\n};\n\nexport async function parseImageNode(arrayBuffer: ArrayBuffer, mimeType: string): Promise<NDArray> {\n assert(mimeType, 'MIMEType is required to parse image under Node.js');\n\n // TODO - check if getPixels callback is asynchronous if provided with buffer input\n // if not, parseImage can be a sync function\n const getPixelsAsync = util.promisify(getPixels);\n\n const buffer = arrayBuffer instanceof Buffer ? arrayBuffer : Buffer.from(arrayBuffer);\n\n const ndarray = await getPixelsAsync(buffer, mimeType);\n\n const shape = [...ndarray.shape];\n const layers = ndarray.shape.length === 4 ? ndarray.shape.shift() : 1;\n\n // extract width/height etc\n return {\n shape,\n data: ndarray.data,\n width: ndarray.shape[0],\n height: ndarray.shape[1],\n components: ndarray.shape[2],\n layers\n };\n}\n"],"file":"parse-image.node.js"}
@@ -1,19 +0,0 @@
1
- export const REJECTED_STATUS = 'rejected';
2
- export const FULFILLED_STATUS = 'fulfilled';
3
- export function allSettled(promises) {
4
- const mappedPromises = promises.map(promise => {
5
- return promise.then(value => {
6
- return {
7
- status: FULFILLED_STATUS,
8
- value
9
- };
10
- }).catch(reason => {
11
- return {
12
- status: REJECTED_STATUS,
13
- reason
14
- };
15
- });
16
- });
17
- return Promise.all(mappedPromises);
18
- }
19
- //# sourceMappingURL=all-settled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/promise/all-settled.ts"],"names":["REJECTED_STATUS","FULFILLED_STATUS","allSettled","promises","mappedPromises","map","promise","then","value","status","catch","reason","Promise","all"],"mappings":"AAAA,OAAO,MAAMA,eAAe,GAAG,UAAxB;AACP,OAAO,MAAMC,gBAAgB,GAAG,WAAzB;AAQP,OAAO,SAASC,UAAT,CAAoBC,QAApB,EAA4D;AACjE,QAAMC,cAAc,GAAGD,QAAQ,CAACE,GAAT,CAAcC,OAAD,IAAa;AAC/C,WAAOA,OAAO,CACXC,IADI,CACEC,KAAD,IAAW;AACf,aAAO;AAACC,QAAAA,MAAM,EAAER,gBAAT;AAA2BO,QAAAA;AAA3B,OAAP;AACD,KAHI,EAIJE,KAJI,CAIGC,MAAD,IAAY;AACjB,aAAO;AAACF,QAAAA,MAAM,EAAET,eAAT;AAA0BW,QAAAA;AAA1B,OAAP;AACD,KANI,CAAP;AAOD,GARsB,CAAvB;AASA,SAAOC,OAAO,CAACC,GAAR,CAAYT,cAAZ,CAAP;AACD","sourcesContent":["export const REJECTED_STATUS = 'rejected';\nexport const FULFILLED_STATUS = 'fulfilled';\n\n/**\n * Handle list of promises and return all values regardless of results.\n * Polyfill for Promise.allSettled() method.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled\n * @param promises\n */\nexport function allSettled(promises: Promise<any>[]): Promise<any> {\n const mappedPromises = promises.map((promise) => {\n return promise\n .then((value) => {\n return {status: FULFILLED_STATUS, value};\n })\n .catch((reason) => {\n return {status: REJECTED_STATUS, reason};\n });\n });\n return Promise.all(mappedPromises);\n}\n"],"file":"all-settled.js"}
@@ -1,6 +0,0 @@
1
- export function assert(condition, message) {
2
- if (!condition) {
3
- throw new Error("@loaders.gl/polyfills assertion ".concat(message));
4
- }
5
- }
6
- //# sourceMappingURL=assert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/assert.ts"],"names":["assert","condition","message","Error"],"mappings":"AAAA,OAAO,SAASA,MAAT,CAAgBC,SAAhB,EAAgCC,OAAhC,EAAwD;AAC7D,MAAI,CAACD,SAAL,EAAgB;AACd,UAAM,IAAIE,KAAJ,2CAA6CD,OAA7C,EAAN;AACD;AACF","sourcesContent":["export function assert(condition: any, message?: string): void {\n if (!condition) {\n throw new Error(`@loaders.gl/polyfills assertion ${message}`);\n }\n}\n"],"file":"assert.js"}
@@ -1,9 +0,0 @@
1
- const isBrowser = typeof process !== 'object' || String(process) !== '[object process]' || process.browser;
2
- const globals = {
3
- self: typeof self !== 'undefined' && self,
4
- window: typeof window !== 'undefined' && window,
5
- global: typeof global !== 'undefined' && global
6
- };
7
- const global_ = globals.global || globals.self || globals.window;
8
- export { isBrowser, global_ as global };
9
- //# sourceMappingURL=globals.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/globals.ts"],"names":["isBrowser","process","String","browser","globals","self","window","global","global_"],"mappings":"AAwBA,MAAMA,SAAkB,GAEtB,OAAOC,OAAP,KAAmB,QAAnB,IAA+BC,MAAM,CAACD,OAAD,CAAN,KAAoB,kBAAnD,IAAyEA,OAAO,CAACE,OAFnF;AAIA,MAAMC,OAAO,GAAG;AACdC,EAAAA,IAAI,EAAE,OAAOA,IAAP,KAAgB,WAAhB,IAA+BA,IADvB;AAEdC,EAAAA,MAAM,EAAE,OAAOA,MAAP,KAAkB,WAAlB,IAAiCA,MAF3B;AAGdC,EAAAA,MAAM,EAAE,OAAOA,MAAP,KAAkB,WAAlB,IAAiCA;AAH3B,CAAhB;AAMA,MAAMC,OAAe,GAAIJ,OAAO,CAACG,MAAR,IAAkBH,OAAO,CAACC,IAA1B,IAAkCD,OAAO,CAACE,MAAnE;AAEA,SAAQN,SAAR,EAAmBQ,OAAO,IAAID,MAA9B","sourcesContent":["// Copyright (c) 2015 - 2017 Uber Technologies, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n// Purpose: include this in your module to avoids adding dependencies on\n// micro modules like 'global' and 'is-browser';\n\n/* eslint-disable no-restricted-globals */\nconst isBrowser: boolean =\n // @ts-ignore process.browser\n typeof process !== 'object' || String(process) !== '[object process]' || process.browser;\n\nconst globals = {\n self: typeof self !== 'undefined' && self,\n window: typeof window !== 'undefined' && window,\n global: typeof global !== 'undefined' && global\n};\n\nconst global_: object = (globals.global || globals.self || globals.window) as object;\n\nexport {isBrowser, global_ as global};\n"],"file":"globals.js"}