@boatkit-io/restream 0.0.1

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 (75) hide show
  1. package/README.md +19 -0
  2. package/dist/cjs/index.js +34 -0
  3. package/dist/cjs/index.js.map +1 -0
  4. package/dist/cjs/package.json +3 -0
  5. package/dist/cjs/restream/PackageRestream.js +371 -0
  6. package/dist/cjs/restream/PackageRestream.js.map +1 -0
  7. package/dist/cjs/stores/TriggerStore.js +130 -0
  8. package/dist/cjs/stores/TriggerStore.js.map +1 -0
  9. package/dist/cjs/utils/BinaryReader.js +171 -0
  10. package/dist/cjs/utils/BinaryReader.js.map +1 -0
  11. package/dist/cjs/utils/BinaryWriter.js +74 -0
  12. package/dist/cjs/utils/BinaryWriter.js.map +1 -0
  13. package/dist/cjs/utils/Decoders.js +286 -0
  14. package/dist/cjs/utils/Decoders.js.map +1 -0
  15. package/dist/cjs/utils/Encoders.js +232 -0
  16. package/dist/cjs/utils/Encoders.js.map +1 -0
  17. package/dist/cjs/utils/SerializationTypes.js +279 -0
  18. package/dist/cjs/utils/SerializationTypes.js.map +1 -0
  19. package/dist/cjs/utils/SimpleAssert.js +9 -0
  20. package/dist/cjs/utils/SimpleAssert.js.map +1 -0
  21. package/dist/cjs/utils/SubscribableEvent.js +60 -0
  22. package/dist/cjs/utils/SubscribableEvent.js.map +1 -0
  23. package/dist/cjs/utils/TSUtils.js +62 -0
  24. package/dist/cjs/utils/TSUtils.js.map +1 -0
  25. package/dist/cjs/websocket/SocketHelper.js +134 -0
  26. package/dist/cjs/websocket/SocketHelper.js.map +1 -0
  27. package/dist/esm/index.d.ts +10 -0
  28. package/dist/esm/index.d.ts.map +1 -0
  29. package/dist/esm/index.js +9 -0
  30. package/dist/esm/index.js.map +1 -0
  31. package/dist/esm/restream/PackageRestream.d.ts +71 -0
  32. package/dist/esm/restream/PackageRestream.d.ts.map +1 -0
  33. package/dist/esm/restream/PackageRestream.js +330 -0
  34. package/dist/esm/restream/PackageRestream.js.map +1 -0
  35. package/dist/esm/stores/TriggerStore.d.ts +34 -0
  36. package/dist/esm/stores/TriggerStore.d.ts.map +1 -0
  37. package/dist/esm/stores/TriggerStore.js +124 -0
  38. package/dist/esm/stores/TriggerStore.js.map +1 -0
  39. package/dist/esm/utils/BinaryReader.d.ts +27 -0
  40. package/dist/esm/utils/BinaryReader.d.ts.map +1 -0
  41. package/dist/esm/utils/BinaryReader.js +168 -0
  42. package/dist/esm/utils/BinaryReader.js.map +1 -0
  43. package/dist/esm/utils/BinaryWriter.d.ts +18 -0
  44. package/dist/esm/utils/BinaryWriter.d.ts.map +1 -0
  45. package/dist/esm/utils/BinaryWriter.js +71 -0
  46. package/dist/esm/utils/BinaryWriter.js.map +1 -0
  47. package/dist/esm/utils/Decoders.d.ts +27 -0
  48. package/dist/esm/utils/Decoders.d.ts.map +1 -0
  49. package/dist/esm/utils/Decoders.js +235 -0
  50. package/dist/esm/utils/Decoders.js.map +1 -0
  51. package/dist/esm/utils/Encoders.d.ts +25 -0
  52. package/dist/esm/utils/Encoders.d.ts.map +1 -0
  53. package/dist/esm/utils/Encoders.js +211 -0
  54. package/dist/esm/utils/Encoders.js.map +1 -0
  55. package/dist/esm/utils/SerializationTypes.d.ts +101 -0
  56. package/dist/esm/utils/SerializationTypes.d.ts.map +1 -0
  57. package/dist/esm/utils/SerializationTypes.js +267 -0
  58. package/dist/esm/utils/SerializationTypes.js.map +1 -0
  59. package/dist/esm/utils/SimpleAssert.d.ts +2 -0
  60. package/dist/esm/utils/SimpleAssert.d.ts.map +1 -0
  61. package/dist/esm/utils/SimpleAssert.js +6 -0
  62. package/dist/esm/utils/SimpleAssert.js.map +1 -0
  63. package/dist/esm/utils/SubscribableEvent.d.ts +26 -0
  64. package/dist/esm/utils/SubscribableEvent.d.ts.map +1 -0
  65. package/dist/esm/utils/SubscribableEvent.js +55 -0
  66. package/dist/esm/utils/SubscribableEvent.js.map +1 -0
  67. package/dist/esm/utils/TSUtils.d.ts +8 -0
  68. package/dist/esm/utils/TSUtils.d.ts.map +1 -0
  69. package/dist/esm/utils/TSUtils.js +58 -0
  70. package/dist/esm/utils/TSUtils.js.map +1 -0
  71. package/dist/esm/websocket/SocketHelper.d.ts +64 -0
  72. package/dist/esm/websocket/SocketHelper.d.ts.map +1 -0
  73. package/dist/esm/websocket/SocketHelper.js +125 -0
  74. package/dist/esm/websocket/SocketHelper.js.map +1 -0
  75. package/package.json +58 -0
