@colyseus/schema 2.0.35 → 2.0.37

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 (59) hide show
  1. package/build/cjs/index.js +6 -14
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/index.mjs +6 -14
  4. package/build/esm/index.mjs.map +1 -1
  5. package/build/umd/index.js +6 -14
  6. package/lib/Schema.d.ts +1 -1
  7. package/lib/annotations.js +8 -8
  8. package/lib/annotations.js.map +1 -1
  9. package/lib/bench_encode.d.ts +1 -0
  10. package/lib/bench_encode.js +145 -0
  11. package/lib/bench_encode.js.map +1 -0
  12. package/lib/codegen/api.js +1 -2
  13. package/lib/codegen/api.js.map +1 -1
  14. package/lib/codegen/languages/cpp.js +1 -2
  15. package/lib/codegen/languages/cpp.js.map +1 -1
  16. package/lib/codegen/languages/csharp.js +1 -2
  17. package/lib/codegen/languages/csharp.js.map +1 -1
  18. package/lib/codegen/languages/haxe.js +1 -2
  19. package/lib/codegen/languages/haxe.js.map +1 -1
  20. package/lib/codegen/languages/java.js +1 -2
  21. package/lib/codegen/languages/java.js.map +1 -1
  22. package/lib/codegen/languages/js.js +1 -2
  23. package/lib/codegen/languages/js.js.map +1 -1
  24. package/lib/codegen/languages/lua.js +1 -2
  25. package/lib/codegen/languages/lua.js.map +1 -1
  26. package/lib/codegen/languages/ts.js +1 -2
  27. package/lib/codegen/languages/ts.js.map +1 -1
  28. package/lib/codegen/parser.js +2 -3
  29. package/lib/codegen/parser.js.map +1 -1
  30. package/lib/codegen/types.js +3 -3
  31. package/lib/codegen/types.js.map +1 -1
  32. package/lib/encoding/decode.js +19 -20
  33. package/lib/encoding/decode.js.map +1 -1
  34. package/lib/encoding/encode.js +16 -17
  35. package/lib/encoding/encode.js.map +1 -1
  36. package/lib/types/ArraySchema.d.ts +3 -2
  37. package/lib/types/ArraySchema.js +2 -10
  38. package/lib/types/ArraySchema.js.map +1 -1
  39. package/lib/types/CollectionSchema.d.ts +2 -2
  40. package/lib/types/MapSchema.d.ts +3 -3
  41. package/lib/types/MapSchema.js +2 -2
  42. package/lib/types/MapSchema.js.map +1 -1
  43. package/lib/types/SetSchema.d.ts +2 -2
  44. package/lib/types/typeRegistry.js +2 -3
  45. package/lib/types/typeRegistry.js.map +1 -1
  46. package/lib/types/utils.js +3 -4
  47. package/lib/types/utils.js.map +1 -1
  48. package/lib/utils.js +1 -2
  49. package/lib/utils.js.map +1 -1
  50. package/lib/v2.d.ts +1 -0
  51. package/lib/v2.js +141 -0
  52. package/lib/v2.js.map +1 -0
  53. package/lib/v2_bench.d.ts +1 -0
  54. package/lib/v2_bench.js +141 -0
  55. package/lib/v2_bench.js.map +1 -0
  56. package/package.json +1 -1
  57. package/src/annotations.ts +1 -1
  58. package/src/bench_encode.ts +108 -0
  59. package/src/types/ArraySchema.ts +4 -2
@@ -22,7 +22,25 @@
22
22
  * SOFTWARE
23
23
  */
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.switchStructureCheck = exports.arrayCheck = exports.numberCheck = exports.number = exports.stringCheck = exports.string = exports.boolean = exports.readFloat64 = exports.readFloat32 = exports.uint64 = exports.int64 = exports.float64 = exports.float32 = exports.uint32 = exports.int32 = exports.uint16 = exports.int16 = exports.uint8 = exports.int8 = void 0;
25
+ exports.int8 = int8;
26
+ exports.uint8 = uint8;
27
+ exports.int16 = int16;
28
+ exports.uint16 = uint16;
29
+ exports.int32 = int32;
30
+ exports.uint32 = uint32;
31
+ exports.float32 = float32;
32
+ exports.float64 = float64;
33
+ exports.int64 = int64;
34
+ exports.uint64 = uint64;
35
+ exports.readFloat32 = readFloat32;
36
+ exports.readFloat64 = readFloat64;
37
+ exports.boolean = boolean;
38
+ exports.string = string;
39
+ exports.stringCheck = stringCheck;
40
+ exports.number = number;
41
+ exports.numberCheck = numberCheck;
42
+ exports.arrayCheck = arrayCheck;
43
+ exports.switchStructureCheck = switchStructureCheck;
26
44
  const spec_1 = require("../spec");
