@colyseus/schema 2.0.26 → 2.0.28

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 (81) hide show
  1. package/build/cjs/index.js +31 -22
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/index.mjs +43 -19
  4. package/build/esm/index.mjs.map +1 -1
  5. package/build/umd/index.js +31 -22
  6. package/lib/Decoder.d.ts +16 -0
  7. package/lib/Decoder.js +182 -0
  8. package/lib/Decoder.js.map +1 -0
  9. package/lib/Encoder.d.ts +13 -0
  10. package/lib/Encoder.js +79 -0
  11. package/lib/Encoder.js.map +1 -0
  12. package/lib/Metadata.d.ts +22 -0
  13. package/lib/Metadata.js +65 -0
  14. package/lib/Metadata.js.map +1 -0
  15. package/lib/Reflection.js.map +1 -1
  16. package/lib/Schema.js.map +1 -1
  17. package/lib/annotations.js.map +1 -1
  18. package/lib/changes/ChangeSet.d.ts +12 -0
  19. package/lib/changes/ChangeSet.js +35 -0
  20. package/lib/changes/ChangeSet.js.map +1 -0
  21. package/lib/changes/ChangeTree.js.map +1 -1
  22. package/lib/changes/DecodeOperation.d.ts +15 -0
  23. package/lib/changes/DecodeOperation.js +186 -0
  24. package/lib/changes/DecodeOperation.js.map +1 -0
  25. package/lib/changes/EncodeOperation.d.ts +18 -0
  26. package/lib/changes/EncodeOperation.js +130 -0
  27. package/lib/changes/EncodeOperation.js.map +1 -0
  28. package/lib/changes/ReferenceTracker.js.map +1 -1
  29. package/lib/changes/consts.d.ts +14 -0
  30. package/lib/changes/consts.js +18 -0
  31. package/lib/changes/consts.js.map +1 -0
  32. package/lib/codegen/api.js.map +1 -1
  33. package/lib/codegen/argv.js.map +1 -1
  34. package/lib/codegen/cli.js.map +1 -1
  35. package/lib/codegen/languages/cpp.js.map +1 -1
  36. package/lib/codegen/languages/csharp.js.map +1 -1
  37. package/lib/codegen/languages/haxe.js.map +1 -1
  38. package/lib/codegen/languages/java.js.map +1 -1
  39. package/lib/codegen/languages/js.js.map +1 -1
  40. package/lib/codegen/languages/lua.js.map +1 -1
  41. package/lib/codegen/languages/ts.js.map +1 -1
  42. package/lib/codegen/parser.js.map +1 -1
  43. package/lib/codegen/types.js.map +1 -1
  44. package/lib/decoder/strategy/StateCallbacks.d.ts +6 -0
  45. package/lib/decoder/strategy/StateCallbacks.js +20 -0
  46. package/lib/decoder/strategy/StateCallbacks.js.map +1 -0
  47. package/lib/decoding/decode.d.ts +48 -0
  48. package/lib/decoding/decode.js +267 -0
  49. package/lib/decoding/decode.js.map +1 -0
  50. package/lib/encoding/assert.d.ts +9 -0
  51. package/lib/encoding/assert.js +47 -0
  52. package/lib/encoding/assert.js.map +1 -0
  53. package/lib/encoding/decode.js.map +1 -1
  54. package/lib/encoding/encode.js.map +1 -1
  55. package/lib/filters/index.js.map +1 -1
  56. package/lib/index.js +4 -2
  57. package/lib/index.js.map +1 -1
  58. package/lib/spec.d.ts +2 -2
  59. package/lib/symbol.shim.d.ts +6 -0
  60. package/lib/symbol.shim.js +4 -0
  61. package/lib/symbol.shim.js.map +1 -0
  62. package/lib/types/ArraySchema.d.ts +1 -1
  63. package/lib/types/ArraySchema.js.map +1 -1
  64. package/lib/types/CollectionSchema.js.map +1 -1
  65. package/lib/types/MapSchema.js.map +1 -1
  66. package/lib/types/SetSchema.js.map +1 -1
  67. package/lib/types/utils.js.map +1 -1
  68. package/lib/usage.d.ts +1 -0
  69. package/lib/usage.js +22 -0
  70. package/lib/usage.js.map +1 -0
  71. package/lib/utils.d.ts +2 -1
  72. package/lib/utils.js +26 -1
  73. package/lib/utils.js.map +1 -1
  74. package/lib/v3.d.ts +1 -0
  75. package/lib/v3.js +313 -0
  76. package/lib/v3.js.map +1 -0
  77. package/package.json +1 -1
  78. package/src/Reflection.ts +1 -1
  79. package/src/index.ts +4 -1
  80. package/src/types/ArraySchema.ts +1 -1
  81. package/src/utils.ts +27 -2
