@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Replicable.Tracking.Decorator.test.js","sourceRoot":"","sources":["Replicable.Tracking.Decorator.test.ts"],"names":[],"mappings":"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"}
@@ -251,3 +251,4 @@ test("Deserialise Child mixin with parent and child prop", () => {
251
251
  expect(testObject.propTwo).toBe("World");
252
252
  expect(testObject.propThree).toBe("!");
253
253
  });
254
+ //# sourceMappingURL=Replicable.Tracking.Deserialisation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Replicable.Tracking.Deserialisation.test.js","sourceRoot":"","sources":["Replicable.Tracking.Deserialisation.test.ts"],"names":[],"mappings":"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"}
@@ -133,3 +133,4 @@ export interface FinalDefinition extends Omit<BDefinition, "Class">, Omit<CDefin
133
133
  expect(options.open).toBeCalledTimes(1);
134
134
  expect(options.write).toBeCalledTimes(1);
135
135
  });
136
+ //# sourceMappingURL=Replicable.Tracking.MixinSchemaGeneration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Replicable.Tracking.MixinSchemaGeneration.test.js","sourceRoot":"","sources":["Replicable.Tracking.MixinSchemaGeneration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1D,IAAI,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAEhG,QAAQ,CAAC,WAAW,EAAE,CAAC;AACvB,+CAA+C;AAC/C,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAiGzC,QAAQ;gBACf,QAAQ;CACvB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAErB,QAAQ,CAAC,kBAAkB,EAAE,CAAC;AAE9B,IAAI,CAAC,iFAAiF,EAAE,KAAK,IAAG,EAAE;IAC9F,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEtB,IAAI,OAAO,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,KAAK,CAAE,CAAC,CAAC,CAAoB,CAAC;IACnF,MAAM,CACF,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,EAAC,EAAE,CACR,OAAO,CAAC,OAAO;SACV,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACR,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAC1B,CACR,CACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,EAAE,CAAA,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAGvE,MAAM,kBAAkB,CAAC,UAAU,EAAE,CAAC;IAEtC,IAAI,OAAO,GAAG;QACV,IAAI,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QACF,KAAK,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;;aAEtB,CAAC,IAAI,EAAE,CAAC,CAAC;YACV,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;KACL,CAAA;IAED,eAAe,CAAC,yBAAyB,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEpE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC"}
@@ -64,3 +64,4 @@ test("Create @Struct with @Property with constructor.", async () => {
64
64
  let val = Replicable.Create(TestStruct, { data: { Class: TestStruct.name, Prop: "Test" } });
65
65
  expect(val.prop).toBe("Test");
66
66
  });
67
+ //# sourceMappingURL=Replicable.Tracking.Struct.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Replicable.Tracking.Struct.test.js","sourceRoot":"","sources":["Replicable.Tracking.Struct.test.ts"],"names":[],"mappings":";;;;;;AAAA,+DAA+D;AAC/D,OAAO,EAAa,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAmB,MAAM,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1D,IAAI,OAAO,GAAG,SAA4B,CAAC;AAE3C,UAAU,CAAC,GAAE,EAAE;IACX,aAAa,EAAE,CAAC;IAChB,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;IACvC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEvB,IAAM,UAAU,GAAhB,MAAM,UAAU;KAGf,CAAA;IADG;QADC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;4CACZ;IAFZ,UAAU;QADf,MAAM,CAAC,OAAO,CAAC;OACV,UAAU,CAGf;IACD,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAC9B,IAAI,GAAG,GAAG,MAAM,QAAQ,CAAC,kBAAkB,CAAC,UAAU,CAAE,CAAC;IACzD,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,EAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAE,GAAG,CAAC,CAAC,CAAsB,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAChH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;IAC9C,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEvB,IAAM,UAAU,GAAhB,MAAM,UAAU;KAGf,CAAA;IADG;QADC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;4CACZ;IAFZ,UAAU;QADf,MAAM,CAAC,OAAO,CAAC;OACV,UAAU,CAGf;IACD,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAE9B,MAAM,kBAAkB,CAAC,UAAU,EAAE,CAAC;IAEtC,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,EAAC,CAAC,CAAC;IACxF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;IAC/D,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEvB,IAAM,UAAU,GAAhB,MAAM,UAAU;QAIZ;QACA,CAAC;KACJ,CAAA;IAJG;QADC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;4CACZ;IAFZ,UAAU;QADf,MAAM,CAAC,OAAO,CAAC;OACV,UAAU,CAMf;IACD,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAG9B,MAAM,kBAAkB,CAAC,UAAU,EAAE,CAAC;IAEtC,IAAI,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAC,IAAI,EAAE,EAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,EAAC,CAAC,CAAC;IACxF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}
@@ -65,3 +65,4 @@ test("@Type with @Property.", async () => {
65
65
  let def = (await Progress.AwaitReplicableFor(TestType))[0];
66
66
  expect([...Object.values(def.finalised_properties.get(version))]).toHaveLength(1);
67
67
  });