27
45
  function utf8Read(bytes, offset, length) {
28
46
  var string = '', chr = 0;
@@ -66,54 +84,44 @@ function utf8Read(bytes, offset, length) {
66
84
  function int8(bytes, it) {
67
85
  return uint8(bytes, it) << 24 >> 24;
68
86
  }
69
- exports.int8 = int8;
70
87
  ;
71
88
  function uint8(bytes, it) {
72
89
  return bytes[it.offset++];
73
90
  }
74
- exports.uint8 = uint8;
75
91
  ;
76
92
  function int16(bytes, it) {
77
93
  return uint16(bytes, it) << 16 >> 16;
78
94
  }
79
- exports.int16 = int16;
80
95
  ;
81
96
  function uint16(bytes, it) {
82
97
  return bytes[it.offset++] | bytes[it.offset++] << 8;
83
98
  }
84
- exports.uint16 = uint16;
85
99
  ;
86
100
  function int32(bytes, it) {
87
101
  return bytes[it.offset++] | bytes[it.offset++] << 8 | bytes[it.offset++] << 16 | bytes[it.offset++] << 24;
88
102
  }
89
- exports.int32 = int32;
90
103
  ;
91
104
  function uint32(bytes, it) {
92
105
  return int32(bytes, it) >>> 0;
93
106
  }
94
- exports.uint32 = uint32;
95
107
  ;
96
108
  function float32(bytes, it) {
97
109
  return readFloat32(bytes, it);
98
110
  }
99
- exports.float32 = float32;
100
111
  function float64(bytes, it) {
101
112
  return readFloat64(bytes, it);
102
113
  }
103
- exports.float64 = float64;
104
114
  function int64(bytes, it) {
105
115
  const low = uint32(bytes, it);
106
116
  const high = int32(bytes, it) * Math.pow(2, 32);
107
117
  return high + low;
108
118
  }
109
- exports.int64 = int64;
110
119
  ;
111
120
  function uint64(bytes, it) {
112
121
  const low = uint32(bytes, it);
113
122
  const high = uint32(bytes, it) * Math.pow(2, 32);
114
123
  return high + low;
115
124
  }
116
- exports.uint64 = uint64;
117
125
  ;
118
126
  // force little endian to facilitate decoding on multiple implementations
119
127
  const _isLittleEndian = true; // new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;
@@ -124,19 +132,16 @@ function readFloat32(bytes, it) {
124
132
  _int32[0] = int32(bytes, it);
125
133
  return _float32[0];
126
134
  }
127
- exports.readFloat32 = readFloat32;
128
135
  ;
129
136
  function readFloat64(bytes, it) {
130
137
  _int32[_isLittleEndian ? 0 : 1] = int32(bytes, it);
131
138
  _int32[_isLittleEndian ? 1 : 0] = int32(bytes, it);
132
139
  return _float64[0];
133
140
  }
134
- exports.readFloat64 = readFloat64;
135
141
  ;
136
142
  function boolean(bytes, it) {
137
143
  return uint8(bytes, it) > 0;
138
144
  }
139
- exports.boolean = boolean;
140
145
  ;
141
146
  function string(bytes, it) {
142
147
  const prefix = bytes[it.offset++];
@@ -158,7 +163,6 @@ function string(bytes, it) {
158
163
  it.offset += length;
159
164
  return value;
160
165
  }
161
- exports.string = string;
162
166
  function stringCheck(bytes, it) {
163
167
  const prefix = bytes[it.offset];
164
168
  return (
@@ -171,7 +175,6 @@ function stringCheck(bytes, it) {
171
175
  // str 32
172
176
  prefix === 0xdb);
173
177
  }
174
- exports.stringCheck = stringCheck;
175
178
  function number(bytes, it) {
176
179
  const prefix = bytes[it.offset++];
177
180
  if (prefix < 0x80) {
@@ -223,7 +226,6 @@ function number(bytes, it) {
223
226
  return (0xff - prefix + 1) * -1;
224
227
  }
225
228
  }
226
- exports.number = number;
227
229
  ;
228
230
  function numberCheck(bytes, it) {
229
231
  const prefix = bytes[it.offset];
@@ -241,7 +243,6 @@ function numberCheck(bytes, it) {
241
243
  return (prefix < 0x80 ||
242
244
  (prefix >= 0xca && prefix <= 0xd3));
243
245
  }
244
- exports.numberCheck = numberCheck;
245
246
  function arrayCheck(bytes, it) {
246
247
  return bytes[it.offset] < 0xa0;
247
248
  // const prefix = bytes[it.offset] ;
@@ -255,7 +256,6 @@ function arrayCheck(bytes, it) {
255
256
  // }
256
257
  // return prefix;
257
258
  }
258
- exports.arrayCheck = arrayCheck;
259
259
  function switchStructureCheck(bytes, it) {
260
260
  return (
261
261
  // previous byte should be `SWITCH_TO_STRUCTURE`
@@ -263,5 +263,4 @@ function switchStructureCheck(bytes, it) {
263
263
  // next byte should be a number
264
264
  (bytes[it.offset] < 0x80 || (bytes[it.offset] >= 0xca && bytes[it.offset] <= 0xd3)));
265
265
  }
266
- exports.switchStructureCheck = switchStructureCheck;
267
266
  //# sourceMappingURL=decode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/encoding/decode.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright (c) 2018 Endel Dreyer\n * Copyright (c) 2014 Ion Drive Software Ltd.\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 all\n * 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 THE\n * SOFTWARE\n */\n\nimport { SWITCH_TO_STRUCTURE } from \"../spec\";\n\n/**\n * msgpack implementation highly based on notepack.io\n * https://github.com/darrachequesne/notepack\n */\n\nexport interface Iterator { offset: number; }\n\nfunction utf8Read(bytes, offset, length) {\n var string = '', chr = 0;\n for (var i = offset, end = offset + length; i < end; i++) {\n var byte = bytes[i];\n if ((byte & 0x80) === 0x00) {\n string += String.fromCharCode(byte);\n continue;\n }\n if ((byte & 0xe0) === 0xc0) {\n string += String.fromCharCode(\n ((byte & 0x1f) << 6) |\n (bytes[++i] & 0x3f)\n );\n continue;\n }\n if ((byte & 0xf0) === 0xe0) {\n string += String.fromCharCode(\n ((byte & 0x0f) << 12) |\n ((bytes[++i] & 0x3f) << 6) |\n ((bytes[++i] & 0x3f) << 0)\n );\n continue;\n }\n if ((byte & 0xf8) === 0xf0) {\n chr = ((byte & 0x07) << 18) |\n ((bytes[++i] & 0x3f) << 12) |\n ((bytes[++i] & 0x3f) << 6) |\n ((bytes[++i] & 0x3f) << 0);\n if (chr >= 0x010000) { // surrogate pair\n chr -= 0x010000;\n string += String.fromCharCode((chr >>> 10) + 0xD800, (chr & 0x3FF) + 0xDC00);\n } else {\n string += String.fromCharCode(chr);\n }\n continue;\n }\n\n console.error('Invalid byte ' + byte.toString(16));\n // (do not throw error to avoid server/client from crashing due to hack attemps)\n // throw new Error('Invalid byte ' + byte.toString(16));\n }\n return string;\n}\n\nexport function int8 (bytes: number[], it: Iterator) {\n return uint8(bytes, it) << 24 >> 24;\n};\n\nexport function uint8 (bytes: number[], it: Iterator) {\n return bytes[it.offset++];\n};\n\nexport function int16 (bytes: number[], it: Iterator) {\n return uint16(bytes, it) << 16 >> 16;\n};\n\nexport function uint16 (bytes: number[], it: Iterator) {\n return bytes[it.offset++] | bytes[it.offset++] << 8;\n};\n\nexport function int32 (bytes: number[], it: Iterator) {\n return bytes[it.offset++] | bytes[it.offset++] << 8 | bytes[it.offset++] << 16 | bytes[it.offset++] << 24;\n};\n\nexport function uint32 (bytes: number[], it: Iterator) {\n return int32(bytes, it) >>> 0;\n};\n\nexport function float32(bytes: number[], it: Iterator) {\n return readFloat32(bytes, it);\n}\n\nexport function float64(bytes: number[], it: Iterator) {\n return readFloat64(bytes, it);\n}\n\nexport function int64(bytes: number[], it: Iterator) {\n const low = uint32(bytes, it);\n const high = int32(bytes, it) * Math.pow(2, 32);\n return high + low;\n};\n\nexport function uint64(bytes: number[], it: Iterator) {\n const low = uint32(bytes, it);\n const high = uint32(bytes, it) * Math.pow(2, 32);\n return high + low;\n};\n\n// force little endian to facilitate decoding on multiple implementations\nconst _isLittleEndian = true; // new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\nconst _int32 = new Int32Array(2);\nconst _float32 = new Float32Array(_int32.buffer);\nconst _float64 = new Float64Array(_int32.buffer);\n\nexport function readFloat32 (bytes: number[], it: Iterator) {\n _int32[0] = int32(bytes, it);\n return _float32[0];\n};\n\nexport function readFloat64 (bytes: number[], it: Iterator) {\n _int32[_isLittleEndian ? 0 : 1] = int32(bytes, it);\n _int32[_isLittleEndian ? 1 : 0] = int32(bytes, it);\n return _float64[0];\n};\n\nexport function boolean (bytes: number[], it: Iterator) {\n return uint8(bytes, it) > 0;\n};\n\nexport function string (bytes, it: Iterator) {\n const prefix = bytes[it.offset++];\n let length: number;\n\n if (prefix < 0xc0) {\n // fixstr\n length = prefix & 0x1f;\n\n } else if (prefix === 0xd9) {\n length = uint8(bytes, it);\n\n } else if (prefix === 0xda) {\n length = uint16(bytes, it);\n\n } else if (prefix === 0xdb) {\n length = uint32(bytes, it);\n }\n\n const value = utf8Read(bytes, it.offset, length);\n it.offset += length;\n\n return value;\n}\n\nexport function stringCheck(bytes, it: Iterator) {\n const prefix = bytes[it.offset];\n return (\n // fixstr\n (prefix < 0xc0 && prefix > 0xa0) ||\n // str 8\n prefix === 0xd9 ||\n // str 16\n prefix === 0xda ||\n // str 32\n prefix === 0xdb\n );\n}\n\nexport function number (bytes, it: Iterator) {\n const prefix = bytes[it.offset++];\n\n if (prefix < 0x80) {\n // positive fixint\n return prefix;\n\n } else if (prefix === 0xca) {\n // float 32\n return readFloat32(bytes, it);\n\n } else if (prefix === 0xcb) {\n // float 64\n return readFloat64(bytes, it);\n\n } else if (prefix === 0xcc) {\n // uint 8\n return uint8(bytes, it);\n\n } else if (prefix === 0xcd) {\n // uint 16\n return uint16(bytes, it);\n\n } else if (prefix === 0xce) {\n // uint 32\n return uint32(bytes, it);\n\n } else if (prefix === 0xcf) {\n // uint 64\n return uint64(bytes, it);\n\n } else if (prefix === 0xd0) {\n // int 8\n return int8(bytes, it);\n\n } else if (prefix === 0xd1) {\n // int 16\n return int16(bytes, it);\n\n } else if (prefix === 0xd2) {\n // int 32\n return int32(bytes, it);\n\n } else if (prefix === 0xd3) {\n // int 64\n return int64(bytes, it);\n\n } else if (prefix > 0xdf) {\n // negative fixint\n return (0xff - prefix + 1) * -1\n }\n};\n\nexport function numberCheck (bytes, it: Iterator) {\n const prefix = bytes[it.offset];\n // positive fixint - 0x00 - 0x7f\n // float 32 - 0xca\n // float 64 - 0xcb\n // uint 8 - 0xcc\n // uint 16 - 0xcd\n // uint 32 - 0xce\n // uint 64 - 0xcf\n // int 8 - 0xd0\n // int 16 - 0xd1\n // int 32 - 0xd2\n // int 64 - 0xd3\n return (\n prefix < 0x80 ||\n (prefix >= 0xca && prefix <= 0xd3)\n );\n}\n\nexport function arrayCheck (bytes, it: Iterator) {\n return bytes[it.offset] < 0xa0;\n\n // const prefix = bytes[it.offset] ;\n\n // if (prefix < 0xa0) {\n // return prefix;\n\n // // array\n // } else if (prefix === 0xdc) {\n // it.offset += 2;\n\n // } else if (0xdd) {\n // it.offset += 4;\n // }\n\n // return prefix;\n}\n\nexport function switchStructureCheck(bytes, it: Iterator) {\n return (\n // previous byte should be `SWITCH_TO_STRUCTURE`\n bytes[it.offset - 1] === SWITCH_TO_STRUCTURE &&\n // next byte should be a number\n (bytes[it.offset] < 0x80 || (bytes[it.offset] >= 0xca && bytes[it.offset] <= 0xd3))\n );\n}"]}
1
+ {"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/encoding/decode.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright (c) 2018 Endel Dreyer\n * Copyright (c) 2014 Ion Drive Software Ltd.\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 all\n * 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 THE\n * SOFTWARE\n */\n\nimport { SWITCH_TO_STRUCTURE } from \"../spec\";\n\n/**\n * msgpack implementation highly based on notepack.io\n * https://github.com/darrachequesne/notepack\n */\n\nexport interface Iterator { offset: number; }\n\nfunction utf8Read(bytes, offset, length) {\n var string = '', chr = 0;\n for (var i = offset, end = offset + length; i < end; i++) {\n var byte = bytes[i];\n if ((byte & 0x80) === 0x00) {\n string += String.fromCharCode(byte);\n continue;\n }\n if ((byte & 0xe0) === 0xc0) {\n string += String.fromCharCode(\n ((byte & 0x1f) << 6) |\n (bytes[++i] & 0x3f)\n );\n continue;\n }\n if ((byte & 0xf0) === 0xe0) {\n string += String.fromCharCode(\n ((byte & 0x0f) << 12) |\n ((bytes[++i] & 0x3f) << 6) |\n ((bytes[++i] & 0x3f) << 0)\n );\n continue;\n }\n if ((byte & 0xf8) === 0xf0) {\n chr = ((byte & 0x07) << 18) |\n ((bytes[++i] & 0x3f) << 12) |\n ((bytes[++i] & 0x3f) << 6) |\n ((bytes[++i] & 0x3f) << 0);\n if (chr >= 0x010000) { // surrogate pair\n chr -= 0x010000;\n string += String.fromCharCode((chr >>> 10) + 0xD800, (chr & 0x3FF) + 0xDC00);\n } else {\n string += String.fromCharCode(chr);\n }\n continue;\n }\n\n console.error('Invalid byte ' + byte.toString(16));\n // (do not throw error to avoid server/client from crashing due to hack attemps)\n // throw new Error('Invalid byte ' + byte.toString(16));\n }\n return string;\n}\n\nexport function int8 (bytes: number[], it: Iterator) {\n return uint8(bytes, it) << 24 >> 24;\n};\n\nexport function uint8 (bytes: number[], it: Iterator) {\n return bytes[it.offset++];\n};\n\nexport function int16 (bytes: number[], it: Iterator) {\n return uint16(bytes, it) << 16 >> 16;\n};\n\nexport function uint16 (bytes: number[], it: Iterator) {\n return bytes[it.offset++] | bytes[it.offset++] << 8;\n};\n\nexport function int32 (bytes: number[], it: Iterator) {\n return bytes[it.offset++] | bytes[it.offset++] << 8 | bytes[it.offset++] << 16 | bytes[it.offset++] << 24;\n};\n\nexport function uint32 (bytes: number[], it: Iterator) {\n return int32(bytes, it) >>> 0;\n};\n\nexport function float32(bytes: number[], it: Iterator) {\n return readFloat32(bytes, it);\n}\n\nexport function float64(bytes: number[], it: Iterator) {\n return readFloat64(bytes, it);\n}\n\nexport function int64(bytes: number[], it: Iterator) {\n const low = uint32(bytes, it);\n const high = int32(bytes, it) * Math.pow(2, 32);\n return high + low;\n};\n\nexport function uint64(bytes: number[], it: Iterator) {\n const low = uint32(bytes, it);\n const high = uint32(bytes, it) * Math.pow(2, 32);\n return high + low;\n};\n\n// force little endian to facilitate decoding on multiple implementations\nconst _isLittleEndian = true; // new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\nconst _int32 = new Int32Array(2);\nconst _float32 = new Float32Array(_int32.buffer);\nconst _float64 = new Float64Array(_int32.buffer);\n\nexport function readFloat32 (bytes: number[], it: Iterator) {\n _int32[0] = int32(bytes, it);\n return _float32[0];\n};\n\nexport function readFloat64 (bytes: number[], it: Iterator) {\n _int32[_isLittleEndian ? 0 : 1] = int32(bytes, it);\n _int32[_isLittleEndian ? 1 : 0] = int32(bytes, it);\n return _float64[0];\n};\n\nexport function boolean (bytes: number[], it: Iterator) {\n return uint8(bytes, it) > 0;\n};\n\nexport function string (bytes, it: Iterator) {\n const prefix = bytes[it.offset++];\n let length: number;\n\n if (prefix < 0xc0) {\n // fixstr\n length = prefix & 0x1f;\n\n } else if (prefix === 0xd9) {\n length = uint8(bytes, it);\n\n } else if (prefix === 0xda) {\n length = uint16(bytes, it);\n\n } else if (prefix === 0xdb) {\n length = uint32(bytes, it);\n }\n\n const value = utf8Read(bytes, it.offset, length);\n it.offset += length;\n\n return value;\n}\n\nexport function stringCheck(bytes, it: Iterator) {\n const prefix = bytes[it.offset];\n return (\n // fixstr\n (prefix < 0xc0 && prefix > 0xa0) ||\n // str 8\n prefix === 0xd9 ||\n // str 16\n prefix === 0xda ||\n // str 32\n prefix === 0xdb\n );\n}\n\nexport function number (bytes, it: Iterator) {\n const prefix = bytes[it.offset++];\n\n if (prefix < 0x80) {\n // positive fixint\n return prefix;\n\n } else if (prefix === 0xca) {\n // float 32\n return readFloat32(bytes, it);\n\n } else if (prefix === 0xcb) {\n // float 64\n return readFloat64(bytes, it);\n\n } else if (prefix === 0xcc) {\n // uint 8\n return uint8(bytes, it);\n\n } else if (prefix === 0xcd) {\n // uint 16\n return uint16(bytes, it);\n\n } else if (prefix === 0xce) {\n // uint 32\n return uint32(bytes, it);\n\n } else if (prefix === 0xcf) {\n // uint 64\n return uint64(bytes, it);\n\n } else if (prefix === 0xd0) {\n // int 8\n return int8(bytes, it);\n\n } else if (prefix === 0xd1) {\n // int 16\n return int16(bytes, it);\n\n } else if (prefix === 0xd2) {\n // int 32\n return int32(bytes, it);\n\n } else if (prefix === 0xd3) {\n // int 64\n return int64(bytes, it);\n\n } else if (prefix > 0xdf) {\n // negative fixint\n return (0xff - prefix + 1) * -1\n }\n};\n\nexport function numberCheck (bytes, it: Iterator) {\n const prefix = bytes[it.offset];\n // positive fixint - 0x00 - 0x7f\n // float 32 - 0xca\n // float 64 - 0xcb\n // uint 8 - 0xcc\n // uint 16 - 0xcd\n // uint 32 - 0xce\n // uint 64 - 0xcf\n // int 8 - 0xd0\n // int 16 - 0xd1\n // int 32 - 0xd2\n // int 64 - 0xd3\n return (\n prefix < 0x80 ||\n (prefix >= 0xca && prefix <= 0xd3)\n );\n}\n\nexport function arrayCheck (bytes, it: Iterator) {\n return bytes[it.offset] < 0xa0;\n\n // const prefix = bytes[it.offset] ;\n\n // if (prefix < 0xa0) {\n // return prefix;\n\n // // array\n // } else if (prefix === 0xdc) {\n // it.offset += 2;\n\n // } else if (0xdd) {\n // it.offset += 4;\n // }\n\n // return prefix;\n}\n\nexport function switchStructureCheck(bytes, it: Iterator) {\n return (\n // previous byte should be `SWITCH_TO_STRUCTURE`\n bytes[it.offset - 1] === SWITCH_TO_STRUCTURE &&\n // next byte should be a number\n (bytes[it.offset] < 0x80 || (bytes[it.offset] >= 0xca && bytes[it.offset] <= 0xd3))\n );\n}"]}
@@ -22,7 +22,22 @@
22
22
  * SOFTWARE
23
23
  */
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.number = exports.string = exports.boolean = exports.writeFloat64 = exports.writeFloat32 = exports.float64 = exports.float32 = exports.uint64 = exports.int64 = exports.uint32 = exports.int32 = exports.uint16 = exports.int16 = exports.uint8 = exports.int8 = exports.utf8Write = void 0;
25
+ exports.utf8Write = utf8Write;
26
+ exports.int8 = int8;
27
+ exports.uint8 = uint8;
28
+ exports.int16 = int16;
29
+ exports.uint16 = uint16;
30
+ exports.int32 = int32;
31
+ exports.uint32 = uint32;
32
+ exports.int64 = int64;
33
+ exports.uint64 = uint64;
34
+ exports.float32 = float32;
35
+ exports.float64 = float64;
36
+ exports.writeFloat32 = writeFloat32;
37
+ exports.writeFloat64 = writeFloat64;
38
+ exports.boolean = boolean;
39
+ exports.string = string;
40
+ exports.number = number;
26
41
  /**
27
42
  * msgpack implementation highly based on notepack.io
28
43
  * https://github.com/darrachequesne/notepack
@@ -73,28 +88,23 @@ function utf8Write(view, offset, str) {
73
88
  }
74
89
  }
75
90
  }
76
- exports.utf8Write = utf8Write;
77
91
  function int8(bytes, value) {
78
92
  bytes.push(value & 255);
79
93
  }
80
- exports.int8 = int8;
81
94
  ;
82
95
  function uint8(bytes, value) {
83
96
  bytes.push(value & 255);
84
97
  }
85
- exports.uint8 = uint8;
86
98
  ;
87
99
  function int16(bytes, value) {
88
100
  bytes.push(value & 255);
89
101
  bytes.push((value >> 8) & 255);
90
102
  }
91
- exports.int16 = int16;
92
103
  ;
93
104
  function uint16(bytes, value) {
94
105
  bytes.push(value & 255);
95
106
  bytes.push((value >> 8) & 255);
96
107
  }
97
- exports.uint16 = uint16;
98
108
  ;
99
109
  function int32(bytes, value) {
100
110
  bytes.push(value & 255);
@@ -102,7 +112,6 @@ function int32(bytes, value) {
102
112
  bytes.push((value >> 16) & 255);
103
113
  bytes.push((value >> 24) & 255);
104
114
  }
105
- exports.int32 = int32;
106
115
  ;
107
116
  function uint32(bytes, value) {
108
117
  const b4 = value >> 24;
@@ -114,7 +123,6 @@ function uint32(bytes, value) {
114
123
  bytes.push(b3 & 255);
115
124
  bytes.push(b4 & 255);
116
125
  }
117
- exports.uint32 = uint32;
118
126
  ;
119
127
  function int64(bytes, value) {
120
128
  const high = Math.floor(value / Math.pow(2, 32));
@@ -122,7 +130,6 @@ function int64(bytes, value) {
122
130
  uint32(bytes, low);
123
131
  uint32(bytes, high);
124
132
  }
125
- exports.int64 = int64;
126
133
  ;
127
134
  function uint64(bytes, value) {
128
135
  const high = (value / Math.pow(2, 32)) >> 0;
@@ -130,16 +137,13 @@ function uint64(bytes, value) {
130
137
  uint32(bytes, low);
131
138
  uint32(bytes, high);
132
139
  }
133
- exports.uint64 = uint64;
134
140
  ;
135
141
  function float32(bytes, value) {
136
142
  writeFloat32(bytes, value);
137
143
  }
138
- exports.float32 = float32;
139
144
  function float64(bytes, value) {
140
145
  writeFloat64(bytes, value);
141
146
  }
142
- exports.float64 = float64;
143
147
  // force little endian to facilitate decoding on multiple implementations
144
148
  const _isLittleEndian = true; // new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;
145
149
  const _int32 = new Int32Array(2);
@@ -149,19 +153,16 @@ function writeFloat32(bytes, value) {
149
153
  _float32[0] = value;
150
154
  int32(bytes, _int32[0]);
151
155
  }
152
- exports.writeFloat32 = writeFloat32;
153
156
  ;
154
157
  function writeFloat64(bytes, value) {
155
158
  _float64[0] = value;
156
159
  int32(bytes, _int32[_isLittleEndian ? 0 : 1]);
157
160
  int32(bytes, _int32[_isLittleEndian ? 1 : 0]);
158
161
  }
159
- exports.writeFloat64 = writeFloat64;
160
162
  ;
161
163
  function boolean(bytes, value) {
162
164
  return uint8(bytes, value ? 1 : 0);
163
165
  }
164
- exports.boolean = boolean;
165
166
  ;
166
167
  function string(bytes, value) {
167
168
  // encode `null` strings as empty.
@@ -199,7 +200,6 @@ function string(bytes, value) {
199
200
  utf8Write(bytes, bytes.length, value);
200
201
  return size + length;
201
202
  }
202
- exports.string = string;
203
203
  function number(bytes, value) {
204
204
  if (isNaN(value)) {
205
205
  return number(bytes, 0);
@@ -277,5 +277,4 @@ function number(bytes, value) {
277
277
  return 9;
278
278
  }
279
279
  }
280
- exports.number = number;
281
280
  //# sourceMappingURL=encode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encode.js","sourceRoot":"","sources":["../../src/encoding/encode.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright (c) 2018 Endel Dreyer\n * Copyright (c) 2014 Ion Drive Software Ltd.\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 all\n * 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 THE\n * SOFTWARE\n */\n\n/**\n * msgpack implementation highly based on notepack.io\n * https://github.com/darrachequesne/notepack\n */\n\n\nfunction utf8Length(str) {\n var c = 0, length = 0;\n for (var i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n length += 1;\n }\n else if (c < 0x800) {\n length += 2;\n }\n else if (c < 0xd800 || c >= 0xe000) {\n length += 3;\n }\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n\nexport function utf8Write(view, offset, str) {\n var c = 0;\n for (var i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n view[offset++] = c;\n }\n else if (c < 0x800) {\n view[offset++] = 0xc0 | (c >> 6);\n view[offset++] = 0x80 | (c & 0x3f);\n }\n else if (c < 0xd800 || c >= 0xe000) {\n view[offset++] = 0xe0 | (c >> 12);\n view[offset++] = 0x80 | (c >> 6 & 0x3f);\n view[offset++] = 0x80 | (c & 0x3f);\n }\n else {\n i++;\n c = 0x10000 + (((c & 0x3ff) << 10) | (str.charCodeAt(i) & 0x3ff));\n view[offset++] = 0xf0 | (c >> 18);\n view[offset++] = 0x80 | (c >> 12 & 0x3f);\n view[offset++] = 0x80 | (c >> 6 & 0x3f);\n view[offset++] = 0x80 | (c & 0x3f);\n }\n }\n}\n\nexport function int8(bytes, value) {\n bytes.push(value & 255);\n};\n\nexport function uint8(bytes, value) {\n bytes.push(value & 255);\n};\n\nexport function int16(bytes, value) {\n bytes.push(value & 255);\n bytes.push((value >> 8) & 255);\n};\n\nexport function uint16(bytes, value) {\n bytes.push(value & 255);\n bytes.push((value >> 8) & 255);\n};\n\nexport function int32(bytes, value) {\n bytes.push(value & 255);\n bytes.push((value >> 8) & 255);\n bytes.push((value >> 16) & 255);\n bytes.push((value >> 24) & 255);\n};\n\nexport function uint32(bytes, value) {\n const b4 = value >> 24;\n const b3 = value >> 16;\n const b2 = value >> 8;\n const b1 = value;\n bytes.push(b1 & 255);\n bytes.push(b2 & 255);\n bytes.push(b3 & 255);\n bytes.push(b4 & 255);\n};\n\nexport function int64(bytes, value) {\n const high = Math.floor(value / Math.pow(2, 32));\n const low = value >>> 0;\n uint32(bytes, low);\n uint32(bytes, high);\n};\n\nexport function uint64(bytes, value) {\n const high = (value / Math.pow(2, 32)) >> 0;\n const low = value >>> 0;\n uint32(bytes, low);\n uint32(bytes, high);\n};\n\nexport function float32(bytes, value) {\n writeFloat32(bytes, value);\n}\n\nexport function float64(bytes, value) {\n writeFloat64(bytes, value);\n}\n\n// force little endian to facilitate decoding on multiple implementations\nconst _isLittleEndian = true; // new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\nconst _int32 = new Int32Array(2);\nconst _float32 = new Float32Array(_int32.buffer);\nconst _float64 = new Float64Array(_int32.buffer);\n\nexport function writeFloat32(bytes, value) {\n _float32[0] = value;\n int32(bytes, _int32[0]);\n};\n\nexport function writeFloat64(bytes, value) {\n _float64[0] = value;\n int32(bytes, _int32[_isLittleEndian ? 0 : 1]);\n int32(bytes, _int32[_isLittleEndian ? 1 : 0]);\n};\n\nexport function boolean(bytes, value) {\n return uint8(bytes, value ? 1 : 0);\n};\n\nexport function string(bytes, value) {\n // encode `null` strings as empty.\n if (!value) { value = \"\"; }\n\n let length = utf8Length(value);\n let size = 0;\n\n // fixstr\n if (length < 0x20) {\n bytes.push(length | 0xa0);\n size = 1;\n }\n // str 8\n else if (length < 0x100) {\n bytes.push(0xd9);\n uint8(bytes, length);\n size = 2;\n }\n // str 16\n else if (length < 0x10000) {\n bytes.push(0xda);\n uint16(bytes, length);\n size = 3;\n }\n // str 32\n else if (length < 0x100000000) {\n bytes.push(0xdb);\n uint32(bytes, length);\n size = 5;\n } else {\n throw new Error('String too long');\n }\n\n utf8Write(bytes, bytes.length, value);\n\n return size + length;\n}\n\nexport function number(bytes, value) {\n if (isNaN(value)) {\n return number(bytes, 0);\n\n } else if (!isFinite(value)) {\n return number(bytes, (value > 0) ? Number.MAX_SAFE_INTEGER : -Number.MAX_SAFE_INTEGER);\n\n } else if (value !== (value|0)) {\n bytes.push(0xcb);\n writeFloat64(bytes, value);\n return 9;\n\n // TODO: encode float 32?\n // is it possible to differentiate between float32 / float64 here?\n\n // // float 32\n // bytes.push(0xca);\n // writeFloat32(bytes, value);\n // return 5;\n }\n\n if (value >= 0) {\n // positive fixnum\n if (value < 0x80) {\n uint8(bytes, value);\n return 1;\n }\n\n // uint 8\n if (value < 0x100) {\n bytes.push(0xcc);\n uint8(bytes, value);\n return 2;\n }\n\n // uint 16\n if (value < 0x10000) {\n bytes.push(0xcd);\n uint16(bytes, value);\n return 3;\n }\n\n // uint 32\n if (value < 0x100000000) {\n bytes.push(0xce);\n uint32(bytes, value);\n return 5;\n }\n\n // uint 64\n bytes.push(0xcf);\n uint64(bytes, value);\n return 9;\n\n } else {\n\n // negative fixnum\n if (value >= -0x20) {\n bytes.push(0xe0 | (value + 0x20));\n return 1;\n }\n\n // int 8\n if (value >= -0x80) {\n bytes.push(0xd0);\n int8(bytes, value);\n return 2;\n }\n\n // int 16\n if (value >= -0x8000) {\n bytes.push(0xd1);\n int16(bytes, value);\n return 3;\n }\n\n // int 32\n if (value >= -0x80000000) {\n bytes.push(0xd2);\n int32(bytes, value);\n return 5;\n }\n\n // int 64\n bytes.push(0xd3);\n int64(bytes, value);\n return 9;\n }\n}"]}
1
+ {"version":3,"file":"encode.js","sourceRoot":"","sources":["../../src/encoding/encode.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;AA6BH,8BAyBC;AAED,oBAEC;AAED,sBAEC;AAED,sBAGC;AAED,wBAGC;AAED,sBAKC;AAED,wBASC;AAED,sBAKC;AAED,wBAKC;AAED,0BAEC;AAED,0BAEC;AAQD,oCAGC;AAED,oCAIC;AAED,0BAEC;AAED,wBAoCC;AAED,wBAwFC;AAnQD;;;GAGG;AAGH,SAAS,UAAU,CAAC,GAAG;IACrB,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;aACI,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;aACI,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;aACI,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IACzC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aACI,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;aACI,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;aACI,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,IAAI,CAAC,KAAK,EAAE,KAAK;IAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AAC1B,CAAC;AAAA,CAAC;AAEF,SAAgB,KAAK,CAAC,KAAK,EAAE,KAAK;IAChC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AAC1B,CAAC;AAAA,CAAC;AAEF,SAAgB,KAAK,CAAC,KAAK,EAAE,KAAK;IAChC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AACjC,CAAC;AAAA,CAAC;AAEF,SAAgB,MAAM,CAAC,KAAK,EAAE,KAAK;IACjC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AACjC,CAAC;AAAA,CAAC;AAEF,SAAgB,KAAK,CAAC,KAAK,EAAE,KAAK;IAChC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;AAClC,CAAC;AAAA,CAAC;AAEF,SAAgB,MAAM,CAAC,KAAK,EAAE,KAAK;IACjC,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;IACtB,MAAM,EAAE,GAAG,KAAK,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;IACrB,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;AACvB,CAAC;AAAA,CAAC;AAEF,SAAgB,KAAK,CAAC,KAAK,EAAE,KAAK;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC;IACxB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC;AAAA,CAAC;AAEF,SAAgB,MAAM,CAAC,KAAK,EAAE,KAAK;IACjC,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC;IACxB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC;AAAA,CAAC;AAEF,SAAgB,OAAO,CAAC,KAAK,EAAE,KAAK;IAClC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,OAAO,CAAC,KAAK,EAAE,KAAK;IAClC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,yEAAyE;AACzE,MAAM,eAAe,GAAG,IAAI,CAAC,CAAE,2DAA2D;AAC1F,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AACjC,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAEjD,SAAgB,YAAY,CAAC,KAAK,EAAE,KAAK;IACvC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAAA,CAAC;AAEF,SAAgB,YAAY,CAAC,KAAK,EAAE,KAAK;IACvC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAAA,CAAC;AAEF,SAAgB,OAAO,CAAC,KAAK,EAAE,KAAK;IAClC,OAAO,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAAA,CAAC;AAEF,SAAgB,MAAM,CAAC,KAAK,EAAE,KAAK;IACjC,kCAAkC;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,KAAK,GAAG,EAAE,CAAC;IAAC,CAAC;IAE3B,IAAI,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,SAAS;IACT,IAAI,MAAM,GAAG,IAAI,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC1B,IAAI,GAAG,CAAC,CAAC;IACX,CAAC;IACD,QAAQ;SACH,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrB,IAAI,GAAG,CAAC,CAAC;IACX,CAAC;IACD,SAAS;SACJ,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtB,IAAI,GAAG,CAAC,CAAC;IACX,CAAC;IACD,SAAS;SACJ,IAAI,MAAM,GAAG,WAAW,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtB,IAAI,GAAG,CAAC,CAAC;IACX,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEtC,OAAO,IAAI,GAAG,MAAM,CAAC;AACvB,CAAC;AAED,SAAgB,MAAM,CAAC,KAAK,EAAE,KAAK;IACjC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE1B,CAAC;SAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEzF,CAAC;SAAM,IAAI,KAAK,KAAK,CAAC,KAAK,GAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;QAET,yBAAyB;QACzB,kEAAkE;QAElE,cAAc;QACd,oBAAoB;QACpB,8BAA8B;QAC9B,YAAY;IACd,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,kBAAkB;QAClB,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS;QACT,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,UAAU;QACV,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACrB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,UAAU;QACV,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACrB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,UAAU;QACV,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,CAAC;IAEX,CAAC;SAAM,CAAC;QAEN,kBAAkB;QAClB,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;YAClC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,QAAQ;QACR,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS;QACT,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS;QACT,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,SAAS;QACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC","sourcesContent":["/**\n * Copyright (c) 2018 Endel Dreyer\n * Copyright (c) 2014 Ion Drive Software Ltd.\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 all\n * 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 THE\n * SOFTWARE\n */\n\n/**\n * msgpack implementation highly based on notepack.io\n * https://github.com/darrachequesne/notepack\n */\n\n\nfunction utf8Length(str) {\n var c = 0, length = 0;\n for (var i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n length += 1;\n }\n else if (c < 0x800) {\n length += 2;\n }\n else if (c < 0xd800 || c >= 0xe000) {\n length += 3;\n }\n else {\n i++;\n length += 4;\n }\n }\n return length;\n}\n\nexport function utf8Write(view, offset, str) {\n var c = 0;\n for (var i = 0, l = str.length; i < l; i++) {\n c = str.charCodeAt(i);\n if (c < 0x80) {\n view[offset++] = c;\n }\n else if (c < 0x800) {\n view[offset++] = 0xc0 | (c >> 6);\n view[offset++] = 0x80 | (c & 0x3f);\n }\n else if (c < 0xd800 || c >= 0xe000) {\n view[offset++] = 0xe0 | (c >> 12);\n view[offset++] = 0x80 | (c >> 6 & 0x3f);\n view[offset++] = 0x80 | (c & 0x3f);\n }\n else {\n i++;\n c = 0x10000 + (((c & 0x3ff) << 10) | (str.charCodeAt(i) & 0x3ff));\n view[offset++] = 0xf0 | (c >> 18);\n view[offset++] = 0x80 | (c >> 12 & 0x3f);\n view[offset++] = 0x80 | (c >> 6 & 0x3f);\n view[offset++] = 0x80 | (c & 0x3f);\n }\n }\n}\n\nexport function int8(bytes, value) {\n bytes.push(value & 255);\n};\n\nexport function uint8(bytes, value) {\n bytes.push(value & 255);\n};\n\nexport function int16(bytes, value) {\n bytes.push(value & 255);\n bytes.push((value >> 8) & 255);\n};\n\nexport function uint16(bytes, value) {\n bytes.push(value & 255);\n bytes.push((value >> 8) & 255);\n};\n\nexport function int32(bytes, value) {\n bytes.push(value & 255);\n bytes.push((value >> 8) & 255);\n bytes.push((value >> 16) & 255);\n bytes.push((value >> 24) & 255);\n};\n\nexport function uint32(bytes, value) {\n const b4 = value >> 24;\n const b3 = value >> 16;\n const b2 = value >> 8;\n const b1 = value;\n bytes.push(b1 & 255);\n bytes.push(b2 & 255);\n bytes.push(b3 & 255);\n bytes.push(b4 & 255);\n};\n\nexport function int64(bytes, value) {\n const high = Math.floor(value / Math.pow(2, 32));\n const low = value >>> 0;\n uint32(bytes, low);\n uint32(bytes, high);\n};\n\nexport function uint64(bytes, value) {\n const high = (value / Math.pow(2, 32)) >> 0;\n const low = value >>> 0;\n uint32(bytes, low);\n uint32(bytes, high);\n};\n\nexport function float32(bytes, value) {\n writeFloat32(bytes, value);\n}\n\nexport function float64(bytes, value) {\n writeFloat64(bytes, value);\n}\n\n// force little endian to facilitate decoding on multiple implementations\nconst _isLittleEndian = true; // new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\nconst _int32 = new Int32Array(2);\nconst _float32 = new Float32Array(_int32.buffer);\nconst _float64 = new Float64Array(_int32.buffer);\n\nexport function writeFloat32(bytes, value) {\n _float32[0] = value;\n int32(bytes, _int32[0]);\n};\n\nexport function writeFloat64(bytes, value) {\n _float64[0] = value;\n int32(bytes, _int32[_isLittleEndian ? 0 : 1]);\n int32(bytes, _int32[_isLittleEndian ? 1 : 0]);\n};\n\nexport function boolean(bytes, value) {\n return uint8(bytes, value ? 1 : 0);\n};\n\nexport function string(bytes, value) {\n // encode `null` strings as empty.\n if (!value) { value = \"\"; }\n\n let length = utf8Length(value);\n let size = 0;\n\n // fixstr\n if (length < 0x20) {\n bytes.push(length | 0xa0);\n size = 1;\n }\n // str 8\n else if (length < 0x100) {\n bytes.push(0xd9);\n uint8(bytes, length);\n size = 2;\n }\n // str 16\n else if (length < 0x10000) {\n bytes.push(0xda);\n uint16(bytes, length);\n size = 3;\n }\n // str 32\n else if (length < 0x100000000) {\n bytes.push(0xdb);\n uint32(bytes, length);\n size = 5;\n } else {\n throw new Error('String too long');\n }\n\n utf8Write(bytes, bytes.length, value);\n\n return size + length;\n}\n\nexport function number(bytes, value) {\n if (isNaN(value)) {\n return number(bytes, 0);\n\n } else if (!isFinite(value)) {\n return number(bytes, (value > 0) ? Number.MAX_SAFE_INTEGER : -Number.MAX_SAFE_INTEGER);\n\n } else if (value !== (value|0)) {\n bytes.push(0xcb);\n writeFloat64(bytes, value);\n return 9;\n\n // TODO: encode float 32?\n // is it possible to differentiate between float32 / float64 here?\n\n // // float 32\n // bytes.push(0xca);\n // writeFloat32(bytes, value);\n // return 5;\n }\n\n if (value >= 0) {\n // positive fixnum\n if (value < 0x80) {\n uint8(bytes, value);\n return 1;\n }\n\n // uint 8\n if (value < 0x100) {\n bytes.push(0xcc);\n uint8(bytes, value);\n return 2;\n }\n\n // uint 16\n if (value < 0x10000) {\n bytes.push(0xcd);\n uint16(bytes, value);\n return 3;\n }\n\n // uint 32\n if (value < 0x100000000) {\n bytes.push(0xce);\n uint32(bytes, value);\n return 5;\n }\n\n // uint 64\n bytes.push(0xcf);\n uint64(bytes, value);\n return 9;\n\n } else {\n\n // negative fixnum\n if (value >= -0x20) {\n bytes.push(0xe0 | (value + 0x20));\n return 1;\n }\n\n // int 8\n if (value >= -0x80) {\n bytes.push(0xd0);\n int8(bytes, value);\n return 2;\n }\n\n // int 16\n if (value >= -0x8000) {\n bytes.push(0xd1);\n int16(bytes, value);\n return 3;\n }\n\n // int 32\n if (value >= -0x80000000) {\n bytes.push(0xd2);\n int32(bytes, value);\n return 5;\n }\n\n // int 64\n bytes.push(0xd3);\n int64(bytes, value);\n return 9;\n }\n}"]}
@@ -7,7 +7,7 @@ export declare class ArraySchema<V = any> implements Array<V>, SchemaDecoderCall
7
7
  protected $items: Map<number, V>;
8
8
  protected $indexes: Map<number, number>;
9
9
  protected $refId: number;
10
- [n: number]: V;
10
+ [n: number]: V | undefined;
11
11
  $callbacks: {
12
12
  [operation: number]: Array<(item: V, key: number) => void>;
13
13
  };
@@ -23,7 +23,7 @@ export declare class ArraySchema<V = any> implements Array<V>, SchemaDecoderCall
23
23
  * Removes the last element from an array and returns it.
24
24
  */
25
25
  pop(): V | undefined;
26
- at(index: number): V;
26
+ at(index: number): V | undefined;
27
27
  setAt(index: number, value: V): void;
28
28
  deleteAt(index: number): boolean;
29
29
  protected $deleteAt(index: any): boolean;
@@ -94,6 +94,7 @@ export declare class ArraySchema<V = any> implements Array<V>, SchemaDecoderCall
94
94
  * @param thisArg An object to which the this keyword can refer in the callbackfn function.
95
95
  * If thisArg is omitted, undefined is used as the this value.
96
96
  */
97
+ every<S extends V>(predicate: (value: V, index: number, array: V[]) => value is S, thisArg?: any): this is S[];
97
98
  every(callbackfn: (value: V, index: number, array: V[]) => unknown, thisArg?: any): boolean;
98
99
  /**
99
100
  * Determines whether the specified callback function returns true for any element of an array.
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArraySchema = exports.getArrayProxy = void 0;
3
+ exports.ArraySchema = void 0;
4
+ exports.getArrayProxy = getArrayProxy;
4
5
  const ChangeTree_1 = require("../changes/ChangeTree");
5
6
  const spec_1 = require("../spec");
6
7
  const utils_1 = require("./utils");
@@ -69,7 +70,6 @@ function getArrayProxy(value) {
69
70
  });
70
71
  return value;
71
72
  }
72
- exports.getArrayProxy = getArrayProxy;
73
73
  class ArraySchema {
74
74
  static { Symbol.unscopables; }
75
75
  onAdd(callback, triggerAll = true) {
@@ -310,14 +310,6 @@ class ArraySchema {
310
310
  lastIndexOf(searchElement, fromIndex = this.length - 1) {
311
311
  return Array.from(this.$items.values()).lastIndexOf(searchElement, fromIndex);
312
312
  }
313
- /**
314
- * Determines whether all the members of an array satisfy the specified test.
315
- * @param callbackfn A function that accepts up to three arguments. The every method calls
316
- * the callbackfn function for each element in the array until the callbackfn returns a value
317
- * which is coercible to the Boolean value false, or until the end of the array.
318
- * @param thisArg An object to which the this keyword can refer in the callbackfn function.
319
- * If thisArg is omitted, undefined is used as the this value.
320
- */
321
313
  every(callbackfn, thisArg) {
322
314
  return Array.from(this.$items.values()).every(callbackfn, thisArg);
323
315
  }