@bikky/replication 1.0.13 → 1.0.14

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ import { Messenger } from "@bikky/networking/Main.js";
2
+ import { isPrimitiveValue } from "./SerialisationTypes.js";
3
+ import { CustomReplicableType } from "../Tracking/Class.js";
4
+ import { Versions } from "./Versions.js";
5
+ import { ReplicableRegistry } from "./ReplicableRegistry.js";
6
+ import { ValidExpressionTypes } from "../Expressions/TypeRegistry/Registry.js";
7
+ import { Referencer } from "../Transformers/Reference.js";
8
+ Messenger.SetSerialisationFunction((data) => {
9
+ if (Referencer.CanReference(data) && !isPrimitiveValue(data)) {
10
+ return Referencer.Reference(data);
11
+ }
12
+ return ["Plain", data];
13
+ });
14
+ Messenger.SetDeserialisationFunction((data) => {
15
+ if (Array.isArray(data) && data[0] === "Plain") {
16
+ return data[1];
17
+ }
18
+ if (Referencer.IsReference(data)) {
19
+ return Referencer.Dereference(data);
20
+ }
21
+ return data;
22
+ });
23
+ let UUIDPrototype = { __proto__: String.prototype };
24
+ CustomReplicableType(Versions.v1_0_0, {
25
+ name: "UUID",
26
+ Create(config) {
27
+ config.data.__proto__ = UUIDPrototype;
28
+ return config.data;
29
+ },
30
+ DefinitionType: "IDPool.UUID",
31
+ DefinitionIncludes: [[["IDPool"], "./IDPool.js"]],
32
+ DataIsType(val) {
33
+ return Messenger.ReplicatedIDs.IsUUID(val);
34
+ },
35
+ Reference(value) {
36
+ return [value];
37
+ },
38
+ Dereference(value) {
39
+ return value[0];
40
+ },
41
+ prototype: UUIDPrototype
42
+ }, {
43
+ dataTypeName: "UUID",
44
+ typescriptTypeName: "UUID"
45
+ });
46
+ ReplicableRegistry.RegisterTypeAlias(Messenger.ReplicatedIDs.UUID, "UUID");
47
+ ValidExpressionTypes.AddAliasForType(Messenger.ReplicatedIDs.UUID, "UUID");
48
+ //# sourceMappingURL=SetupNetworking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupNetworking.js","sourceRoot":"","sources":["SetupNetworking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D,SAAS,CAAC,wBAAwB,CAAC,CAAC,IAAI,EAAC,EAAE;IAC1C,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AACH,SAAS,CAAC,0BAA0B,CAAC,CAAC,IAAI,EAAC,EAAE;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC,CAAC;AAEH,IAAI,aAAa,GAAG,EAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAC,CAAC;AAClD,oBAAoB,CAAC,QAAQ,CAAC,MAAM,EAAE;IACrC,IAAI,EAAE,MAAM;IACZ,MAAM,CAAC,MAAuD;QAC5D,MAAM,CAAC,IAAY,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/C,OAAO,MAAM,CAAC,IAAW,CAAC;IAC3B,CAAC;IACD,cAAc,EAAE,aAAa;IAC7B,kBAAkB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;IACjD,UAAU,CAAE,GAAQ;QACnB,OAAO,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3C,CAAC;IACD,SAAS,CAAC,KAAU;QACnB,OAAO,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC;IACD,WAAW,CAAC,KAAY;QACvB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,SAAS,EAAE,aAAa;CACxB,EAAE;IACF,YAAY,EAAE,MAAM;IACpB,kBAAkB,EAAE,MAAM;CAC1B,CAAC,CAAC;AACH,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,IAAW,EAAE,MAAM,CAAC,CAAC;AAClF,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC"}
package/Replicatable.d.ts CHANGED
@@ -6,6 +6,7 @@ import { Definitions } from "./Transformers/Definitions.js";
6
6
  import { Referencer } from "./Transformers/Reference.js";
7
7
  import { Utils } from "./Transformers/Utils.js";
8
8
  import { Serialiser } from "./Transformers/Serialiser.js";
