@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.
Files changed (43) hide show
  1. package/build/cjs/index.js +113 -69
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/index.mjs +113 -69
  4. package/build/esm/index.mjs.map +1 -1
  5. package/build/umd/index.js +113 -69
  6. package/lib/Reflection.d.ts +1 -1
  7. package/lib/Reflection.js +1 -2
  8. package/lib/Reflection.js.map +1 -1
  9. package/lib/decoder/DecodeOperation.js +2 -2
  10. package/lib/decoder/DecodeOperation.js.map +1 -1
  11. package/lib/decoder/Decoder.d.ts +1 -1
  12. package/lib/decoder/Decoder.js +4 -4
  13. package/lib/decoder/Decoder.js.map +1 -1
  14. package/lib/decoder/strategy/StateCallbacks.js +1 -1
  15. package/lib/decoder/strategy/StateCallbacks.js.map +1 -1
  16. package/lib/encoder/ChangeTree.d.ts +0 -2
  17. package/lib/encoder/ChangeTree.js +2 -6
  18. package/lib/encoder/ChangeTree.js.map +1 -1
  19. package/lib/encoder/EncodeOperation.js +12 -0
  20. package/lib/encoder/EncodeOperation.js.map +1 -1
  21. package/lib/encoder/Encoder.d.ts +5 -4
  22. package/lib/encoder/Encoder.js +62 -48
  23. package/lib/encoder/Encoder.js.map +1 -1
  24. package/lib/encoder/StateView.d.ts +2 -0
  25. package/lib/encoder/StateView.js +4 -1
  26. package/lib/encoder/StateView.js.map +1 -1
  27. package/lib/encoding/decode.d.ts +21 -19
  28. package/lib/encoding/decode.js +6 -6
  29. package/lib/encoding/decode.js.map +1 -1
  30. package/lib/encoding/encode.d.ts +3 -2
  31. package/lib/encoding/encode.js +24 -22
  32. package/lib/encoding/encode.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/Reflection.ts +1 -2
  35. package/src/decoder/DecodeOperation.ts +3 -3
  36. package/src/decoder/Decoder.ts +5 -5
  37. package/src/decoder/strategy/StateCallbacks.ts +1 -1
  38. package/src/encoder/ChangeTree.ts +2 -6
  39. package/src/encoder/EncodeOperation.ts +13 -0
  40. package/src/encoder/Encoder.ts +69 -53
  41. package/src/encoder/StateView.ts +4 -0
  42. package/src/encoding/decode.ts +24 -25
  43. package/src/encoding/encode.ts +26 -23
@@ -35,28 +35,32 @@ let textEncoder: TextEncoder;
35
35
  // @ts-ignore
36
36
  try { textEncoder = new TextEncoder(); } catch (e) { }
37
37
 
38
- function utf8Length(str) {
39
- var c = 0, length = 0;
40
- for (var i = 0, l = str.length; i < l; i++) {
41
- c = str.charCodeAt(i);
42
- if (c < 0x80) {
43
- length += 1;
44
- }
45
- else if (c < 0x800) {
46
- length += 2;
47
- }
48
- else if (c < 0xd800 || c >= 0xe000) {
49
- length += 3;
50
- }
51
- else {
52
- i++;
53
- length += 4;
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: Buffer, value: string, it: Iterator) {
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
- // let length = utf8Length(value);
170
- let length = Buffer.byteLength(value, "utf8");
173
+ let length = utf8Length(value, "utf8");
171
174
  let size = 0;
172
175
 
173
176
  // fixstr