@colyseus/schema 4.0.19 → 5.0.0

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 (95) hide show
  1. package/README.md +2 -0
  2. package/build/Metadata.d.ts +55 -2
  3. package/build/Reflection.d.ts +24 -30
  4. package/build/Schema.d.ts +70 -9
  5. package/build/annotations.d.ts +56 -13
  6. package/build/codegen/cli.cjs +84 -44
  7. package/build/codegen/cli.cjs.map +1 -1
  8. package/build/decoder/DecodeOperation.d.ts +48 -5
  9. package/build/decoder/Decoder.d.ts +2 -2
  10. package/build/decoder/strategy/Callbacks.d.ts +1 -1
  11. package/build/encoder/ChangeRecorder.d.ts +107 -0
  12. package/build/encoder/ChangeTree.d.ts +218 -69
  13. package/build/encoder/EncodeDescriptor.d.ts +63 -0
  14. package/build/encoder/EncodeOperation.d.ts +25 -2
  15. package/build/encoder/Encoder.d.ts +59 -3
  16. package/build/encoder/MapJournal.d.ts +62 -0
  17. package/build/encoder/RefIdAllocator.d.ts +35 -0
  18. package/build/encoder/Root.d.ts +94 -13
  19. package/build/encoder/StateView.d.ts +116 -8
  20. package/build/encoder/changeTree/inheritedFlags.d.ts +34 -0
  21. package/build/encoder/changeTree/liveIteration.d.ts +3 -0
  22. package/build/encoder/changeTree/parentChain.d.ts +24 -0
  23. package/build/encoder/changeTree/treeAttachment.d.ts +13 -0
  24. package/build/encoder/streaming.d.ts +73 -0
  25. package/build/encoder/subscriptions.d.ts +25 -0
  26. package/build/index.cjs +5202 -1552
  27. package/build/index.cjs.map +1 -1
  28. package/build/index.d.ts +7 -3
  29. package/build/index.js +5202 -1552
  30. package/build/index.mjs +5193 -1552
  31. package/build/index.mjs.map +1 -1
  32. package/build/input/InputDecoder.d.ts +32 -0
  33. package/build/input/InputEncoder.d.ts +117 -0
  34. package/build/input/index.cjs +7429 -0
  35. package/build/input/index.cjs.map +1 -0
  36. package/build/input/index.d.ts +3 -0
  37. package/build/input/index.mjs +7426 -0
  38. package/build/input/index.mjs.map +1 -0
  39. package/build/types/HelperTypes.d.ts +22 -8
  40. package/build/types/TypeContext.d.ts +9 -0
  41. package/build/types/builder.d.ts +162 -0
  42. package/build/types/custom/ArraySchema.d.ts +25 -4
  43. package/build/types/custom/CollectionSchema.d.ts +30 -2
  44. package/build/types/custom/MapSchema.d.ts +52 -3
  45. package/build/types/custom/SetSchema.d.ts +32 -2
  46. package/build/types/custom/StreamSchema.d.ts +114 -0
  47. package/build/types/symbols.d.ts +48 -5
  48. package/package.json +8 -2
  49. package/src/Metadata.ts +258 -31
  50. package/src/Reflection.ts +15 -13
  51. package/src/Schema.ts +176 -134
  52. package/src/annotations.ts +308 -236
  53. package/src/bench_bloat.ts +173 -0
  54. package/src/bench_decode.ts +221 -0
  55. package/src/bench_decode_mem.ts +165 -0
  56. package/src/bench_encode.ts +108 -0
  57. package/src/bench_init.ts +150 -0
  58. package/src/bench_static.ts +109 -0
  59. package/src/bench_stream.ts +295 -0
  60. package/src/bench_view_cmp.ts +142 -0
  61. package/src/codegen/parser.ts +83 -61
  62. package/src/decoder/DecodeOperation.ts +168 -63
  63. package/src/decoder/Decoder.ts +20 -10
  64. package/src/decoder/ReferenceTracker.ts +4 -0
  65. package/src/decoder/strategy/Callbacks.ts +30 -26
  66. package/src/decoder/strategy/getDecoderStateCallbacks.ts +16 -13
  67. package/src/encoder/ChangeRecorder.ts +276 -0
  68. package/src/encoder/ChangeTree.ts +674 -519
  69. package/src/encoder/EncodeDescriptor.ts +213 -0
  70. package/src/encoder/EncodeOperation.ts +107 -65
  71. package/src/encoder/Encoder.ts +630 -119
  72. package/src/encoder/MapJournal.ts +124 -0
  73. package/src/encoder/RefIdAllocator.ts +68 -0
  74. package/src/encoder/Root.ts +247 -120
  75. package/src/encoder/StateView.ts +592 -121
  76. package/src/encoder/changeTree/inheritedFlags.ts +217 -0
  77. package/src/encoder/changeTree/liveIteration.ts +74 -0
  78. package/src/encoder/changeTree/parentChain.ts +131 -0
  79. package/src/encoder/changeTree/treeAttachment.ts +171 -0
  80. package/src/encoder/streaming.ts +232 -0
  81. package/src/encoder/subscriptions.ts +71 -0
  82. package/src/index.ts +15 -3
  83. package/src/input/InputDecoder.ts +57 -0
  84. package/src/input/InputEncoder.ts +303 -0
  85. package/src/input/index.ts +3 -0
  86. package/src/types/HelperTypes.ts +21 -9
  87. package/src/types/TypeContext.ts +14 -2
  88. package/src/types/builder.ts +285 -0
  89. package/src/types/custom/ArraySchema.ts +210 -197
  90. package/src/types/custom/CollectionSchema.ts +115 -35
  91. package/src/types/custom/MapSchema.ts +162 -58
  92. package/src/types/custom/SetSchema.ts +128 -39
  93. package/src/types/custom/StreamSchema.ts +310 -0
  94. package/src/types/symbols.ts +54 -6
  95. package/src/utils.ts +4 -6
