@bikky/replication 1.0.2 → 1.0.3

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 (165) hide show
  1. package/.idea/encodings.xml +4 -0
  2. package/.idea/vcs.xml +4 -0
  3. package/Constants/Errors.js +1 -0
  4. package/Constants/Errors.js.map +1 -0
  5. package/Constants/Logging.d.ts +1 -0
  6. package/Constants/Logging.js +2 -2
  7. package/Constants/Logging.js.map +1 -0
  8. package/Constants/ReplicableRegistry.d.ts +4 -3
  9. package/Constants/ReplicableRegistry.js +7 -8
  10. package/Constants/ReplicableRegistry.js.map +1 -0
  11. package/Constants/SerialisationTypes.js +4 -4
  12. package/Constants/SerialisationTypes.js.map +1 -0
  13. package/Constants/SourceMaps.js +1 -0
  14. package/Constants/SourceMaps.js.map +1 -0
  15. package/Constants/TraversalStep.js +1 -0
  16. package/Constants/TraversalStep.js.map +1 -0
  17. package/Constants/Versions.d.ts +2 -1
  18. package/Constants/Versions.js +1 -0
  19. package/Constants/Versions.js.map +1 -0
  20. package/Expressions/Compiler/BuiltinGrammar.js +1 -0
  21. package/Expressions/Compiler/BuiltinGrammar.js.map +1 -0
  22. package/Expressions/Compiler/ExpressionGrammar.js +1 -0
  23. package/Expressions/Compiler/ExpressionGrammar.js.map +1 -0
  24. package/Expressions/Compiler/Parser.js +27 -18
  25. package/Expressions/Compiler/Parser.js.map +1 -0
  26. package/Expressions/Compiler/Tokenizer.js +1 -0
  27. package/Expressions/Compiler/Tokenizer.js.map +1 -0
  28. package/Expressions/Compiler/__tests__/Replicable.Expressions.Parser.test.js +1 -0
  29. package/Expressions/Compiler/__tests__/Replicable.Expressions.Parser.test.js.map +1 -0
  30. package/Expressions/Compiler/__tests__/Replicable.Expressions.Tokenizer.test.js +1 -0
  31. package/Expressions/Compiler/__tests__/Replicable.Expressions.Tokenizer.test.js.map +1 -0
  32. package/Expressions/CreateEvaluator.js +1 -0
  33. package/Expressions/CreateEvaluator.js.map +1 -0
  34. package/Expressions/EvaluatorChain.js +6 -1
  35. package/Expressions/EvaluatorChain.js.map +1 -0
  36. package/Expressions/EvaluatorSteps.js +1 -0
  37. package/Expressions/EvaluatorSteps.js.map +1 -0
  38. package/Expressions/EvaluatorString.js +1 -0
  39. package/Expressions/EvaluatorString.js.map +1 -0
  40. package/Expressions/Expression.js +10 -3
  41. package/Expressions/Expression.js.map +1 -0
  42. package/Expressions/Traverser.js +2 -2
  43. package/Expressions/Traverser.js.map +1 -0
  44. package/Expressions/TypeRegistry/Accessors.js +1 -0
  45. package/Expressions/TypeRegistry/Accessors.js.map +1 -0
  46. package/Expressions/TypeRegistry/ChainCollections.js +1 -0
  47. package/Expressions/TypeRegistry/ChainCollections.js.map +1 -0
  48. package/Expressions/TypeRegistry/ChainTypes.js +1 -0
  49. package/Expressions/TypeRegistry/ChainTypes.js.map +1 -0
  50. package/Expressions/TypeRegistry/CustomAPI.d.ts +6 -4
  51. package/Expressions/TypeRegistry/CustomAPI.js +16 -34
  52. package/Expressions/TypeRegistry/CustomAPI.js.map +1 -0
  53. package/Expressions/TypeRegistry/Primitive.js +1 -0
  54. package/Expressions/TypeRegistry/Primitive.js.map +1 -0
  55. package/Expressions/TypeRegistry/Registry.js +6 -6
  56. package/Expressions/TypeRegistry/Registry.js.map +1 -0
  57. package/Expressions/TypeRegistry/ReplAPI.d.ts +7 -5
  58. package/Expressions/TypeRegistry/ReplAPI.js +9 -22
  59. package/Expressions/TypeRegistry/ReplAPI.js.map +1 -0
  60. package/Expressions/TypeRegistry/Scope.js +1 -0
  61. package/Expressions/TypeRegistry/Scope.js.map +1 -0
  62. package/Expressions/TypeRegistry/Types.js +1 -0
  63. package/Expressions/TypeRegistry/Types.js.map +1 -0
  64. package/Expressions/TypeRegistry/__tests__/Replicable.Expressions.Accessors.test.js +1 -0
  65. package/Expressions/TypeRegistry/__tests__/Replicable.Expressions.Accessors.test.js.map +1 -0
  66. package/Expressions/__tests__/ExpressionExamples.js +1 -0
  67. package/Expressions/__tests__/ExpressionExamples.js.map +1 -0
  68. package/Expressions/__tests__/Replicable.Expressions.Expressions.test.js +4 -3
  69. package/Expressions/__tests__/Replicable.Expressions.Expressions.test.js.map +1 -0
  70. package/IDPool.data.d.ts +2 -0
  71. package/IDPool.js +1 -0
  72. package/IDPool.js.map +1 -0
  73. package/Main.js +1 -0
  74. package/Main.js.map +1 -0
  75. package/Networking.js +3 -4
  76. package/Networking.js.map +1 -0
  77. package/Replicatable.js +5 -6
  78. package/Replicatable.js.map +1 -0
  79. package/Tracking/Buffable.d.ts +3 -2
  80. package/Tracking/Buffable.js +1 -0
  81. package/Tracking/Buffable.js.map +1 -0
  82. package/Tracking/Class.d.ts +6 -4
  83. package/Tracking/Class.js +37 -19
  84. package/Tracking/Class.js.map +1 -0
  85. package/Tracking/Functions.js +3 -2
  86. package/Tracking/Functions.js.map +1 -0
  87. package/Tracking/GlobalGroup.js +2 -2
  88. package/Tracking/GlobalGroup.js.map +1 -0
  89. package/Tracking/Property.d.ts +3 -2
  90. package/Tracking/Property.js +9 -5
  91. package/Tracking/Property.js.map +1 -0
  92. package/Tracking/Types.js +1 -0
  93. package/Tracking/Types.js.map +1 -0
  94. package/Tracking/__tests__/Replicable.Tracking.Decorator.test.js +1 -0
  95. package/Tracking/__tests__/Replicable.Tracking.Decorator.test.js.map +1 -0
  96. package/Tracking/__tests__/Replicable.Tracking.Deserialisation.test.js +1 -0
  97. package/Tracking/__tests__/Replicable.Tracking.Deserialisation.test.js.map +1 -0
  98. package/Tracking/__tests__/Replicable.Tracking.MixinSchemaGeneration.test.js +1 -0
  99. package/Tracking/__tests__/Replicable.Tracking.MixinSchemaGeneration.test.js.map +1 -0
  100. package/Tracking/__tests__/Replicable.Tracking.Struct.test.js +1 -0
  101. package/Tracking/__tests__/Replicable.Tracking.Struct.test.js.map +1 -0
  102. package/Tracking/__tests__/Replicable.Tracking.Type.test.js +1 -0
  103. package/Tracking/__tests__/Replicable.Tracking.Type.test.js.map +1 -0
  104. package/Transformers/Configurer.d.ts +15 -1
  105. package/Transformers/Configurer.js +130 -21
  106. package/Transformers/Configurer.js.map +1 -0
  107. package/Transformers/Constructor.js +1 -0
  108. package/Transformers/Constructor.js.map +1 -0
  109. package/Transformers/Definitions.d.ts +3 -3
  110. package/Transformers/Definitions.js +41 -21
  111. package/Transformers/Definitions.js.map +1 -0
  112. package/Transformers/Loader.js +21 -11
  113. package/Transformers/Loader.js.map +1 -0
  114. package/Transformers/Progress.js +19 -13
  115. package/Transformers/Progress.js.map +1 -0
  116. package/Transformers/Reference.js +3 -2
  117. package/Transformers/Reference.js.map +1 -0
  118. package/Transformers/SchemaGenerator.d.ts +2 -2
  119. package/Transformers/SchemaGenerator.js +89 -7
  120. package/Transformers/SchemaGenerator.js.map +1 -0
  121. package/Transformers/Serialiser.js +1 -0
  122. package/Transformers/Serialiser.js.map +1 -0
  123. package/Transformers/Utils.d.ts +1 -1
  124. package/Transformers/Utils.js +43 -26
  125. package/Transformers/Utils.js.map +1 -0
  126. package/Transformers/__tests__/Examples.d.ts +36 -0
  127. package/Transformers/__tests__/Examples.js +40 -0
  128. package/Transformers/__tests__/Examples.js.map +1 -0
  129. package/Transformers/__tests__/Replicable.Transformers.Definitions.test.js +18 -16
  130. package/Transformers/__tests__/Replicable.Transformers.Definitions.test.js.map +1 -0
  131. package/Transformers/__tests__/Replicable.Transformers.Loader.test.js +2 -0
  132. package/Transformers/__tests__/Replicable.Transformers.Loader.test.js.map +1 -0
  133. package/Transformers/__tests__/Replicable.Transformers.Progress.test.js +1 -0
  134. package/Transformers/__tests__/Replicable.Transformers.Progress.test.js.map +1 -0
  135. package/Transformers/__tests__/Replicable.Transformers.Reference.test.js +1 -0
  136. package/Transformers/__tests__/Replicable.Transformers.Reference.test.js.map +1 -0
  137. package/Transformers/__tests__/Replicable.Transformers.SchemaGenerator.test.js +14 -2
  138. package/Transformers/__tests__/Replicable.Transformers.SchemaGenerator.test.js.map +1 -0
  139. package/Transformers/__tests__/Replicable.Transformers.SchemaGeneratorOutput.test.js +1 -0
  140. package/Transformers/__tests__/Replicable.Transformers.SchemaGeneratorOutput.test.js.map +1 -0
  141. package/Transformers/__tests__/Replicable.Transformers.Serialiser.test.js +11 -2
  142. package/Transformers/__tests__/Replicable.Transformers.Serialiser.test.js.map +1 -0
  143. package/Transformers/__tests__/Replicable.Transformers.Utils.test.js +95 -82
  144. package/Transformers/__tests__/Replicable.Transformers.Utils.test.js.map +1 -0
  145. package/__tests__/Configuration/Mocks.d.ts +2 -0
  146. package/__tests__/Configuration/Mocks.js +98 -0
  147. package/__tests__/Configuration/Mocks.js.map +1 -0
  148. package/__tests__/Configuration/Setup.d.ts +1 -0
  149. package/__tests__/Configuration/Setup.js +14 -0
  150. package/__tests__/Configuration/Setup.js.map +1 -0
  151. package/__tests__/Configuration/TestTypes.d.ts +33 -0
  152. package/__tests__/Replicable.Expressions.test.js +1 -0
  153. package/__tests__/Replicable.Expressions.test.js.map +1 -0
  154. package/__tests__/Replicable.IDPool.test.js +1 -0
  155. package/__tests__/Replicable.IDPool.test.js.map +1 -0
  156. package/__tests__/Replicable.ReplicableRegistry.test.js +23 -13
  157. package/__tests__/Replicable.ReplicableRegistry.test.js.map +1 -0
  158. package/__tests__/Replicable.Serialisation.test.js +1 -0
  159. package/__tests__/Replicable.Serialisation.test.js.map +1 -0
  160. package/package.json +15 -5
  161. package/tsconfig.json +7 -4
  162. package/tsconfig.tsbuildinfo +1 -0
  163. package/vitest.config.d.ts +2 -0
  164. package/vitest.config.js +32 -0
  165. package/vitest.config.js.map +1 -0