68
+ //# sourceMappingURL=Replicable.Tracking.Type.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Replicable.Tracking.Type.test.js","sourceRoot":"","sources":["Replicable.Tracking.Type.test.ts"],"names":[],"mappings":";;;;;;AAAA,+DAA+D;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAmB,IAAI,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1D,8DAA8D;AAC9D,uGAAuG;AAEvG,IAAI,OAAO,GAAG,SAA4B,CAAC;AAC3C,IAAI,sBAAsB,GACpB,IAAI,CAAC;AAEX,UAAU,CAAC,GAAE,EAAE;IACX,aAAa,EAAE,CAAC;IAChB,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAG,EAAE;IACrB,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEvB,IAAM,SAAS,GAAf,MAAM,SAAS;KAAG,CAAA;IAAZ,SAAS;QADd,sBAAsB,CAAC,OAAO,CAAC;OAC1B,SAAS,CAAG;IAElB,IAAI,QAAQ,GAAc,SAA6B,CAAC;IAGxD,QAAQ,CAAC,SAAS,GAAG,UAAS,KAAiB;QAC3C,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC,CAAA;IACD,QAAQ,CAAC,WAAW,GAAG,UAAS,KAAY;QACxC,OAAO,IAAkB,CAAC;IAC9B,CAAC,CAAA;IACD,gEAAgE;IAChE,wCAAwC;IACxC,IAAI;IACJ,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAE9B,IAAI,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC,CAAoB,CAAC;IAC/E,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAChC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAGH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAG,EAAE;IACpC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEvB,IAAM,SAAS,GAAf,MAAM,SAAS;KAGd,CAAA;IADG;QADC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;2CACZ;IAFZ,SAAS;QADd,sBAAsB,CAAC,OAAO,CAAC;OAC1B,SAAS,CAGd;IAED,IAAI,QAAQ,GAAc,SAA6B,CAAC;IAGxD,QAAQ,CAAC,SAAS,GAAG,UAAS,KAAiB;QAC3C,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC,CAAA;IACD,QAAQ,CAAC,WAAW,GAAG,UAAS,KAAY;QACxC,OAAO,EAAgB,CAAC;IAC5B,CAAC,CAAA;IACD,gEAAgE;IAChE,wCAAwC;IACxC,IAAI;IACJ,UAAU,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAE3C,IAAI,GAAG,GAAG,CAAC,MAAM,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC,CAAoB,CAAC;IAC/E,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { Versions } from "../Constants/Versions.js";
2
2
  import { PropertyLoadingTypeInfo, PropertySerialiseTypeInfo } from "../Tracking/Property.js";
3
- import { PropertyTypes } from "../Constants/SerialisationTypes.js";
3
+ import { Primitive, PropertyTypes } from "../Constants/SerialisationTypes.js";
4
4
  import { ExpressionConfiguration } from "../Expressions/EvaluatorSteps.js";
