@cloudpss/ubjson 0.4.32 → 0.4.33

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 (56) hide show
  1. package/dist/common/constants.d.ts +22 -20
  2. package/dist/common/constants.js +1 -21
  3. package/dist/common/constants.js.map +1 -1
  4. package/dist/common/decoder.d.ts +4 -20
  5. package/dist/common/decoder.js +217 -178
  6. package/dist/common/decoder.js.map +1 -1
  7. package/dist/common/encoder.d.ts +4 -52
  8. package/dist/common/encoder.js +215 -259
  9. package/dist/common/encoder.js.map +1 -1
  10. package/dist/common/string-decoder.d.ts +3 -8
  11. package/dist/common/string-decoder.js +190 -46
  12. package/dist/common/string-decoder.js.map +1 -1
  13. package/dist/common/string-encoder.d.ts +2 -8
  14. package/dist/common/string-encoder.js +4 -44
  15. package/dist/common/string-encoder.js.map +1 -1
  16. package/dist/encoder.js +2 -21
  17. package/dist/encoder.js.map +1 -1
  18. package/dist/index.d.ts +1 -2
  19. package/dist/index.js +2 -4
  20. package/dist/index.js.map +1 -1
  21. package/dist/rxjs/decoder.js +2 -2
  22. package/dist/rxjs/decoder.js.map +1 -1
  23. package/dist/rxjs/index.d.ts +1 -0
  24. package/dist/rxjs/index.js +1 -0
  25. package/dist/rxjs/index.js.map +1 -1
  26. package/dist/stream/index.d.ts +1 -0
  27. package/dist/stream/index.js +2 -1
  28. package/dist/stream/index.js.map +1 -1
  29. package/dist/stream-helper/decoder.d.ts +1 -1
  30. package/dist/stream-helper/decoder.js +1 -1
  31. package/dist/stream-helper/decoder.js.map +1 -1
  32. package/dist/utils.d.ts +5 -1
  33. package/dist/utils.js +13 -4
  34. package/dist/utils.js.map +1 -1
  35. package/package.json +3 -2
  36. package/src/common/constants.ts +22 -21
  37. package/src/common/decoder.ts +197 -162
  38. package/src/common/encoder.ts +200 -275
  39. package/src/common/string-decoder.ts +173 -41
  40. package/src/common/string-encoder.ts +6 -41
  41. package/src/encoder.ts +2 -16
  42. package/src/index.ts +2 -5
  43. package/src/rxjs/decoder.ts +2 -2
  44. package/src/rxjs/index.ts +1 -0
  45. package/src/stream/index.ts +2 -0
  46. package/src/stream-helper/decoder.ts +1 -1
  47. package/src/utils.ts +14 -4
  48. package/tests/decode.js +69 -5
  49. package/tests/e2e.js +12 -1
  50. package/tests/encode.js +33 -16
  51. package/tests/rxjs/decode.js +3 -2
  52. package/tests/rxjs/encode.js +2 -3
  53. package/tests/stream/decode.js +2 -1
  54. package/tests/stream/encode.js +2 -3
  55. package/tests/string-encoding.js +77 -25
  56. package/tsconfig.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/common/encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/common/encoder.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,7 @@ export declare const textDecoder: TextDecoder | null;
2
2
  export declare const TEXT_ENCODER_THRESHOLD: number;
3
3
  /** 解码 */
4
4
  export declare function decodeJs(bytes: Uint8Array, begin: number, end: number): string;
5
- /** 解码 */
5
+ /** 字符串解码,无缓存 */
6
6
  export declare function decode(data: Uint8Array, begin: number, end: number): string;
7
- /** 特别优化字符串解码速度 */
8
- export declare class StringDecoder {
9
- /** 小字符串缓存 */
10
- private readonly cache;
11
- /** 字符串解码 */
12
- decode(data: Uint8Array, begin: number, end: number): string;
13
- }
7
+ /** 字符串解码,使用缓存 */
8
+ export declare function decodeKey(data: Uint8Array, begin: number, end: number): string;
@@ -1,9 +1,11 @@
1
+ import { UnexpectedEof } from '../utils.js';
1
2
  /* c8 ignore next 2: TextDecoder always present, fallback tested */
2
3
  export const textDecoder = typeof TextDecoder == 'function' ? new TextDecoder('utf8', { ignoreBOM: true, fatal: false }) : null;
3
4
  /* c8 ignore next: TextDecoder always present, fallback tested */
