@nymphjs/pubsub 1.0.0-beta.123 → 1.0.0-beta.125
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/CHANGELOG.md +12 -0
- package/dist/PubSub.js +46 -36
- package/dist/PubSub.js.map +1 -1
- package/package.json +6 -6
- package/src/PubSub.ts +87 -36
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.0.0-beta.125](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.124...v1.0.0-beta.125) (2026-09-24)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- client translation errors, pubsub qref translation, entities can contain classes in db now ([2902fe3](https://forge.sciactive.com/sciactive/nymphjs/commits/2902fe3166b456cd0d8012c10991f9a16a4a99bb))
|
|
11
|
+
|
|
12
|
+
# [1.0.0-beta.124](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.123...v1.0.0-beta.124) (2026-09-24)
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- client class translation in queries and params ([849355c](https://forge.sciactive.com/sciactive/nymphjs/commits/849355c7ad2dfb594415454c2d491b6868508434))
|
|
17
|
+
|
|
6
18
|
# [1.0.0-beta.123](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.122...v1.0.0-beta.123) (2026-09-23)
|
|
7
19
|
|
|
8
20
|
**Note:** Version bump only for package @nymphjs/pubsub
|
package/dist/PubSub.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { classNamesToEntityConstructors, } from '@nymphjs/nymph';
|
|
1
|
+
import { Entity, classNamesToEntityConstructors, referencesToEntities, entityConstructorsToClassNames, entitiesToReferences, } from '@nymphjs/nymph';
|
|
2
2
|
import ws from 'websocket';
|
|
3
3
|
import { difference } from 'lodash-es';
|
|
4
4
|
import { ConfigDefaults as defaults } from './conf/index.js';
|
|
@@ -526,13 +526,12 @@ export default class PubSub {
|
|
|
526
526
|
*/
|
|
527
527
|
async handleSubscriptionQuery(from, data, qrefParent) {
|
|
528
528
|
let args = JSON.parse(data.query);
|
|
529
|
-
let EntityClass = this.nymph.getEntityClass(args[0].class);
|
|
530
|
-
if (!EntityClass.restEnabled) {
|
|
531
|
-
throw new Error('Not accessible.');
|
|
532
|
-
}
|
|
533
|
-
const etype = EntityClass.ETYPE;
|
|
534
529
|
const serialArgs = JSON.stringify(args);
|
|
535
|
-
|
|
530
|
+
let [clientOptions, ...selectors] = args;
|
|
531
|
+
clientOptions = classNamesToEntityConstructors(this.nymph, clientOptions, true);
|
|
532
|
+
selectors = classNamesToEntityConstructors(this.nymph, referencesToEntities(selectors, this.nymph, false, true), true);
|
|
533
|
+
let EntityClass = clientOptions.class;
|
|
534
|
+
const etype = EntityClass.ETYPE;
|
|
536
535
|
const options = {
|
|
537
536
|
...clientOptions,
|
|
538
537
|
class: EntityClass,
|
|
@@ -541,21 +540,16 @@ export default class PubSub {
|
|
|
541
540
|
};
|
|
542
541
|
// Find qref queries.
|
|
543
542
|
const qrefQueries = this.findQRefQueries(clientOptions, ...selectors);
|
|
544
|
-
// Check that all qref queries are accessible classes.
|
|
545
|
-
for (const qrefQuery of qrefQueries) {
|
|
546
|
-
const args = qrefQuery;
|
|
547
|
-
const EntityClass = this.nymph.getEntityClass(args[0].class);
|
|
548
|
-
if (!EntityClass.restEnabled) {
|
|
549
|
-
throw new Error('Not accessible.');
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
543
|
if (data.action === 'subscribe') {
|
|
553
544
|
// Client is subscribing to a query.
|
|
554
545
|
// First subscribe to qrefQueries, giving this one as a reference.
|
|
555
546
|
for (const qrefQuery of qrefQueries) {
|
|
547
|
+
let [options, ...selectors] = qrefQuery;
|
|
548
|
+
options = entityConstructorsToClassNames(options);
|
|
549
|
+
selectors = entityConstructorsToClassNames(entitiesToReferences(selectors));
|
|
556
550
|
await this.handleSubscriptionQuery(from, {
|
|
557
551
|
action: 'subscribe',
|
|
558
|
-
query: JSON.stringify(
|
|
552
|
+
query: JSON.stringify([options, ...selectors]),
|
|
559
553
|
}, {
|
|
560
554
|
etype,
|
|
561
555
|
query: serialArgs,
|
|
@@ -657,9 +651,12 @@ export default class PubSub {
|
|
|
657
651
|
// Client is unsubscribing from a query.
|
|
658
652
|
// First unsubscribe from qrefQueries.
|
|
659
653
|
for (const qrefQuery of qrefQueries) {
|
|
654
|
+
let [options, ...selectors] = qrefQuery;
|
|
655
|
+
options = entityConstructorsToClassNames(options);
|
|
656
|
+
selectors = entityConstructorsToClassNames(entitiesToReferences(selectors));
|
|
660
657
|
await this.handleSubscriptionQuery(from, {
|
|
661
658
|
action: 'unsubscribe',
|
|
662
|
-
query: JSON.stringify(
|
|
659
|
+
query: JSON.stringify([options, ...selectors]),
|
|
663
660
|
}, {
|
|
664
661
|
etype,
|
|
665
662
|
query: serialArgs,
|
|
@@ -860,20 +857,24 @@ export default class PubSub {
|
|
|
860
857
|
if ((data.event === 'create' || data.event === 'update') && data.entity) {
|
|
861
858
|
// Check if it matches the query.
|
|
862
859
|
try {
|
|
863
|
-
|
|
860
|
+
let [clientOptions, ...selectors] = JSON.parse(curQuery);
|
|
861
|
+
clientOptions = classNamesToEntityConstructors(this.nymph, clientOptions, true);
|
|
862
|
+
selectors = classNamesToEntityConstructors(this.nymph, referencesToEntities(selectors, this.nymph, false, true), true);
|
|
864
863
|
const qrefQueries = this.findQRefQueries(clientOptions, ...selectors);
|
|
865
|
-
const EntityClass =
|
|
866
|
-
const
|
|
867
|
-
entityData
|
|
868
|
-
entityData.
|
|
864
|
+
const EntityClass = clientOptions.class;
|
|
865
|
+
const entityJson = classNamesToEntityConstructors(this.nymph, referencesToEntities(data.entity, this.nymph, false, true), true);
|
|
866
|
+
const entityData = entityJson.data;
|
|
867
|
+
entityData.cdate = entityJson.cdate;
|
|
868
|
+
entityData.mdate = entityJson.mdate;
|
|
869
869
|
const entitySData = {};
|
|
870
|
-
if (
|
|
870
|
+
if (!(entityJson.class.prototype instanceof Entity) ||
|
|
871
|
+
!entityJson.class.restEnabled) {
|
|
871
872
|
throw new Error(`Received entity data class is not valid: ${data.entity.class}`);
|
|
872
873
|
}
|
|
873
|
-
const DataEntityClass =
|
|
874
|
+
const DataEntityClass = entityJson.class;
|
|
874
875
|
if (EntityClass.ETYPE === DataEntityClass.ETYPE &&
|
|
875
876
|
(qrefQueries.length ||
|
|
876
|
-
this.nymph.driver.checkData(EntityClass.ETYPE, entityData, entitySData, selectors, data.guid,
|
|
877
|
+
this.nymph.driver.checkData(EntityClass.ETYPE, entityData, entitySData, selectors, data.guid, entityJson.tags ?? []))) {
|
|
877
878
|
// It either matches the query, or there are qref queries.
|
|
878
879
|
for (let curClient of curClients.keys()) {
|
|
879
880
|
if (updatedClients.has(curClient)) {
|
|
@@ -888,7 +889,7 @@ export default class PubSub {
|
|
|
888
889
|
// current data and translate them before running checkData.
|
|
889
890
|
if (qrefQueries.length) {
|
|
890
891
|
const translatedSelectors = this.translateQRefSelectors(curClient, selectors);
|
|
891
|
-
if (!this.nymph.driver.checkData(EntityClass.ETYPE, entityData, entitySData, translatedSelectors, data.guid,
|
|
892
|
+
if (!this.nymph.driver.checkData(EntityClass.ETYPE, entityData, entitySData, translatedSelectors, data.guid, entityJson.tags ?? [])) {
|
|
892
893
|
// The query doesn't match when the qref queries are filled.
|
|
893
894
|
continue;
|
|
894
895
|
}
|
|
@@ -934,12 +935,12 @@ export default class PubSub {
|
|
|
934
935
|
const [clientOptions, ...clientSelectors] = JSON.parse(query);
|
|
935
936
|
const options = {
|
|
936
937
|
...clientOptions,
|
|
937
|
-
class: nymph
|
|
938
|
+
class: classNamesToEntityConstructors(nymph, clientOptions.class, true),
|
|
938
939
|
return: 'entity',
|
|
939
940
|
source: 'client',
|
|
940
941
|
skipAc: false,
|
|
941
942
|
};
|
|
942
|
-
const selectors = classNamesToEntityConstructors(nymph, clientSelectors, true);
|
|
943
|
+
const selectors = classNamesToEntityConstructors(nymph, referencesToEntities(clientSelectors, nymph, false, true), true);
|
|
943
944
|
if (this.sessions.has(curClient)) {
|
|
944
945
|
const session = this.sessions.get(curClient);
|
|
945
946
|
authToken = session?.authToken;
|
|
@@ -1153,10 +1154,11 @@ export default class PubSub {
|
|
|
1153
1154
|
for (let i = 0; i < tmpArr.length; i++) {
|
|
1154
1155
|
const name = tmpArr[i][0];
|
|
1155
1156
|
const [qrefOptions, ...qrefSelectors] = tmpArr[i][1];
|
|
1156
|
-
const query = JSON.stringify(
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1157
|
+
const query = JSON.stringify([
|
|
1158
|
+
entityConstructorsToClassNames(qrefOptions),
|
|
1159
|
+
...entityConstructorsToClassNames(entitiesToReferences(qrefSelectors)),
|
|
1160
|
+
]);
|
|
1161
|
+
const QrefEntityClass = qrefOptions.class ?? Entity;
|
|
1160
1162
|
const data = this.querySubs[QrefEntityClass.ETYPE][query].get(client);
|
|
1161
1163
|
if (data) {
|
|
1162
1164
|
const guids = data.current;
|
|
@@ -1183,7 +1185,6 @@ export default class PubSub {
|
|
|
1183
1185
|
// selector.
|
|
1184
1186
|
let newValue;
|
|
1185
1187
|
const oldValue = newSelector['selector'];
|
|
1186
|
-
delete newSelector[key];
|
|
1187
1188
|
if (oldValue == null ||
|
|
1188
1189
|
(Array.isArray(oldValue) && !oldValue.length)) {
|
|
1189
1190
|
newValue = [];
|
|
@@ -1214,10 +1215,18 @@ export default class PubSub {
|
|
|
1214
1215
|
}
|
|
1215
1216
|
}
|
|
1216
1217
|
else if (key === 'selector' || key === '!selector') {
|
|
1217
|
-
|
|
1218
|
-
|
|
1218
|
+
// This one gets inserted for qref queries, so it might be in there
|
|
1219
|
+
// already.
|
|
1220
|
+
const tmpArr = (Array.isArray(value ?? []) ? value : [value]);
|
|
1221
|
+
if (!newSelector[key]) {
|
|
1222
|
+
newSelector[key] = [];
|
|
1223
|
+
}
|
|
1224
|
+
// It also needs to be translated.
|
|
1225
|
+
newSelector[key].push(...this.translateQRefSelectors(client, tmpArr));
|
|
1219
1226
|
}
|
|
1220
|
-
else if (key === '
|
|
1227
|
+
else if (key === '!ref') {
|
|
1228
|
+
// This one gets inserted for !qref queries, so it might be in there
|
|
1229
|
+
// already.
|
|
1221
1230
|
const tmpArr = (Array.isArray((value ?? [])[0])
|
|
1222
1231
|
? value
|
|
1223
1232
|
: [value]);
|
|
@@ -1227,6 +1236,7 @@ export default class PubSub {
|
|
|
1227
1236
|
newSelector[key].push(...tmpArr);
|
|
1228
1237
|
}
|
|
1229
1238
|
else {
|
|
1239
|
+
// This is a clause we don't need to translate.
|
|
1230
1240
|
// @ts-ignore: ts doesn't know what value is here.
|
|
1231
1241
|
newSelector[key] = value;
|
|
1232
1242
|
}
|
package/dist/PubSub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PubSub.js","sourceRoot":"","sources":["../src/PubSub.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PubSub.js","sourceRoot":"","sources":["../src/PubSub.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nymphjs/pubsub",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.125",
|
|
4
4
|
"description": "Nymph.js - PubSub Server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -37,14 +37,14 @@
|
|
|
37
37
|
},
|
|
38
38
|
"license": "Apache-2.0",
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@nymphjs/nymph": "^1.0.0-beta.
|
|
40
|
+
"@nymphjs/nymph": "^1.0.0-beta.125",
|
|
41
41
|
"lodash-es": "^4.18.1",
|
|
42
42
|
"websocket": "^1.0.35"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@nymphjs/client": "^1.0.0-beta.
|
|
46
|
-
"@nymphjs/driver-sqlite3": "^1.0.0-beta.
|
|
47
|
-
"@nymphjs/server": "^1.0.0-beta.
|
|
45
|
+
"@nymphjs/client": "^1.0.0-beta.125",
|
|
46
|
+
"@nymphjs/driver-sqlite3": "^1.0.0-beta.125",
|
|
47
|
+
"@nymphjs/server": "^1.0.0-beta.125",
|
|
48
48
|
"@swc/core": "^1.16.1",
|
|
49
49
|
"@swc/jest": "^0.2.39",
|
|
50
50
|
"@tsconfig/recommended": "^1.0.13",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"ts-node": "^10.9.2",
|
|
60
60
|
"typescript": "^7.0.2"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "b87bd7ebda690fc8c491835e44fece78dc650b9c"
|
|
63
63
|
}
|
package/src/PubSub.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Nymph,
|
|
3
|
+
Entity,
|
|
3
4
|
EntityConstructor,
|
|
4
5
|
EntityInterface,
|
|
5
6
|
Options,
|
|
6
7
|
Selector,
|
|
7
8
|
SerializedEntityData,
|
|
8
9
|
classNamesToEntityConstructors,
|
|
10
|
+
referencesToEntities,
|
|
11
|
+
entityConstructorsToClassNames,
|
|
12
|
+
entitiesToReferences,
|
|
9
13
|
} from '@nymphjs/nymph';
|
|
10
14
|
import ws from 'websocket';
|
|
11
15
|
import { difference } from 'lodash-es';
|
|
@@ -691,13 +695,21 @@ export default class PubSub {
|
|
|
691
695
|
},
|
|
692
696
|
) {
|
|
693
697
|
let args: [MessageOptions, ...Selector[]] = JSON.parse(data.query);
|
|
694
|
-
|
|
695
|
-
if (!EntityClass.restEnabled) {
|
|
696
|
-
throw new Error('Not accessible.');
|
|
697
|
-
}
|
|
698
|
-
const etype = EntityClass.ETYPE;
|
|
698
|
+
|
|
699
699
|
const serialArgs = JSON.stringify(args);
|
|
700
|
-
|
|
700
|
+
let [clientOptions, ...selectors] = args;
|
|
701
|
+
clientOptions = classNamesToEntityConstructors(
|
|
702
|
+
this.nymph,
|
|
703
|
+
clientOptions,
|
|
704
|
+
true,
|
|
705
|
+
);
|
|
706
|
+
selectors = classNamesToEntityConstructors(
|
|
707
|
+
this.nymph,
|
|
708
|
+
referencesToEntities(selectors, this.nymph, false, true),
|
|
709
|
+
true,
|
|
710
|
+
);
|
|
711
|
+
let EntityClass = clientOptions.class;
|
|
712
|
+
const etype = EntityClass.ETYPE;
|
|
701
713
|
const options: Options & { return: 'entity' } = {
|
|
702
714
|
...clientOptions,
|
|
703
715
|
class: EntityClass,
|
|
@@ -707,25 +719,21 @@ export default class PubSub {
|
|
|
707
719
|
// Find qref queries.
|
|
708
720
|
const qrefQueries = this.findQRefQueries(clientOptions, ...selectors);
|
|
709
721
|
|
|
710
|
-
// Check that all qref queries are accessible classes.
|
|
711
|
-
for (const qrefQuery of qrefQueries) {
|
|
712
|
-
const args = qrefQuery;
|
|
713
|
-
const EntityClass = this.nymph.getEntityClass(args[0].class);
|
|
714
|
-
if (!EntityClass.restEnabled) {
|
|
715
|
-
throw new Error('Not accessible.');
|
|
716
|
-
}
|
|
717
|
-
}
|
|
718
|
-
|
|
719
722
|
if (data.action === 'subscribe') {
|
|
720
723
|
// Client is subscribing to a query.
|
|
721
724
|
|
|
722
725
|
// First subscribe to qrefQueries, giving this one as a reference.
|
|
723
726
|
for (const qrefQuery of qrefQueries) {
|
|
727
|
+
let [options, ...selectors] = qrefQuery;
|
|
728
|
+
options = entityConstructorsToClassNames(options);
|
|
729
|
+
selectors = entityConstructorsToClassNames(
|
|
730
|
+
entitiesToReferences(selectors),
|
|
731
|
+
);
|
|
724
732
|
await this.handleSubscriptionQuery(
|
|
725
733
|
from,
|
|
726
734
|
{
|
|
727
735
|
action: 'subscribe',
|
|
728
|
-
query: JSON.stringify(
|
|
736
|
+
query: JSON.stringify([options, ...selectors]),
|
|
729
737
|
},
|
|
730
738
|
{
|
|
731
739
|
etype,
|
|
@@ -846,11 +854,16 @@ export default class PubSub {
|
|
|
846
854
|
|
|
847
855
|
// First unsubscribe from qrefQueries.
|
|
848
856
|
for (const qrefQuery of qrefQueries) {
|
|
857
|
+
let [options, ...selectors] = qrefQuery;
|
|
858
|
+
options = entityConstructorsToClassNames(options);
|
|
859
|
+
selectors = entityConstructorsToClassNames(
|
|
860
|
+
entitiesToReferences(selectors),
|
|
861
|
+
);
|
|
849
862
|
await this.handleSubscriptionQuery(
|
|
850
863
|
from,
|
|
851
864
|
{
|
|
852
865
|
action: 'unsubscribe',
|
|
853
|
-
query: JSON.stringify(
|
|
866
|
+
query: JSON.stringify([options, ...selectors]),
|
|
854
867
|
},
|
|
855
868
|
{
|
|
856
869
|
etype,
|
|
@@ -1118,19 +1131,37 @@ export default class PubSub {
|
|
|
1118
1131
|
if ((data.event === 'create' || data.event === 'update') && data.entity) {
|
|
1119
1132
|
// Check if it matches the query.
|
|
1120
1133
|
try {
|
|
1121
|
-
|
|
1134
|
+
let [clientOptions, ...selectors] = JSON.parse(curQuery);
|
|
1135
|
+
clientOptions = classNamesToEntityConstructors(
|
|
1136
|
+
this.nymph,
|
|
1137
|
+
clientOptions,
|
|
1138
|
+
true,
|
|
1139
|
+
);
|
|
1140
|
+
selectors = classNamesToEntityConstructors(
|
|
1141
|
+
this.nymph,
|
|
1142
|
+
referencesToEntities(selectors, this.nymph, false, true),
|
|
1143
|
+
true,
|
|
1144
|
+
);
|
|
1122
1145
|
const qrefQueries = this.findQRefQueries(clientOptions, ...selectors);
|
|
1123
|
-
const EntityClass =
|
|
1124
|
-
const
|
|
1125
|
-
|
|
1126
|
-
|
|
1146
|
+
const EntityClass = clientOptions.class;
|
|
1147
|
+
const entityJson = classNamesToEntityConstructors(
|
|
1148
|
+
this.nymph,
|
|
1149
|
+
referencesToEntities(data.entity, this.nymph, false, true),
|
|
1150
|
+
true,
|
|
1151
|
+
);
|
|
1152
|
+
const entityData = entityJson.data;
|
|
1153
|
+
entityData.cdate = entityJson.cdate;
|
|
1154
|
+
entityData.mdate = entityJson.mdate;
|
|
1127
1155
|
const entitySData: SerializedEntityData = {};
|
|
1128
|
-
if (
|
|
1156
|
+
if (
|
|
1157
|
+
!(entityJson.class.prototype instanceof Entity) ||
|
|
1158
|
+
!entityJson.class.restEnabled
|
|
1159
|
+
) {
|
|
1129
1160
|
throw new Error(
|
|
1130
1161
|
`Received entity data class is not valid: ${data.entity.class}`,
|
|
1131
1162
|
);
|
|
1132
1163
|
}
|
|
1133
|
-
const DataEntityClass =
|
|
1164
|
+
const DataEntityClass = entityJson.class as EntityConstructor;
|
|
1134
1165
|
|
|
1135
1166
|
if (
|
|
1136
1167
|
EntityClass.ETYPE === DataEntityClass.ETYPE &&
|
|
@@ -1141,7 +1172,7 @@ export default class PubSub {
|
|
|
1141
1172
|
entitySData,
|
|
1142
1173
|
selectors,
|
|
1143
1174
|
data.guid,
|
|
1144
|
-
|
|
1175
|
+
entityJson.tags ?? [],
|
|
1145
1176
|
))
|
|
1146
1177
|
) {
|
|
1147
1178
|
// It either matches the query, or there are qref queries.
|
|
@@ -1170,7 +1201,7 @@ export default class PubSub {
|
|
|
1170
1201
|
entitySData,
|
|
1171
1202
|
translatedSelectors,
|
|
1172
1203
|
data.guid,
|
|
1173
|
-
|
|
1204
|
+
entityJson.tags ?? [],
|
|
1174
1205
|
)
|
|
1175
1206
|
) {
|
|
1176
1207
|
// The query doesn't match when the qref queries are filled.
|
|
@@ -1232,14 +1263,18 @@ export default class PubSub {
|
|
|
1232
1263
|
const [clientOptions, ...clientSelectors] = JSON.parse(query);
|
|
1233
1264
|
const options: Options = {
|
|
1234
1265
|
...clientOptions,
|
|
1235
|
-
class:
|
|
1266
|
+
class: classNamesToEntityConstructors(
|
|
1267
|
+
nymph,
|
|
1268
|
+
clientOptions.class,
|
|
1269
|
+
true,
|
|
1270
|
+
),
|
|
1236
1271
|
return: 'entity',
|
|
1237
1272
|
source: 'client',
|
|
1238
1273
|
skipAc: false,
|
|
1239
1274
|
};
|
|
1240
1275
|
const selectors = classNamesToEntityConstructors(
|
|
1241
1276
|
nymph,
|
|
1242
|
-
clientSelectors,
|
|
1277
|
+
referencesToEntities(clientSelectors, nymph, false, true),
|
|
1243
1278
|
true,
|
|
1244
1279
|
);
|
|
1245
1280
|
if (this.sessions.has(curClient)) {
|
|
@@ -1559,10 +1594,13 @@ export default class PubSub {
|
|
|
1559
1594
|
for (let i = 0; i < tmpArr.length; i++) {
|
|
1560
1595
|
const name = tmpArr[i][0];
|
|
1561
1596
|
const [qrefOptions, ...qrefSelectors] = tmpArr[i][1];
|
|
1562
|
-
const query = JSON.stringify(
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1597
|
+
const query = JSON.stringify([
|
|
1598
|
+
entityConstructorsToClassNames(qrefOptions),
|
|
1599
|
+
...entityConstructorsToClassNames(
|
|
1600
|
+
entitiesToReferences(qrefSelectors),
|
|
1601
|
+
),
|
|
1602
|
+
]);
|
|
1603
|
+
const QrefEntityClass = qrefOptions.class ?? Entity;
|
|
1566
1604
|
const data =
|
|
1567
1605
|
this.querySubs[QrefEntityClass.ETYPE][query].get(client);
|
|
1568
1606
|
if (data) {
|
|
@@ -1593,7 +1631,6 @@ export default class PubSub {
|
|
|
1593
1631
|
// selector.
|
|
1594
1632
|
let newValue: Selector[];
|
|
1595
1633
|
const oldValue = newSelector['selector'];
|
|
1596
|
-
delete newSelector[key];
|
|
1597
1634
|
if (
|
|
1598
1635
|
oldValue == null ||
|
|
1599
1636
|
(Array.isArray(oldValue) && !oldValue.length)
|
|
@@ -1622,9 +1659,22 @@ export default class PubSub {
|
|
|
1622
1659
|
}
|
|
1623
1660
|
}
|
|
1624
1661
|
} else if (key === 'selector' || key === '!selector') {
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1662
|
+
// This one gets inserted for qref queries, so it might be in there
|
|
1663
|
+
// already.
|
|
1664
|
+
const tmpArr = (
|
|
1665
|
+
Array.isArray(value ?? []) ? value : [value]
|
|
1666
|
+
) as Selector[];
|
|
1667
|
+
|
|
1668
|
+
if (!newSelector[key]) {
|
|
1669
|
+
newSelector[key] = [];
|
|
1670
|
+
}
|
|
1671
|
+
// It also needs to be translated.
|
|
1672
|
+
(newSelector[key] as Selector[]).push(
|
|
1673
|
+
...this.translateQRefSelectors(client, tmpArr),
|
|
1674
|
+
);
|
|
1675
|
+
} else if (key === '!ref') {
|
|
1676
|
+
// This one gets inserted for !qref queries, so it might be in there
|
|
1677
|
+
// already.
|
|
1628
1678
|
const tmpArr = (
|
|
1629
1679
|
Array.isArray(((value as Selector['ref']) ?? [])[0])
|
|
1630
1680
|
? value
|
|
@@ -1638,6 +1688,7 @@ export default class PubSub {
|
|
|
1638
1688
|
...tmpArr,
|
|
1639
1689
|
);
|
|
1640
1690
|
} else {
|
|
1691
|
+
// This is a clause we don't need to translate.
|
|
1641
1692
|
// @ts-ignore: ts doesn't know what value is here.
|
|
1642
1693
|
newSelector[key] = value;
|
|
1643
1694
|
}
|