@@ -133,7 +133,6 @@ export var GeneratorUtilities;
133
133
  }
134
134
  GeneratorUtilities.GenerateValueGroup = GenerateValueGroup;
135
135
  function GenerateProperty(className, conf, gen, style) {
136
- var _a, _b, _c, _d;
137
136
  let selection = style !== "serialised" ? conf.load : conf.serialisation;
138
137
  let fullValue = "";
139
138
  let name = style === "serialised" ? conf.name : conf.load.name;
@@ -145,9 +144,15 @@ export var GeneratorUtilities;
145
144
  continue;
146
145
  }
147
146
  let value = GeneratorUtilities.GenerateValueGroup(className, def.types, gen, PropertyTypes.isType(def.modifiers, PropertyTypes.ForceInline), style);
147
+ let loadKeyNeedsExpression = false;
148
148
  if (conf.expressionForProperty && PropertyTypes.ModOnly(def.modifiers) !== PropertyTypes.Solo) {
149
149
  if (style !== "serialised") {
150
- value += " | " + GeneratorUtilities.ExpressionString;
150
+ if (style === "definition" && "loadKeyAsPropOnData" in def && def.loadKeyAsPropOnData) {
151
+ loadKeyNeedsExpression = true;
152
+ }
153
+ else {
154
+ value += " | " + GeneratorUtilities.ExpressionString;
155
+ }
151
156
  }
152
157
  else {
153
158
  value += ` | ` + GeneratorUtilities.SerialisedExpressionString;
@@ -175,13 +180,16 @@ export var GeneratorUtilities;
175
180
  */
176
181
  let text;
177
182
  let mapText;
183
+ if ("loadKeyAsPropOnData" in def && def.loadKeyAsPropOnData && style === "definition") {
184
+ value = `Omit<${value}, "${def.loadKeyAsPropOnData}">` + (loadKeyNeedsExpression ? ` | ${GeneratorUtilities.ExpressionString}` : "");
185
+ }
178
186
  if (def.restrictedTo) {
179
187
  text = `{[key in ${def.restrictedTo.map((e) => typeof e === "string" ? `"${e}"` : e).join(" | ")}]: ${value}}`;
180
188
  mapText = `Map<${def.restrictedTo.map((e) => typeof e === "string" ? `"${e}"` : e).join(" | ")}, ${value}>`;
181
189
  }
182
190
  else {
183
- text = `{[key: ${def.keyType.includes(Expression) ? "string" : (_b = (_a = def.keyType) === null || _a === void 0 ? void 0 : _a.map((e) => primitiveTypeName(e)).join(" | ")) !== null && _b !== void 0 ? _b : "string"}]: ${value}}`;
184
- mapText = `Map<${def.keyType.includes(Expression) ? "string" : (_d = (_c = def.keyType) === null || _c === void 0 ? void 0 : _c.map((e) => primitiveTypeName(e)).join(" | ")) !== null && _d !== void 0 ? _d : "string"}, ${value}>`;
191
+ text = `{[key: ${def.keyType.includes(Expression) ? "string" : def.keyType?.map((e) => primitiveTypeName(e)).join(" | ") ?? "string"}]: ${value}}`;
192
+ mapText = `Map<${def.keyType.includes(Expression) ? "string" : def.keyType?.map((e) => primitiveTypeName(e)).join(" | ") ?? "string"}, ${value}>`;
185
193
  }
186
194
  let isMap = PropertyTypes.isType(def.modifiers, PropertyTypes.Map);
187
195
  value = style !== "serialised" ? text : (isMap ? `[ "Map", ${text} ]` : `[ "Dict", ${text} ]`);
@@ -321,7 +329,74 @@ export var GeneratorUtilities;
321
329
  }
322
330
  return e;
323
331
  });
