@colyseus/schema 3.0.0-alpha.1 → 3.0.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/index.js +113 -69
- package/build/cjs/index.js.map +1 -1
- package/build/esm/index.mjs +113 -69
- package/build/esm/index.mjs.map +1 -1
- package/build/umd/index.js +113 -69
- package/lib/Reflection.d.ts +1 -1
- package/lib/Reflection.js +1 -2
- package/lib/Reflection.js.map +1 -1
- package/lib/decoder/DecodeOperation.js +2 -2
- package/lib/decoder/DecodeOperation.js.map +1 -1
- package/lib/decoder/Decoder.d.ts +1 -1
- package/lib/decoder/Decoder.js +4 -4
- package/lib/decoder/Decoder.js.map +1 -1
- package/lib/decoder/strategy/StateCallbacks.js +1 -1
- package/lib/decoder/strategy/StateCallbacks.js.map +1 -1
- package/lib/encoder/ChangeTree.d.ts +0 -2
- package/lib/encoder/ChangeTree.js +2 -6
- package/lib/encoder/ChangeTree.js.map +1 -1
- package/lib/encoder/EncodeOperation.js +12 -0
- package/lib/encoder/EncodeOperation.js.map +1 -1
- package/lib/encoder/Encoder.d.ts +5 -4
- package/lib/encoder/Encoder.js +62 -48
- package/lib/encoder/Encoder.js.map +1 -1
- package/lib/encoder/StateView.d.ts +2 -0
- package/lib/encoder/StateView.js +4 -1
- package/lib/encoder/StateView.js.map +1 -1
- package/lib/encoding/decode.d.ts +21 -19
- package/lib/encoding/decode.js +6 -6
- package/lib/encoding/decode.js.map +1 -1
- package/lib/encoding/encode.d.ts +3 -2
- package/lib/encoding/encode.js +24 -22
- package/lib/encoding/encode.js.map +1 -1
- package/package.json +1 -1
- package/src/Reflection.ts +1 -2
- package/src/decoder/DecodeOperation.ts +3 -3
- package/src/decoder/Decoder.ts +5 -5
- package/src/decoder/strategy/StateCallbacks.ts +1 -1
- package/src/encoder/ChangeTree.ts +2 -6
- package/src/encoder/EncodeOperation.ts +13 -0
- package/src/encoder/Encoder.ts +69 -53
- package/src/encoder/StateView.ts +4 -0
- package/src/encoding/decode.ts +24 -25
- package/src/encoding/encode.ts +26 -23
package/src/encoding/encode.ts
CHANGED
|
@@ -35,28 +35,32 @@ let textEncoder: TextEncoder;
|
|
|
35
35
|
// @ts-ignore
|
|
36
36
|
try { textEncoder = new TextEncoder(); } catch (e) { }
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
38
|
+
const hasBufferByteLength = (typeof Buffer !== 'undefined' && Buffer.byteLength);
|
|
39
|
+
|
|
40
|
+
export const utf8Length = (hasBufferByteLength)
|
|
41
|
+
? Buffer.byteLength // node
|
|
42
|
+
: function (str: string, _?: any) {
|
|
43
|
+
var c = 0, length = 0;
|
|
44
|
+
for (var i = 0, l = str.length; i < l; i++) {
|
|
45
|
+
c = str.charCodeAt(i);
|
|
46
|
+
if (c < 0x80) {
|
|
47
|
+
length += 1;
|
|
48
|
+
}
|
|
49
|
+
else if (c < 0x800) {
|
|
50
|
+
length += 2;
|
|
51
|
+
}
|
|
52
|
+
else if (c < 0xd800 || c >= 0xe000) {
|
|
53
|
+
length += 3;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
i++;
|
|
57
|
+
length += 4;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return length;
|
|
54
61
|
}
|
|
55
|
-
}
|
|
56
|
-
return length;
|
|
57
|
-
}
|
|
58
62
|
|
|
59
|
-
export function utf8Write(view, str, it) {
|
|
63
|
+
export function utf8Write(view: BufferLike, str: string, it: Iterator) {
|
|
60
64
|
var c = 0;
|
|
61
65
|
for (var i = 0, l = str.length; i < l; i++) {
|
|
62
66
|
c = str.charCodeAt(i);
|
|
@@ -162,12 +166,11 @@ export function boolean(bytes: BufferLike, value: number, it: Iterator) {
|
|
|
162
166
|
bytes[it.offset++] = value ? 1 : 0; // uint8
|
|
163
167
|
};
|
|
164
168
|
|
|
165
|
-
export function string(bytes:
|
|
169
|
+
export function string(bytes: BufferLike, value: string, it: Iterator) {
|
|
166
170
|
// encode `null` strings as empty.
|
|
167
171
|
if (!value) { value = ""; }
|
|
168
172
|
|
|
169
|
-
|
|
170
|
-
let length = Buffer.byteLength(value, "utf8");
|
|
173
|
+
let length = utf8Length(value, "utf8");
|
|
171
174
|
let size = 0;
|
|
172
175
|
|
|
173
176
|
// fixstr
|