@boatkit-io/restream 0.7.5 → 0.7.6
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.
- package/dist/cjs/stores/TriggerStore.js +101 -8
- package/dist/cjs/stores/TriggerStore.js.map +1 -1
- package/dist/esm/stores/TriggerStore.d.ts +11 -5
- package/dist/esm/stores/TriggerStore.d.ts.map +1 -1
- package/dist/esm/stores/TriggerStore.js +101 -8
- package/dist/esm/stores/TriggerStore.js.map +1 -1
- package/package.json +2 -2
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const resub_1 = require("@boatkit-io/resub");
|
|
7
7
|
const SocketHelper_js_1 = require("../websocket/SocketHelper.js");
|
|
8
8
|
const BinaryReader_js_1 = __importDefault(require("../utils/BinaryReader.js"));
|
|
9
|
+
const SerializationTypes_js_1 = require("../utils/SerializationTypes.js");
|
|
9
10
|
const SubscribableEvent_js_1 = __importDefault(require("../utils/SubscribableEvent.js"));
|
|
10
11
|
const compoundKeyJoinerString = "%&";
|
|
11
12
|
class TriggerStore extends resub_1.StoreBase {
|
|
@@ -56,20 +57,23 @@ class TriggerStore extends resub_1.StoreBase {
|
|
|
56
57
|
}
|
|
57
58
|
// Track when the app first starts caring and last stops caring about this store, for the streaming service
|
|
58
59
|
_startedTrackingSub(key) {
|
|
59
|
-
const wireKey = key
|
|
60
|
+
const wireKey = this._canonicalSubscriptionKey(key);
|
|
60
61
|
let keys = TriggerStore._storeSubs.get(this._storeName);
|
|
61
62
|
if (!keys) {
|
|
62
63
|
keys = new Set();
|
|
63
64
|
TriggerStore._storeSubs.set(this._storeName, keys);
|
|
64
65
|
}
|
|
65
66
|
if (keys.has(wireKey)) {
|
|
66
|
-
|
|
67
|
+
return;
|
|
67
68
|
}
|
|
68
69
|
keys.add(wireKey);
|
|
69
|
-
TriggerStore.eventSubscriptionStarted.fire(this._storeName,
|
|
70
|
+
TriggerStore.eventSubscriptionStarted.fire(this._storeName, wireKey === "" ? undefined : wireKey);
|
|
70
71
|
}
|
|
71
72
|
_stoppedTrackingSub(key) {
|
|
72
|
-
const wireKey = key
|
|
73
|
+
const wireKey = this._canonicalSubscriptionKey(key);
|
|
74
|
+
if (this._hasActiveSubscriptionForCanonicalKey(wireKey)) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
73
77
|
const keys = TriggerStore._storeSubs.get(this._storeName);
|
|
74
78
|
if (!keys?.has(wireKey)) {
|
|
75
79
|
throw new Error('Got _stoppedTrackingKey without _hasAnySubscriptions: ' + this._storeName + "/" + wireKey);
|
|
@@ -79,7 +83,7 @@ class TriggerStore extends resub_1.StoreBase {
|
|
|
79
83
|
if (keys.size === 0) {
|
|
80
84
|
TriggerStore._storeSubs.delete(this._storeName);
|
|
81
85
|
}
|
|
82
|
-
TriggerStore.eventSubscriptionStopped.fire(this._storeName,
|
|
86
|
+
TriggerStore.eventSubscriptionStopped.fire(this._storeName, wireKey === "" ? undefined : wireKey);
|
|
83
87
|
}
|
|
84
88
|
_processUpdateMessage(message) {
|
|
85
89
|
switch (message.kind) {
|
|
@@ -108,18 +112,44 @@ class TriggerStore extends resub_1.StoreBase {
|
|
|
108
112
|
this.trigger();
|
|
109
113
|
return;
|
|
110
114
|
}
|
|
111
|
-
const fieldKey =
|
|
112
|
-
const keysToTrigger = new Set(
|
|
115
|
+
const fieldKey = this._canonicalFieldKey(field);
|
|
116
|
+
const keysToTrigger = new Set();
|
|
113
117
|
for (const subscriptionKey of this._getSubscriptionKeys()) {
|
|
114
118
|
if (subscriptionKey === resub_1.StoreBase.Key_All) {
|
|
115
119
|
continue;
|
|
116
120
|
}
|
|
117
|
-
if (subscriptionKeyAffectsField(fieldKey, subscriptionKey)) {
|
|
121
|
+
if (subscriptionKeyAffectsField(fieldKey, this._canonicalSubscriptionKey(subscriptionKey))) {
|
|
118
122
|
keysToTrigger.add(subscriptionKey);
|
|
119
123
|
}
|
|
120
124
|
}
|
|
125
|
+
if (keysToTrigger.size === 0) {
|
|
126
|
+
keysToTrigger.add(fieldKey);
|
|
127
|
+
}
|
|
121
128
|
this.trigger([...keysToTrigger]);
|
|
122
129
|
}
|
|
130
|
+
_canonicalSubscriptionKey(key) {
|
|
131
|
+
if (key === undefined || key === resub_1.StoreBase.Key_All) {
|
|
132
|
+
return "";
|
|
133
|
+
}
|
|
134
|
+
return this._canonicalFieldKey(key.split(compoundKeyJoinerString));
|
|
135
|
+
}
|
|
136
|
+
_canonicalFieldKey(field) {
|
|
137
|
+
return (0, resub_1.formCompoundKey)(...canonicalFieldPath(field, this._stateType._fieldInfo));
|
|
138
|
+
}
|
|
139
|
+
_hasActiveSubscriptionForCanonicalKey(wireKey) {
|
|
140
|
+
for (const subscriptionKey of this._getSubscriptionKeys()) {
|
|
141
|
+
if (subscriptionKey === resub_1.StoreBase.Key_All) {
|
|
142
|
+
if (wireKey === "") {
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
if (this._canonicalSubscriptionKey(subscriptionKey) === wireKey) {
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
123
153
|
}
|
|
124
154
|
exports.default = TriggerStore;
|
|
125
155
|
function subscriptionKeyAffectsField(fieldKey, subscriptionKey) {
|
|
@@ -133,4 +163,67 @@ function subscriptionKeyAffectsField(fieldKey, subscriptionKey) {
|
|
|
133
163
|
}
|
|
134
164
|
return true;
|
|
135
165
|
}
|
|
166
|
+
function canonicalFieldPath(field, rootFields) {
|
|
167
|
+
const ret = [];
|
|
168
|
+
let fields = rootFields;
|
|
169
|
+
let valueInfo;
|
|
170
|
+
for (let idx = 0; idx < field.length;) {
|
|
171
|
+
if (fields) {
|
|
172
|
+
const fieldInfo = fields.find(fi => fieldNameMatches(field[idx], fi.name));
|
|
173
|
+
if (!fieldInfo) {
|
|
174
|
+
ret.push(...field.slice(idx));
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
ret.push(clientFieldName(fieldInfo.name));
|
|
178
|
+
valueInfo = fieldInfo.varInfo;
|
|
179
|
+
fields = undefined;
|
|
180
|
+
idx++;
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
const unwrapped = unwrapPointer(valueInfo);
|
|
184
|
+
if (unwrapped instanceof SerializationTypes_js_1.VarInfoMap) {
|
|
185
|
+
ret.push(field[idx]);
|
|
186
|
+
valueInfo = unwrapped.elemType;
|
|
187
|
+
fields = fieldsForValue(valueInfo);
|
|
188
|
+
idx++;
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
if (unwrapped instanceof SerializationTypes_js_1.VarInfoArray) {
|
|
192
|
+
ret.push(field[idx]);
|
|
193
|
+
valueInfo = unwrapped.elemType;
|
|
194
|
+
fields = fieldsForValue(valueInfo);
|
|
195
|
+
idx++;
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
fields = fieldsForValue(valueInfo);
|
|
199
|
+
if (fields) {
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
ret.push(...field.slice(idx));
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
return ret;
|
|
206
|
+
}
|
|
207
|
+
function fieldNameMatches(part, fieldName) {
|
|
208
|
+
return typeof part === "string" && clientFieldName(part) === clientFieldName(fieldName);
|
|
209
|
+
}
|
|
210
|
+
function clientFieldName(name) {
|
|
211
|
+
if (name === "" || name.includes("_")) {
|
|
212
|
+
return name;
|
|
213
|
+
}
|
|
214
|
+
return name[0].toLowerCase() + name.slice(1);
|
|
215
|
+
}
|
|
216
|
+
function fieldsForValue(vi) {
|
|
217
|
+
const unwrapped = unwrapPointer(vi);
|
|
218
|
+
if (!(unwrapped instanceof SerializationTypes_js_1.VarInfoStruct)) {
|
|
219
|
+
return undefined;
|
|
220
|
+
}
|
|
221
|
+
return unwrapped.deserializer?._fieldInfo;
|
|
222
|
+
}
|
|
223
|
+
function unwrapPointer(vi) {
|
|
224
|
+
while (vi instanceof SerializationTypes_js_1.VarInfoPointer) {
|
|
225
|
+
vi = vi.subType;
|
|
226
|
+
}
|
|
227
|
+
return vi;
|
|
228
|
+
}
|
|
136
229
|
//# sourceMappingURL=TriggerStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerStore.js","sourceRoot":"","sources":["../../../src/stores/TriggerStore.ts"],"names":[],"mappings":";;;;;AAAA,6CAA+D;AAE/D,kEAA6I;AAC7I,+EAAoD;
|
|
1
|
+
{"version":3,"file":"TriggerStore.js","sourceRoot":"","sources":["../../../src/stores/TriggerStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { StoreBase } from '@boatkit-io/resub';
|
|
2
2
|
import { StoreUpdateMessage } from '../websocket/SocketHelper.js';
|
|
3
3
|
import BinaryReader from '../utils/BinaryReader.js';
|
|
4
|
-
import { PartialFor } from '../utils/SerializationTypes.js';
|
|
4
|
+
import type { FieldInfo, PartialFor } from '../utils/SerializationTypes.js';
|
|
5
5
|
import SubscribableEvent from '../utils/SubscribableEvent.js';
|
|
6
|
+
type GeneratedStateType<S extends object> = {
|
|
7
|
+
fromValues: () => S;
|
|
8
|
+
deserialized: (r: BinaryReader) => S;
|
|
9
|
+
_fieldInfo?: FieldInfo[];
|
|
10
|
+
};
|
|
6
11
|
declare global {
|
|
7
12
|
var __DEV__: boolean | undefined;
|
|
8
13
|
}
|
|
@@ -23,10 +28,7 @@ export default abstract class TriggerStore<S extends object> extends StoreBase {
|
|
|
23
28
|
key: string | undefined;
|
|
24
29
|
}[];
|
|
25
30
|
static getAllStores(): TriggerStore<object>[];
|
|
26
|
-
constructor(_storeName: string, _stateType: {
|
|
27
|
-
fromValues: () => S;
|
|
28
|
-
deserialized: (r: BinaryReader) => S;
|
|
29
|
-
}, _partialType: {
|
|
31
|
+
constructor(_storeName: string, _stateType: GeneratedStateType<S>, _partialType: {
|
|
30
32
|
deserialized: (r: BinaryReader) => PartialFor<S>;
|
|
31
33
|
});
|
|
32
34
|
register(): void;
|
|
@@ -35,5 +37,9 @@ export default abstract class TriggerStore<S extends object> extends StoreBase {
|
|
|
35
37
|
protected _stoppedTrackingSub(key?: string): void;
|
|
36
38
|
private _processUpdateMessage;
|
|
37
39
|
private _triggerFieldUpdate;
|
|
40
|
+
private _canonicalSubscriptionKey;
|
|
41
|
+
private _canonicalFieldKey;
|
|
42
|
+
private _hasActiveSubscriptionForCanonicalKey;
|
|
38
43
|
}
|
|
44
|
+
export {};
|
|
39
45
|
//# sourceMappingURL=TriggerStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerStore.d.ts","sourceRoot":"","sources":["../../../src/stores/TriggerStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAA0B,kBAAkB,EAAqD,MAAM,8BAA8B,CAAC;AAC7I,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"TriggerStore.d.ts","sourceRoot":"","sources":["../../../src/stores/TriggerStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAA0B,kBAAkB,EAAqD,MAAM,8BAA8B,CAAC;AAC7I,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EACR,SAAS,EACT,UAAU,EAEb,MAAM,gCAAgC,CAAC;AAOxC,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAI9D,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI;IACxC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpB,YAAY,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC5B,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACX,IAAI,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,YAAY,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,SAAS;IAgC9D,OAAO,CAAC,UAAU;IAAU,OAAO,CAAC,UAAU;IACtD,OAAO,CAAC,YAAY;IAhCxB,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;KAAE,CAAM;IAE/E,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAEpB,MAAM,CAAC,wBAAwB,gCAAqC,MAAM,QAAQ,MAAM,KAAK,IAAI,EAAI;IACrG,MAAM,CAAC,wBAAwB,gCAAqC,MAAM,QAAQ,MAAM,KAAK,IAAI,EAAI;IACrG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAkC;IAE3D,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB;IAStD,MAAM,CAAC,YAAY;mBACS,MAAM;aAAO,MAAM,GAAC,SAAS;;IASzD,MAAM,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;gBAIzB,UAAU,EAAE,MAAM,EAAU,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACrE,YAAY,EAAE;QAAE,YAAY,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,CAAA;KAAE;IAa9E,QAAQ,IAAI,IAAI;IAIhB,OAAO,IAAI,MAAM;cAKE,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM;cAehC,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM;IAmBnD,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,qCAAqC;CAchD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { StoreBase, formCompoundKey } from '@boatkit-io/resub';
|
|
2
2
|
import { StoreUpdateMessageKind } from '../websocket/SocketHelper.js';
|
|
3
3
|
import BinaryReader from '../utils/BinaryReader.js';
|
|
4
|
+
import { VarInfoArray, VarInfoMap, VarInfoPointer, VarInfoStruct, } from '../utils/SerializationTypes.js';
|
|
4
5
|
import SubscribableEvent from '../utils/SubscribableEvent.js';
|
|
5
6
|
const compoundKeyJoinerString = "%&";
|
|
6
7
|
export default class TriggerStore extends StoreBase {
|
|
@@ -51,20 +52,23 @@ export default class TriggerStore extends StoreBase {
|
|
|
51
52
|
}
|
|
52
53
|
// Track when the app first starts caring and last stops caring about this store, for the streaming service
|
|
53
54
|
_startedTrackingSub(key) {
|
|
54
|
-
const wireKey = key
|
|
55
|
+
const wireKey = this._canonicalSubscriptionKey(key);
|
|
55
56
|
let keys = TriggerStore._storeSubs.get(this._storeName);
|
|
56
57
|
if (!keys) {
|
|
57
58
|
keys = new Set();
|
|
58
59
|
TriggerStore._storeSubs.set(this._storeName, keys);
|
|
59
60
|
}
|
|
60
61
|
if (keys.has(wireKey)) {
|
|
61
|
-
|
|
62
|
+
return;
|
|
62
63
|
}
|
|
63
64
|
keys.add(wireKey);
|
|
64
|
-
TriggerStore.eventSubscriptionStarted.fire(this._storeName,
|
|
65
|
+
TriggerStore.eventSubscriptionStarted.fire(this._storeName, wireKey === "" ? undefined : wireKey);
|
|
65
66
|
}
|
|
66
67
|
_stoppedTrackingSub(key) {
|
|
67
|
-
const wireKey = key
|
|
68
|
+
const wireKey = this._canonicalSubscriptionKey(key);
|
|
69
|
+
if (this._hasActiveSubscriptionForCanonicalKey(wireKey)) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
68
72
|
const keys = TriggerStore._storeSubs.get(this._storeName);
|
|
69
73
|
if (!keys?.has(wireKey)) {
|
|
70
74
|
throw new Error('Got _stoppedTrackingKey without _hasAnySubscriptions: ' + this._storeName + "/" + wireKey);
|
|
@@ -74,7 +78,7 @@ export default class TriggerStore extends StoreBase {
|
|
|
74
78
|
if (keys.size === 0) {
|
|
75
79
|
TriggerStore._storeSubs.delete(this._storeName);
|
|
76
80
|
}
|
|
77
|
-
TriggerStore.eventSubscriptionStopped.fire(this._storeName,
|
|
81
|
+
TriggerStore.eventSubscriptionStopped.fire(this._storeName, wireKey === "" ? undefined : wireKey);
|
|
78
82
|
}
|
|
79
83
|
_processUpdateMessage(message) {
|
|
80
84
|
switch (message.kind) {
|
|
@@ -103,18 +107,44 @@ export default class TriggerStore extends StoreBase {
|
|
|
103
107
|
this.trigger();
|
|
104
108
|
return;
|
|
105
109
|
}
|
|
106
|
-
const fieldKey =
|
|
107
|
-
const keysToTrigger = new Set(
|
|
110
|
+
const fieldKey = this._canonicalFieldKey(field);
|
|
111
|
+
const keysToTrigger = new Set();
|
|
108
112
|
for (const subscriptionKey of this._getSubscriptionKeys()) {
|
|
109
113
|
if (subscriptionKey === StoreBase.Key_All) {
|
|
110
114
|
continue;
|
|
111
115
|
}
|
|
112
|
-
if (subscriptionKeyAffectsField(fieldKey, subscriptionKey)) {
|
|
116
|
+
if (subscriptionKeyAffectsField(fieldKey, this._canonicalSubscriptionKey(subscriptionKey))) {
|
|
113
117
|
keysToTrigger.add(subscriptionKey);
|
|
114
118
|
}
|
|
115
119
|
}
|
|
120
|
+
if (keysToTrigger.size === 0) {
|
|
121
|
+
keysToTrigger.add(fieldKey);
|
|
122
|
+
}
|
|
116
123
|
this.trigger([...keysToTrigger]);
|
|
117
124
|
}
|
|
125
|
+
_canonicalSubscriptionKey(key) {
|
|
126
|
+
if (key === undefined || key === StoreBase.Key_All) {
|
|
127
|
+
return "";
|
|
128
|
+
}
|
|
129
|
+
return this._canonicalFieldKey(key.split(compoundKeyJoinerString));
|
|
130
|
+
}
|
|
131
|
+
_canonicalFieldKey(field) {
|
|
132
|
+
return formCompoundKey(...canonicalFieldPath(field, this._stateType._fieldInfo));
|
|
133
|
+
}
|
|
134
|
+
_hasActiveSubscriptionForCanonicalKey(wireKey) {
|
|
135
|
+
for (const subscriptionKey of this._getSubscriptionKeys()) {
|
|
136
|
+
if (subscriptionKey === StoreBase.Key_All) {
|
|
137
|
+
if (wireKey === "") {
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
if (this._canonicalSubscriptionKey(subscriptionKey) === wireKey) {
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
118
148
|
}
|
|
119
149
|
function subscriptionKeyAffectsField(fieldKey, subscriptionKey) {
|
|
120
150
|
const fieldParts = fieldKey.split(compoundKeyJoinerString);
|
|
@@ -127,4 +157,67 @@ function subscriptionKeyAffectsField(fieldKey, subscriptionKey) {
|
|
|
127
157
|
}
|
|
128
158
|
return true;
|
|
129
159
|
}
|
|
160
|
+
function canonicalFieldPath(field, rootFields) {
|
|
161
|
+
const ret = [];
|
|
162
|
+
let fields = rootFields;
|
|
163
|
+
let valueInfo;
|
|
164
|
+
for (let idx = 0; idx < field.length;) {
|
|
165
|
+
if (fields) {
|
|
166
|
+
const fieldInfo = fields.find(fi => fieldNameMatches(field[idx], fi.name));
|
|
167
|
+
if (!fieldInfo) {
|
|
168
|
+
ret.push(...field.slice(idx));
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
ret.push(clientFieldName(fieldInfo.name));
|
|
172
|
+
valueInfo = fieldInfo.varInfo;
|
|
173
|
+
fields = undefined;
|
|
174
|
+
idx++;
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
const unwrapped = unwrapPointer(valueInfo);
|
|
178
|
+
if (unwrapped instanceof VarInfoMap) {
|
|
179
|
+
ret.push(field[idx]);
|
|
180
|
+
valueInfo = unwrapped.elemType;
|
|
181
|
+
fields = fieldsForValue(valueInfo);
|
|
182
|
+
idx++;
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
if (unwrapped instanceof VarInfoArray) {
|
|
186
|
+
ret.push(field[idx]);
|
|
187
|
+
valueInfo = unwrapped.elemType;
|
|
188
|
+
fields = fieldsForValue(valueInfo);
|
|
189
|
+
idx++;
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
fields = fieldsForValue(valueInfo);
|
|
193
|
+
if (fields) {
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
ret.push(...field.slice(idx));
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
return ret;
|
|
200
|
+
}
|
|
201
|
+
function fieldNameMatches(part, fieldName) {
|
|
202
|
+
return typeof part === "string" && clientFieldName(part) === clientFieldName(fieldName);
|
|
203
|
+
}
|
|
204
|
+
function clientFieldName(name) {
|
|
205
|
+
if (name === "" || name.includes("_")) {
|
|
206
|
+
return name;
|
|
207
|
+
}
|
|
208
|
+
return name[0].toLowerCase() + name.slice(1);
|
|
209
|
+
}
|
|
210
|
+
function fieldsForValue(vi) {
|
|
211
|
+
const unwrapped = unwrapPointer(vi);
|
|
212
|
+
if (!(unwrapped instanceof VarInfoStruct)) {
|
|
213
|
+
return undefined;
|
|
214
|
+
}
|
|
215
|
+
return unwrapped.deserializer?._fieldInfo;
|
|
216
|
+
}
|
|
217
|
+
function unwrapPointer(vi) {
|
|
218
|
+
while (vi instanceof VarInfoPointer) {
|
|
219
|
+
vi = vi.subType;
|
|
220
|
+
}
|
|
221
|
+
return vi;
|
|
222
|
+
}
|
|
130
223
|
//# sourceMappingURL=TriggerStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerStore.js","sourceRoot":"","sources":["../../../src/stores/TriggerStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAA8C,sBAAsB,EAA6B,MAAM,8BAA8B,CAAC;AAC7I,OAAO,YAAY,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"TriggerStore.js","sourceRoot":"","sources":["../../../src/stores/TriggerStore.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@boatkit-io/restream",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.6",
|
|
4
4
|
"description": "TypeScript helpers for ReStream clients.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@11.1.2",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"vitest": "^4.1.6"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@boatkit-io/resub": "^2.4.
|
|
56
|
+
"@boatkit-io/resub": "^2.4.2",
|
|
57
57
|
"socket.io-client": "^4.8.3"
|
|
58
58
|
}
|
|
59
59
|
}
|