324
- return Object.assign(Object.assign({ types: e.type, modifiers, sortIndex: e.type.map((e) => isPrimitiveType(e) ? primitiveTypeName(e) : e.opts.dataTypeName).join(" | ") }, ("restrictedTo" in e ? { restrictedTo: e.restrictedTo } : {})), (key ? { keyType: Array.isArray(key) ? key : [key] } : {}));
332
+ /**
333
+ * Allow for the key to be a property of the child value, that will be injected into the child value's
334
+ * data object at the time of loading.
335
+ */
336
+ let loadKeyAsPropOnData = undefined;
337
+ if (typeof key === "string") {
338
+ //Load the child type, find the property with the same name as the key and use that
339
+ // property's types (also check that it's valid).
340
+ for (let type of e.type) {
341
+ if (type instanceof ReplicableClass) {
342
+ let propDef = type.getPropDefinition(classType.opts.version, key);
343
+ if ("doesntExist" in propDef || "removed" in propDef) {
344
+ throw new Error(`Property ${propDef.property} doesn't exist in ${describeObject(type)}. Can't use it as an index.`);
345
+ }
346
+ //Set the name.
347
+ if (!loadKeyAsPropOnData) {
348
+ loadKeyAsPropOnData = propDef.load.name;
349
+ }
350
+ else if (loadKeyAsPropOnData !== propDef.load.name) {
351
+ throw new Error(`Can't use a property as an index type if the property's data name is not the same on all types.`);
352
+ }
353
+ //Set the key type and ensure that the property's types for all values resolve to the same type.
354
+ if (propDef) {
355
+ let newKeyType = propDef.load.types;
356
+ if ("mapKey" in newKeyType || "dictKey" in newKeyType || "array" in newKeyType) {
357
+ throw new Error(`Can't use a map, array or dict property as an index type for another property.`);
358
+ }
359
+ let resultNewTypes = [];
360
+ for (let newTypeInfo of newKeyType) {
361
+ if (!Array.isArray(newTypeInfo.types)) {
362
+ throw new Error(`Can't use a complex type as an index type.`);
363
+ }
364
+ for (let newType of newTypeInfo.types) {
365
+ if (newType != String && newType != Number) {
366
+ throw new Error(`Can't use a complex type as an index type.`);
367
+ }
368
+ resultNewTypes.push(newType);
369
+ }
370
+ }
371
+ resultNewTypes.sort((a, b) => describeObject(a) < describeObject(b) ? -1 : 1);
372
+ if (typeof key === "string") {
373
+ key = resultNewTypes;
374
+ }
375
+ else {
376
+ if (key.length != resultNewTypes.length) {
377
+ throw new Error(`Type mismatch in class' map index which was derived by looking up the value's property. The value has different valid types and those types have different index types.`);
378
+ }
379
+ for (let i = 0; i < key.length; i++) {
380
+ if (key[i] != resultNewTypes[i]) {
381
+ throw new Error(`Type mismatch in class' map index which was derived by looking up the value's property. The value has different valid types and those types have different index types.`);
382
+ }
383
+ }
384
+ }
385
+ }
386
+ }
387
+ else {
388
+ throw new Error(`Can't set a map or dict's index to be a property of a non-class type.`);
389
+ }
390
+ }
391
+ }
392
+ return {
393
+ types: e.type,
394
+ modifiers,
395
+ ...(style === "definition" && loadKeyAsPropOnData ? { loadKeyAsPropOnData } : {}),
396
+ sortIndex: e.type.map((e) => isPrimitiveType(e) ? primitiveTypeName(e) : e.opts.dataTypeName).join(" | "),
397
+ ...("restrictedTo" in e ? { restrictedTo: e.restrictedTo } : {}),
398
+ ...(key ? { keyType: Array.isArray(key) ? key : [key] } : {}),
399
+ };
325
400
  });