5
+ import { Expression } from "../Expressions/Expression.js";
5
6
  import { FunctionConfiguration, PropertyDefinition, PropertyDoesntExist, PropertyRemoved, ReplicableClass } from "../Tracking/Class.js";
6
7
  /**
7
8
  * Handles the setup of the replicable class based on the configuration provided via the source code's decorators.
@@ -24,6 +25,19 @@ export declare namespace Configurer {
24
25
  function CacheOwnProperties(repl: ReplicableClass, propDefs: PartialPropDefs, fooDefs: PartialFooDefs): void;
25
26
  function PropagatePropertyCacheForwardInVersions(repl: ReplicableClass, propDefs: PartialPropDefs, fooDefs: PartialFooDefs, computedPropDefs: PropDefs, computedFooDefs: FooDefs): void;
26
27
  function PropagateMissingPropertiesBackwardInVersions(repl: ReplicableClass, computedPropDefs: PropDefs, computedFooDefs: FooDefs): void;
28
+ /**
29
+ * Allow for the key to be a property of the child value, that will be injected into the child value's
30
+ * data object at the time of loading.
31
+ *
32
+ * Allows us to do things like:
33
+ * books: {
34
+ * "title": {
35
+ * ///Book info.
36
+ * }
37
+ * }
38
+ * And the "title" will be injected into the Book info using the provided property name.
39
+ */
40
+ function ComputeKeyInheritedFromProperty(key: StringConstructor | NumberConstructor | typeof Expression | string | (StringConstructor | NumberConstructor | typeof Expression)[], prop: PropertyDefinition, propType: string | (ReplicableClass | Primitive)[], configFor: "serialised" | "definition"): readonly [string | NumberConstructor | StringConstructor | typeof Expression | (NumberConstructor | StringConstructor | typeof Expression)[], string | undefined];
27
41
  function ComputePropertyDefinitionConfiguration(prop: PropertyDefinition): readonly [PropertyLoadingTypeInfo[], PropertyTypes, boolean];
28
42
  function ComputePropertySerialisedConfiguration(prop: PropertyDefinition, loadPresence: boolean | "optional", propAllowsUndefined: boolean): readonly [PropertySerialiseTypeInfo[], PropertyTypes, boolean];