package/README.md ADDED
@@ -0,0 +1,19 @@
1
+ # @boatkit-io/restream
2
+
3
+ TypeScript helpers for ReStream web clients.
4
+
5
+ ```bash
6
+ pnpm add @boatkit-io/restream
7
+ ```
8
+
9
+ ```ts
10
+ import { subscriptionKeyFromFieldPath } from '@boatkit-io/restream';
11
+
12
+ const key = subscriptionKeyFromFieldPath(['Board', 0]);
13
+ ```
14
+
15
+ CommonJS consumers can use the same package entrypoint:
16
+
17
+ ```js
18
+ const { subscriptionKeyFromFieldPath } = require('@boatkit-io/restream');
19
+ ```
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.RPCStruct = exports.RPCResponseStruct = exports.ReStreamSocket = exports.BinaryWriter = exports.BinaryReader = void 0;
21
+ var BinaryReader_js_1 = require("./utils/BinaryReader.js");
22
+ Object.defineProperty(exports, "BinaryReader", { enumerable: true, get: function () { return __importDefault(BinaryReader_js_1).default; } });
23
+ var BinaryWriter_js_1 = require("./utils/BinaryWriter.js");
24
+ Object.defineProperty(exports, "BinaryWriter", { enumerable: true, get: function () { return __importDefault(BinaryWriter_js_1).default; } });
25
+ __exportStar(require("./restream/PackageRestream.js"), exports);
26
+ __exportStar(require("./stores/TriggerStore.js"), exports);
27
+ __exportStar(require("./utils/Decoders.js"), exports);
28
+ __exportStar(require("./utils/Encoders.js"), exports);
29
+ __exportStar(require("./utils/SerializationTypes.js"), exports);
30
+ var SocketHelper_js_1 = require("./websocket/SocketHelper.js");
31
+ Object.defineProperty(exports, "ReStreamSocket", { enumerable: true, get: function () { return SocketHelper_js_1.ReStreamSocket; } });
32
+ Object.defineProperty(exports, "RPCResponseStruct", { enumerable: true, get: function () { return SocketHelper_js_1.RPCResponseStruct; } });
33
+ Object.defineProperty(exports, "RPCStruct", { enumerable: true, get: function () { return SocketHelper_js_1.RPCStruct; } });
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,2DAAkE;AAAzD,gIAAA,OAAO,OAAgB;AAChC,2DAAkE;AAAzD,gIAAA,OAAO,OAAgB;AAChC,gEAA8C;AAC9C,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,gEAA8C;AAC9C,+DAA2F;AAAlF,iHAAA,cAAc,OAAA;AAAE,oHAAA,iBAAiB,OAAA;AAAE,4GAAA,SAAS,OAAA"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,371 @@
1
+ "use strict";
2
+ // FILE IS GENERATED BY THE restream PACKAGE, DO NOT MODIFY DIRECTLY!
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.PartialValue = exports.PartialModMap = exports.PartialModArray = exports.PartialMap = exports.PartialArray = exports.compoundKeyJoinerString = exports.Subscribe = exports.StoreUpdateMessageKind = exports.StoreUpdateFull = exports.StoreSubscriptionAction = exports.SocketEventNameStoreUpdate = void 0;
38
+ const ReStreamDecoders = __importStar(require("../utils/Decoders.js"));
39
+ const ReStreamEncoders = __importStar(require("../utils/Encoders.js"));
40
+ const SerializationTypes_js_1 = require("../utils/SerializationTypes.js");
41
+ exports.SocketEventNameStoreUpdate = "storeupdate";
42
+ var StoreSubscriptionAction;
43
+ (function (StoreSubscriptionAction) {
44
+ StoreSubscriptionAction[StoreSubscriptionAction["Subscribe"] = 0] = "Subscribe";
45
+ StoreSubscriptionAction[StoreSubscriptionAction["Unsubscribe"] = 1] = "Unsubscribe";
46
+ })(StoreSubscriptionAction || (exports.StoreSubscriptionAction = StoreSubscriptionAction = {}));
47
+ exports.StoreUpdateFull = 0;
48
+ var StoreUpdateMessageKind;
49
+ (function (StoreUpdateMessageKind) {
50
+ StoreUpdateMessageKind[StoreUpdateMessageKind["StoreUpdateFull"] = 0] = "StoreUpdateFull";
51
+ StoreUpdateMessageKind[StoreUpdateMessageKind["StoreUpdatePartial"] = 2] = "StoreUpdatePartial";
52
+ })(StoreUpdateMessageKind || (exports.StoreUpdateMessageKind = StoreUpdateMessageKind = {}));
53
+ exports.Subscribe = 0;
54
+ exports.compoundKeyJoinerString = "%&";
55
+ class PartialArray {
56
+ dataSets;
57
+ whole;
58
+ constructor() { }
59
+ static fromValues(dataSets = new Map(), whole = []) {
60
+ const o = new PartialArray();
61
+ o.dataSets = dataSets;
62
+ o.whole = whole;
63
+ return o;
64
+ }
65
+ static deserialized(r, vi) {
66
+ const gm = new Map([
67
+ ["V", vi.genericTypes[0]],
68
+ ]);
69
+ const o = new PartialArray();
70
+ o.dataSets = ReStreamDecoders.deserializeValue(r, this._fieldInfo[0].varInfo.fillGenerics(gm));
71
+ o.whole = ReStreamDecoders.deserializeValue(r, this._fieldInfo[1].varInfo.fillGenerics(gm));
72
+ return o;
73
+ }
74
+ serialize(w, vi) {
75
+ const gm = new Map([
76
+ ["V", vi.genericTypes[0]],
77
+ ]);
78
+ ReStreamEncoders.serializeValue(this.dataSets, w, PartialArray._fieldInfo[0].varInfo.fillGenerics(gm));
79
+ ReStreamEncoders.serializeValue(this.whole, w, PartialArray._fieldInfo[1].varInfo.fillGenerics(gm));
80
+ }
81
+ static _fieldInfo = [
82
+ { name: "dataSets", fieldIdx: 0, varInfo: new SerializationTypes_js_1.VarInfoMap(true, new SerializationTypes_js_1.VarInfoPrimitive(SerializationTypes_js_1.SerializationType.Int64, "int"), new SerializationTypes_js_1.VarInfoGenericParam("V")) },
83
+ { name: "whole", fieldIdx: 1, varInfo: new SerializationTypes_js_1.VarInfoArray(false, new SerializationTypes_js_1.VarInfoGenericParam("V")) },
84
+ ];
85
+ applyTo(por) {
86
+ const ret = [];
87
+ if (this.whole) {
88
+ por.splice(0, por.length, ...this.whole);
89
+ ret.push([]);
90
+ }
91
+ for (const [k, v] of this.dataSets) {
92
+ por[k] = v;
93
+ if (!this.whole) {
94
+ ret.push([k]);
95
+ }
96
+ }
97
+ return ret;
98
+ }
99
+ }
100
+ exports.PartialArray = PartialArray;
101
+ class PartialMap {
102
+ dataSets;
103
+ dataDeletes;
104
+ whole;
105
+ constructor() { }
106
+ static fromValues(dataSets = new Map(), dataDeletes = new Set(), whole = undefined) {
107
+ const o = new PartialMap();
108
+ o.dataSets = dataSets;
109
+ o.dataDeletes = dataDeletes;
110
+ o.whole = whole;
111
+ return o;
112
+ }
113
+ static deserialized(r, vi) {
114
+ const gm = new Map([
115
+ ["K", vi.genericTypes[0]],
116
+ ["V", vi.genericTypes[1]],
117
+ ]);
118
+ const o = new PartialMap();
119
+ o.dataSets = ReStreamDecoders.deserializeValue(r, this._fieldInfo[0].varInfo.fillGenerics(gm));
120
+ o.dataDeletes = ReStreamDecoders.deserializeValue(r, this._fieldInfo[1].varInfo.fillGenerics(gm));
121
+ o.whole = ReStreamDecoders.deserializeValue(r, this._fieldInfo[2].varInfo.fillGenerics(gm));
122
+ return o;
123
+ }
124
+ serialize(w, vi) {
125
+ const gm = new Map([
126
+ ["K", vi.genericTypes[0]],
127
+ ["V", vi.genericTypes[1]],
128
+ ]);
129
+ ReStreamEncoders.serializeValue(this.dataSets, w, PartialMap._fieldInfo[0].varInfo.fillGenerics(gm));
130
+ ReStreamEncoders.serializeValue(this.dataDeletes, w, PartialMap._fieldInfo[1].varInfo.fillGenerics(gm));
131
+ ReStreamEncoders.serializeValue(this.whole, w, PartialMap._fieldInfo[2].varInfo.fillGenerics(gm));
132
+ }
133
+ static _fieldInfo = [
134
+ { name: "dataSets", fieldIdx: 0, varInfo: new SerializationTypes_js_1.VarInfoMap(true, new SerializationTypes_js_1.VarInfoGenericParam("K"), new SerializationTypes_js_1.VarInfoGenericParam("V")) },
135
+ { name: "dataDeletes", fieldIdx: 1, varInfo: new SerializationTypes_js_1.VarInfoMap(true, new SerializationTypes_js_1.VarInfoGenericParam("K"), undefined) },
136
+ { name: "whole", fieldIdx: 2, varInfo: new SerializationTypes_js_1.VarInfoMap(false, new SerializationTypes_js_1.VarInfoGenericParam("K"), new SerializationTypes_js_1.VarInfoGenericParam("V")) },
137
+ ];
138
+ applyTo(por) {
139
+ const ret = [];
140
+ if (this.whole) {
141
+ por.clear();
142
+ for (const [k, v] of this.whole) {
143
+ por.set(k, v);
144
+ }
145
+ ret.push([]);
146
+ }
147
+ for (const [k, v] of this.dataSets) {
148
+ por.set(k, v);
149
+ if (!this.whole) {
150
+ ret.push([k]);
151
+ }
152
+ }
153
+ for (const k of this.dataDeletes) {
154
+ por.delete(k);
155
+ if (!this.whole) {
156
+ ret.push([k]);
157
+ }
158
+ }
159
+ return ret;
160
+ }
161
+ }
162
+ exports.PartialMap = PartialMap;
163
+ class PartialModArray {
164
+ dataSets;
165
+ dataMods;
166
+ whole;
167
+ constructor() { }
168
+ static fromValues(dataSets = new Map(), dataMods = new Map(), whole = []) {
169
+ const o = new PartialModArray();
170
+ o.dataSets = dataSets;
171
+ o.dataMods = dataMods;
172
+ o.whole = whole;
173
+ return o;
174
+ }
175
+ static deserialized(r, vi) {
176
+ const gm = new Map([
177
+ ["V", vi.genericTypes[0]],
178
+ ["P", vi.genericTypes[1]],
179
+ ]);
180
+ const o = new PartialModArray();
181
+ o.dataSets = ReStreamDecoders.deserializeValue(r, this._fieldInfo[0].varInfo.fillGenerics(gm));
182
+ o.dataMods = ReStreamDecoders.deserializeValue(r, this._fieldInfo[1].varInfo.fillGenerics(gm));
183
+ o.whole = ReStreamDecoders.deserializeValue(r, this._fieldInfo[2].varInfo.fillGenerics(gm));
184
+ return o;
185
+ }
186
+ serialize(w, vi) {
187
+ const gm = new Map([
188
+ ["V", vi.genericTypes[0]],
189
+ ["P", vi.genericTypes[1]],
190
+ ]);
191
+ ReStreamEncoders.serializeValue(this.dataSets, w, PartialModArray._fieldInfo[0].varInfo.fillGenerics(gm));
192
+ ReStreamEncoders.serializeValue(this.dataMods, w, PartialModArray._fieldInfo[1].varInfo.fillGenerics(gm));
193
+ ReStreamEncoders.serializeValue(this.whole, w, PartialModArray._fieldInfo[2].varInfo.fillGenerics(gm));
194
+ }
195
+ static _fieldInfo = [
196
+ { name: "dataSets", fieldIdx: 0, varInfo: new SerializationTypes_js_1.VarInfoMap(true, new SerializationTypes_js_1.VarInfoPrimitive(SerializationTypes_js_1.SerializationType.Int64, "int"), new SerializationTypes_js_1.VarInfoGenericParam("V")) },
197
+ { name: "dataMods", fieldIdx: 1, varInfo: new SerializationTypes_js_1.VarInfoMap(true, new SerializationTypes_js_1.VarInfoPrimitive(SerializationTypes_js_1.SerializationType.Int64, "int"), new SerializationTypes_js_1.VarInfoGenericParam("P")) },
198
+ { name: "whole", fieldIdx: 2, varInfo: new SerializationTypes_js_1.VarInfoArray(false, new SerializationTypes_js_1.VarInfoGenericParam("V")) },
199
+ ];
200
+ applyTo(por) {
201
+ const ret = [];
202
+ if (this.whole) {
203
+ por.splice(0, por.length, ...this.whole);
204
+ ret.push([]);
205
+ }
206
+ for (const [k, v] of this.dataSets) {
207
+ por[k] = v;
208
+ if (!this.whole) {
209
+ ret.push([k]);
210
+ }
211
+ }
212
+ for (const [k, pv] of this.dataMods) {
213
+ let fs = [];
214
+ if (pv.applyTo) {
215
+ fs = pv.applyTo(por[k]);
216
+ }
217
+ if (pv.applyOnTop) {
218
+ let nv;
219
+ [nv, fs] = pv.applyOnTop(por[k]);
220
+ por[k] = nv;
221
+ }
222
+ if (!this.whole) {
223
+ for (const fss of fs) {
224
+ ret.push([k, ...fss]);
225
+ }
226
+ }
227
+ }
228
+ return ret;
229
+ }
230
+ }
231
+ exports.PartialModArray = PartialModArray;
232
+ class PartialModMap {
233
+ dataSets;
234
+ dataDeletes;
235
+ dataMods;
236
+ whole;
237
+ constructor() { }
238
+ static fromValues(dataSets = new Map(), dataDeletes = new Set(), dataMods = new Map(), whole = undefined) {
239
+ const o = new PartialModMap();
240
+ o.dataSets = dataSets;
241
+ o.dataDeletes = dataDeletes;
242
+ o.dataMods = dataMods;
243
+ o.whole = whole;
244
+ return o;
245
+ }
246
+ static deserialized(r, vi) {
247
+ const gm = new Map([
248
+ ["K", vi.genericTypes[0]],
249
+ ["V", vi.genericTypes[1]],
250
+ ["P", vi.genericTypes[2]],
251
+ ]);
252
+ const o = new PartialModMap();
253
+ o.dataSets = ReStreamDecoders.deserializeValue(r, this._fieldInfo[0].varInfo.fillGenerics(gm));
254
+ o.dataDeletes = ReStreamDecoders.deserializeValue(r, this._fieldInfo[1].varInfo.fillGenerics(gm));
255
+ o.dataMods = ReStreamDecoders.deserializeValue(r, this._fieldInfo[2].varInfo.fillGenerics(gm));
256
+ o.whole = ReStreamDecoders.deserializeValue(r, this._fieldInfo[3].varInfo.fillGenerics(gm));
257
+ return o;
258
+ }
259
+ serialize(w, vi) {
260
+ const gm = new Map([
261
+ ["K", vi.genericTypes[0]],
262
+ ["V", vi.genericTypes[1]],
263
+ ["P", vi.genericTypes[2]],
264
+ ]);
265
+ ReStreamEncoders.serializeValue(this.dataSets, w, PartialModMap._fieldInfo[0].varInfo.fillGenerics(gm));
266
+ ReStreamEncoders.serializeValue(this.dataDeletes, w, PartialModMap._fieldInfo[1].varInfo.fillGenerics(gm));
267
+ ReStreamEncoders.serializeValue(this.dataMods, w, PartialModMap._fieldInfo[2].varInfo.fillGenerics(gm));
268
+ ReStreamEncoders.serializeValue(this.whole, w, PartialModMap._fieldInfo[3].varInfo.fillGenerics(gm));
269
+ }
270
+ static _fieldInfo = [
271
+ { name: "dataSets", fieldIdx: 0, varInfo: new SerializationTypes_js_1.VarInfoMap(true, new SerializationTypes_js_1.VarInfoGenericParam("K"), new SerializationTypes_js_1.VarInfoGenericParam("V")) },
272
+ { name: "dataDeletes", fieldIdx: 1, varInfo: new SerializationTypes_js_1.VarInfoMap(true, new SerializationTypes_js_1.VarInfoGenericParam("K"), undefined) },
273
+ { name: "dataMods", fieldIdx: 2, varInfo: new SerializationTypes_js_1.VarInfoMap(true, new SerializationTypes_js_1.VarInfoGenericParam("K"), new SerializationTypes_js_1.VarInfoGenericParam("P")) },
274
+ { name: "whole", fieldIdx: 3, varInfo: new SerializationTypes_js_1.VarInfoMap(false, new SerializationTypes_js_1.VarInfoGenericParam("K"), new SerializationTypes_js_1.VarInfoGenericParam("V")) },
275
+ ];
276
+ applyTo(por) {
277
+ const ret = [];
278
+ if (this.whole) {
279
+ por.clear();
280
+ for (const [k, v] of this.whole) {
281
+ por.set(k, v);
282
+ }
283
+ ret.push([]);
284
+ }
285
+ for (const [k, v] of this.dataSets) {
286
+ por.set(k, v);
287
+ if (!this.whole) {
288
+ ret.push([k]);
289
+ }
290
+ }
291
+ for (const k of this.dataDeletes) {
292
+ por.delete(k);
293
+ if (!this.whole) {
294
+ ret.push([k]);
295
+ }
296
+ }
297
+ for (const [k, pv] of this.dataMods) {
298
+ let fs = [];
299
+ if (pv.applyTo) {
300
+ fs = pv.applyTo(por.get(k));
301
+ }
302
+ if (pv.applyOnTop) {
303
+ let nv;
304
+ [nv, fs] = pv.applyOnTop(por.get(k));
305
+ por.set(k, nv);
306
+ }
307
+ if (!this.whole) {
308
+ for (const fss of fs) {
309
+ ret.push([k, ...fss]);
310
+ }
311
+ }
312
+ }
313
+ return ret;
314
+ }
315
+ }
316
+ exports.PartialModMap = PartialModMap;
317
+ class PartialValue {
318
+ whole;
319
+ partial;
320
+ constructor() { }
321
+ static fromValues(whole = undefined, partial = undefined) {
322
+ const o = new PartialValue();
323
+ o.whole = whole;
324
+ o.partial = partial;
325
+ return o;
326
+ }
327
+ static deserialized(r, vi) {
328
+ const gm = new Map([
329
+ ["V", vi.genericTypes[0]],
330
+ ["P", vi.genericTypes[1]],
331
+ ]);
332
+ const o = new PartialValue();
333
+ o.whole = ReStreamDecoders.deserializeValue(r, this._fieldInfo[0].varInfo.fillGenerics(gm));
334
+ o.partial = ReStreamDecoders.deserializeValue(r, this._fieldInfo[1].varInfo.fillGenerics(gm));
335
+ return o;
336
+ }
337
+ serialize(w, vi) {
338
+ const gm = new Map([
339
+ ["V", vi.genericTypes[0]],
340
+ ["P", vi.genericTypes[1]],
341
+ ]);
342
+ ReStreamEncoders.serializeValue(this.whole, w, PartialValue._fieldInfo[0].varInfo.fillGenerics(gm));
343
+ ReStreamEncoders.serializeValue(this.partial, w, PartialValue._fieldInfo[1].varInfo.fillGenerics(gm));
344
+ }
345
+ static _fieldInfo = [
346
+ { name: "whole", fieldIdx: 0, varInfo: new SerializationTypes_js_1.VarInfoPointer(false, new SerializationTypes_js_1.VarInfoGenericParam("V")) },
347
+ { name: "partial", fieldIdx: 1, varInfo: new SerializationTypes_js_1.VarInfoPointer(false, new SerializationTypes_js_1.VarInfoGenericParam("P")) },
348
+ ];
349
+ applyOnTop(por) {
350
+ const ret = [por, []];
351
+ if (this.whole) {
352
+ ret[0] = this.whole;
353
+ ret[1].push([]);
354
+ }
355
+ if (this.partial) {
356
+ let fs = [];
357
+ if (this.partial.applyTo) {
358
+ fs = this.partial.applyTo(ret[0]);
359
+ }
360
+ if (this.partial.applyOnTop) {
361
+ [ret[0], fs] = this.partial.applyOnTop(ret[0]);
362
+ }
363
+ if (!this.whole) {
364
+ ret[1] = fs;
365
+ }
366
+ }
367
+ return ret;
368
+ }
369
+ }
370
+ exports.PartialValue = PartialValue;
371
+ //# sourceMappingURL=PackageRestream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageRestream.js","sourceRoot":"","sources":["../../../src/restream/PackageRestream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const resub_1 = require("resub");
7
+ const SocketHelper_js_1 = require("../websocket/SocketHelper.js");
8
+ const BinaryReader_js_1 = __importDefault(require("../utils/BinaryReader.js"));
9
+ const SubscribableEvent_js_1 = __importDefault(require("../utils/SubscribableEvent.js"));
10
+ const compoundKeyJoinerString = "%&";
11
+ class TriggerStore extends resub_1.StoreBase {
12
+ _storeName;
13
+ _stateType;
14
+ _partialType;
15
+ static _storeMap = {};
16
+ _state;
17
+ static eventSubscriptionStarted = new SubscribableEvent_js_1.default();
18
+ static eventSubscriptionStopped = new SubscribableEvent_js_1.default();
19
+ static _storeSubs = new Map();
20
+ static handleUpdateMessage(message) {
21
+ const store = this._storeMap[message.storeName];
22
+ if (!store) {
23
+ throw new Error('No store found for update message: ' + JSON.stringify(message));
24
+ }
25
+ store._processUpdateMessage(message);
26
+ }
27
+ static getStoreSubs() {
28
+ const ret = [];
29
+ for (const [storeName, keys] of this._storeSubs.entries()) {
30
+ for (const key of keys) {
31
+ ret.push({ storeName, key: key === "" ? undefined : key });
32
+ }
33
+ }
34
+ return ret;
35
+ }
36
+ constructor(_storeName, _stateType, _partialType) {
37
+ super();
38
+ this._storeName = _storeName;
39
+ this._stateType = _stateType;
40
+ this._partialType = _partialType;
41
+ if (this._storeName in TriggerStore._storeMap) {
42
+ // TODO: It's allowed to re-use a store in dev HMR
43
+ throw new Error('Store already registered: ' + this._storeName);
44
+ }
45
+ TriggerStore._storeMap[this._storeName] = this;
46
+ this._state = this._stateType.fromValues();
47
+ }
48
+ register() {
49
+ // NOOP
50
+ }
51
+ // Track when the app first starts caring and last stops caring about this store, for the streaming service
52
+ _startedTrackingSub(key) {
53
+ const wireKey = key ?? "";
54
+ let keys = TriggerStore._storeSubs.get(this._storeName);
55
+ if (!keys) {
56
+ keys = new Set();
57
+ TriggerStore._storeSubs.set(this._storeName, keys);
58
+ }
59
+ if (keys.has(wireKey)) {
60
+ throw new Error('Started tracking already tracked sub: ' + this._storeName + "/" + wireKey);
61
+ }
62
+ keys.add(wireKey);
63
+ TriggerStore.eventSubscriptionStarted.fire(this._storeName, key);
64
+ }
65
+ _stoppedTrackingSub(key) {
66
+ const wireKey = key ?? "";
67
+ const keys = TriggerStore._storeSubs.get(this._storeName);
68
+ if (!keys?.has(wireKey)) {
69
+ throw new Error('Got _stoppedTrackingKey without _hasAnySubscriptions: ' + this._storeName + "/" + wireKey);
70
+ return;
71
+ }
72
+ keys.delete(wireKey);
73
+ if (keys.size === 0) {
74
+ TriggerStore._storeSubs.delete(this._storeName);
75
+ }
76
+ TriggerStore.eventSubscriptionStopped.fire(this._storeName, key);
77
+ }
78
+ _processUpdateMessage(message) {
79
+ switch (message.kind) {
80
+ case SocketHelper_js_1.StoreUpdateMessageKind.Full: {
81
+ const msgFull = message;
82
+ this._state = this._stateType.deserialized(new BinaryReader_js_1.default(msgFull.state));
83
+ this.trigger();
84
+ break;
85
+ }
86
+ case SocketHelper_js_1.StoreUpdateMessageKind.Partial: {
87
+ const msgPartial = message;
88
+ const partial = this._partialType.deserialized(new BinaryReader_js_1.default(msgPartial.partial));
89
+ const fields = partial.applyTo(this._state);
90
+ for (const f of fields) {
91
+ this._triggerFieldUpdate(f);
92
+ }
93
+ break;
94
+ }
95
+ default:
96
+ throw new Error("Unhandled message kind: " + message.kind);
97
+ break;
98
+ }
99
+ }
100
+ _triggerFieldUpdate(field) {
101
+ if (field.length === 0) {
102
+ this.trigger();
103
+ return;
104
+ }
105
+ const fieldKey = (0, resub_1.formCompoundKey)(...field);
106
+ const keysToTrigger = new Set([fieldKey]);
107
+ for (const subscriptionKey of this._getSubscriptionKeys()) {
108
+ if (subscriptionKey === resub_1.StoreBase.Key_All) {
109
+ continue;
110
+ }
111
+ if (subscriptionKeyAffectsField(fieldKey, subscriptionKey)) {
112
+ keysToTrigger.add(subscriptionKey);
113
+ }
114
+ }
115
+ this.trigger([...keysToTrigger]);
116
+ }
117
+ }
118
+ exports.default = TriggerStore;
119
+ function subscriptionKeyAffectsField(fieldKey, subscriptionKey) {
120
+ const fieldParts = fieldKey.split(compoundKeyJoinerString);
121
+ const subscriptionParts = subscriptionKey.split(compoundKeyJoinerString);
122
+ const maxLen = Math.min(fieldParts.length, subscriptionParts.length);
123
+ for (let idx = 0; idx < maxLen; idx++) {
124
+ if (fieldParts[idx] !== subscriptionParts[idx]) {
125
+ return false;
126
+ }
127
+ }
128
+ return true;
129
+ }
130
+ //# sourceMappingURL=TriggerStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TriggerStore.js","sourceRoot":"","sources":["../../../src/stores/TriggerStore.ts"],"names":[],"mappings":"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"}