@colyseus/schema 4.0.2 → 4.0.4
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/{lib → build}/Metadata.d.ts +2 -2
- package/{lib → build}/Reflection.d.ts +13 -13
- package/{lib → build}/Schema.d.ts +10 -10
- package/{lib/src → build}/annotations.d.ts +10 -10
- package/build/codegen/languages/cpp.d.ts +3 -0
- package/build/codegen/languages/csharp.d.ts +4 -0
- package/build/codegen/languages/haxe.d.ts +3 -0
- package/{lib → build}/codegen/languages/java.d.ts +2 -2
- package/build/codegen/languages/js.d.ts +3 -0
- package/build/codegen/languages/lua.d.ts +3 -0
- package/build/codegen/languages/ts.d.ts +3 -0
- package/{lib → build}/codegen/parser.d.ts +1 -1
- package/{lib → build}/decoder/DecodeOperation.d.ts +5 -5
- package/{lib/src → build}/decoder/Decoder.d.ts +7 -7
- package/{lib → build}/decoder/ReferenceTracker.d.ts +1 -1
- package/{lib → build}/decoder/strategy/Callbacks.d.ts +18 -43
- package/{lib → build}/decoder/strategy/RawChanges.d.ts +2 -2
- package/{lib → build}/decoder/strategy/getDecoderStateCallbacks.d.ts +3 -3
- package/{lib → build}/encoder/ChangeTree.d.ts +11 -11
- package/{lib → build}/encoder/EncodeOperation.d.ts +5 -5
- package/{lib → build}/encoder/Encoder.d.ts +6 -6
- package/{lib/src → build}/encoder/Root.d.ts +2 -2
- package/{lib/src → build}/encoder/StateView.d.ts +1 -1
- package/{lib/src → build}/encoding/assert.d.ts +6 -6
- package/{lib/src → build}/encoding/decode.d.ts +1 -1
- package/{lib/src → build}/encoding/encode.d.ts +1 -1
- package/build/{cjs/index.cjs → index.cjs} +8 -34
- package/build/index.cjs.map +1 -0
- package/build/index.d.ts +32 -0
- package/build/{umd/index.js → index.js} +8 -34
- package/build/{esm/index.mjs → index.mjs} +8 -34
- package/build/index.mjs.map +1 -0
- package/{lib → build}/types/HelperTypes.d.ts +6 -6
- package/{lib → build}/types/TypeContext.d.ts +1 -1
- package/{lib/src → build}/types/custom/ArraySchema.d.ts +8 -8
- package/{lib/src → build}/types/custom/CollectionSchema.d.ts +7 -7
- package/{lib → build}/types/custom/MapSchema.d.ts +7 -7
- package/{lib/src → build}/types/custom/SetSchema.d.ts +7 -7
- package/{lib/src → build}/types/registry.d.ts +2 -2
- package/{lib → build}/utils.d.ts +1 -1
- package/package.json +9 -10
- package/src/Metadata.ts +5 -5
- package/src/Reflection.ts +7 -7
- package/src/Schema.ts +11 -11
- package/src/annotations.ts +13 -13
- package/src/codegen/api.ts +3 -3
- package/src/codegen/cli.ts +2 -2
- package/src/codegen/languages/cpp.ts +2 -2
- package/src/codegen/languages/csharp.ts +3 -3
- package/src/codegen/languages/haxe.ts +2 -2
- package/src/codegen/languages/java.ts +2 -2
- package/src/codegen/languages/js.ts +2 -2
- package/src/codegen/languages/lua.ts +2 -2
- package/src/codegen/languages/ts.ts +2 -2
- package/src/codegen/parser.ts +6 -1
- package/src/decoder/DecodeOperation.ts +14 -14
- package/src/decoder/Decoder.ts +11 -11
- package/src/decoder/ReferenceTracker.ts +8 -8
- package/src/decoder/strategy/Callbacks.ts +27 -53
- package/src/decoder/strategy/RawChanges.ts +2 -2
- package/src/decoder/strategy/getDecoderStateCallbacks.ts +10 -10
- package/src/encoder/ChangeTree.ts +13 -13
- package/src/encoder/EncodeOperation.ts +9 -9
- package/src/encoder/Encoder.ts +10 -10
- package/src/encoder/Root.ts +4 -4
- package/src/encoder/StateView.ts +7 -7
- package/src/encoding/assert.ts +6 -6
- package/src/encoding/decode.ts +1 -1
- package/src/encoding/encode.ts +1 -1
- package/src/index.ts +27 -27
- package/src/types/HelperTypes.ts +6 -6
- package/src/types/TypeContext.ts +3 -3
- package/src/types/custom/ArraySchema.ts +11 -11
- package/src/types/custom/CollectionSchema.ts +9 -9
- package/src/types/custom/MapSchema.ts +10 -10
- package/src/types/custom/SetSchema.ts +9 -9
- package/src/types/registry.ts +3 -3
- package/src/utils.ts +3 -3
- package/src/v3_bench.ts +1 -1
- package/build/cjs/index.cjs.map +0 -1
- package/build/esm/index.mjs.map +0 -1
- package/lib/Metadata.js +0 -256
- package/lib/Metadata.js.map +0 -1
- package/lib/Reflection.js +0 -179
- package/lib/Reflection.js.map +0 -1
- package/lib/Schema.js +0 -352
- package/lib/Schema.js.map +0 -1
- package/lib/annotations.d.ts +0 -109
- package/lib/annotations.js +0 -473
- package/lib/annotations.js.map +0 -1
- package/lib/bench_encode.d.ts +0 -1
- package/lib/bench_encode.js +0 -91
- package/lib/bench_encode.js.map +0 -1
- package/lib/benchmark.d.ts +0 -1
- package/lib/benchmark.js +0 -218
- package/lib/benchmark.js.map +0 -1
- package/lib/codegen/api.js +0 -56
- package/lib/codegen/api.js.map +0 -1
- package/lib/codegen/argv.js +0 -39
- package/lib/codegen/argv.js.map +0 -1
- package/lib/codegen/cli.js +0 -58
- package/lib/codegen/cli.js.map +0 -1
- package/lib/codegen/languages/cpp.d.ts +0 -3
- package/lib/codegen/languages/cpp.js +0 -258
- package/lib/codegen/languages/cpp.js.map +0 -1
- package/lib/codegen/languages/csharp.d.ts +0 -4
- package/lib/codegen/languages/csharp.js +0 -154
- package/lib/codegen/languages/csharp.js.map +0 -1
- package/lib/codegen/languages/haxe.d.ts +0 -3
- package/lib/codegen/languages/haxe.js +0 -100
- package/lib/codegen/languages/haxe.js.map +0 -1
- package/lib/codegen/languages/java.js +0 -100
- package/lib/codegen/languages/java.js.map +0 -1
- package/lib/codegen/languages/js.d.ts +0 -3
- package/lib/codegen/languages/js.js +0 -101
- package/lib/codegen/languages/js.js.map +0 -1
- package/lib/codegen/languages/lua.d.ts +0 -3
- package/lib/codegen/languages/lua.js +0 -103
- package/lib/codegen/languages/lua.js.map +0 -1
- package/lib/codegen/languages/ts.d.ts +0 -3
- package/lib/codegen/languages/ts.js +0 -116
- package/lib/codegen/languages/ts.js.map +0 -1
- package/lib/codegen/parser.js +0 -327
- package/lib/codegen/parser.js.map +0 -1
- package/lib/codegen/types.js +0 -142
- package/lib/codegen/types.js.map +0 -1
- package/lib/decoder/DecodeOperation.js +0 -248
- package/lib/decoder/DecodeOperation.js.map +0 -1
- package/lib/decoder/Decoder.d.ts +0 -21
- package/lib/decoder/Decoder.js +0 -114
- package/lib/decoder/Decoder.js.map +0 -1
- package/lib/decoder/ReferenceTracker.js +0 -135
- package/lib/decoder/ReferenceTracker.js.map +0 -1
- package/lib/decoder/strategy/Callbacks.js +0 -336
- package/lib/decoder/strategy/Callbacks.js.map +0 -1
- package/lib/decoder/strategy/RawChanges.js +0 -4
- package/lib/decoder/strategy/RawChanges.js.map +0 -1
- package/lib/decoder/strategy/getDecoderStateCallbacks.js +0 -274
- package/lib/decoder/strategy/getDecoderStateCallbacks.js.map +0 -1
- package/lib/encoder/ChangeTree.js +0 -534
- package/lib/encoder/ChangeTree.js.map +0 -1
- package/lib/encoder/EncodeOperation.js +0 -132
- package/lib/encoder/EncodeOperation.js.map +0 -1
- package/lib/encoder/Encoder.js +0 -204
- package/lib/encoder/Encoder.js.map +0 -1
- package/lib/encoder/Root.d.ts +0 -28
- package/lib/encoder/Root.js +0 -229
- package/lib/encoder/Root.js.map +0 -1
- package/lib/encoder/StateView.d.ts +0 -34
- package/lib/encoder/StateView.js +0 -279
- package/lib/encoder/StateView.js.map +0 -1
- package/lib/encoding/assert.d.ts +0 -10
- package/lib/encoding/assert.js +0 -49
- package/lib/encoding/assert.js.map +0 -1
- package/lib/encoding/decode.d.ts +0 -67
- package/lib/encoding/decode.js +0 -217
- package/lib/encoding/decode.js.map +0 -1
- package/lib/encoding/encode.d.ts +0 -40
- package/lib/encoding/encode.js +0 -279
- package/lib/encoding/encode.js.map +0 -1
- package/lib/encoding/spec.js +0 -26
- package/lib/encoding/spec.js.map +0 -1
- package/lib/index.d.ts +0 -32
- package/lib/index.js +0 -39
- package/lib/index.js.map +0 -1
- package/lib/src/Metadata.d.ts +0 -49
- package/lib/src/Metadata.js +0 -256
- package/lib/src/Metadata.js.map +0 -1
- package/lib/src/Reflection.d.ts +0 -71
- package/lib/src/Reflection.js +0 -179
- package/lib/src/Reflection.js.map +0 -1
- package/lib/src/Schema.d.ts +0 -86
- package/lib/src/Schema.js +0 -352
- package/lib/src/Schema.js.map +0 -1
- package/lib/src/annotations.js +0 -473
- package/lib/src/annotations.js.map +0 -1
- package/lib/src/bench_encode.d.ts +0 -1
- package/lib/src/bench_encode.js +0 -91
- package/lib/src/bench_encode.js.map +0 -1
- package/lib/src/codegen/api.d.ts +0 -7
- package/lib/src/codegen/api.js +0 -56
- package/lib/src/codegen/api.js.map +0 -1
- package/lib/src/codegen/argv.d.ts +0 -6
- package/lib/src/codegen/argv.js +0 -39
- package/lib/src/codegen/argv.js.map +0 -1
- package/lib/src/codegen/cli.d.ts +0 -1
- package/lib/src/codegen/cli.js +0 -58
- package/lib/src/codegen/cli.js.map +0 -1
- package/lib/src/codegen/languages/cpp.d.ts +0 -3
- package/lib/src/codegen/languages/cpp.js +0 -258
- package/lib/src/codegen/languages/cpp.js.map +0 -1
- package/lib/src/codegen/languages/csharp.d.ts +0 -4
- package/lib/src/codegen/languages/csharp.js +0 -154
- package/lib/src/codegen/languages/csharp.js.map +0 -1
- package/lib/src/codegen/languages/haxe.d.ts +0 -3
- package/lib/src/codegen/languages/haxe.js +0 -100
- package/lib/src/codegen/languages/haxe.js.map +0 -1
- package/lib/src/codegen/languages/java.d.ts +0 -6
- package/lib/src/codegen/languages/java.js +0 -100
- package/lib/src/codegen/languages/java.js.map +0 -1
- package/lib/src/codegen/languages/js.d.ts +0 -3
- package/lib/src/codegen/languages/js.js +0 -101
- package/lib/src/codegen/languages/js.js.map +0 -1
- package/lib/src/codegen/languages/lua.d.ts +0 -3
- package/lib/src/codegen/languages/lua.js +0 -103
- package/lib/src/codegen/languages/lua.js.map +0 -1
- package/lib/src/codegen/languages/ts.d.ts +0 -3
- package/lib/src/codegen/languages/ts.js +0 -116
- package/lib/src/codegen/languages/ts.js.map +0 -1
- package/lib/src/codegen/parser.d.ts +0 -13
- package/lib/src/codegen/parser.js +0 -327
- package/lib/src/codegen/parser.js.map +0 -1
- package/lib/src/codegen/types.d.ts +0 -52
- package/lib/src/codegen/types.js +0 -142
- package/lib/src/codegen/types.js.map +0 -1
- package/lib/src/decoder/DecodeOperation.d.ts +0 -23
- package/lib/src/decoder/DecodeOperation.js +0 -248
- package/lib/src/decoder/DecodeOperation.js.map +0 -1
- package/lib/src/decoder/Decoder.js +0 -114
- package/lib/src/decoder/Decoder.js.map +0 -1
- package/lib/src/decoder/ReferenceTracker.d.ts +0 -25
- package/lib/src/decoder/ReferenceTracker.js +0 -135
- package/lib/src/decoder/ReferenceTracker.js.map +0 -1
- package/lib/src/decoder/strategy/Callbacks.d.ts +0 -154
- package/lib/src/decoder/strategy/Callbacks.js +0 -336
- package/lib/src/decoder/strategy/Callbacks.js.map +0 -1
- package/lib/src/decoder/strategy/RawChanges.d.ts +0 -3
- package/lib/src/decoder/strategy/RawChanges.js +0 -4
- package/lib/src/decoder/strategy/RawChanges.js.map +0 -1
- package/lib/src/decoder/strategy/getDecoderStateCallbacks.d.ts +0 -76
- package/lib/src/decoder/strategy/getDecoderStateCallbacks.js +0 -274
- package/lib/src/decoder/strategy/getDecoderStateCallbacks.js.map +0 -1
- package/lib/src/encoder/ChangeTree.d.ts +0 -135
- package/lib/src/encoder/ChangeTree.js +0 -534
- package/lib/src/encoder/ChangeTree.js.map +0 -1
- package/lib/src/encoder/EncodeOperation.d.ts +0 -22
- package/lib/src/encoder/EncodeOperation.js +0 -132
- package/lib/src/encoder/EncodeOperation.js.map +0 -1
- package/lib/src/encoder/Encoder.d.ts +0 -22
- package/lib/src/encoder/Encoder.js +0 -204
- package/lib/src/encoder/Encoder.js.map +0 -1
- package/lib/src/encoder/Root.js +0 -229
- package/lib/src/encoder/Root.js.map +0 -1
- package/lib/src/encoder/StateView.js +0 -279
- package/lib/src/encoder/StateView.js.map +0 -1
- package/lib/src/encoding/assert.js +0 -49
- package/lib/src/encoding/assert.js.map +0 -1
- package/lib/src/encoding/decode.js +0 -217
- package/lib/src/encoding/decode.js.map +0 -1
- package/lib/src/encoding/encode.js +0 -279
- package/lib/src/encoding/encode.js.map +0 -1
- package/lib/src/encoding/spec.d.ts +0 -24
- package/lib/src/encoding/spec.js +0 -26
- package/lib/src/encoding/spec.js.map +0 -1
- package/lib/src/index.d.ts +0 -32
- package/lib/src/index.js +0 -39
- package/lib/src/index.js.map +0 -1
- package/lib/src/symbol.shim.js +0 -3
- package/lib/src/symbol.shim.js.map +0 -1
- package/lib/src/types/HelperTypes.d.ts +0 -77
- package/lib/src/types/HelperTypes.js +0 -2
- package/lib/src/types/HelperTypes.js.map +0 -1
- package/lib/src/types/TypeContext.d.ts +0 -31
- package/lib/src/types/TypeContext.js +0 -143
- package/lib/src/types/TypeContext.js.map +0 -1
- package/lib/src/types/custom/ArraySchema.js +0 -733
- package/lib/src/types/custom/ArraySchema.js.map +0 -1
- package/lib/src/types/custom/CollectionSchema.js +0 -170
- package/lib/src/types/custom/CollectionSchema.js.map +0 -1
- package/lib/src/types/custom/MapSchema.d.ts +0 -51
- package/lib/src/types/custom/MapSchema.js +0 -222
- package/lib/src/types/custom/MapSchema.js.map +0 -1
- package/lib/src/types/custom/SetSchema.js +0 -178
- package/lib/src/types/custom/SetSchema.js.map +0 -1
- package/lib/src/types/registry.js +0 -30
- package/lib/src/types/registry.js.map +0 -1
- package/lib/src/types/symbols.js +0 -34
- package/lib/src/types/symbols.js.map +0 -1
- package/lib/src/types/utils.js +0 -13
- package/lib/src/types/utils.js.map +0 -1
- package/lib/src/utils.d.ts +0 -13
- package/lib/src/utils.js +0 -49
- package/lib/src/utils.js.map +0 -1
- package/lib/src/v3_bench.js +0 -128
- package/lib/src/v3_bench.js.map +0 -1
- package/lib/symbol.shim.d.ts +0 -6
- package/lib/symbol.shim.js +0 -3
- package/lib/symbol.shim.js.map +0 -1
- package/lib/types/HelperTypes.js +0 -2
- package/lib/types/HelperTypes.js.map +0 -1
- package/lib/types/TypeContext.js +0 -143
- package/lib/types/TypeContext.js.map +0 -1
- package/lib/types/custom/ArraySchema.d.ts +0 -270
- package/lib/types/custom/ArraySchema.js +0 -733
- package/lib/types/custom/ArraySchema.js.map +0 -1
- package/lib/types/custom/CollectionSchema.d.ts +0 -51
- package/lib/types/custom/CollectionSchema.js +0 -170
- package/lib/types/custom/CollectionSchema.js.map +0 -1
- package/lib/types/custom/MapSchema.js +0 -222
- package/lib/types/custom/MapSchema.js.map +0 -1
- package/lib/types/custom/SetSchema.d.ts +0 -48
- package/lib/types/custom/SetSchema.js +0 -178
- package/lib/types/custom/SetSchema.js.map +0 -1
- package/lib/types/registry.d.ts +0 -16
- package/lib/types/registry.js +0 -30
- package/lib/types/registry.js.map +0 -1
- package/lib/types/symbols.d.ts +0 -33
- package/lib/types/symbols.js +0 -34
- package/lib/types/symbols.js.map +0 -1
- package/lib/types/utils.d.ts +0 -1
- package/lib/types/utils.js +0 -13
- package/lib/types/utils.js.map +0 -1
- package/lib/utils.js +0 -49
- package/lib/utils.js.map +0 -1
- package/lib/v3_bench.d.ts +0 -1
- package/lib/v3_bench.js +0 -128
- package/lib/v3_bench.js.map +0 -1
- /package/{lib → build}/codegen/api.d.ts +0 -0
- /package/{lib → build}/codegen/argv.d.ts +0 -0
- /package/{lib → build}/codegen/cli.d.ts +0 -0
- /package/{lib → build}/codegen/types.d.ts +0 -0
- /package/{lib → build}/encoding/spec.d.ts +0 -0
- /package/{lib/src → build}/symbol.shim.d.ts +0 -0
- /package/{lib/src → build}/types/symbols.d.ts +0 -0
- /package/{lib/src → build}/types/utils.d.ts +0 -0
- /package/{lib/src → build}/v3_bench.d.ts +0 -0
package/build/index.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export { Schema } from "./Schema.js";
|
|
2
|
+
export type { DataChange } from "./decoder/DecodeOperation.js";
|
|
3
|
+
export type { ToJSON } from "./types/HelperTypes.js";
|
|
4
|
+
import { MapSchema } from "./types/custom/MapSchema.js";
|
|
5
|
+
export { MapSchema };
|
|
6
|
+
import { ArraySchema } from "./types/custom/ArraySchema.js";
|
|
7
|
+
export { ArraySchema };
|
|
8
|
+
import { CollectionSchema } from "./types/custom/CollectionSchema.js";
|
|
9
|
+
export { CollectionSchema };
|
|
10
|
+
import { SetSchema } from "./types/custom/SetSchema.js";
|
|
11
|
+
export { SetSchema };
|
|
12
|
+
import { registerType, defineCustomTypes } from "./types/registry.js";
|
|
13
|
+
export { registerType, defineCustomTypes };
|
|
14
|
+
export { dumpChanges } from "./utils.js";
|
|
15
|
+
export { $track, $encoder, $decoder, $filter, $getByIndex, $deleteByIndex, $changes, $childType, $refId } from "./types/symbols.js";
|
|
16
|
+
export { encode } from "./encoding/encode.js";
|
|
17
|
+
export { decode, type Iterator } from "./encoding/decode.js";
|
|
18
|
+
export { Reflection, ReflectionType, ReflectionField, } from "./Reflection.js";
|
|
19
|
+
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";
|
|
21
|
+
export { TypeContext } from "./types/TypeContext.js";
|
|
22
|
+
export type { InferValueType, InferSchemaInstanceType, AssignableProps } from "./types/HelperTypes.js";
|
|
23
|
+
export { getDecoderStateCallbacks, type CallbackProxy, type SchemaCallback, type CollectionCallback, type SchemaCallbackProxy } from "./decoder/strategy/getDecoderStateCallbacks.js";
|
|
24
|
+
export { Callbacks, StateCallbackStrategy } from "./decoder/strategy/Callbacks.js";
|
|
25
|
+
export { getRawChangesCallback } from "./decoder/strategy/RawChanges.js";
|
|
26
|
+
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";
|
|
29
|
+
export { StateView } from "./encoder/StateView.js";
|
|
30
|
+
export { Decoder } from "./decoder/Decoder.js";
|
|
31
|
+
export { decodeSchemaOperation, decodeKeyValueOperation } from "./decoder/DecodeOperation.js";
|
|
32
|
+
export { OPERATION } from "./encoding/spec.js";
|
|
@@ -5126,32 +5126,6 @@
|
|
|
5126
5126
|
decoder.triggerChanges = callback;
|
|
5127
5127
|
}
|
|
5128
5128
|
|
|
5129
|
-
/**
|
|
5130
|
-
* State Callbacks handler
|
|
5131
|
-
*
|
|
5132
|
-
* Usage:
|
|
5133
|
-
* ```ts
|
|
5134
|
-
* const $ = Callbacks.get(decoder);
|
|
5135
|
-
*
|
|
5136
|
-
* // Listen to property changes
|
|
5137
|
-
* $.listen("currentTurn", (currentValue, previousValue) => { ... });
|
|
5138
|
-
*
|
|
5139
|
-
* // Listen to collection additions
|
|
5140
|
-
* $.onAdd("entities", (sessionId, entity) => {
|
|
5141
|
-
* // Nested property listening
|
|
5142
|
-
* $.listen(entity, "hp", (currentHp, previousHp) => { ... });
|
|
5143
|
-
* });
|
|
5144
|
-
*
|
|
5145
|
-
* // Listen to collection removals
|
|
5146
|
-
* $.onRemove("entities", (sessionId, entity) => { ... });
|
|
5147
|
-
*
|
|
5148
|
-
* // Listen to any property change on an instance
|
|
5149
|
-
* $.onChange(entity, () => { ... });
|
|
5150
|
-
*
|
|
5151
|
-
* // Bind properties to another object
|
|
5152
|
-
* $.bindTo(player, playerVisual);
|
|
5153
|
-
* ```
|
|
5154
|
-
*/
|
|
5155
5129
|
class StateCallbackStrategy {
|
|
5156
5130
|
decoder;
|
|
5157
5131
|
uniqueRefIds = new Set();
|
|
@@ -5190,7 +5164,7 @@
|
|
|
5190
5164
|
immediate = immediate && this.isTriggering === false;
|
|
5191
5165
|
if (operation === exports.OPERATION.ADD && immediate) {
|
|
5192
5166
|
collection.forEach((value, key) => {
|
|
5193
|
-
handler(
|
|
5167
|
+
handler(value, key);
|
|
5194
5168
|
});
|
|
5195
5169
|
}
|
|
5196
5170
|
return this.addCallback(collection[$refId], operation, handler);
|
|
@@ -5346,11 +5320,11 @@
|
|
|
5346
5320
|
// FIXME: `previousValue` should always be available.
|
|
5347
5321
|
//
|
|
5348
5322
|
if (change.previousValue !== undefined) {
|
|
5349
|
-
// trigger onRemove (
|
|
5323
|
+
// trigger onRemove (value, key)
|
|
5350
5324
|
const deleteCallbacks = $callbacks[exports.OPERATION.DELETE];
|
|
5351
5325
|
if (deleteCallbacks) {
|
|
5352
5326
|
for (let j = deleteCallbacks.length - 1; j >= 0; j--) {
|
|
5353
|
-
deleteCallbacks[j](
|
|
5327
|
+
deleteCallbacks[j](change.previousValue, dynamicIndex);
|
|
5354
5328
|
}
|
|
5355
5329
|
}
|
|
5356
5330
|
}
|
|
@@ -5360,7 +5334,7 @@
|
|
|
5360
5334
|
if (addCallbacks) {
|
|
5361
5335
|
this.isTriggering = true;
|
|
5362
5336
|
for (let j = addCallbacks.length - 1; j >= 0; j--) {
|
|
5363
|
-
addCallbacks[j](
|
|
5337
|
+
addCallbacks[j](change.value, dynamicIndex);
|
|
5364
5338
|
}
|
|
5365
5339
|
this.isTriggering = false;
|
|
5366
5340
|
}
|
|
@@ -5368,12 +5342,12 @@
|
|
|
5368
5342
|
}
|
|
5369
5343
|
else if ((change.op & exports.OPERATION.ADD) === exports.OPERATION.ADD &&
|
|
5370
5344
|
change.previousValue !== change.value) {
|
|
5371
|
-
// trigger onAdd (
|
|
5345
|
+
// trigger onAdd (value, key)
|
|
5372
5346
|
const addCallbacks = $callbacks[exports.OPERATION.ADD];
|
|
5373
5347
|
if (addCallbacks) {
|
|
5374
5348
|
this.isTriggering = true;
|
|
5375
5349
|
for (let j = addCallbacks.length - 1; j >= 0; j--) {
|
|
5376
|
-
addCallbacks[j](
|
|
5350
|
+
addCallbacks[j](change.value, dynamicIndex);
|
|
5377
5351
|
}
|
|
5378
5352
|
this.isTriggering = false;
|
|
5379
5353
|
}
|
|
@@ -5407,13 +5381,13 @@
|
|
|
5407
5381
|
* callbacks.listen("currentTurn", (currentValue, previousValue) => { ... });
|
|
5408
5382
|
*
|
|
5409
5383
|
* // Listen to collection additions
|
|
5410
|
-
* callbacks.onAdd("entities", (
|
|
5384
|
+
* callbacks.onAdd("entities", (entity, sessionId) => {
|
|
5411
5385
|
* // Nested property listening
|
|
5412
5386
|
* callbacks.listen(entity, "hp", (currentHp, previousHp) => { ... });
|
|
5413
5387
|
* });
|
|
5414
5388
|
*
|
|
5415
5389
|
* // Listen to collection removals
|
|
5416
|
-
* callbacks.onRemove("entities", (
|
|
5390
|
+
* callbacks.onRemove("entities", (entity, sessionId) => { ... });
|
|
5417
5391
|
*
|
|
5418
5392
|
* // Listen to any property change on an instance
|
|
5419
5393
|
* callbacks.onChange(entity, () => { ... });
|
|
@@ -5120,32 +5120,6 @@ function getRawChangesCallback(decoder, callback) {
|
|
|
5120
5120
|
decoder.triggerChanges = callback;
|
|
5121
5121
|
}
|
|
5122
5122
|
|
|
5123
|
-
/**
|
|
5124
|
-
* State Callbacks handler
|
|
5125
|
-
*
|
|
5126
|
-
* Usage:
|
|
5127
|
-
* ```ts
|
|
5128
|
-
* const $ = Callbacks.get(decoder);
|
|
5129
|
-
*
|
|
5130
|
-
* // Listen to property changes
|
|
5131
|
-
* $.listen("currentTurn", (currentValue, previousValue) => { ... });
|
|
5132
|
-
*
|
|
5133
|
-
* // Listen to collection additions
|
|
5134
|
-
* $.onAdd("entities", (sessionId, entity) => {
|
|
5135
|
-
* // Nested property listening
|
|
5136
|
-
* $.listen(entity, "hp", (currentHp, previousHp) => { ... });
|
|
5137
|
-
* });
|
|
5138
|
-
*
|
|
5139
|
-
* // Listen to collection removals
|
|
5140
|
-
* $.onRemove("entities", (sessionId, entity) => { ... });
|
|
5141
|
-
*
|
|
5142
|
-
* // Listen to any property change on an instance
|
|
5143
|
-
* $.onChange(entity, () => { ... });
|
|
5144
|
-
*
|
|
5145
|
-
* // Bind properties to another object
|
|
5146
|
-
* $.bindTo(player, playerVisual);
|
|
5147
|
-
* ```
|
|
5148
|
-
*/
|
|
5149
5123
|
class StateCallbackStrategy {
|
|
5150
5124
|
decoder;
|
|
5151
5125
|
uniqueRefIds = new Set();
|
|
@@ -5184,7 +5158,7 @@ class StateCallbackStrategy {
|
|
|
5184
5158
|
immediate = immediate && this.isTriggering === false;
|
|
5185
5159
|
if (operation === OPERATION.ADD && immediate) {
|
|
5186
5160
|
collection.forEach((value, key) => {
|
|
5187
|
-
handler(
|
|
5161
|
+
handler(value, key);
|
|
5188
5162
|
});
|
|
5189
5163
|
}
|
|
5190
5164
|
return this.addCallback(collection[$refId], operation, handler);
|
|
@@ -5340,11 +5314,11 @@ class StateCallbackStrategy {
|
|
|
5340
5314
|
// FIXME: `previousValue` should always be available.
|
|
5341
5315
|
//
|
|
5342
5316
|
if (change.previousValue !== undefined) {
|
|
5343
|
-
// trigger onRemove (
|
|
5317
|
+
// trigger onRemove (value, key)
|
|
5344
5318
|
const deleteCallbacks = $callbacks[OPERATION.DELETE];
|
|
5345
5319
|
if (deleteCallbacks) {
|
|
5346
5320
|
for (let j = deleteCallbacks.length - 1; j >= 0; j--) {
|
|
5347
|
-
deleteCallbacks[j](
|
|
5321
|
+
deleteCallbacks[j](change.previousValue, dynamicIndex);
|
|
5348
5322
|
}
|
|
5349
5323
|
}
|
|
5350
5324
|
}
|
|
@@ -5354,7 +5328,7 @@ class StateCallbackStrategy {
|
|
|
5354
5328
|
if (addCallbacks) {
|
|
5355
5329
|
this.isTriggering = true;
|
|
5356
5330
|
for (let j = addCallbacks.length - 1; j >= 0; j--) {
|
|
5357
|
-
addCallbacks[j](
|
|
5331
|
+
addCallbacks[j](change.value, dynamicIndex);
|
|
5358
5332
|
}
|
|
5359
5333
|
this.isTriggering = false;
|
|
5360
5334
|
}
|
|
@@ -5362,12 +5336,12 @@ class StateCallbackStrategy {
|
|
|
5362
5336
|
}
|
|
5363
5337
|
else if ((change.op & OPERATION.ADD) === OPERATION.ADD &&
|
|
5364
5338
|
change.previousValue !== change.value) {
|
|
5365
|
-
// trigger onAdd (
|
|
5339
|
+
// trigger onAdd (value, key)
|
|
5366
5340
|
const addCallbacks = $callbacks[OPERATION.ADD];
|
|
5367
5341
|
if (addCallbacks) {
|
|
5368
5342
|
this.isTriggering = true;
|
|
5369
5343
|
for (let j = addCallbacks.length - 1; j >= 0; j--) {
|
|
5370
|
-
addCallbacks[j](
|
|
5344
|
+
addCallbacks[j](change.value, dynamicIndex);
|
|
5371
5345
|
}
|
|
5372
5346
|
this.isTriggering = false;
|
|
5373
5347
|
}
|
|
@@ -5401,13 +5375,13 @@ const Callbacks = {
|
|
|
5401
5375
|
* callbacks.listen("currentTurn", (currentValue, previousValue) => { ... });
|
|
5402
5376
|
*
|
|
5403
5377
|
* // Listen to collection additions
|
|
5404
|
-
* callbacks.onAdd("entities", (
|
|
5378
|
+
* callbacks.onAdd("entities", (entity, sessionId) => {
|
|
5405
5379
|
* // Nested property listening
|
|
5406
5380
|
* callbacks.listen(entity, "hp", (currentHp, previousHp) => { ... });
|
|
5407
5381
|
* });
|
|
5408
5382
|
*
|
|
5409
5383
|
* // Listen to collection removals
|
|
5410
|
-
* callbacks.onRemove("entities", (
|
|
5384
|
+
* callbacks.onRemove("entities", (entity, sessionId) => { ... });
|
|
5411
5385
|
*
|
|
5412
5386
|
* // Listen to any property change on an instance
|
|
5413
5387
|
* callbacks.onChange(entity, () => { ... });
|