4
5
  export const TEXT_ENCODER_THRESHOLD = textDecoder == null ? 4294967295 : 200;
5
6
  const CHUNK_SIZE = 0x1000;
6
7
  const REPLACE_CHAR = 0xfffd;
8
+ const fromCharCode = String.fromCharCode;
7
9
  /** 解码 */
8
10
  export function decodeJs(bytes, begin, end) {
9
11
  let offset = begin;
@@ -43,67 +45,209 @@ export function decodeJs(bytes, begin, end) {
43
45
  units.push(REPLACE_CHAR);
44
46
  }
45
47
  if (units.length >= CHUNK_SIZE) {
46
- result += String.fromCharCode(...units);
48
+ result += fromCharCode(...units);
47
49
  units.length = 0;
48
50
  }
49
51
  }
50
52
  if (units.length > 0) {
51
- result += String.fromCharCode(...units);
53
+ result += fromCharCode(...units);
52
54
  }
53
55
  return result;
54
56
  }
55
- /** 解码 */
57
+ /** 解码 Ascii */
58
+ function longStringInJS(buf, begin, length) {
59
+ const bytes = Array.from({ length });
60
+ for (let i = 0; i < length; i++) {
61
+ const byte = buf[begin++];
62
+ if ((byte & 0x80) > 0) {
63
+ return;
64
+ }
65
+ bytes[i] = byte;
66
+ }
67
+ return fromCharCode(...bytes);
68
+ }
69
+ /** 解码 Ascii */
70
+ function shortStringInJS(buf, begin, length) {
71
+ if (length < 4) {
72
+ if (length < 2) {
73
+ if (length === 0)
74
+ return '';
75
+ else {
76
+ const a = buf[begin++];
77
+ if ((a & 0x80) > 1) {
78
+ return;
79
+ }
80
+ return fromCharCode(a);
81
+ }
82
+ }
83
+ else {
84
+ const a = buf[begin++];
85
+ const b = buf[begin++];
86
+ if ((a & 0x80) > 0 || (b & 0x80) > 0) {
87
+ return;
88
+ }
89
+ if (length < 3)
90
+ return fromCharCode(a, b);
91
+ const c = buf[begin++];
92
+ if ((c & 0x80) > 0) {
93
+ return;
94
+ }
95
+ return fromCharCode(a, b, c);
96
+ }
97
+ }
98
+ else {
99
+ const a = buf[begin++];
100
+ const b = buf[begin++];
101
+ const c = buf[begin++];
102
+ const d = buf[begin++];
103
+ if ((a & 0x80) > 0 || (b & 0x80) > 0 || (c & 0x80) > 0 || (d & 0x80) > 0) {
104
+ return;
105
+ }
106
+ if (length < 6) {
107
+ if (length === 4)
108
+ return fromCharCode(a, b, c, d);
109
+ else {
110
+ const e = buf[begin++];
111
+ if ((e & 0x80) > 0) {
112
+ return;
113
+ }
114
+ return fromCharCode(a, b, c, d, e);
115
+ }
116
+ }
117
+ else if (length < 8) {
118
+ const e = buf[begin++];
119
+ const f = buf[begin++];
120
+ if ((e & 0x80) > 0 || (f & 0x80) > 0) {
121
+ return;
122
+ }
123
+ if (length < 7)
124
+ return fromCharCode(a, b, c, d, e, f);
125
+ const g = buf[begin++];
126
+ if ((g & 0x80) > 0) {
127
+ return;
128
+ }
129
+ return fromCharCode(a, b, c, d, e, f, g);
130
+ }
131
+ else {
132
+ const e = buf[begin++];
133
+ const f = buf[begin++];
134
+ const g = buf[begin++];
135
+ const h = buf[begin++];
136
+ if ((e & 0x80) > 0 || (f & 0x80) > 0 || (g & 0x80) > 0 || (h & 0x80) > 0) {
137
+ return;
138
+ }
139
+ if (length < 10) {
140
+ if (length === 8)
141
+ return fromCharCode(a, b, c, d, e, f, g, h);
142
+ else {
143
+ const i = buf[begin++];
144
+ if ((i & 0x80) > 0) {
145
+ return;
146
+ }
147
+ return fromCharCode(a, b, c, d, e, f, g, h, i);
148
+ }
149
+ }
150
+ else if (length < 12) {
151
+ const i = buf[begin++];
152
+ const j = buf[begin++];
153
+ if ((i & 0x80) > 0 || (j & 0x80) > 0) {
154
+ return;
155
+ }
156
+ if (length < 11)
157
+ return fromCharCode(a, b, c, d, e, f, g, h, i, j);
158
+ const k = buf[begin++];
159
+ if ((k & 0x80) > 0) {
160
+ return;
161
+ }
162
+ return fromCharCode(a, b, c, d, e, f, g, h, i, j, k);
163
+ }
164
+ else {
165
+ const i = buf[begin++];
166
+ const j = buf[begin++];
167
+ const k = buf[begin++];
168
+ const l = buf[begin++];
169
+ if ((i & 0x80) > 0 || (j & 0x80) > 0 || (k & 0x80) > 0 || (l & 0x80) > 0) {
170
+ return;
171
+ }
172
+ if (length < 14) {
173
+ if (length === 12)
174
+ return fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l);
175
+ else {
176
+ const m = buf[begin++];
177
+ if ((m & 0x80) > 0) {
178
+ begin -= 13;
179
+ return;
180
+ }
181
+ return fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m);
182
+ }
183
+ }
184
+ else {
185
+ const m = buf[begin++];
186
+ const n = buf[begin++];
187
+ if ((m & 0x80) > 0 || (n & 0x80) > 0) {
188
+ return;
189
+ }
190
+ if (length < 15)
191
+ return fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m, n);
192
+ const o = buf[begin++];
193
+ if ((o & 0x80) > 0) {
194
+ return;
195
+ }
196
+ return fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o);
197
+ }
198
+ }
199
+ }
200
+ }
201
+ }
202
+ /** 字符串解码,无缓存 */
56
203
  export function decode(data, begin, end) {
57
- if (end - begin <
58
- TEXT_ENCODER_THRESHOLD // 只有小字符串有优化价值,见 benchmark-string.js
59
- ) {
204
+ if (end > data.length)
205
+ throw new UnexpectedEof();
206
+ const length = end - begin;
207
+ if (length < 16) {
208
+ const result = shortStringInJS(data, begin, length);
209
+ if (result != null)
210
+ return result;
211
+ }
212
+ // 只有小字符串有优化价值,见 benchmark-string.js
213
+ if (length < TEXT_ENCODER_THRESHOLD) {
60
214
  // 为小字符串优化
61
215
  return decodeJs(data, begin, end);
62
216
  }
63
217
  // 使用系统解码
64
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
65
218
  return textDecoder.decode(data.subarray(begin, end));
66
219
  }
67
- /** 特别优化字符串解码速度 */
68
- export class StringDecoder {
69
- constructor() {
70
- /** 小字符串缓存 */
71
- this.cache = [
72
- undefined,
73
- undefined,
74
- new Map(),
75
- new Map(),
76
- new Map(),
77
- new Map(),
78
- new Map(), // 6 字节
79
- ];
220
+ const keyCache = Array.from({ length: 4096 });
221
+ /** 字符串解码,使用缓存 */
222
+ export function decodeKey(data, begin, end) {
223
+ const length = end - begin;
224
+ const cacheKey = ((length << 5) ^ (length > 1 ? data[begin] & (data[begin + 1] << 8) : length > 0 ? data[begin] : 0)) & 0xfff;
225
+ let entry = keyCache[cacheKey];
226
+ if (entry != null && entry.buffer.byteLength === length) {
227
+ let i = 0;
228
+ for (; i < length; i++) {
229
+ if (entry.buffer[i] !== data[begin + i])
230
+ break;
231
+ }
232
+ if (i === length)
233
+ return entry.value;
80
234
  }
81
- /** 字符串解码 */
82
- decode(data, begin, end) {
83
- const length = (end - begin);
84
- // 这里,length 类型为 Uint32
85
- if (length > 6)
86
- return decode(data, begin, end);
87
- // 这里,length 类型为 0 | 1 | 2 | 3 | 4 | 5 | 6
88
- // 为小字符串优化
89
- if (length === 0)
90
- return '';
91
- if (length === 1)
92
- return String.fromCharCode(data[begin]);
93
- // number 最多存储 6 字节数据
94
- const cache = this.cache[length];
95
- // 计算缓存 key
96
- let key = 0;
97
- for (let i = begin; i < end; i++) {
98
- // 不要用位运算,JS 位运算只支持 32 位
99
- key = key * 0xff + data[i];
100
- }
101
- const match = cache.get(key);
102
- if (match != null)
103
- return match;
104
- const string = decodeJs(data, begin, end);
105
- cache.set(key, string);
106
- return string;
235
+ if (end > data.length)
236
+ throw new UnexpectedEof();
237
+ let str = length < 16 ? shortStringInJS(data, begin, length) : longStringInJS(data, begin, length);
238
+ if (str == null) {
239
+ // 只有小字符串有优化价值,见 benchmark-string.js
240
+ if (length < TEXT_ENCODER_THRESHOLD) {
241
+ // 为小字符串优化
242
+ str = decodeJs(data, begin, end);
243
+ }
244
+ else {
245
+ // 使用系统解码
246
+ str = textDecoder.decode(data.subarray(begin, end));
247
+ }
107
248
  }
249
+ entry = { value: str, buffer: data.slice(begin, end) };
250
+ keyCache[cacheKey] = entry;
251
+ return str;
108
252
  }
109
253
  //# sourceMappingURL=string-decoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string-decoder.js","sourceRoot":"","sources":["../../src/common/string-decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string-decoder.js","sourceRoot":"","sources":["../../src/common/string-decoder.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,2 @@
1
- /** 字符串编码器 */
2
- export declare class StringEncoder extends TextEncoder {
3
- private readonly cache;
4
- /** 编码字符串 */
5
- encode(value: string): Uint8Array;
6
- /** 计算使用的空间 */
7
- byteLength(value: string): number;
8
- }
1
+ export declare const getStringByteLength: () => (v: string) => number;
2
+ export declare const getEncodeInto: () => ((v: string, buf: Uint8Array, offset: number) => number) | undefined;
@@ -42,48 +42,8 @@ function getCharCodeByteLength(string) {
42
42
  }
43
43
  return byteLength;
44
44
  }
45
- /** 字符串编码器 */
46
- export class StringEncoder extends TextEncoder {
47
- constructor() {
48
- super(...arguments);
49
- this.cache = new Map();
50
- }
51
- /** 编码字符串 */
52
- encode(value) {
53
- if (value.length > 16) {
54
- return super.encode(value);
55
- }
56
- // 优化小字符串
57
- let buf = this.cache.get(value);
58
- if (buf == null) {
59
- let isAscii = true;
60
- for (let index = 0; index < value.length; index++) {
61
- const ch = value.charCodeAt(index);
62
- if (ch >= 128) {
63
- isAscii = false;
64
- break;
65
- }
66
- }
67
- if (isAscii) {
68
- buf = new Uint8Array(value.length);
69
- for (let index = 0; index < value.length; index++) {
70
- const ch = value.charCodeAt(index);
71
- buf[index] = ch;
72
- }
73
- }
74
- else {
75
- buf = super.encode(value);
76
- }
77
- this.cache.set(value, buf);
78
- }
79
- return buf;
80
- }
81
- /** 计算使用的空间 */
82
- byteLength(value) {
83
- if (typeof Buffer == 'function' && typeof Buffer.byteLength == 'function') {
84
- return Buffer.byteLength(value, 'utf8');
85
- }
86
- return getCharCodeByteLength(value);
87
- }
88
- }
45
+ export const getStringByteLength = () => typeof Buffer?.byteLength == 'function' ? (v) => Buffer.byteLength(v, 'utf8') : getCharCodeByteLength;
46
+ /* c8 ignore next 1 */
47
+ const encoder = typeof TextEncoder == 'function' ? new TextEncoder() : undefined;
48
+ export const getEncodeInto = () => encoder?.encodeInto ? (v, buf, offset) => encoder.encodeInto(v, buf.subarray(offset)).written : undefined;
89
49
  //# sourceMappingURL=string-encoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string-encoder.js","sourceRoot":"","sources":["../../src/common/string-encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string-encoder.js","sourceRoot":"","sources":["../../src/common/string-encoder.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,gCAAgC;AAChC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,yBAAyB;AACzB,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,gCAAgC;AAChC,6BAA6B;AAC7B,yEAAyE;AACzE,uCAAuC;AACvC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACnC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,cAAc;AACd,SAAS,qBAAqB,CAAC,MAAc;IACzC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,IAAI,UAAU,GAAG,UAAU,CAAC;IAE5B,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,CAAC,EAAE;QAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE/C,IAAI,SAAS,IAAI,oBAAoB,EAAE;YACnC,SAAS;SACZ;QAED,IAAI,SAAS,IAAI,wBAAwB,EAAE;YACvC,UAAU,IAAI,CAAC,CAAC;YAChB,SAAS;SACZ;QAED,UAAU,IAAI,CAAC,CAAC;QAEhB,IAAI,SAAS,GAAG,oBAAoB,IAAI,SAAS,GAAG,mBAAmB,EAAE;YACrE,SAAS;SACZ;QAED,iEAAiE;QACjE,iBAAiB;QACjB,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAEvD,wDAAwD;QACxD,0EAA0E;QAC1E,0EAA0E;QAC1E,UAAU;QACV,IAAI,aAAa,GAAG,mBAAmB,IAAI,aAAa,GAAG,kBAAkB,EAAE;YAC3E,SAAS;SACZ;QAED,SAAS,IAAI,CAAC,CAAC;KAClB;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAA4B,EAAE,CAC7D,OAAO,MAAM,EAAE,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;AAE1G,sBAAsB;AACtB,MAAM,OAAO,GAAG,OAAO,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAyE,EAAE,CACpG,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC"}
package/dist/encoder.js CHANGED
@@ -34,27 +34,8 @@ export class Encoder extends EncoderBase {
34
34
  }
35
35
  /** 获取写入结果 */
36
36
  encode() {
37
- if (ArrayBuffer.isView(this.value)) {
38
- // 为根 typed array 优化,减少不必要的分配
39
- if (this.value.byteLength < 128)
40
- this.ensureCapacity(6 + this.value.byteLength);
41
- else if (this.value.byteLength < 32768)
42
- this.ensureCapacity(7 + this.value.byteLength);
43
- else if (this.value.byteLength < 2147483648)
44
- this.ensureCapacity(9 + this.value.byteLength);
45
- else
46
- this.ensureCapacity(13 + this.value.byteLength);
47
- this.writeTypedArray(this.value);
48
- // 取消注释后运行测试
49
- // if (this.buffer.byteLength !== this.length) {
50
- // // 这里永远无法到达
51
- // throw new Error('Bad buffer size');
52
- // }
53
- }
54
- else {
55
- this.ensureCapacity(BLOCK_SIZE);
56
- this.write(this.value);
57
- }
37
+ this.ensureCapacity(BLOCK_SIZE);
38
+ this.write(this.value);
58
39
  if (this.flushedBuffers.length === 0) {
59
40
  if (this.buffer.byteLength === this.length) {
60
41
  // 无需再拷贝一次
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../src/encoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../src/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,QAAQ;AACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS;AAE7C,iBAAiB;AACjB,MAAM,OAAO,OAAQ,SAAQ,WAAW;IAAxC;;QACqB,mBAAc,GAAiB,EAAE,CAAC;IAoDvD,CAAC;IAnDG;;OAEG;IACO,cAAc,CAAC,QAAgB;QACrC,IAAI,QAAQ,GAAG,QAAQ,EAAE;YACrB,WAAW;YACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACjD;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO;SACV;QACD,OAAO;QACP,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ;YAAE,OAAO;QAE7D,UAAU;QACV,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/D,UAAU;QACV,IAAI,QAAQ,GAAG,UAAU;YAAE,QAAQ,GAAG,UAAU,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,aAAa;IACb,MAAM;QACF,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE;gBACxC,UAAU;gBACV,OAAO,IAAI,CAAC,MAAM,CAAC;aACtB;iBAAM;gBACH,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aAC5C;SACJ;QAED,QAAQ;QACR,MAAM,MAAM,GAAG,IAAI,UAAU,CACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CACxF,CAAC;QACF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE;YACtC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3B,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC;SAC/B;QACD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
+ export { UnexpectedEof } from './utils.js';
1
2
  /** 编码为 UBJSON */
2
3
  export declare function encode(value: unknown): Uint8Array;
3
4
  /** 解码 UBJSON */
4
5
  export declare function decode(value: BinaryData): unknown;
5
- export { StringEncoder } from './common/string-encoder.js';
6
- export { StringDecoder } from './common/string-decoder.js';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Encoder } from './encoder.js';
2
2
  import { Decoder } from './decoder.js';
3
- import { toUint8Array } from './utils.js';
3
+ export { UnexpectedEof } from './utils.js';
4
4
  /** 编码为 UBJSON */
5
5
  export function encode(value) {
6
6
  const encoder = new Encoder(value);
@@ -8,9 +8,7 @@ export function encode(value) {
8
8
  }
9
9
  /** 解码 UBJSON */
10
10
  export function decode(value) {
11
- const decoder = new Decoder(toUint8Array(value));
11
+ const decoder = new Decoder(value);
12
12
  return decoder.decode();
13
13
  }
14
- export { StringEncoder } from './common/string-encoder.js';
15
- export { StringDecoder } from './common/string-decoder.js';
16
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,KAAc;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,MAAM,CAAC,KAAiB;IACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,iBAAiB;AACjB,MAAM,UAAU,MAAM,CAAC,KAAc;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,MAAM,CAAC,KAAiB;IACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;AAC5B,CAAC"}
@@ -13,7 +13,7 @@ export function decode() {
13
13
  let end = 0;
14
14
  return observable.subscribe({
15
15
  next(value) {
16
- const data = toUint8Array(value);
16
+ const data = toUint8Array(value, false);
17
17
  if (buffer.length >= end + data.length) {
18
18
  buffer.set(data, end);
19
19
  end += data.length;
@@ -29,7 +29,7 @@ export function decode() {
29
29
  }
30
30
  while (end - begin > 0) {
31
31
  try {
32
- const helper = new StreamDecoderHelper(buffer.subarray(begin, end));
32
+ const helper = new StreamDecoderHelper(buffer.slice(begin, end));
33
33
  const result = helper.decode();
34
34
  if (result !== undefined) {
35
35
  subscriber.next(result);
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/rxjs/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,MAAM,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,mBAAmB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,SAAS;AACvD,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAEvC,kBAAkB;AAClB,MAAM,UAAU,MAAM;IAClB,OAAO,CAAC,UAAU,EAAE,EAAE;QAClB,OAAO,IAAI,UAAU,CAAU,CAAC,UAAU,EAAE,EAAE;YAC1C,IAAI,SAAS,GAAG,mBAAmB,CAAC;YACpC,IAAI,MAAM,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,OAAO,UAAU,CAAC,SAAS,CAAC;gBACxB,IAAI,CAAC,KAAK;oBACN,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;oBACjC,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE;wBACpC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;wBACtB,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC;qBACtB;yBAAM;wBACH,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;wBAC/D,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;wBACjF,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC9C,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;wBACjC,MAAM,GAAG,SAAS,CAAC;wBACnB,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;wBAChC,KAAK,GAAG,CAAC,CAAC;qBACb;oBACD,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,EAAE;wBACpB,IAAI;4BACA,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;4BACpE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;4BAC/B,IAAI,MAAM,KAAK,SAAS,EAAE;gCACtB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;6BAC3B;4BACD,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC;yBAC9B;wBAAC,OAAO,EAAE,EAAE;4BACT,IAAI,EAAE,YAAY,aAAa,EAAE;gCAC7B,OAAO;6BACV;iCAAM;gCACH,UAAU,CAAC,KAAK,CAAC,EAAW,CAAC,CAAC;gCAC9B,MAAM,GAAG,YAAY,CAAC;gCACtB,OAAO;6BACV;yBACJ;qBACJ;oBACD,4BAA4B;oBAC5B,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,KAAK,CAAC,GAAG;oBACL,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM,GAAG,YAAY,CAAC;gBAC1B,CAAC;gBACD,QAAQ;oBACJ,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,EAAE;wBACjB,UAAU,CAAC,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;qBACzC;yBAAM;wBACH,UAAU,CAAC,QAAQ,EAAE,CAAC;qBACzB;oBACD,MAAM,GAAG,YAAY,CAAC;gBAC1B,CAAC;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/rxjs/decoder.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export { encode } from './encoder.js';
2
2
  export { decode } from './decoder.js';
3
+ export { UnexpectedEof } from '../utils.js';
@@ -1,3 +1,4 @@
1
1
  export { encode } from './encoder.js';
2
2
  export { decode } from './decoder.js';
3
+ export { UnexpectedEof } from '../utils.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rxjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rxjs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
3
  import { Readable, Transform } from 'node:stream';
4
+ export { UnexpectedEof } from '../utils.js';
4
5
  /** 编码为 UBJSON */
5
6
  export declare function encode(value: unknown): Readable;
6
7
  /** 编码为 UBJSON */
@@ -1,6 +1,7 @@
1
- import { Readable, Transform } from 'node:stream';
1
+ import { Readable } from 'node:stream';
2
2
  import { StreamEncoder } from './encoder.js';
3
3
  import { StreamDecoder } from './decoder.js';
4
+ export { UnexpectedEof } from '../utils.js';
4
5
  /** 编码为 UBJSON */
5
6
  export function encode(value) {
6
7
  if (value == null) {