package/build/index.d.ts CHANGED
@@ -9,6 +9,8 @@ import { CollectionSchema } from "./types/custom/CollectionSchema.js";
9
9
  export { CollectionSchema };
10
10
  import { SetSchema } from "./types/custom/SetSchema.js";
11
11
  export { SetSchema };
12
+ import { StreamSchema } from "./types/custom/StreamSchema.js";
13
+ export { StreamSchema };
12
14
  import { registerType, defineCustomTypes } from "./types/registry.js";
13
15
  export { registerType, defineCustomTypes };
14
16
  export { dumpChanges } from "./utils.js";
@@ -17,15 +19,17 @@ export { encode } from "./encoding/encode.js";
17
19
  export { decode, type Iterator } from "./encoding/decode.js";
18
20
  export { Reflection, ReflectionType, ReflectionField, } from "./Reflection.js";
19
21
  export { Metadata } from "./Metadata.js";
20
- export { type, deprecated, defineTypes, view, schema, entity, type DefinitionType, type PrimitiveType, type Definition, type SchemaWithExtendsConstructor, type SchemaWithExtends, type SchemaType, } from "./annotations.js";
22
+ export { type, deprecated, owned, unreliable, transient, view, schema, entity, type DefinitionType, type PrimitiveType, type Definition, type FieldsAndMethods, type SchemaWithExtendsConstructor, type SchemaWithExtends, type SchemaType, } from "./annotations.js";
23
+ export { t, FieldBuilder, isBuilder, type BuilderDefinition, type ChildType } from "./types/builder.js";
21
24
  export { TypeContext } from "./types/TypeContext.js";
22
25
  export type { InferValueType, InferSchemaInstanceType, AssignableProps } from "./types/HelperTypes.js";
23
26
  export { getDecoderStateCallbacks, type CallbackProxy, type SchemaCallback, type CollectionCallback, type SchemaCallbackProxy } from "./decoder/strategy/getDecoderStateCallbacks.js";
24
27
  export { Callbacks, StateCallbackStrategy } from "./decoder/strategy/Callbacks.js";
25
28
  export { getRawChangesCallback } from "./decoder/strategy/RawChanges.js";
26
29
  export { Encoder } from "./encoder/Encoder.js";
27
- export { encodeSchemaOperation, encodeArray, encodeKeyValueOperation } from "./encoder/EncodeOperation.js";
28
- export { ChangeTree, type Ref, type IRef, type ChangeSetName, type ChangeSet } from "./encoder/ChangeTree.js";
30
+ export { Root } from "./encoder/Root.js";
31
+ export { encodeSchemaOperation, encodeArray, encodeKeyValueOperation, encodeMapEntry, encodeIndexedEntry } from "./encoder/EncodeOperation.js";
32
+ export { ChangeTree, type Ref, type IRef } from "./encoder/ChangeTree.js";
29
33
  export { StateView } from "./encoder/StateView.js";
30
34
  export { Decoder } from "./decoder/Decoder.js";
31
35
  export { decodeSchemaOperation, decodeKeyValueOperation } from "./decoder/DecodeOperation.js";