326
401
  GenerateProperty(classType.opts.dataTypeName, {
327
402
  name: classType.opts.dataTypeName,
@@ -363,12 +438,18 @@ export var GeneratorUtilities;
363
438
  }
364
439
  return e;
365
440
  });
366
- return Object.assign(Object.assign({ types: e.type, modifiers, sortIndex: e.type.map((e) => {
441
+ return {
442
+ types: e.type,
443
+ modifiers,
444
+ sortIndex: e.type.map((e) => {
367
445
  if (isPrimitiveType(e)) {
368
446
  return primitiveTypeName(e);
369
447
  }
370
448
  return e.opts.dataTypeName;
371
- }).join(" | ") }, ("restrictedTo" in e ? { restrictedTo: e.restrictedTo } : {})), (key ? { keyType: Array.isArray(key) ? key : [key] } : {}));
449
+ }).join(" | "),
450
+ ...("restrictedTo" in e ? { restrictedTo: e.restrictedTo } : {}),
451
+ ...(key ? { keyType: Array.isArray(key) ? key : [key] } : {}),
452
+ };
372
453
  });
373
454
  let valGen = {
374
455
  blocks: [],
@@ -562,3 +643,4 @@ export var SchemaGenerator;
562
643
  }
563
644
  SchemaGenerator.GenerateAllInterfaceTypes = GenerateAllInterfaceTypes;