@@ -3184,28 +3184,6 @@ var Schema = /** @class */ (function () {
3184
3184
  return Schema;
3185
3185
  }());
3186
3186
 
3187
- function dumpChanges(schema) {
3188
- var changeTrees = [schema['$changes']];
3189
- var numChangeTrees = 1;
3190
- var dump = {};
3191
- var currentStructure = dump;
3192
- var _loop_1 = function (i) {
3193
- var changeTree = changeTrees[i];
3194
- changeTree.changes.forEach(function (change) {
3195
- var ref = changeTree.ref;
3196
- var fieldIndex = change.index;
3197
- var field = (ref['_definition'])
3198
- ? ref['_definition'].fieldsByIndex[fieldIndex]
3199
- : ref['$indexes'].get(fieldIndex);
3200
- currentStructure[field] = changeTree.getValue(fieldIndex);
3201
- });
3202
- };
3203
- for (var i = 0; i < numChangeTrees; i++) {
3204
- _loop_1(i);
3205
- }
3206
- return dump;
3207
- }
3208
-
3209
3187
  var reflectionContext = { context: new Context() };
3210
3188
  /**
3211
3189
  * Reflection
@@ -3364,10 +3342,41 @@ var Reflection = /** @class */ (function (_super) {
3364
3342
  return Reflection;
3365
3343
  }(Schema));
3366
3344
 
3345
+ function dumpChanges(schema) {
3346
+ var changeTrees = [schema['$changes']];
3347
+ var numChangeTrees = 1;
3348
+ var dump = {};
3349
+ var currentStructure = dump;
3350
+ var _loop_1 = function (i) {
3351
+ var changeTree = changeTrees[i];
3352
+ changeTree.changes.forEach(function (change) {
3353
+ var ref = changeTree.ref;
3354
+ var fieldIndex = change.index;
3355
+ var field = (ref['_definition'])
3356
+ ? ref['_definition'].fieldsByIndex[fieldIndex]
3357
+ : ref['$indexes'].get(fieldIndex);
3358
+ currentStructure[field] = changeTree.getValue(fieldIndex);
3359
+ });
3360
+ };
3361
+ for (var i = 0; i < numChangeTrees; i++) {
3362
+ _loop_1(i);
3363
+ }
3364
+ return dump;
3365
+ }
3366
+ function checkTypeScriptConfig() {
3367
+ var r = new ReflectionField();
3368
+ var descriptor = Object.getOwnPropertyDescriptor(r, "name");
3369
+ if (descriptor.get === undefined || descriptor.set === undefined) {
3370
+ console.error("\n\u203C\uFE0F Please check your tsconfig.json \u203C\uFE0F\n\n@colyseus/schema requires the following settings:\n-------------------------------------------------\n\n \"compilerOptions\": {\n // ...\n \"useDefineForClassFields\": false,\n \"experimentalDecorators\": true,\n // ...\n }\n\n-------------------------------------------------\nMore info \u2192 https://github.com/colyseus/colyseus/issues/510#issuecomment-1507828422\n");
3371
+ process.exit(1);
3372
+ }
3373
+ }
3374
+
3367
3375
  registerType("map", { constructor: MapSchema });
3368
3376
  registerType("array", { constructor: ArraySchema });
3369
3377
  registerType("set", { constructor: SetSchema });
3370
3378
  registerType("collection", { constructor: CollectionSchema, });
3379
+ checkTypeScriptConfig();
3371
3380
 
3372
3381
  exports.ArraySchema = ArraySchema;
3373
3382
  exports.CollectionSchema = CollectionSchema;