@nocobase/plugin-multi-app-manager 1.3.49-beta → 1.3.51

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 (38) hide show
  1. package/dist/externalVersion.js +4 -4
  2. package/dist/node_modules/mariadb/package.json +1 -1
  3. package/dist/node_modules/mariadb/promise.js +2 -2
  4. package/dist/server/server.d.ts +2 -0
  5. package/dist/server/server.js +19 -9
  6. package/package.json +2 -2
  7. package/dist/node_modules/mariadb/node_modules/iconv-lite/.github/dependabot.yml +0 -11
  8. package/dist/node_modules/mariadb/node_modules/iconv-lite/.idea/codeStyles/Project.xml +0 -47
  9. package/dist/node_modules/mariadb/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml +0 -5
  10. package/dist/node_modules/mariadb/node_modules/iconv-lite/.idea/iconv-lite.iml +0 -12
  11. package/dist/node_modules/mariadb/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml +0 -6
  12. package/dist/node_modules/mariadb/node_modules/iconv-lite/.idea/modules.xml +0 -8
  13. package/dist/node_modules/mariadb/node_modules/iconv-lite/.idea/vcs.xml +0 -6
  14. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -597
  15. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/dbcs-data.js +0 -188
  16. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/index.js +0 -23
  17. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/internal.js +0 -198
  18. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
  19. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  20. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/sbcs-data.js +0 -179
  21. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  22. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  23. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  24. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  25. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  26. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  27. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -56
  28. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  29. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/utf16.js +0 -197
  30. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/utf32.js +0 -319
  31. package/dist/node_modules/mariadb/node_modules/iconv-lite/encodings/utf7.js +0 -290
  32. package/dist/node_modules/mariadb/node_modules/iconv-lite/lib/bom-handling.js +0 -52
  33. package/dist/node_modules/mariadb/node_modules/iconv-lite/lib/index.d.ts +0 -41
  34. package/dist/node_modules/mariadb/node_modules/iconv-lite/lib/index.js +0 -180
  35. package/dist/node_modules/mariadb/node_modules/iconv-lite/lib/streams.js +0 -109
  36. package/dist/node_modules/mariadb/node_modules/iconv-lite/package.json +0 -44
  37. /package/dist/locale/{ja_JP.json → ja-JP.json} +0 -0
  38. /package/dist/locale/{ko_KR.json → ko-KR.json} +0 -0