564
645
  })(SchemaGenerator || (SchemaGenerator = {}));
646
+ //# sourceMappingURL=SchemaGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaGenerator.js","sourceRoot":"","sources":["SchemaGenerator.ts"],"names":[],"mappings":"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"}
@@ -364,3 +364,4 @@ export var Serialiser;
364
364
  Serialiser.Deserialise = Deserialise;
365
365
  })(Serialiser || (Serialiser = {}));
366
366
  __PrivateConstructorSetup.RegisterDeserialiser(Serialiser.Deserialise);
367
+ //# sourceMappingURL=Serialiser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Serialiser.js","sourceRoot":"","sources":["Serialiser.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export declare namespace Utils {
25
25
  function DoesExpressionMatchPropType(expr: Expression | EvaluationChain | EvaluationString, propType: PropertyConfiguration): boolean;
26
26
  }
27
27
  namespace CompareUtils {
28
- function CompareValWithSerialisedVal(val: any, serialised: any, debuginfo: string): boolean;
28
+ function CompareValWithSerialisedVal(val: any, serialised: [string, any], debuginfo: string): boolean;
29
29
  function CompareRepl(type: ReplicableClass, object: any, serialised: any): boolean;
30
30
  function Compare<T>(a: T, b: [string, any]): boolean;
31
31
  function CompareReferences(a: Referencer.Reference, b: Referencer.Reference): boolean;
@@ -64,17 +64,17 @@ export var Utils;
64
64
  function CategoryVisualModifierAid(category) {
65
65
  let result = "";
66
66
  if (PropertyTypes.isType(category, PropertyTypes.Solo))
67
- result += " 1";
67
+ result += "_1";
68
68
  if (PropertyTypes.isType(category, PropertyTypes.Array2))
69
- result += " 1[][]";
69
+ result += "_1[][]";
70
70
  if (PropertyTypes.isType(category, PropertyTypes.Array))
71
- result += " 1[]";
71
+ result += "_1[]";
72
72
  if (PropertyTypes.isType(category, PropertyTypes.Map))
73
- result += " Map<string, 1>";
73
+ result += "_Map<string, 1>";
74
74
  if (PropertyTypes.isType(category, PropertyTypes.Dictionary))
75
- result += " {[key: string]: 1 }";
75
+ result += "_{[key: string]: 1 }";
76
76
  result = result.slice(1);
77
- result.replace(/ /g, " | ");
77
+ result = result.replace(/_/g, " | ");
78
78
  return result;
79
79
  }
80
80
  PrintUtils.CategoryVisualModifierAid = CategoryVisualModifierAid;
@@ -164,7 +164,7 @@ export var Utils;
164
164
  cacheable: false,
165
165
  outputTypes: def.type.flatMap((e) => e.type),
166
166
  //TODO: Probably should have a way to override this *shrug*
167
- startType: startType !== null && startType !== void 0 ? startType : Expression.getLatestSetScope(),
167
+ startType: startType ?? Expression.getLatestSetScope(),
168
168
  outputMap: exprMap,
169
169
  outputDict: exprDict,
170
170
  duringLoad: false,
@@ -191,29 +191,47 @@ export var Utils;
191
191
  (function (CompareUtils) {
192
192
  function CompareValWithSerialisedVal(val, serialised, debuginfo) {
193
193
  if (Array.isArray(val)) {
194
- if (!Array.isArray(serialised))
194
+ if (serialised[0] !== "Array" && serialised[0] !== "Array2")
195
195
  return false;
196
- if (val.length !== serialised.length)
196
+ if (!Array.isArray(serialised[1]))
197
197
  return false;
198
- for (let i = 0; i < val.length; i++) {
199
- if (!(i in serialised))
200
- return false;
201
- if (!CompareValWithSerialisedVal(val[i], serialised[i][1], `${debuginfo}[${i}]`))
202
- return false;
198
+ if (val.length !== serialised[1].length)
199
+ return false;
200
+ if (serialised[0] === "Array2") {
201
+ for (let i = 0; i < val.length; i++) {
202
+ if (!Array.isArray(val[i]))
203
+ return false;
204
+ if (!Array.isArray(serialised[1][i]))
205
+ return false;
206
+ for (let ii = 0; ii < val[i].length; ii++) {
207
+ if (!(ii in serialised[1][i]))
208
+ return false;
209
+ if (!CompareValWithSerialisedVal(val[i][ii], serialised[1][i][ii], `${debuginfo}[${i}][${ii}]`))
210
+ return false;
211
+ }
212
+ }
213
+ }
214
+ else {
215
+ for (let i = 0; i < val.length; i++) {
216
+ if (!(i in serialised[1]))
217
+ return false;
218
+ if (!CompareValWithSerialisedVal(val[i], serialised[1][i], `${debuginfo}[${i}]`))
219
+ return false;
220
+ }
203
221
  }
204
222
  return true;
205
223
  }
206
224
  if (val instanceof Map) {
207
225
  for (let [name, value] of val.entries()) {
208
- if (!(name in serialised))
226
+ if (!(name in serialised[1]))
209
227
  return false;
210
- if (!CompareValWithSerialisedVal(value, serialised[name][1], `${debuginfo}.${name}`))
228
+ if (!CompareValWithSerialisedVal(value, serialised[1][name], `${debuginfo}.${name}`))
211
229
  return false;
212
230
  }
213
231
  return true;
214
232
  }
215
233
  if (isPrimitiveValue(val)) {
216
- return val === serialised;
234
+ return val === serialised[1];
217
235
  }
218
236
  //TODO: Should we test expression properly? We're assuming the rawText never gets replicated.
219
237
  if (val instanceof Expression || val instanceof EvaluationChain || val instanceof EvaluationString) {
@@ -222,16 +240,16 @@ export var Utils;
222
240
  if (val instanceof Pointer) {
223
241
  return JSON.stringify(val.ref) === JSON.stringify(serialised);
224
242
  }
225
- if (val instanceof Object) {
243
+ if (val.__proto__ == Object.prototype) {
226
244
  for (let [name, value] of Object.entries(val)) {
227
- if (!(name in serialised))
245
+ if (!(name in serialised[1]))
228
246
  return false;
229
- if (!CompareValWithSerialisedVal(value, serialised[name][1], `${debuginfo}.${name}`))
247
+ if (!CompareValWithSerialisedVal(value, serialised[1][name], `${debuginfo}.${name}`))
230
248
  return false;
231
249
  }
232
250
  return true;
233
251
  }
234
- return CompareRepl(val[TypeSymbol], val, serialised);
252
+ return CompareRepl(val[TypeSymbol], val, serialised[1]);
235
253
  }
236
254
  CompareUtils.CompareValWithSerialisedVal = CompareValWithSerialisedVal;
237
255
  function CompareRepl(type, object, serialised) {
@@ -246,13 +264,11 @@ export var Utils;
246
264
  if (!CompareRepl(subType, object[name].val, serialised[name][1])) {
247
265
  return false;
248
266
  }
249
- }
250
- else if (object[name] instanceof Pointer) {
251
- if (!CompareValWithSerialisedVal(object[name], serialised[name], `${describeObject(object)}.${name}`)) {
252
- return false;
267
+ else {
268
+ continue;
253
269
  }
254
270
  }
255
- else if (!CompareValWithSerialisedVal(object[name], serialised[name][1], `${describeObject(object)}.${name}`)) {
271
+ if (!CompareValWithSerialisedVal(object[name], serialised[name], `${describeObject(object)}.${name}`)) {
256
272
  return false;
257
273
  }
258
274
  }
@@ -285,3 +301,4 @@ export var Utils;
285
301
  CompareUtils.CompareReferences = CompareReferences;
286
302
  })(CompareUtils = Utils.CompareUtils || (Utils.CompareUtils = {}));
287
303
  })(Utils || (Utils = {}));
304
+ //# sourceMappingURL=Utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["Utils.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,9 @@ export declare namespace TestPropertyDecorators {
16
16
  val11?: string;
17
17
  val13: number[][];
18
18
  val14: number;
19
+ val15: {
20
+ [name: string]: TransformersIndexedStruct;
21
+ };
19
22
  }
20
23
  namespace TransformersTheLotClass {
21
24
  function MakeExampleObj(): TransformersTheLotClass;
@@ -23,6 +26,10 @@ export declare namespace TestPropertyDecorators {
23
26
  class TransformersBasicStruct {
24
27
  val: string;
25
28
  }
29
+ class TransformersIndexedStruct {
30
+ index: string;
31
+ val: string;
32
+ }
26
33
  class TransformersBasicClass {
27
34
  val: string;
28
35
  }
@@ -68,6 +75,12 @@ export declare namespace TestPropertyDecorators {
68
75
  };
69
76
  Val11: string;
70
77
  Val13: number[][];
78
+ Val15: {
79
+ "An inner property is a map index": {
80
+ Class: string;
81
+ Val: string;
82
+ };
83
+ };
71
84
  };
72
85
  const TransformersTheLotExpression: {
73
86
  Class: string;
@@ -83,6 +96,12 @@ export declare namespace TestPropertyDecorators {
83
96
  Val10: string;
84
97
  Val11: string;
85
98
  Val13: number[][];
99
+ Val15: {
100
+ "An inner property is a map index": {
101
+ Class: string;
102
+ Val: string;
103
+ };
104
+ };
86
105
  };
87
106
  const TransformersTheLotInnerExpression: {
88
107
  Class: string;
@@ -111,6 +130,12 @@ export declare namespace TestPropertyDecorators {
111
130
  };
112
131
  Val11: string;
113
132
  Val13: number[][];
133
+ Val15: {
134
+ "An inner property is a map index": {
135
+ Class: string;
136
+ Val: string;
137
+ };
138
+ };
114
139
  };
115
140
  const TransformersBasicChildData: {
116
141
  Class: string;
@@ -140,6 +165,12 @@ export declare namespace TestPropertyDecorators {
140
165
  };
141
166
  Val11: string;
142
167
  Val13: number[][];
168
+ Val15: {
169
+ "An inner property is a map index": {
170
+ Class: string;
171
+ Val: string;
172
+ };
173
+ };
143
174
  };
144
175
  const InvalidTransformersTheLotData: {
145
176
  Class: string;
@@ -164,5 +195,10 @@ export declare namespace TestPropertyDecorators {
164
195
  Val12: number;
165
196
  Val13: string;
166
197
  Val14: string;
198
+ Val15: {
199
+ "An inner property is a map index": {
200
+ Class: string;
201
+ };
202
+ };
167
203
  };
168
204
  }
@@ -51,6 +51,9 @@ export var TestPropertyDecorators;
51
51
  __decorate([
52
52
  Property(Versions.v1_0_0, { type: Number }, { computed: true })
53
53
  ], TransformersTheLotClass.prototype, "val14", void 0);
54
+ __decorate([
55
+ Property(Versions.v1_0_0, { type: "TransformersIndexedStruct", dictKey: "index" })
56
+ ], TransformersTheLotClass.prototype, "val15", void 0);
54
57
  TestPropertyDecorators.TransformersTheLotClass = TransformersTheLotClass;
55
58
  (function (TransformersTheLotClass) {
56
59
  let classDef = TransformersTheLotClass;
@@ -86,6 +89,11 @@ export var TestPropertyDecorators;
86
89
  obj.val10 = ptr;
87
90
  obj.val11 = "hello";
88
91
  obj.val13 = [[1, 2]];
92
+ obj.val14 = 10;
93
+ let indexedStruct = new TransformersIndexedStruct();
94
+ indexedStruct.index = "An inner property is a map index";
95
+ indexedStruct.val = "value";
96
+ obj.val15 = { "An inner property is a map index": indexedStruct };
89
97
  return obj;
90
98
  }
91
99
  TransformersTheLotClass.MakeExampleObj = MakeExampleObj;
@@ -100,6 +108,18 @@ export var TestPropertyDecorators;
100
108
  Struct(Versions.v1_0_0)
101
109
  ], TransformersBasicStruct);
102
110
  TestPropertyDecorators.TransformersBasicStruct = TransformersBasicStruct;
111
+ let TransformersIndexedStruct = class TransformersIndexedStruct {
112
+ };
113
+ __decorate([
114
+ Property(Versions.v1_0_0, String)
115
+ ], TransformersIndexedStruct.prototype, "index", void 0);
116
+ __decorate([
117
+ Property(Versions.v1_0_0, String)
118
+ ], TransformersIndexedStruct.prototype, "val", void 0);
119
+ TransformersIndexedStruct = __decorate([
120
+ Struct(Versions.v1_0_0)
121
+ ], TransformersIndexedStruct);
122
+ TestPropertyDecorators.TransformersIndexedStruct = TransformersIndexedStruct;
103
123
  class TransformersBasicClass {
104
124
  }
105
125
  __decorate([
@@ -193,6 +213,10 @@ export var TestPropertyDecorators;
193
213
  Val10: { Class: TestPropertyDecorators.TransformersBasicClass.name, Val: "hi" },
194
214
  Val11: "hello",
195
215
  Val13: [[1, 2]],
216
+ Val15: { "An inner property is a map index": {
217
+ Class: "TransformersIndexedStruct",
218
+ Val: "value"
219
+ } },
196
220
  };
197
221
  TestPropertyDecorators.TransformersTheLotExpression = {
198
222
  Class: TestPropertyDecorators.TransformersTheLotClass.name,
@@ -208,6 +232,10 @@ export var TestPropertyDecorators;
208
232
  Val10: "@{thisEntity.Val10}",
209
233
  Val11: "@{thisEntity.Val11}",
210
234
  Val13: [[1, 2]],
235
+ Val15: { "An inner property is a map index": {
236
+ Class: "TransformersIndexedStruct",
237
+ Val: "value"
238
+ } },
211
239
  };
212
240
  TestPropertyDecorators.TransformersTheLotInnerExpression = {
213
241
  Class: TestPropertyDecorators.TransformersTheLotClass.name,
@@ -224,6 +252,10 @@ export var TestPropertyDecorators;
224
252
  Val10: { Class: TestPropertyDecorators.TransformersBasicClass.name, Val: "@{thisEntity.Val}" },
225
253
  Val11: "@{thisEntity.Val}",
226
254
  Val13: [[1, 2]],
255
+ Val15: { "An inner property is a map index": {
256
+ Class: "TransformersIndexedStruct",
257
+ Val: "value"
258
+ } },
227
259
  };
228
260
  TestPropertyDecorators.TransformersBasicChildData = {
229
261
  Class: TestPropertyDecorators.TransformersBasicChild.name,
@@ -241,6 +273,10 @@ export var TestPropertyDecorators;
241
273
  Val10: { Class: TestPropertyDecorators.TransformersBasicClass.name, Val: "hi" },
242
274
  Val11: "hello",
243
275
  Val13: [[1, 2]],
276
+ Val15: { "An inner property is a map index": {
277
+ Class: "TransformersIndexedStruct",
278
+ Val: "value"
279
+ } },
244
280
  };
245
281
  TestPropertyDecorators.InvalidTransformersTheLotData = {
246
282
  Class: TestPropertyDecorators.TransformersTheLotClass.name,
@@ -258,6 +294,10 @@ export var TestPropertyDecorators;
258
294
  Val12: 3, //removed
259
295
  Val13: "@{thisEntity.Val6}", //expressions not allowed
260
296
  Val14: "hello", //computed
297
+ Val15: { "An inner property is a map index": {
298
+ Class: "TransformersIndexedStruct",
299
+ } },
261
300
  };
262
301
  ReplicableRegistry.triggerLoadCompleteForTests();
263
302
  })(TestPropertyDecorators || (TestPropertyDecorators = {}));
303
+ //# sourceMappingURL=Examples.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Examples.js","sourceRoot":"","sources":["Examples.ts"],"names":[],"mappings":"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"}