9
+ import "./Constants/SetupNetworking.js";
9
10
  export declare namespace Replicable {
10
11
  /**
11
12
  * Can be used to create a new instance of a replicable class, even from serialised data.
package/Replicatable.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { BikPath } from "@bikky/path";
2
2
  import { ReplicableRegistry } from "./Constants/ReplicableRegistry.js";
3
- import { getClassOfObject as GetClassOfObjectInternal, TypeSymbol, isPrimitiveType, describeObject } from "./Constants/SerialisationTypes.js";
3
+ import { getClassOfObject as GetClassOfObjectInternal, TypeSymbol, isPrimitiveType, describeObject, } from "./Constants/SerialisationTypes.js";
4
4
  import { Versions } from "./Constants/Versions.js";
5
5
  import { Expression } from "./Expressions/Expression.js";
6
6
  import { ReplicableClass } from "./Tracking/Class.js";
@@ -14,6 +14,7 @@ import { Constructor } from "./Transformers/Constructor.js";
14
14
  import { __ReplTypeHelperFunctions } from "./Expressions/TypeRegistry/ReplAPI.js";
15
15
  import { Progress } from "./Transformers/Progress.js";
16
16
  import { Configurer } from "./Transformers/Configurer.js";
17
+ import "./Constants/SetupNetworking.js";
17
18
  export var Replicable;
18
19
  (function (Replicable) {
19
20
  Referencer.SetDataNameLookupFunction(ReplicableRegistry.__GetReplicableForDataName);
@@ -1 +1 @@
1
- {"version":3,"file":"Replicatable.js","sourceRoot":"","sources":["Replicatable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Replicatable.js","sourceRoot":"","sources":["Replicatable.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import { Versions } from "../Constants/Versions.js";
2
2
  import { ReplicableClassConstructor } from "./Types.js";
3
- import { IDPool } from "../IDPool.js";
4
- import UUID = IDPool.UUID;
5
3
  import { Primitive, PropertyTypes } from "../Constants/SerialisationTypes.js";
6
4
  import { ReplicableClass } from "./Class.js";
7
5
  import { Expression } from "../Expressions/Expression.js";
8
6
  import { ExpressionConfiguration } from "../Expressions/EvaluatorSteps.js";
7
+ import { Messenger } from "@bikky/networking/Main.js";
9
8
  export type ComplexPropertyType = {
10
9
  type: (string | any)[];
11
10
  reference?: boolean;
@@ -38,7 +37,7 @@ export interface PropertyOptions {
38
37
  default?: any;
39
38
  dataName?: string;
40
39
  id?: "Live" | "Data" | true;
41
- customDataType?: ReplicableClassConstructor | UUID | string | (string | any)[] | ComplexPropertyType | ComplexPropertyType[];
40
+ customDataType?: ReplicableClassConstructor | Messenger.ReplicatedIDs.UUID | string | (string | any)[] | ComplexPropertyType | ComplexPropertyType[];
42
41
  }
43
42
  export interface PropertyLoadingTypeInfo {
44
43
  types: (ReplicableClass | Primitive)[] | string;
@@ -1 +1 @@
1
- {"version":3,"file":"Property.js","sourceRoot":"","sources":["Property.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAA4B,MAAM,oCAAoC,CAAC;AAE/F,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAiGvD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,GAAQ;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,GAAG,GAAG,CAAC,EAAC,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;YACvC,CAAC;iBACI,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,gBAAgB;IAChB,IAAI,KAAK,GAAI,GAAc,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,OAAO,GAAwB;QAC/B,IAAI,EAAE,EAAE;KACX,CAAC;IACF,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;QACjC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;SACI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC;QACpC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,SAAwC,CAAC;QAC7C,QAAO,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,SAAS,GAAG,MAAM,CAAC;gBACnB,MAAM;YACV,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,SAAS,GAAG,MAAM,CAAC;gBACnB,MAAM;YACV,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,GAAG,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;QACD,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC;QAC3C,KAAK,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5C,QAAO,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzB,MAAM;YACV,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAChB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,MAAM;YACV,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACpB,MAAM;YACV,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,cAAc,CAAC,CAAC;YACrE,CAAC;QACL,CAAC;QACD,KAAK,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,OAAO,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAID,MAAM,UAAU,QAAQ,CAAC,OAAiB,EAAE,IAAS,EAAE,OAAyB;IAC5E,IAAI,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,cAAc,GAAG,SAAS,CAAC;IAC/B,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QACpC,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;IACD,OAAQ,CAAC,MAAW,EAAE,QAA2B,EAAE,EAAE;QACjD,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7F,mGAAmG;QACnG,iHAAiH;QACjH,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,aAAa,IAAI,MAAM;YAAE,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QACrF,IAAI,QAAQ,GAA4B;YACpC,GAAG,OAA2C;YAC9C,IAAI,EAAE,QAAQ;SACjB,CAAA;QACD,IAAI,cAAc;YAAE,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;QAC7D,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrE,OAAO;YACH,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;SACY,CAAC;IACnC,CAAC,CAAC;AACN,CAAC;AAGD,WAAc,QAAQ;IAClB,SAAgB,MAAM,CAAC,OAAiB,EAAE,IAAsD;QAC5F,OAAO,CAAC,MAAW,EAAE,QAA2B,EAAE,EAAE;YAChD,QAAQ,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAQ,CAAC,CAAC;YAC1E,OAAO;gBACH,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;aACY,CAAC;QACnC,CAAC,CAAC;IACN,CAAC;IATe,eAAM,SASrB,CAAA;AACL,CAAC,EAXa,QAAQ,KAAR,QAAQ,QAWrB"}
1
+ {"version":3,"file":"Property.js","sourceRoot":"","sources":["Property.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAA4B,MAAM,oCAAoC,CAAC;AAE/F,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAkGvD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,GAAQ;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,GAAG,GAAG,CAAC,EAAC,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;YACvC,CAAC;iBACI,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,gBAAgB;IAChB,IAAI,KAAK,GAAI,GAAc,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,OAAO,GAAwB;QAC/B,IAAI,EAAE,EAAE;KACX,CAAC;IACF,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC;QACjC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;SACI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC;QACpC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,SAAwC,CAAC;QAC7C,QAAO,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,SAAS,GAAG,MAAM,CAAC;gBACnB,MAAM;YACV,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,SAAS,GAAG,MAAM,CAAC;gBACnB,MAAM;YACV,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,GAAG,CAAC,CAAC;YAC5D,CAAC;QACL,CAAC;QACD,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC;QAC3C,KAAK,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC5C,QAAO,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzB,MAAM;YACV,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAChB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC1B,MAAM;YACV,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACpB,MAAM;YACV,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,cAAc,CAAC,CAAC;YACrE,CAAC;QACL,CAAC;QACD,KAAK,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,OAAO,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAID,MAAM,UAAU,QAAQ,CAAC,OAAiB,EAAE,IAAS,EAAE,OAAyB;IAC5E,IAAI,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,cAAc,GAAG,SAAS,CAAC;IAC/B,IAAI,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QACpC,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;IACD,OAAQ,CAAC,MAAW,EAAE,QAA2B,EAAE,EAAE;QACjD,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7F,mGAAmG;QACnG,iHAAiH;QACjH,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,aAAa,IAAI,MAAM;YAAE,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QACrF,IAAI,QAAQ,GAA4B;YACpC,GAAG,OAA2C;YAC9C,IAAI,EAAE,QAAQ;SACjB,CAAA;QACD,IAAI,cAAc;YAAE,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;QAC7D,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrE,OAAO;YACH,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;SACY,CAAC;IACnC,CAAC,CAAC;AACN,CAAC;AAGD,WAAc,QAAQ;IAClB,SAAgB,MAAM,CAAC,OAAiB,EAAE,IAAsD;QAC5F,OAAO,CAAC,MAAW,EAAE,QAA2B,EAAE,EAAE;YAChD,QAAQ,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAQ,CAAC,CAAC;YAC1E,OAAO;gBACH,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;aACY,CAAC;QACnC,CAAC,CAAC;IACN,CAAC;IATe,eAAM,SASrB,CAAA;AACL,CAAC,EAXa,QAAQ,KAAR,QAAQ,QAWrB"}
@@ -3,7 +3,7 @@ import { Progress } from "../Transformers/Progress.js";
3
3
  describe("IDPool", () => {
4
4
  test("Registering ID Pool", async () => {
5
5
  const { ReplicableRegistry } = await import("../Constants/ReplicableRegistry.js");
6
- await import("../IDPool.js");
6
+ await import("../Constants/SetupNetworking.js");
7
7
  await ReplicableRegistry.Initialise();
8
8
  Progress.AwaitReplicableFor("UUID");
9
9
  expect(ReplicableRegistry.__GetReplicablesFor("UUID")).not.toBeUndefined();
@@ -1 +1 @@
1
- {"version":3,"file":"Replicable.IDPool.test.js","sourceRoot":"","sources":["Replicable.IDPool.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGvD,QAAQ,CAAC,QAAQ,EAAE,GAAE,EAAE;IACtB,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAG,EAAE;QACrC,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAE,oCAAoC,CAAC,CAAC;QACnF,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QAC7B,MAAM,kBAAkB,CAAC,UAAU,EAAE,CAAC;QACtC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC5E,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Replicable.IDPool.test.js","sourceRoot":"","sources":["Replicable.IDPool.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGvD,QAAQ,CAAC,QAAQ,EAAE,GAAE,EAAE;IACtB,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAG,EAAE;QACrC,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAE,oCAAoC,CAAC,CAAC;QACnF,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;QAChD,MAAM,kBAAkB,CAAC,UAAU,EAAE,CAAC;QACtC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC5E,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bikky/replication",
3
- "version": "1.0.13",
3
+ "version": "1.0.14",
4
4
  "description": "A library for handling loading, saving, loading human readable content and transferring information over the network (from server to clients).",
5
5
  "main": "Main.js",
6
6
  "author": "Griffork",
@@ -14,6 +14,7 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@bikky/decorators": "^0.0.14",
17
+ "@bikky/networking": "^0.0.3",
17
18
  "@bikky/path": "^0.0.20",
18
19
  "@bikky/smart-collections": "^0.0.36"
19
20
  },
@@ -1 +1 @@
1
- {"root":["./idpool.data.d.ts","./idpool.ts","./main.ts","./networking.ts","./replicatable.ts","./vitest.config.ts","./constants/errors.ts","./constants/logging.ts","./constants/replicableregistry.ts","./constants/serialisationtypes.ts","./constants/sourcemaps.ts","./constants/traversalstep.ts","./constants/versions.ts","./expressions/createevaluator.ts","./expressions/evaluatorchain.ts","./expressions/evaluatorsteps.ts","./expressions/evaluatorstring.ts","./expressions/expression.ts","./expressions/traverser.ts","./expressions/compiler/builtingrammar.ts","./expressions/compiler/expressiongrammar.ts","./expressions/compiler/grammarregistry.d.ts","./expressions/compiler/parser.ts","./expressions/compiler/tokenizer.ts","./expressions/compiler/grammar/accessors.d.ts","./expressions/compiler/grammar/controlflow.d.ts","./expressions/compiler/grammar/declarations.d.ts","./expressions/compiler/grammar/function.d.ts","./expressions/compiler/grammar/general.d.ts","./expressions/compiler/grammar/maths.d.ts","./expressions/compiler/grammar/misc.d.ts","./expressions/compiler/grammar/preprocessors.d.ts","./expressions/compiler/grammar/struct.d.ts","./expressions/compiler/grammar/tokens.d.ts","./expressions/compiler/grammar/types.d.ts","./expressions/compiler/parser/checks.d.ts","./expressions/compiler/parser/enums.d.ts","./expressions/compiler/parser/interfaces.d.ts","./expressions/compiler/parser/matchgrammar.d.ts","./expressions/compiler/parser/matchrepeatingrule.d.ts","./expressions/compiler/parser/matchrule.d.ts","./expressions/compiler/parser/parser.d.ts","./expressions/compiler/parser/tokenizer.d.ts","./expressions/compiler/parser/typesandprint.d.ts","./expressions/compiler/parser/updates.d.ts","./expressions/compiler/__tests__/replicable.expressions.parser.test.ts","./expressions/compiler/__tests__/replicable.expressions.tokenizer.test.ts","./expressions/typeregistry/accessors.ts","./expressions/typeregistry/chaincollections.ts","./expressions/typeregistry/chaintypes.ts","./expressions/typeregistry/customapi.ts","./expressions/typeregistry/primitive.ts","./expressions/typeregistry/registry.ts","./expressions/typeregistry/replapi.ts","./expressions/typeregistry/scope.ts","./expressions/typeregistry/types.ts","./expressions/typeregistry/__tests__/replicable.expressions.accessors.test.ts","./expressions/__tests__/expressionexamples.ts","./expressions/__tests__/replicable.expressions.expressions.test.ts","./tracking/buffable.ts","./tracking/class.ts","./tracking/functions.ts","./tracking/globalgroup.ts","./tracking/property.ts","./tracking/types.ts","./tracking/__tests__/replicable.tracking.decorator.test.ts","./tracking/__tests__/replicable.tracking.deserialisation.test.ts","./tracking/__tests__/replicable.tracking.mixinschemageneration.test.ts","./tracking/__tests__/replicable.tracking.struct.test.ts","./tracking/__tests__/replicable.tracking.type.test.ts","./transformers/configurer.ts","./transformers/constructor.ts","./transformers/definitions.ts","./transformers/loader.ts","./transformers/progress.ts","./transformers/reference.ts","./transformers/schemagenerator.ts","./transformers/serialiser.ts","./transformers/utils.ts","./transformers/__tests__/examples.ts","./transformers/__tests__/replicable.transformers.definitions.test.ts","./transformers/__tests__/replicable.transformers.loader.test.ts","./transformers/__tests__/replicable.transformers.progress.test.ts","./transformers/__tests__/replicable.transformers.reference.test.ts","./transformers/__tests__/replicable.transformers.schemagenerator.test.ts","./transformers/__tests__/replicable.transformers.schemageneratoroutput.test.ts","./transformers/__tests__/replicable.transformers.serialiser.test.ts","./transformers/__tests__/replicable.transformers.utils.test.ts","./__tests__/replicable.expressions.test.ts","./__tests__/replicable.idpool.test.ts","./__tests__/replicable.replicableregistry.test.ts","./__tests__/replicable.serialisation.test.ts","./__tests__/configuration/mocks.ts","./__tests__/configuration/setup.ts","./__tests__/configuration/testtypes.d.ts"],"version":"5.8.2"}
1
+ {"root":["./main.ts","./replicatable.ts","./vitest.config.ts","./constants/errors.ts","./constants/logging.ts","./constants/replicableregistry.ts","./constants/serialisationtypes.ts","./constants/setupnetworking.ts","./constants/sourcemaps.ts","./constants/traversalstep.ts","./constants/versions.ts","./expressions/createevaluator.ts","./expressions/evaluatorchain.ts","./expressions/evaluatorsteps.ts","./expressions/evaluatorstring.ts","./expressions/expression.ts","./expressions/traverser.ts","./expressions/compiler/builtingrammar.ts","./expressions/compiler/expressiongrammar.ts","./expressions/compiler/grammarregistry.d.ts","./expressions/compiler/parser.ts","./expressions/compiler/tokenizer.ts","./expressions/compiler/grammar/accessors.d.ts","./expressions/compiler/grammar/controlflow.d.ts","./expressions/compiler/grammar/declarations.d.ts","./expressions/compiler/grammar/function.d.ts","./expressions/compiler/grammar/general.d.ts","./expressions/compiler/grammar/maths.d.ts","./expressions/compiler/grammar/misc.d.ts","./expressions/compiler/grammar/preprocessors.d.ts","./expressions/compiler/grammar/struct.d.ts","./expressions/compiler/grammar/tokens.d.ts","./expressions/compiler/grammar/types.d.ts","./expressions/compiler/parser/checks.d.ts","./expressions/compiler/parser/enums.d.ts","./expressions/compiler/parser/interfaces.d.ts","./expressions/compiler/parser/matchgrammar.d.ts","./expressions/compiler/parser/matchrepeatingrule.d.ts","./expressions/compiler/parser/matchrule.d.ts","./expressions/compiler/parser/parser.d.ts","./expressions/compiler/parser/tokenizer.d.ts","./expressions/compiler/parser/typesandprint.d.ts","./expressions/compiler/parser/updates.d.ts","./expressions/compiler/__tests__/replicable.expressions.parser.test.ts","./expressions/compiler/__tests__/replicable.expressions.tokenizer.test.ts","./expressions/typeregistry/accessors.ts","./expressions/typeregistry/chaincollections.ts","./expressions/typeregistry/chaintypes.ts","./expressions/typeregistry/customapi.ts","./expressions/typeregistry/primitive.ts","./expressions/typeregistry/registry.ts","./expressions/typeregistry/replapi.ts","./expressions/typeregistry/scope.ts","./expressions/typeregistry/types.ts","./expressions/typeregistry/__tests__/replicable.expressions.accessors.test.ts","./expressions/__tests__/expressionexamples.ts","./expressions/__tests__/replicable.expressions.expressions.test.ts","./tracking/buffable.ts","./tracking/class.ts","./tracking/functions.ts","./tracking/globalgroup.ts","./tracking/property.ts","./tracking/types.ts","./tracking/__tests__/replicable.tracking.decorator.test.ts","./tracking/__tests__/replicable.tracking.deserialisation.test.ts","./tracking/__tests__/replicable.tracking.mixinschemageneration.test.ts","./tracking/__tests__/replicable.tracking.struct.test.ts","./tracking/__tests__/replicable.tracking.type.test.ts","./transformers/configurer.ts","./transformers/constructor.ts","./transformers/definitions.ts","./transformers/loader.ts","./transformers/progress.ts","./transformers/reference.ts","./transformers/schemagenerator.ts","./transformers/serialiser.ts","./transformers/utils.ts","./transformers/__tests__/examples.ts","./transformers/__tests__/replicable.transformers.definitions.test.ts","./transformers/__tests__/replicable.transformers.loader.test.ts","./transformers/__tests__/replicable.transformers.progress.test.ts","./transformers/__tests__/replicable.transformers.reference.test.ts","./transformers/__tests__/replicable.transformers.schemagenerator.test.ts","./transformers/__tests__/replicable.transformers.schemageneratoroutput.test.ts","./transformers/__tests__/replicable.transformers.serialiser.test.ts","./transformers/__tests__/replicable.transformers.utils.test.ts","./__tests__/replicable.expressions.test.ts","./__tests__/replicable.idpool.test.ts","./__tests__/replicable.replicableregistry.test.ts","./__tests__/replicable.serialisation.test.ts","./__tests__/configuration/mocks.ts","./__tests__/configuration/setup.ts","./__tests__/configuration/testtypes.d.ts"],"version":"5.8.2"}
package/IDPool.d.ts DELETED
@@ -1,18 +0,0 @@
1
- export declare namespace IDPool {
2
- function initialise(makeUUIDFunction: () => UUID): Promise<void>;
3
- class UUID {
4
- private secret;
5
- toString(): string;
6
- }
7
- namespace UUID {
8
- const name = "UUID";
9
- function isUUID(input: any, complex?: boolean): input is UUID;
10
- }
11
- function useUUID(): UUID;
12
- /**
13
- * Verifies the client UUID and removes it from the pool of client UUIDs.
14
- * @param id
15
- * @param remoteID
16
- */
17
- function verifyClientUUID(id: UUID, remoteID: UUID): boolean;
18
- }
package/IDPool.data.d.ts DELETED
@@ -1,19 +0,0 @@
1
-
2
-
3
-
4
- // This file is automatically generated. Do not edit it, all edits will be overwritten on compile.// This file contains the typescript types for the data definitions for the corresponding
5
- // types in the .ts file this file is named after.
6
-
7
-
8
- import { IDPool } from "./IDPool.js";
9
-
10
- export type UUIDDefinition = IDPool.UUID;
11
-
12
-
13
-
14
- export type UUIDSerialised = IDPool.UUID;
15
-
16
- export type UUIDSerialisedReference = [ string, UUIDSerialised ];
17
-
18
-
19
-
package/IDPool.js DELETED
@@ -1,140 +0,0 @@
1
- import { CustomReplicableType, Versions } from "./Main.js";
2
- import { Messenger } from "./Networking.js";
3
- import { ReplicableRegistry } from "./Constants/ReplicableRegistry.js";
4
- import { ValidExpressionTypes } from "./Expressions/TypeRegistry/Registry.js";
5
- //Safe to load early.
6
- export var IDPool;
7
- (function (IDPool) {
8
- var remote;
9
- var size = 1000;
10
- var pool = [];
11
- //Only present on the server.
12
- var makeUUID;
13
- let prototype = { __proto__: String.prototype };
14
- var clientIDs = new Map();
15
- //This assumes messenger has been initialised first.
16
- async function initialise(makeUUIDFunction) {
17
- makeUUID = makeUUIDFunction;
18
- //Delay this until the world has finished initialising.
19
- if (!Messenger.isServer) {
20
- await Messenger.connect;
21
- }
22
- remote = Messenger.newRemoteInterface("IDPool", Private);
23
- //Request a number of IDs based on the pool size.
24
- await Private.requestUUIDs(size);
25
- }
26
- IDPool.initialise = initialise;
27
- let UUID;
28
- (function (UUID) {
29
- UUID.name = "UUID";
30
- function isUUID(input, complex = false) {
31
- if (!complex) {
32
- return typeof input === "string";
33
- }
34
- else {
35
- return (typeof input === "string" &&
36
- /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(input)
37
- //Improved?: /^[A-F0-9]{8}-[A-F0-9]{4}-4[A-F0-9]{3}-[89AB][A-F0-9]{3}-[A-F0-9]{12}$/
38
- );
39
- }
40
- }
41
- UUID.isUUID = isUUID;
42
- })(UUID = IDPool.UUID || (IDPool.UUID = {}));
43
- function useUUID() {
44
- if (typeof TestingMode !== "undefined" && TestingMode === true) {
45
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
46
- var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
47
- return v.toString(16);
48
- });
49
- }
50
- Private.requestUUIDs(1);
51
- let id = pool.shift();
52
- id.__proto__ = prototype;
53
- return id;
54
- }
55
- IDPool.useUUID = useUUID;
56
- /**
57
- * Verifies the client UUID and removes it from the pool of client UUIDs.
58
- * @param id
59
- * @param remoteID
60
- */
61
- function verifyClientUUID(id, remoteID) {
62
- if (typeof TestingMode !== "undefined" && TestingMode === true) {
63
- return true;
64
- }
65
- var array = clientIDs.get(remoteID);
66
- if (!array) {
67
- return false;
68
- }
69
- var index = array.indexOf(id);
70
- if (index < 0) {
71
- return false;
72
- }
73
- array.splice(index, 0);
74
- return true;
75
- }
76
- IDPool.verifyClientUUID = verifyClientUUID;
77
- let Private;
78
- (function (Private) {
79
- async function requestUUIDs(amount) {
80
- //Client is out of ids, ask for more.
81
- var ids = [];
82
- if (Messenger.isServer) {
83
- for (var i = 0; i < amount; i++) {
84
- ids.push(makeUUID());
85
- }
86
- }
87
- else {
88
- ids = await remote.retrieveUUIDS(amount);
89
- }
90
- pool.push(...ids);
91
- }
92
- Private.requestUUIDs = requestUUIDs;
93
- async function retrieveUUIDS(amount, client) {
94
- if (!Messenger.isServer) {
95
- return [];
96
- }
97
- else {
98
- var result = [];
99
- for (var i = 0; i < amount; i++) {
100
- result.push(makeUUID());
101
- }
102
- if (client) {
103
- var remoteID = Messenger.getIDForInstance(remote, client);
104
- var array = clientIDs.get(remoteID);
105
- if (!array) {
106
- clientIDs.set(remoteID, (array = []));
107
- }
108
- array.push(...result);
109
- }
110
- return result;
111
- }
112
- }
113
- Private.retrieveUUIDS = retrieveUUIDS;
114
- })(Private || (Private = {}));
115
- CustomReplicableType(Versions.v1_0_0, {
116
- name: "UUID",
117
- Create(config) {
118
- config.data.__proto__ = prototype;
119
- return config.data;
120
- },
121
- DefinitionType: "IDPool.UUID",
122
- DefinitionIncludes: [[["IDPool"], "./IDPool.js"]],
123
- DataIsType(val) {
124
- return UUID.isUUID(val);
125
- },
126
- Reference(value) {
127
- return [value];
128
- },
129
- Dereference(value) {
130
- return value[0];
131
- },
132
- prototype: prototype
133
- }, {
134
- dataTypeName: "UUID",
135
- typescriptTypeName: "UUID"
136
- });
137
- ReplicableRegistry.RegisterTypeAlias(UUID, "UUID");
138
- ValidExpressionTypes.AddAliasForType(UUID, "UUID");
139
- })(IDPool || (IDPool = {}));
140
- //# sourceMappingURL=IDPool.js.map
package/IDPool.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"IDPool.js","sourceRoot":"","sources":["IDPool.ts"],"names":[],"mappings":"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"}
package/Networking.d.ts DELETED
@@ -1,165 +0,0 @@
1
- import { SmartArray } from "@bikky/smart-collections";
2
- import { IDPool } from "./IDPool.js";
3
- declare namespace Connections {
4
- type UUID = IDPool.UUID;
5
- export var LocalID: UUID;
6
- export var RemotesByID: Map<IDPool.UUID, RemoteConnection>;
7
- export var Remotes: SmartArray<RemoteConnection>;
8
- export var Interfaces: Map<string, RemoteInterface<any>>;
9
- export var disconnectHandlers: Map<IDPool.UUID, Function[]>;
10
- interface CallFunctionMessage {
11
- id: string;
12
- property?: string | string[];
13
- function?: boolean;
14
- args: any[];
15
- key: number;
16
- from: UUID;
17
- tick: number;
18
- }
19
- interface FunctionResponseMessage {
20
- id: string;
21
- property?: string | string[];
22
- function?: boolean;
23
- completion: true;
24
- result: any;
25
- key: number;
26
- from: UUID;
27
- tick: number;
28
- }
29
- type Message = CallFunctionMessage | FunctionResponseMessage;
30
- /**
31
- * There's one RemoteConnection per remote PC. All instances reference the RemoteConnection.
32
- * The RemoteConnection handles batching as well as keeping track of the ping of clients and
33
- * how far behind they are.
34
- */
35
- export class RemoteConnection {
36
- id: UUID;
37
- ping: number;
38
- pingHistory: number[];
39
- time: number;
40
- socket: Messenger.WebSocket;
41
- private messages;
42
- constructor(id: UUID, connection: Messenger.WebSocket);
43
- handleDisconnect(): void;
44
- recieveMessages(data: {
45
- time: number;
46
- messages: Message[];
47
- }, remoteID: UUID): void;
48
- queueMessage(obj: Message): void;
49
- sendMessages(): void;
50
- }
51
- export class RemoteInstance<Type extends Object> implements ProxyHandler<Type> {
52
- remoteID: UUID;
53
- proxy: Type;
54
- private interface;
55
- private connection;
56
- private propertyMap;
57
- constructor(remoteID: UUID, connection: RemoteConnection, remoteInterface: RemoteInterface<Type>);
58
- send(message: Message): void;
59
- get(target: Type, property: string | number): Function;
60
- get(target: Type, property: string | number | string[]): Function;
61
- get(target: Type, property: Symbol): string;
62
- get(target: Type, property: string | number | Symbol | string[]): Function | string;
63
- set(target: Type, property: string | number | Symbol, value: any, receiver: any): boolean;
64
- apply(...args: any[]): Promise<unknown>;
65
- construct(target: Type, args: any[], newTarget?: any): any;
66
- }
67
- export class RemoteInterface<Type extends Object> implements ProxyHandler<Type> {
68
- objectID: string;
69
- local: any;
70
- oldLocal: any;
71
- remotes: Map<IDPool.UUID, RemoteInstance<Type>>;
72
- private nextKey;
73
- private completions;
74
- private propertyMap;
75
- proxy: Type;
76
- constructor(objectID: string, local: any);
77
- divertMessages(newLocal: any): void;
78
- restoreMessageRecipient(): void;
79
- getNewKey(): number;
80
- addCompletion(resolver: (value?: any) => void): number;
81
- addConnection(remoteID: UUID, connection: RemoteConnection): void;
82
- removeConnection(remoteID: UUID, connection: RemoteConnection): RemoteInstance<Type> | undefined;
83
- recieveMessage(data: Message, remoteID: UUID): void;
84
- get(target: Type, property: string | number | Symbol): any;
85
- set(target: Type, property: string | number | Symbol, value: any, receiver: any): boolean;
86
- apply(...args: any[]): (...args: any[]) => Promise<unknown> | undefined;
87
- construct(target: Type, args: any[], newTarget?: any): any;
88
- }
89
- export {};
90
- }
91
- export declare namespace Messenger {
92
- type UUID = IDPool.UUID;
93
- export type ReplicatedFunction<T> = T extends (...args: infer A) => infer R ? (...args: A) => Promise<T[]> : never;
94
- export type ReplicatedClass<T> = {
95
- [P in keyof T]: ReplicatedFunction<T[P]>;
96
- };
97
- export type RemoteFunction<T> = T extends (...args: infer A) => infer R ? (...args: A) => Promise<T> : never;
98
- export type RemoteClass<T> = {
99
- [P in keyof T]: RemoteFunction<T[P]>;
100
- };
101
- /**
102
- * Websocket type that works for express-ws and inbuilt browser websockets.
103
- */
104
- export type WebSocket = {
105
- on(event: "message", handler: (data: any) => void): void;
106
- once?(event: "message", handler: (data: any) => void): void;
107
- on(event: "close", handler: (code: number, reason: string) => void): void;
108
- send(data: any): void;
109
- } | {
110
- onmessage?: ((event: {
111
- data: any;
112
- }) => void) | null;
113
- onclose?: ((event: {
114
- code: number;
115
- reason: string;
116
- }) => void) | null;
117
- send(data: any): void;
118
- };
119
- export type IPC = {
120
- on(channel: "message", handler: (event: any, data: any) => void): void;
121
- once(channel: "message", handler: (event: any, data: any) => void): void;
122
- send(channel: "message", data: any): void;
123
- emit(channel: "message", data: any): void;
124
- } | {
125
- ipc: {
126
- on(channel: "message", handler: (event: any, data: any) => void): void;
127
- once(channel: "message", handler: (event: any, data: any) => void): void;
128
- emit(channel: "message", data: any): void;
129
- };
130
- send(channel: "message", data: any): void;
131
- };
132
- export interface ConnectionDetails<Remote = any> {
133
- connection: Remote;
134
- id: UUID;
135
- tick: number;
136
- }
137
- export const isServer: boolean;
138
- export var isConnected: boolean;
139
- export var connect: Promise<void>;
140
- export function initialise(isTheServer: true): void;
141
- export function initialise(isTheServer: false, connectionToServer: WebSocket | IPC): Promise<void>;
142
- export function tick(): void;
143
- export function sendMessages(): void;
144
- export function getLocalTime(): number;
145
- export function onDisconnect(id: UUID, handler: Function): void;
146
- export function addRemoteConnection(id: UUID, connection: WebSocket | IPC): Promise<Connections.RemoteConnection>;
147
- export function newRemoteInterface<Type extends Object>(name: string, object: any): Type;
148
- export function getInstanceForID<Type>(remoteInterface: Type, id: UUID): Type | null;
149
- export function getAllInstancesExceptID<Type>(remoteInterface: Type, id: UUID): Type[] | null;
150
- export function getAllInstancesExcept<Type>(remoteInterface: Type, remoteInstance: Type): Type[] | null;
151
- export function getRemoteTime(id: UUID): number | null;
152
- export function getRemotePing(id: UUID): number | null;
153
- export function getRemoteAvgPing(id: UUID): number | null;
154
- export function getIDForInstance<Type>(remoteInterface: Type, remoteInstance: Type): UUID | null;
155
- export function isRemoteProxy(remote: any): boolean;
156
- export function getLocalID(): IDPool.UUID;
157
- /**
158
- * Will return the local id if on the server. Assumes that only the server connects to clients.
159
- */
160
- export function getServerID(): IDPool.UUID;
161
- export function divertMessages<Type extends object>(remote: Type, newTarget: Type): void;
162
- export function restoreMessages<Type extends object>(remote: Type): void;
163
- export {};
164
- }
165
- export {};