@@ -1,290 +0,0 @@
1
- "use strict";
2
- var Buffer = require("safer-buffer").Buffer;
3
-
4
- // UTF-7 codec, according to https://tools.ietf.org/html/rfc2152
5
- // See also below a UTF-7-IMAP codec, according to http://tools.ietf.org/html/rfc3501#section-5.1.3
6
-
7
- exports.utf7 = Utf7Codec;
8
- exports.unicode11utf7 = 'utf7'; // Alias UNICODE-1-1-UTF-7
9
- function Utf7Codec(codecOptions, iconv) {
10
- this.iconv = iconv;
11
- };
12
-
13
- Utf7Codec.prototype.encoder = Utf7Encoder;
14
- Utf7Codec.prototype.decoder = Utf7Decoder;
15
- Utf7Codec.prototype.bomAware = true;
16
-
17
-
18
- // -- Encoding
19
-
20
- var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;
21
-
22
- function Utf7Encoder(options, codec) {
23
- this.iconv = codec.iconv;
24
- }
25
-
26
- Utf7Encoder.prototype.write = function(str) {
27
- // Naive implementation.
28
- // Non-direct chars are encoded as "+<base64>-"; single "+" char is encoded as "+-".
29
- return Buffer.from(str.replace(nonDirectChars, function(chunk) {
30
- return "+" + (chunk === '+' ? '' :
31
- this.iconv.encode(chunk, 'utf16-be').toString('base64').replace(/=+$/, ''))
32
- + "-";
33
- }.bind(this)));
34
- }
35
-
36
- Utf7Encoder.prototype.end = function() {
37
- }
38
-
39
-
40
- // -- Decoding
41
-
42
- function Utf7Decoder(options, codec) {
43
- this.iconv = codec.iconv;
44
- this.inBase64 = false;
45
- this.base64Accum = '';
46
- }
47
-
48
- var base64Regex = /[A-Za-z0-9\/+]/;
49
- var base64Chars = [];
50
- for (var i = 0; i < 256; i++)
51
- base64Chars[i] = base64Regex.test(String.fromCharCode(i));
52
-
53
- var plusChar = '+'.charCodeAt(0),
54
- minusChar = '-'.charCodeAt(0),
55
- andChar = '&'.charCodeAt(0);
56
-
57
- Utf7Decoder.prototype.write = function(buf) {
58
- var res = "", lastI = 0,
59
- inBase64 = this.inBase64,
60
- base64Accum = this.base64Accum;
61
-
62
- // The decoder is more involved as we must handle chunks in stream.
63
-
64
- for (var i = 0; i < buf.length; i++) {
65
- if (!inBase64) { // We're in direct mode.
66
- // Write direct chars until '+'
67
- if (buf[i] == plusChar) {
68
- res += this.iconv.decode(buf.slice(lastI, i), "ascii"); // Write direct chars.
69
- lastI = i+1;
70
- inBase64 = true;
71
- }
72
- } else { // We decode base64.
73
- if (!base64Chars[buf[i]]) { // Base64 ended.
74
- if (i == lastI && buf[i] == minusChar) {// "+-" -> "+"
75
- res += "+";
76
- } else {
77
- var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), "ascii");
78
- res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be");
79
- }
80
-
81
- if (buf[i] != minusChar) // Minus is absorbed after base64.
82
- i--;
83
-
84
- lastI = i+1;
85
- inBase64 = false;
86
- base64Accum = '';
87
- }
88
- }
89
- }
90
-
91
- if (!inBase64) {
92
- res += this.iconv.decode(buf.slice(lastI), "ascii"); // Write direct chars.
93
- } else {
94
- var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii");
95
-
96
- var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars.
97
- base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future.
98
- b64str = b64str.slice(0, canBeDecoded);
99
-
100
- res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be");
101
- }
102
-
103
- this.inBase64 = inBase64;
104
- this.base64Accum = base64Accum;
105
-
106
- return res;
107
- }
108
-
109
- Utf7Decoder.prototype.end = function() {
110
- var res = "";
111
- if (this.inBase64 && this.base64Accum.length > 0)
112
- res = this.iconv.decode(Buffer.from(this.base64Accum, 'base64'), "utf16-be");
113
-
114
- this.inBase64 = false;
115
- this.base64Accum = '';
116
- return res;
117
- }
118
-
119
-
120
- // UTF-7-IMAP codec.
121
- // RFC3501 Sec. 5.1.3 Modified UTF-7 (http://tools.ietf.org/html/rfc3501#section-5.1.3)
122
- // Differences:
123
- // * Base64 part is started by "&" instead of "+"
124
- // * Direct characters are 0x20-0x7E, except "&" (0x26)
125
- // * In Base64, "," is used instead of "/"
126
- // * Base64 must not be used to represent direct characters.
127
- // * No implicit shift back from Base64 (should always end with '-')
128
- // * String must end in non-shifted position.
129
- // * "-&" while in base64 is not allowed.
130
-
131
-
132
- exports.utf7imap = Utf7IMAPCodec;
133
- function Utf7IMAPCodec(codecOptions, iconv) {
134
- this.iconv = iconv;
135
- };
136
-
137
- Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder;
138
- Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder;
139
- Utf7IMAPCodec.prototype.bomAware = true;
140
-
141
-
142
- // -- Encoding
143
-
144
- function Utf7IMAPEncoder(options, codec) {
145
- this.iconv = codec.iconv;
146
- this.inBase64 = false;
147
- this.base64Accum = Buffer.alloc(6);
148
- this.base64AccumIdx = 0;
149
- }
150
-
151
- Utf7IMAPEncoder.prototype.write = function(str) {
152
- var inBase64 = this.inBase64,
153
- base64Accum = this.base64Accum,
154
- base64AccumIdx = this.base64AccumIdx,
155
- buf = Buffer.alloc(str.length*5 + 10), bufIdx = 0;
156
-
157
- for (var i = 0; i < str.length; i++) {
158
- var uChar = str.charCodeAt(i);
159
- if (0x20 <= uChar && uChar <= 0x7E) { // Direct character or '&'.
160
- if (inBase64) {
161
- if (base64AccumIdx > 0) {
162
- bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString('base64').replace(/\//g, ',').replace(/=+$/, ''), bufIdx);
163
- base64AccumIdx = 0;
164
- }
165
-
166
- buf[bufIdx++] = minusChar; // Write '-', then go to direct mode.
167
- inBase64 = false;
168
- }
169
-
170
- if (!inBase64) {
171
- buf[bufIdx++] = uChar; // Write direct character
172
-
173
- if (uChar === andChar) // Ampersand -> '&-'
174
- buf[bufIdx++] = minusChar;
175
- }
176
-
177
- } else { // Non-direct character
178
- if (!inBase64) {
179
- buf[bufIdx++] = andChar; // Write '&', then go to base64 mode.
180
- inBase64 = true;
181
- }
182
- if (inBase64) {
183
- base64Accum[base64AccumIdx++] = uChar >> 8;
184
- base64Accum[base64AccumIdx++] = uChar & 0xFF;
185
-
186
- if (base64AccumIdx == base64Accum.length) {
187
- bufIdx += buf.write(base64Accum.toString('base64').replace(/\//g, ','), bufIdx);
188
- base64AccumIdx = 0;
189
- }
190
- }
191
- }
192
- }
193
-
194
- this.inBase64 = inBase64;
195
- this.base64AccumIdx = base64AccumIdx;
196
-
197
- return buf.slice(0, bufIdx);
198
- }
199
-
200
- Utf7IMAPEncoder.prototype.end = function() {
201
- var buf = Buffer.alloc(10), bufIdx = 0;
202
- if (this.inBase64) {
203
- if (this.base64AccumIdx > 0) {
204
- bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString('base64').replace(/\//g, ',').replace(/=+$/, ''), bufIdx);
205
- this.base64AccumIdx = 0;
206
- }
207
-
208
- buf[bufIdx++] = minusChar; // Write '-', then go to direct mode.
209
- this.inBase64 = false;
210
- }
211
-
212
- return buf.slice(0, bufIdx);
213
- }
214
-
215
-
216
- // -- Decoding
217
-
218
- function Utf7IMAPDecoder(options, codec) {
219
- this.iconv = codec.iconv;
220
- this.inBase64 = false;
221
- this.base64Accum = '';
222
- }
223
-
224
- var base64IMAPChars = base64Chars.slice();
225
- base64IMAPChars[','.charCodeAt(0)] = true;
226
-
227
- Utf7IMAPDecoder.prototype.write = function(buf) {
228
- var res = "", lastI = 0,
229
- inBase64 = this.inBase64,
230
- base64Accum = this.base64Accum;
231
-
232
- // The decoder is more involved as we must handle chunks in stream.
233
- // It is forgiving, closer to standard UTF-7 (for example, '-' is optional at the end).
234
-
235
- for (var i = 0; i < buf.length; i++) {
236
- if (!inBase64) { // We're in direct mode.
237
- // Write direct chars until '&'
238
- if (buf[i] == andChar) {
239
- res += this.iconv.decode(buf.slice(lastI, i), "ascii"); // Write direct chars.
240
- lastI = i+1;
241
- inBase64 = true;
242
- }
243
- } else { // We decode base64.
244
- if (!base64IMAPChars[buf[i]]) { // Base64 ended.
245
- if (i == lastI && buf[i] == minusChar) { // "&-" -> "&"
246
- res += "&";
247
- } else {
248
- var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), "ascii").replace(/,/g, '/');
249
- res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be");
250
- }
251
-
252
- if (buf[i] != minusChar) // Minus may be absorbed after base64.
253
- i--;
254
-
255
- lastI = i+1;
256
- inBase64 = false;
257
- base64Accum = '';
258
- }
259
- }
260
- }
261
-
262
- if (!inBase64) {
263
- res += this.iconv.decode(buf.slice(lastI), "ascii"); // Write direct chars.
264
- } else {
265
- var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), "ascii").replace(/,/g, '/');
266
-
267
- var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars.
268
- base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future.
269
- b64str = b64str.slice(0, canBeDecoded);
270
-
271
- res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be");
272
- }
273
-
274
- this.inBase64 = inBase64;
275
- this.base64Accum = base64Accum;
276
-
277
- return res;
278
- }
279
-
280
- Utf7IMAPDecoder.prototype.end = function() {
281
- var res = "";
282
- if (this.inBase64 && this.base64Accum.length > 0)
283
- res = this.iconv.decode(Buffer.from(this.base64Accum, 'base64'), "utf16-be");
284
-
285
- this.inBase64 = false;
286
- this.base64Accum = '';
287
- return res;
288
- }
289
-
290
-
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- var BOMChar = '\uFEFF';
4
-
5
- exports.PrependBOM = PrependBOMWrapper
6
- function PrependBOMWrapper(encoder, options) {
7
- this.encoder = encoder;
8
- this.addBOM = true;
9
- }
10
-
11
- PrependBOMWrapper.prototype.write = function(str) {
12
- if (this.addBOM) {
13
- str = BOMChar + str;
14
- this.addBOM = false;
15
- }
16
-
17
- return this.encoder.write(str);
18
- }
19
-
20
- PrependBOMWrapper.prototype.end = function() {
21
- return this.encoder.end();
22
- }
23
-
24
-
25
- //------------------------------------------------------------------------------
26
-
27
- exports.StripBOM = StripBOMWrapper;
28
- function StripBOMWrapper(decoder, options) {
29
- this.decoder = decoder;
30
- this.pass = false;
31
- this.options = options || {};
32
- }
33
-
34
- StripBOMWrapper.prototype.write = function(buf) {
35
- var res = this.decoder.write(buf);
36
- if (this.pass || !res)
37
- return res;
38
-
39
- if (res[0] === BOMChar) {
40
- res = res.slice(1);
41
- if (typeof this.options.stripBOM === 'function')
42
- this.options.stripBOM();
43
- }
44
-
45
- this.pass = true;
46
- return res;
47
- }
48
-
49
- StripBOMWrapper.prototype.end = function() {
50
- return this.decoder.end();
51
- }
52
-
@@ -1,41 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License.
4
- * REQUIREMENT: This definition is dependent on the @types/node definition.
5
- * Install with `npm install @types/node --save-dev`
6
- *--------------------------------------------------------------------------------------------*/
7
-
8
- declare module 'iconv-lite' {
9
- // Basic API
10
- export function decode(buffer: Buffer, encoding: string, options?: Options): string;
11
-
12
- export function encode(content: string, encoding: string, options?: Options): Buffer;
13
-
14
- export function encodingExists(encoding: string): boolean;
15
-
16
- // Stream API
17
- export function decodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream;
18
-
19
- export function encodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream;
20
-
21
- // Low-level stream APIs
22
- export function getEncoder(encoding: string, options?: Options): EncoderStream;
23
-
24
- export function getDecoder(encoding: string, options?: Options): DecoderStream;
25
- }
26
-
27
- export interface Options {
28
- stripBOM?: boolean;
29
- addBOM?: boolean;
30
- defaultEncoding?: string;
31
- }
32
-
33
- export interface EncoderStream {
34
- write(str: string): Buffer;
35
- end(): Buffer | undefined;
36
- }
37
-
38
- export interface DecoderStream {
39
- write(buf: Buffer): string;
40
- end(): string | undefined;
41
- }
@@ -1,180 +0,0 @@
1
- "use strict";
2
-
3
- var Buffer = require("safer-buffer").Buffer;
4
-
5
- var bomHandling = require("./bom-handling"),
6
- iconv = module.exports;
7
-
8
- // All codecs and aliases are kept here, keyed by encoding name/alias.
9
- // They are lazy loaded in `iconv.getCodec` from `encodings/index.js`.
10
- iconv.encodings = null;
11
-
12
- // Characters emitted in case of error.
13
- iconv.defaultCharUnicode = '�';
14
- iconv.defaultCharSingleByte = '?';
15
-
16
- // Public API.
17
- iconv.encode = function encode(str, encoding, options) {
18
- str = "" + (str || ""); // Ensure string.
19
-
20
- var encoder = iconv.getEncoder(encoding, options);
21
-
22
- var res = encoder.write(str);
23
- var trail = encoder.end();
24
-
25
- return (trail && trail.length > 0) ? Buffer.concat([res, trail]) : res;
26
- }
27
-
28
- iconv.decode = function decode(buf, encoding, options) {
29
- if (typeof buf === 'string') {
30
- if (!iconv.skipDecodeWarning) {
31
- console.error('Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding');
32
- iconv.skipDecodeWarning = true;
33
- }
34
-
35
- buf = Buffer.from("" + (buf || ""), "binary"); // Ensure buffer.
36
- }
37
-
38
- var decoder = iconv.getDecoder(encoding, options);
39
-
40
- var res = decoder.write(buf);
41
- var trail = decoder.end();
42
-
43
- return trail ? (res + trail) : res;
44
- }
45
-
46
- iconv.encodingExists = function encodingExists(enc) {
47
- try {
48
- iconv.getCodec(enc);
49
- return true;
50
- } catch (e) {
51
- return false;
52
- }
53
- }
54
-
55
- // Legacy aliases to convert functions
56
- iconv.toEncoding = iconv.encode;
57
- iconv.fromEncoding = iconv.decode;
58
-
59
- // Search for a codec in iconv.encodings. Cache codec data in iconv._codecDataCache.
60
- iconv._codecDataCache = {};
61
- iconv.getCodec = function getCodec(encoding) {
62
- if (!iconv.encodings)
63
- iconv.encodings = require("../encodings"); // Lazy load all encoding definitions.
64
-
65
- // Canonicalize encoding name: strip all non-alphanumeric chars and appended year.
66
- var enc = iconv._canonicalizeEncoding(encoding);
67
-
68
- // Traverse iconv.encodings to find actual codec.
69
- var codecOptions = {};
70
- while (true) {
71
- var codec = iconv._codecDataCache[enc];
72
- if (codec)
73
- return codec;
74
-
75
- var codecDef = iconv.encodings[enc];
76
-
77
- switch (typeof codecDef) {
78
- case "string": // Direct alias to other encoding.
79
- enc = codecDef;
80
- break;
81
-
82
- case "object": // Alias with options. Can be layered.
83
- for (var key in codecDef)
84
- codecOptions[key] = codecDef[key];
85
-
86
- if (!codecOptions.encodingName)
87
- codecOptions.encodingName = enc;
88
-
89
- enc = codecDef.type;
90
- break;
91
-
92
- case "function": // Codec itself.
93
- if (!codecOptions.encodingName)
94
- codecOptions.encodingName = enc;
95
-
96
- // The codec function must load all tables and return object with .encoder and .decoder methods.
97
- // It'll be called only once (for each different options object).
98
- codec = new codecDef(codecOptions, iconv);
99
-
100
- iconv._codecDataCache[codecOptions.encodingName] = codec; // Save it to be reused later.
101
- return codec;
102
-
103
- default:
104
- throw new Error("Encoding not recognized: '" + encoding + "' (searched as: '"+enc+"')");
105
- }
106
- }
107
- }
108
-
109
- iconv._canonicalizeEncoding = function(encoding) {
110
- // Canonicalize encoding name: strip all non-alphanumeric chars and appended year.
111
- return (''+encoding).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g, "");
112
- }
113
-
114
- iconv.getEncoder = function getEncoder(encoding, options) {
115
- var codec = iconv.getCodec(encoding),
116
- encoder = new codec.encoder(options, codec);
117
-
118
- if (codec.bomAware && options && options.addBOM)
119
- encoder = new bomHandling.PrependBOM(encoder, options);
120
-
121
- return encoder;
122
- }
123
-
124
- iconv.getDecoder = function getDecoder(encoding, options) {
125
- var codec = iconv.getCodec(encoding),
126
- decoder = new codec.decoder(options, codec);
127
-
128
- if (codec.bomAware && !(options && options.stripBOM === false))
129
- decoder = new bomHandling.StripBOM(decoder, options);
130
-
131
- return decoder;
132
- }
133
-
134
- // Streaming API
135
- // NOTE: Streaming API naturally depends on 'stream' module from Node.js. Unfortunately in browser environments this module can add
136
- // up to 100Kb to the output bundle. To avoid unnecessary code bloat, we don't enable Streaming API in browser by default.
137
- // If you would like to enable it explicitly, please add the following code to your app:
138
- // > iconv.enableStreamingAPI(require('stream'));
139
- iconv.enableStreamingAPI = function enableStreamingAPI(stream_module) {
140
- if (iconv.supportsStreams)
141
- return;
142
-
143
- // Dependency-inject stream module to create IconvLite stream classes.
144
- var streams = require("./streams")(stream_module);
145
-
146
- // Not public API yet, but expose the stream classes.
147
- iconv.IconvLiteEncoderStream = streams.IconvLiteEncoderStream;
148
- iconv.IconvLiteDecoderStream = streams.IconvLiteDecoderStream;
149
-
150
- // Streaming API.
151
- iconv.encodeStream = function encodeStream(encoding, options) {
152
- return new iconv.IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options);
153
- }
154
-
155
- iconv.decodeStream = function decodeStream(encoding, options) {
156
- return new iconv.IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options);
157
- }
158
-
159
- iconv.supportsStreams = true;
160
- }
161
-
162
- // Enable Streaming API automatically if 'stream' module is available and non-empty (the majority of environments).
163
- var stream_module;
164
- try {
165
- stream_module = require("stream");
166
- } catch (e) {}
167
-
168
- if (stream_module && stream_module.Transform) {
169
- iconv.enableStreamingAPI(stream_module);
170
-
171
- } else {
172
- // In rare cases where 'stream' module is not available by default, throw a helpful exception.
173
- iconv.encodeStream = iconv.decodeStream = function() {
174
- throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it.");
175
- };
176
- }
177
-
178
- if ("Ā" != "\u0100") {
179
- console.error("iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info.");
180
- }
@@ -1,109 +0,0 @@
1
- "use strict";
2
-
3
- var Buffer = require("safer-buffer").Buffer;
4
-
5
- // NOTE: Due to 'stream' module being pretty large (~100Kb, significant in browser environments),
6
- // we opt to dependency-inject it instead of creating a hard dependency.
7
- module.exports = function(stream_module) {
8
- var Transform = stream_module.Transform;
9
-
10
- // == Encoder stream =======================================================
11
-
12
- function IconvLiteEncoderStream(conv, options) {
13
- this.conv = conv;
14
- options = options || {};
15
- options.decodeStrings = false; // We accept only strings, so we don't need to decode them.
16
- Transform.call(this, options);
17
- }
18
-
19
- IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, {
20
- constructor: { value: IconvLiteEncoderStream }
21
- });
22
-
23
- IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) {
24
- if (typeof chunk != 'string')
25
- return done(new Error("Iconv encoding stream needs strings as its input."));
26
- try {
27
- var res = this.conv.write(chunk);
28
- if (res && res.length) this.push(res);
29
- done();
30
- }
31
- catch (e) {
32
- done(e);
33
- }
34
- }
35
-
36
- IconvLiteEncoderStream.prototype._flush = function(done) {
37
- try {
38
- var res = this.conv.end();
39
- if (res && res.length) this.push(res);
40
- done();
41
- }
42
- catch (e) {
43
- done(e);
44
- }
45
- }
46
-
47
- IconvLiteEncoderStream.prototype.collect = function(cb) {
48
- var chunks = [];
49
- this.on('error', cb);
50
- this.on('data', function(chunk) { chunks.push(chunk); });
51
- this.on('end', function() {
52
- cb(null, Buffer.concat(chunks));
53
- });
54
- return this;
55
- }
56
-
57
-
58
- // == Decoder stream =======================================================
59
-
60
- function IconvLiteDecoderStream(conv, options) {
61
- this.conv = conv;
62
- options = options || {};
63
- options.encoding = this.encoding = 'utf8'; // We output strings.
64
- Transform.call(this, options);
65
- }
66
-
67
- IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, {
68
- constructor: { value: IconvLiteDecoderStream }
69
- });
70
-
71
- IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) {
72
- if (!Buffer.isBuffer(chunk) && !(chunk instanceof Uint8Array))
73
- return done(new Error("Iconv decoding stream needs buffers as its input."));
74
- try {
75
- var res = this.conv.write(chunk);
76
- if (res && res.length) this.push(res, this.encoding);
77
- done();
78
- }
79
- catch (e) {
80
- done(e);
81
- }
82
- }
83
-
84
- IconvLiteDecoderStream.prototype._flush = function(done) {
85
- try {
86
- var res = this.conv.end();
87
- if (res && res.length) this.push(res, this.encoding);
88
- done();
89
- }
90
- catch (e) {
91
- done(e);
92
- }
93
- }
94
-
95
- IconvLiteDecoderStream.prototype.collect = function(cb) {
96
- var res = '';
97
- this.on('error', cb);
98
- this.on('data', function(chunk) { res += chunk; });
99
- this.on('end', function() {
100
- cb(null, res);
101
- });
102
- return this;
103
- }
104
-
105
- return {
106
- IconvLiteEncoderStream: IconvLiteEncoderStream,
107
- IconvLiteDecoderStream: IconvLiteDecoderStream,
108
- };
109
- };