@bikky/replication 1.0.19 → 1.0.20

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.
@@ -9,15 +9,102 @@ Messenger.SetSerialisationFunction((data) => {
9
9
  if (Referencer.CanReference(data) && !isPrimitiveValue(data)) {
10
10
  return Referencer.Reference(data);
11
11
  }
12
+ if (typeof data === "object") {
13
+ if (Array.isArray(data)) {
14
+ let converted = [];
15
+ for (let item of data) {
16
+ if (Referencer.CanReference(item) && !isPrimitiveValue(item)) {
17
+ converted.push(Referencer.Reference(item));
18
+ }
19
+ else {
20
+ converted.push(["Plain", item]);
21
+ }
22
+ }
23
+ return ["ArgArray", converted];
24
+ }
25
+ if (data instanceof Map) {
26
+ let converted = {};
27
+ for (let [key, value] of data.entries()) {
28
+ if (Referencer.CanReference(value) && !isPrimitiveValue(value)) {
29
+ converted[key] = Referencer.Reference(value);
30
+ }
31
+ else {
32
+ converted[key] = ["Plain", value];
33
+ }
34
+ }
35
+ return ["ArgMap", converted];
36
+ }
37
+ if (typeof data === "object" && data.__proto__ === Object.prototype) {
38
+ let converted = {};
39
+ for (let [key, value] of Object.entries(data)) {
40
+ if (Referencer.CanReference(value) && !isPrimitiveValue(value)) {
41
+ converted[key] = Referencer.Reference(value);
42
+ }
43
+ else {
44
+ converted[key] = ["Plain", value];
45
+ }
46
+ }
47
+ return ["ArgObject", converted];
48
+ }
49
+ }
12
50
  return ["Plain", data];
13
51
  });
14
52
  Messenger.SetDeserialisationFunction((data) => {
15
- if (Array.isArray(data) && data[0] === "Plain") {
16
- return data[1];
17
- }
18
53
  if (Referencer.IsReference(data)) {
19
54
  return Referencer.Dereference(data);
20
55
  }
56
+ if (Array.isArray(data) && data[0] === "Plain") {
57
+ switch (data[0]) {
58
+ case "Plain": {
59
+ return data[1];
60
+ }
61
+ case "ArgArray": {
62
+ let arr = [];
63
+ for (let value of data[1]) {
64
+ if (Array.isArray(value) && value[0] === "Plain") {
65
+ arr.push(value[1]);
66
+ }
67
+ else if (Referencer.IsReference(value)) {
68
+ arr.push(Referencer.Dereference(value));
69
+ }
70
+ else {
71
+ throw new Error("Invalid item in ArgArray: " + JSON.stringify(value));
72
+ }
73
+ }
74
+ return arr;
75
+ }
76
+ case "ArgMap": {
77
+ let map = new Map();
78
+ for (let [key, value] of Object.entries(data[1])) {
79
+ if (Array.isArray(value) && value[0] === "Plain") {
80
+ map.set(key, value[1]);
81
+ }
82
+ else if (Referencer.IsReference(value)) {
83
+ map.set(key, Referencer.Dereference(value));
84
+ }
85
+ else {
86
+ throw new Error("Invalid item in ArgMap: " + JSON.stringify(value));
87
+ }
88
+ }
89
+ return map;
90
+ }
91
+ case "ArgObject": {
92
+ let obj = {};
93
+ for (let [key, value] of Object.entries(data[1])) {
94
+ if (Array.isArray(value) && value[0] === "Plain") {
95
+ obj[key] = value[1];
96
+ }
97
+ else if (Referencer.IsReference(value)) {
98
+ obj[key] = Referencer.Dereference(value);
99
+ }
100
+ else {
101
+ throw new Error("Invalid item in ArgObject: " + JSON.stringify(value));
102
+ }
103
+ }
104
+ return obj;
105
+ }
106
+ }
107
+ }
21
108
  return data;
22
109
  });
23
110
  let UUIDPrototype = { __proto__: String.prototype };
@@ -1 +1 @@
1
- {"version":3,"file":"SetupNetworking.js","sourceRoot":"","sources":["SetupNetworking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,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,cAAc;IACpB,MAAM,CAAC,MAAuD;QAC5D,MAAM,CAAC,IAAY,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/C,OAAO,MAAM,CAAC,IAAW,CAAC;IAC3B,CAAC;IACD,cAAc,EAAE,wBAAwB;IACxC,kBAAkB,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC,CAAC;IAC1D,UAAU,CAAE,OAAiB,EAAE,GAAQ;QACtC,OAAO,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1C,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,cAAc;IAC5B,kBAAkB,EAAE,cAAc;CAClC,CAAC,CAAC;AACH,kBAAkB,CAAC,iBAAiB,CAAC,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AAC7E,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"SetupNetworking.js","sourceRoot":"","sources":["SetupNetworking.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bikky/replication",
3
- "version": "1.0.19",
3
+ "version": "1.0.20",
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",