@colyseus/schema 2.0.27 → 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 (79) 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.js.map +1 -1
  63. package/lib/types/CollectionSchema.js.map +1 -1
  64. package/lib/types/MapSchema.js.map +1 -1
  65. package/lib/types/SetSchema.js.map +1 -1
  66. package/lib/types/utils.js.map +1 -1
  67. package/lib/usage.d.ts +1 -0
  68. package/lib/usage.js +22 -0
  69. package/lib/usage.js.map +1 -0
  70. package/lib/utils.d.ts +2 -1
  71. package/lib/utils.js +26 -1
  72. package/lib/utils.js.map +1 -1
  73. package/lib/v3.d.ts +1 -0
  74. package/lib/v3.js +313 -0
  75. package/lib/v3.js.map +1 -0
  76. package/package.json +1 -1
  77. package/src/Reflection.ts +1 -1
  78. package/src/index.ts +4 -1
  79. package/src/utils.ts +27 -2
@@ -3033,25 +3033,6 @@ class Schema {
3033
3033
  }
3034
3034
  }
3035
3035
 
3036
- function dumpChanges(schema) {
3037
- const changeTrees = [schema['$changes']];
3038
- let numChangeTrees = 1;
3039
- const dump = {};
3040
- let currentStructure = dump;
3041
- for (let i = 0; i < numChangeTrees; i++) {
3042
- const changeTree = changeTrees[i];
3043
- changeTree.changes.forEach((change) => {
3044
- const ref = changeTree.ref;
3045
- const fieldIndex = change.index;
3046
- const field = (ref['_definition'])
3047
- ? ref['_definition'].fieldsByIndex[fieldIndex]
3048
- : ref['$indexes'].get(fieldIndex);
3049
- currentStructure[field] = changeTree.getValue(fieldIndex);
3050
- });
3051
- }
3052
- return dump;
3053
- }
3054
-
3055
3036
  /******************************************************************************
3056
3037
  Copyright (c) Microsoft Corporation.
3057
3038
 
@@ -3218,10 +3199,53 @@ __decorate([
3218
3199
  type("number", reflectionContext)
3219
3200
  ], Reflection.prototype, "rootType", void 0);
3220
3201
 
3202
+ function dumpChanges(schema) {
3203
+ const changeTrees = [schema['$changes']];
3204
+ let numChangeTrees = 1;
3205
+ const dump = {};
3206
+ let currentStructure = dump;
3207
+ for (let i = 0; i < numChangeTrees; i++) {
3208
+ const changeTree = changeTrees[i];
3209
+ changeTree.changes.forEach((change) => {
3210
+ const ref = changeTree.ref;
3211
+ const fieldIndex = change.index;
3212
+ const field = (ref['_definition'])
3213
+ ? ref['_definition'].fieldsByIndex[fieldIndex]
3214
+ : ref['$indexes'].get(fieldIndex);
3215
+ currentStructure[field] = changeTree.getValue(fieldIndex);
3216
+ });
3217
+ }
3218
+ return dump;
3219
+ }
3220
+ function checkTypeScriptConfig() {
3221
+ const r = new ReflectionField();
3222
+ const descriptor = Object.getOwnPropertyDescriptor(r, "name");
3223
+ if (descriptor.get === undefined || descriptor.set === undefined) {
3224
+ console.error(`
3225
+ ‼️ Please check your tsconfig.json ‼️
3226
+
3227
+ @colyseus/schema requires the following settings:
3228
+ -------------------------------------------------
3229
+
3230
+ "compilerOptions": {
3231
+ // ...
3232
+ "useDefineForClassFields": false,
3233
+ "experimentalDecorators": true,
3234
+ // ...
3235
+ }
3236
+
3237
+ -------------------------------------------------
3238
+ More info → https://github.com/colyseus/colyseus/issues/510#issuecomment-1507828422
3239
+ `);
3240
+ process.exit(1);
3241
+ }
3242
+ }
3243
+
3221
3244
  registerType("map", { constructor: MapSchema });
3222
3245
  registerType("array", { constructor: ArraySchema });
3223
3246
  registerType("set", { constructor: SetSchema });
3224
3247
  registerType("collection", { constructor: CollectionSchema, });
3248
+ checkTypeScriptConfig();
3225
3249
 
3226
3250
  export { ArraySchema, CollectionSchema, Context, MapSchema, OPERATION, Reflection, ReflectionField, ReflectionType, Schema, SchemaDefinition, SetSchema, decode, defineTypes, deprecated, dumpChanges, encode, filter, filterChildren, hasFilter, registerType, type };
3227
3251
  //# sourceMappingURL=index.mjs.map