29
43
  function ComputePropertyExpressionConfiguration(repl: ReplicableClass, prop: PropertyDefinition, loadModifiers: PropertyTypes, loadTypes: PropertyLoadingTypeInfo[]): readonly [{
@@ -1,5 +1,5 @@
1
1
  import { GetAllVersions } from "../Constants/Versions.js";
2
- import { generateDataName, GetTypeName, isPrimitiveType, primitiveTypeName, PropertyTypes } from "../Constants/SerialisationTypes.js";
2
+ import { describeObject, generateDataName, GetTypeName, isPrimitiveType, primitiveTypeName, PropertyTypes, } from "../Constants/SerialisationTypes.js";
3
3
  import { ReplicableRegistry } from "../Constants/ReplicableRegistry.js";
4
4
  import { Utils } from "./Utils.js";
5
5
  import { Expression } from "../Expressions/Expression.js";
@@ -11,7 +11,6 @@ import { ReplicableClass } from "../Tracking/Class.js";
11
11
  export var Configurer;
12
12
  (function (Configurer) {
13
13
  function RecursivelyCacheParentProperties(source, current, propDefs, fooDefs) {
14
- var _a, _b;
15
14
  let versions = GetAllVersions();
16
15
  for (let parent of current.parents) {
17
16
  // For each parent we need to add all of their properties to our own.
@@ -19,7 +18,7 @@ export var Configurer;
19
18
  // Then iterate through our own properties and override the existing ones with our own.
20
19
  for (let version of versions) {
21
20
  let props = parent.properties.all(version);
22
- let newProps = (_a = propDefs.get(version)) !== null && _a !== void 0 ? _a : {};
21
+ let newProps = propDefs.get(version) ?? {};
23
22
  for (let [property, def] of Object.entries(props)) {
24
23
  if (!source.finalised_propertyNames.includes(property)) {
25
24
  source.finalised_propertyNames.push(property);
@@ -28,7 +27,7 @@ export var Configurer;
28
27
  }
29
28
  propDefs.set(version, newProps);
30
29
  let foos = parent.functions.all(version);
31
- let newFoos = (_b = fooDefs.get(version)) !== null && _b !== void 0 ? _b : {};
30
+ let newFoos = fooDefs.get(version) ?? {};
32
31
  for (let [foo, def] of Object.entries(foos)) {
33
32
  if (!source.finalised_functionNames.includes(foo)) {
34
33
  source.finalised_functionNames.push(foo);
@@ -41,11 +40,10 @@ export var Configurer;
41
40
  }
42
41
  Configurer.RecursivelyCacheParentProperties = RecursivelyCacheParentProperties;
43
42
  function CacheOwnProperties(repl, propDefs, fooDefs) {
44
- var _a, _b;
45
43
  let versions = GetAllVersions();
46
44
  for (let version of versions) {
47
45
  let props = repl.properties.all(version);
48
- let new_props = (_a = propDefs.get(version)) !== null && _a !== void 0 ? _a : {};
46
+ let new_props = propDefs.get(version) ?? {};
49
47
  for (let [property, def] of Object.entries(props)) {
50
48
  if (!repl.finalised_propertyNames.includes(property)) {
51
49
  repl.finalised_propertyNames.push(property);
@@ -57,7 +55,7 @@ export var Configurer;
57
55
  }
58
56
  propDefs.set(version, new_props);
59
57
  let foos = repl.functions.all(version);
60
- let new_foos = (_b = fooDefs.get(version)) !== null && _b !== void 0 ? _b : {};
58
+ let new_foos = fooDefs.get(version) ?? {};
61
59
  for (let [foo, def] of Object.entries(foos)) {
62
60
  if (!repl.finalised_functionNames.includes(foo)) {
63
61
  repl.finalised_functionNames.push(foo);
@@ -146,7 +144,7 @@ export var Configurer;
146
144
  prop = props[name] = carriedProps[name];
147
145
  }
148
146
  if (carriedPropNames[prop.dataName]) {
149
- prop = props[name] = Object.assign(Object.assign({}, prop), { property: carriedPropNames[prop.dataName] });
147
+ prop = props[name] = { ...prop, property: carriedPropNames[prop.dataName] };
150
148
  }
151
149
  if ("removed" in prop) {
152
150
  carriedProps[name] = prop;
@@ -166,7 +164,7 @@ export var Configurer;
166
164
  foo = foos[name] = carriedProps[name];
167
165
  }
168
166
  if (carriedFooNames[foo.dataName]) {
169
- foo = foos[name] = Object.assign(Object.assign({}, foo), { property: carriedFooNames[foo.dataName] });
167
+ foo = foos[name] = { ...foo, property: carriedFooNames[foo.dataName] };
170
168
  }
171
169
  if ("removed" in foo) {
172
170
  carriedFoos[name] = foo;
@@ -188,7 +186,8 @@ export var Configurer;
188
186
  modifiers |= PropertyTypes.Array;
189
187
  }
190
188
  else if ("mapKey" in typeDef) {
191
- modifiers |= PropertyTypes.Map;
189
+ //Maps can be loaded from maps or dictionaries.
190
+ modifiers |= PropertyTypes.Map | PropertyTypes.Dictionary;
192
191
  key = typeDef.mapKey;
193
192
  }
194
193
  else if ("dictKey" in typeDef) {
@@ -243,12 +242,90 @@ export var Configurer;
243
242
  }
244
243
  return [modifiers, key];
245
244
  }
245
+ /**
246
+ * Allow for the key to be a property of the child value, that will be injected into the child value's
247
+ * data object at the time of loading.
248
+ *
249
+ * Allows us to do things like:
250
+ * books: {
251
+ * "title": {
252
+ * ///Book info.
253
+ * }
254
+ * }
255
+ * And the "title" will be injected into the Book info using the provided property name.
256
+ */
257
+ function ComputeKeyInheritedFromProperty(key, prop, propType, configFor) {
258
+ let loadKeyAsPropOnData = undefined;
259
+ if (typeof key === "string") {
260
+ let propName = key;
261
+ if (typeof propType === "string") {
262
+ throw new Error(`Can't use an index lookup into a property that doesn't have a replicable type.`);
263
+ }
264
+ //Load the child type, find the property with the same name as the key and use that
265
+ // property's types (also check that it's valid).
266
+ for (let type of propType) {
267
+ if (!(type instanceof ReplicableClass)) {
268
+ throw new Error(`Can't use an index lookup into a property on a primitive type.`);
269
+ }
270
+ if (!type.cache_finished) {
271
+ CacheClassProperties(type);
272
+ }
273
+ let propDef = type.getPropDefinition(prop.version, propName);
274
+ if ("doesntExist" in propDef || "removed" in propDef) {
275
+ throw new Error(`Can't use an index lookup into a property that doesn't exist: Cannot find ${describeObject(type)}.${propDef.property}. Did you accidentally use the data name instead of the code name for the property?`);
276
+ }
277
+ if (configFor === "definition") {
278
+ //Set the name.
279
+ if (!loadKeyAsPropOnData) {
280
+ loadKeyAsPropOnData = propDef.load.name;
281
+ }
282
+ else if (loadKeyAsPropOnData !== propDef.load.name) {
283
+ throw new Error(`Can't use an index lookup if the property has different data names (property ${key} is sometimes ${loadKeyAsPropOnData} and sometimes ${propDef.load.name}).`);
284
+ }
285
+ }
286
+ //Set the key type and ensure that the property's types for all values resolve to the same type.
287
+ if (propDef) {
288
+ let newKeyType = propDef.load.types;
289
+ if ("mapKey" in newKeyType || "dictKey" in newKeyType || "array" in newKeyType) {
290
+ throw new Error(`Can't use an index lookup if the property is a map, array or dict.`);
291
+ }
292
+ let resultNewTypes = [];
293
+ for (let newTypeInfo of newKeyType) {
294
+ if (!Array.isArray(newTypeInfo.types)) {
295
+ throw new Error(`Can't use an index lookup if the property is not a String or Number type.`);
296
+ }
297
+ for (let newType of newTypeInfo.types) {
298
+ if (newType != String && newType != Number) {
299
+ throw new Error(`Can't use an index lookup if the property is not a String or Number type.`);
300
+ }
301
+ resultNewTypes.push(newType);
302
+ }
303
+ }
304
+ resultNewTypes.sort((a, b) => describeObject(a) < describeObject(b) ? -1 : 1);
305
+ if (typeof key === "string") {
306
+ key = resultNewTypes;
307
+ }
308
+ else {
309
+ if (key.length != resultNewTypes.length) {
310
+ 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.`);
311
+ }
312
+ for (let i = 0; i < key.length; i++) {
313
+ if (key[i] != resultNewTypes[i]) {
314
+ 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.`);
315
+ }
316
+ }
317
+ }
318
+ }
319
+ }
320
+ }
321
+ return [key, loadKeyAsPropOnData];
322
+ }
323
+ Configurer.ComputeKeyInheritedFromProperty = ComputeKeyInheritedFromProperty;
246
324
  function ComputePropertyDefinitionConfiguration(prop) {
247
- var _a;
248
325
  let loadTypes = [];
249
326
  let loadModifiers = PropertyTypes.AsIs;
250
327
  let propAllowsUndefined = false;
251
- let dataTypes = (_a = prop.customDataType) !== null && _a !== void 0 ? _a : prop.type;
328
+ let dataTypes = prop.customDataType ?? prop.type;
252
329
  for (let i = 0; i < dataTypes.length; i++) {
253
330
  let typeDef = dataTypes[i];
254
331
  let [modifiers, key] = ComputeDefinitionModifiers(prop, typeDef);
@@ -273,7 +350,16 @@ export var Configurer;
273
350
  let namesForValues = (Array.isArray(result)
274
351
  ? result.map((e) => e instanceof ReplicableClass
275
352
  ? e.opts.dataTypeName : primitiveTypeName(e)) : [result]).sort();
276
- loadTypes.push(Object.assign(Object.assign({ types: result, sortIndex: namesForValues.join(", "), modifiers }, (key ? { keyType: Array.isArray(key) ? key : [key] } : {})), ("restrictedTo" in typeDef ? { restrictedTo: typeDef.restrictedTo } : {})));
353
+ let loadKeyAsPropOnData;
354
+ [key, loadKeyAsPropOnData] = ComputeKeyInheritedFromProperty(key, prop, result, "definition");
355
+ loadTypes.push({
356
+ types: result,
357
+ sortIndex: namesForValues.join(", "),
358
+ modifiers,
359
+ ...(loadKeyAsPropOnData ? { loadKeyAsPropOnData } : {}),
360
+ ...(key ? { keyType: Array.isArray(key) ? key : [key] } : {}),
361
+ ...("restrictedTo" in typeDef ? { restrictedTo: typeDef.restrictedTo } : {})
362
+ });
277
363
  }
278
364
  return [loadTypes, loadModifiers, propAllowsUndefined];
279
365
  }
@@ -307,7 +393,15 @@ export var Configurer;
307
393
  });
308
394
  let namesForValues = (result.map((e) => e instanceof ReplicableClass
309
395
  ? e.opts.dataTypeName : primitiveTypeName(e))).sort();
310
- serTypes.push(Object.assign(Object.assign({ types: result, sortIndex: namesForValues.join(", "), modifiers }, (key ? { keyType: Array.isArray(key) ? key : [key] } : {})), ("restrictedTo" in typeDef ? { restrictedTo: typeDef.restrictedTo } : {})));
396
+ let loadKeyAsPropOnData;
397
+ [key, loadKeyAsPropOnData] = ComputeKeyInheritedFromProperty(key, prop, result, "serialised");
398
+ serTypes.push({
399
+ types: result,
400
+ sortIndex: namesForValues.join(", "),
401
+ modifiers,
402
+ ...(key ? { keyType: Array.isArray(key) ? key : [key] } : {}),
403
+ ...("restrictedTo" in typeDef ? { restrictedTo: typeDef.restrictedTo } : {})
404
+ });
311
405
  }
312
406
  return [serTypes, serModifiers, propAllowsUndefined];
313
407
  }
@@ -322,15 +416,20 @@ export var Configurer;
322
416
  let conf3 = {};
323
417
  for (let version of GetAllVersions()) {
324
418
  conf[version] = Utils.ExpressionUtils.MakePropExpressionConfig(version, prop, repl.classConstructor);
325
- conf2[version] = Object.assign({}, conf[version]);
419
+ conf2[version] = {
420
+ ...conf[version]
421
+ };
326
422
  conf2[version].outputMap = false;
327
423
  conf2[version].outputArray = 0;
328
424
  conf2[version].outputDict = false;
329
- conf3[version] = Object.assign(Object.assign({}, conf2[version]), { outputTypes: ["any"] });
425
+ conf3[version] = {
426
+ ...conf2[version],
427
+ outputTypes: ["any"]
428
+ };
330
429
  }
331
430
  exprPropertyConf = conf;
332
431
  exprValueConf = conf2;
333
- if (PropertyTypes.isType(loadModifiers, PropertyTypes.Map) && loadTypes.some((e) => { var _a; return (_a = e.keyType) === null || _a === void 0 ? void 0 : _a.includes(Expression); })) {
432
+ if (PropertyTypes.isType(loadModifiers, PropertyTypes.Map) && loadTypes.some((e) => e.keyType?.includes(Expression))) {
334
433
  exprKeyConf = conf3;
335
434
  }
336
435
  }
@@ -338,7 +437,6 @@ export var Configurer;
338
437
  }
339
438
  Configurer.ComputePropertyExpressionConfiguration = ComputePropertyExpressionConfiguration;
340
439
  function ComputePropertyConfigurationsInVersion(repl, version, computedPropDefs) {
341
- var _a;
342
440
  let props = computedPropDefs.get(version);
343
441
  let finalisedProps = {};
344
442
  repl.finalised_properties.set(version, finalisedProps);
@@ -352,9 +450,9 @@ export var Configurer;
352
450
  }
353
451
  let loadPresence = prop.optional || ("default" in prop) || propAllowsUndefined ? "optional" : prop.computed == "manualLoad" ? true : !prop.computed;
354
452
  let [loadTypes, loadModifiers, defAllowsUndefined] = ComputePropertyDefinitionConfiguration(prop);
355
- propAllowsUndefined || (propAllowsUndefined = defAllowsUndefined);
453
+ propAllowsUndefined ||= defAllowsUndefined;
356
454
  let [serTypes, serModifiers, serAllowsUndefined] = ComputePropertySerialisedConfiguration(prop, loadPresence, propAllowsUndefined);
357
- propAllowsUndefined || (propAllowsUndefined = serAllowsUndefined);
455
+ propAllowsUndefined ||= serAllowsUndefined;
358
456
  let [exprPropertyConf, exprValueConf, exprKeyConf] = ComputePropertyExpressionConfiguration(repl, prop, loadModifiers, loadTypes);
359
457
  let def = finalisedProps[name] = {
360
458
  name: name,
@@ -362,7 +460,7 @@ export var Configurer;
362
460
  //If property is computed, if it has a default value it's actually optional.
363
461
  present: loadPresence,
364
462
  skipLoad: prop.computed == "manualLoad",
365
- name: (_a = prop.dataName) !== null && _a !== void 0 ? _a : generateDataName(name),
463
+ name: prop.dataName ?? generateDataName(name),
366
464
  default: prop.default,
367
465
  possibleModifiers: loadModifiers,
368
466
  types: loadTypes.sort((a, b) => a.sortIndex > b.sortIndex ? 1 : -1)
@@ -396,6 +494,16 @@ export var Configurer;
396
494
  }
397
495
  Configurer.ComputeFunctionExpressionConfiguration = ComputeFunctionExpressionConfiguration;
398
496
  function CacheClassProperties(repl) {
497
+ if (repl.cache_finished) {
498
+ return;
499
+ }
500
+ repl.cache_finished = true;
501
+ //Do parents first!
502
+ for (let parent of repl.parents) {
503
+ if (!parent.cache_finished) {
504
+ CacheClassProperties(parent);
505
+ }
506
+ }
399
507
  let propDefs = new Map();
400
508
  let fooDefs = new Map();
401
509
  // Grab all the properties from the parents and create a flat map for them.
@@ -413,3 +521,4 @@ export var Configurer;
413
521
  }
414
522
  Configurer.CacheClassProperties = CacheClassProperties;
415
523
  })(Configurer || (Configurer = {}));
524
+ //# sourceMappingURL=Configurer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Configurer.js","sourceRoot":"","sources":["Configurer.ts"],"names":[],"mappings":"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"}
@@ -42,3 +42,4 @@ export var Constructor;
42
42
  }
43
43
  Constructor.Construct = Construct;
44
44
  })(Constructor || (Constructor = {}));
45
+ //# sourceMappingURL=Constructor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Constructor.js","sourceRoot":"","sources":["Constructor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKpE,IAAI,WAA0C,CAAC;AAC/C,IAAI,YAAwC,CAAC;AAC7C,IAAI,wBAAgE,CAAC;AAErE,MAAM,KAAQ,yBAAyB,CAYtC;AAZD,WAAc,yBAAyB;IACnC,SAAgB,oBAAoB,CAAC,YAA2C;QAC5E,WAAW,GAAG,YAAY,CAAA;IAC9B,CAAC;IAFe,8CAAoB,uBAEnC,CAAA;IAED,SAAgB,mBAAmB,CAAC,WAAuC;QACvE,YAAY,GAAG,WAAW,CAAA;IAC9B,CAAC;IAFe,6CAAmB,sBAElC,CAAA;IAED,SAAgB,0BAA0B,CAAC,SAAiD;QACxF,wBAAwB,GAAG,SAAS,CAAA;IACxC,CAAC;IAFe,oDAA0B,6BAEzC,CAAA;AACL,CAAC,EAZa,yBAAyB,KAAzB,yBAAyB,QAYtC;AAGD,MAAM,KAAQ,WAAW,CAwBxB;AAxBD,WAAc,WAAW;IAGrB,SAAgB,SAAS,CAAC,IAAqB,EAAE,MAAiB,EAAE,KAAW,EAAE,IAAU;QACvF,IAAI,MAAW,CAAC;QAChB,IAAI,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;aACI,IAAI,WAAW,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,kBAAkB,QAAQ,cAAc,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,kBAAkB,4CAA4C,CAAC,CAAC;QACvL,CAAC;aACI,CAAC;YACF,MAAM,GAAG,IAAK,IAAI,CAAC,gBAAwB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChF,OAAO,WAAW,CAAC,MAAM,EAAE,IAAW,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IApBe,qBAAS,YAoBxB,CAAA;AACL,CAAC,EAxBa,WAAW,KAAX,WAAW,QAwBxB"}
@@ -44,7 +44,7 @@ export declare namespace Definitions {
44
44
  * @param def The property definition to get the values for.
45
45
  * @param val The value to get the values from.
46
46
  */
47
- function GetPropValuesFromData(def: PropertyConfiguration, val: any): [any[], PropertyTypes];
47
+ function GetPropValuesFromData(ownerName: string, def: PropertyConfiguration, val: any, errors: ErrorStack): [[any, index?: string | number][] | null, PropertyTypes];
48
48
  /**
49
49
  * ASSUMES INPUTS ARE CORRECT - DOES NOT CHECK FOR ERRORS.
50
50
  * Runs a function on every value, setting the value to the results of the function.
@@ -52,7 +52,7 @@ export declare namespace Definitions {
52
52
  * @param val The value to get the values from.
53
53
  * @param cb The function to run on every value.
54
54
  */
55
- function MapEveryPropValue(def: PropertyConfiguration, val: any, cb: (val: any) => any): any;
55
+ function MapEveryPropValue(def: PropertyConfiguration, val: any, cb: (val: any, index?: any) => any): any;
56
56
  /**
57
57
  * Check if the given value is assignable to the given class.
58
58
  * @param type The type to check against.
@@ -80,7 +80,7 @@ export declare namespace Definitions {
80
80
  * @param errorStack The error stack to add errors to.
81
81
  * @param skipCustomOverride If true, will skip the class' "DataIsType" function and use the default checks instead.
82
82
  */
83
- function IsLoadableDataForRepl(type: ReplicableClass, val: any, version: Versions | string, errorStack: ErrorStack, skipCustomOverride?: boolean): any;
83
+ function IsLoadableDataForRepl(type: ReplicableClass, val: any, version: Versions | string, errorStack: ErrorStack, skipCustomOverride?: boolean): boolean;
84
84
  /**
85
85
  * Check if the given value is loadable for the given type.
86
86
  * @param type The repl class or primitive type to check against.