@gsl-lang/gql 0.0.0-stage → 0.6.0

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,313 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright (c) 2026 Pascal Dennerly.
3
+ let globalLabelIndex = null;
4
+ export function setGlobalLabelIndex(index) {
5
+ globalLabelIndex = index;
6
+ }
7
+ export function buildGlobalLabelIndex(edges) {
8
+ const index = new Map();
9
+ for (const edge of edges) {
10
+ if (edge.label) {
11
+ if (!index.has(edge.label))
12
+ index.set(edge.label, edge);
13
+ }
14
+ }
15
+ globalLabelIndex = index;
16
+ }
17
+ export class ExistsPredicate {
18
+ evaluateNode() {
19
+ return true;
20
+ }
21
+ evaluateEdge() {
22
+ return true;
23
+ }
24
+ targetType() {
25
+ return "";
26
+ }
27
+ }
28
+ export class AttributeEqualsPredicate {
29
+ target;
30
+ name;
31
+ value;
32
+ constructor(target, name, value) {
33
+ this.target = target;
34
+ this.name = name;
35
+ this.value = value;
36
+ }
37
+ evaluateNode(node) {
38
+ if (this.name === "id")
39
+ return node.id === this.value;
40
+ const val = node.attributes[this.name];
41
+ if (val === undefined)
42
+ return false;
43
+ return val === this.value;
44
+ }
45
+ evaluateEdge(edge) {
46
+ const val = edge.attributes[this.name];
47
+ if (val === undefined)
48
+ return false;
49
+ return val === this.value;
50
+ }
51
+ targetType() {
52
+ return this.target;
53
+ }
54
+ }
55
+ export class AttributeNotEqualsPredicate {
56
+ target;
57
+ name;
58
+ value;
59
+ constructor(target, name, value) {
60
+ this.target = target;
61
+ this.name = name;
62
+ this.value = value;
63
+ }
64
+ evaluateNode(node) {
65
+ if (this.name === "id")
66
+ return node.id !== this.value;
67
+ const val = node.attributes[this.name];
68
+ if (val === undefined)
69
+ return false;
70
+ return val !== this.value;
71
+ }
72
+ evaluateEdge(edge) {
73
+ const val = edge.attributes[this.name];
74
+ if (val === undefined)
75
+ return false;
76
+ return val !== this.value;
77
+ }
78
+ targetType() {
79
+ return this.target;
80
+ }
81
+ }
82
+ export class AttributeExistsPredicate {
83
+ target;
84
+ name;
85
+ constructor(target, name) {
86
+ this.target = target;
87
+ this.name = name;
88
+ }
89
+ evaluateNode(node) {
90
+ return node.attributes[this.name] !== undefined;
91
+ }
92
+ evaluateEdge(edge) {
93
+ return edge.attributes[this.name] !== undefined;
94
+ }
95
+ targetType() {
96
+ return this.target;
97
+ }
98
+ }
99
+ export class AttributeNotExistsPredicate {
100
+ target;
101
+ name;
102
+ constructor(target, name) {
103
+ this.target = target;
104
+ this.name = name;
105
+ }
106
+ evaluateNode(node) {
107
+ return node.attributes[this.name] === undefined;
108
+ }
109
+ evaluateEdge(edge) {
110
+ return edge.attributes[this.name] === undefined;
111
+ }
112
+ targetType() {
113
+ return this.target;
114
+ }
115
+ }
116
+ export class SetMembershipPredicate {
117
+ target;
118
+ setId;
119
+ constructor(target, setId) {
120
+ this.target = target;
121
+ this.setId = setId;
122
+ }
123
+ evaluateNode(node) {
124
+ return node.sets.has(this.setId);
125
+ }
126
+ evaluateEdge(edge) {
127
+ return edge.sets.has(this.setId);
128
+ }
129
+ targetType() {
130
+ return this.target;
131
+ }
132
+ }
133
+ export class SetNotMembershipPredicate {
134
+ target;
135
+ setId;
136
+ constructor(target, setId) {
137
+ this.target = target;
138
+ this.setId = setId;
139
+ }
140
+ evaluateNode(node) {
141
+ return !node.sets.has(this.setId);
142
+ }
143
+ evaluateEdge(edge) {
144
+ return !edge.sets.has(this.setId);
145
+ }
146
+ targetType() {
147
+ return this.target;
148
+ }
149
+ }
150
+ export class ParentExistsPredicate {
151
+ target;
152
+ constructor(target) {
153
+ this.target = target;
154
+ }
155
+ evaluateNode() {
156
+ return false;
157
+ }
158
+ evaluateEdge(edge) {
159
+ return edge.parent !== null && edge.parent !== "";
160
+ }
161
+ targetType() {
162
+ return this.target;
163
+ }
164
+ }
165
+ export class ParentNotExistsPredicate {
166
+ target;
167
+ constructor(target) {
168
+ this.target = target;
169
+ }
170
+ evaluateNode() {
171
+ return false;
172
+ }
173
+ evaluateEdge(edge) {
174
+ return edge.parent === null || edge.parent === "";
175
+ }
176
+ targetType() {
177
+ return this.target;
178
+ }
179
+ }
180
+ export class DepthPredicate {
181
+ operator;
182
+ value;
183
+ constructor(operator, value) {
184
+ this.operator = operator;
185
+ this.value = value;
186
+ }
187
+ evaluateNode() {
188
+ return false;
189
+ }
190
+ evaluateEdge(edge) {
191
+ const depth = this.computeDepth(edge);
192
+ if (this.operator === "==")
193
+ return depth === this.value;
194
+ if (this.operator === "!=")
195
+ return depth !== this.value;
196
+ return false;
197
+ }
198
+ computeDepth(edge) {
199
+ if (!edge.parent)
200
+ return 0;
201
+ if (globalLabelIndex !== null) {
202
+ return this.walkDepth(edge, 0, new Set());
203
+ }
204
+ return 1;
205
+ }
206
+ walkDepth(edge, depth, visited) {
207
+ if (!edge.parent)
208
+ return depth;
209
+ if (edge.label) {
210
+ if (visited.has(edge.label))
211
+ return depth;
212
+ visited.add(edge.label);
213
+ }
214
+ const parent = globalLabelIndex?.get(edge.parent);
215
+ if (!parent)
216
+ return depth + 1;
217
+ return this.walkDepth(parent, depth + 1, visited);
218
+ }
219
+ targetType() {
220
+ return "edge";
221
+ }
222
+ }
223
+ export class ParentPredicate {
224
+ target;
225
+ inner;
226
+ allEdges = null;
227
+ constructor(target, inner) {
228
+ this.target = target;
229
+ this.inner = inner;
230
+ }
231
+ evaluateNode() {
232
+ return false;
233
+ }
234
+ evaluateEdge(edge) {
235
+ if (!edge.parent)
236
+ return false;
237
+ const parent = this.findParent(edge);
238
+ if (!parent)
239
+ return false;
240
+ return this.inner.evaluateEdge(parent);
241
+ }
242
+ findParent(edge) {
243
+ if (!this.allEdges)
244
+ return null;
245
+ for (const e of this.allEdges) {
246
+ if (e.label === edge.parent)
247
+ return e;
248
+ }
249
+ return null;
250
+ }
251
+ targetType() {
252
+ return this.target;
253
+ }
254
+ }
255
+ export class AndPredicate {
256
+ left;
257
+ right;
258
+ constructor(left, right) {
259
+ this.left = left;
260
+ this.right = right;
261
+ }
262
+ evaluateNode(node) {
263
+ return this.left.evaluateNode(node) && this.right.evaluateNode(node);
264
+ }
265
+ evaluateEdge(edge) {
266
+ return this.left.evaluateEdge(edge) && this.right.evaluateEdge(edge);
267
+ }
268
+ targetType() {
269
+ const left = this.left.targetType();
270
+ const right = this.right.targetType();
271
+ if (left === "")
272
+ return right;
273
+ if (right === "")
274
+ return left;
275
+ if (left !== right)
276
+ return "error";
277
+ return left;
278
+ }
279
+ }
280
+ export class NotPredicate {
281
+ inner;
282
+ constructor(inner) {
283
+ this.inner = inner;
284
+ }
285
+ evaluateNode(node) {
286
+ return !this.inner.evaluateNode(node);
287
+ }
288
+ evaluateEdge(edge) {
289
+ return !this.inner.evaluateEdge(edge);
290
+ }
291
+ targetType() {
292
+ return this.inner.targetType();
293
+ }
294
+ }
295
+ export function isValidGraphName(name) {
296
+ if (name.length === 0)
297
+ return false;
298
+ if (name[0] < "A" || name[0] > "Z")
299
+ return false;
300
+ for (let i = 1; i < name.length; i++) {
301
+ const ch = name[i];
302
+ const ok = (ch >= "A" && ch <= "Z") ||
303
+ (ch >= "0" && ch <= "9") ||
304
+ ch === "_";
305
+ if (!ok)
306
+ return false;
307
+ }
308
+ return true;
309
+ }
310
+ export function isValidGraphRef(ref) {
311
+ return ref === "*" || isValidGraphName(ref);
312
+ }
313
+ //# sourceMappingURL=predicates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predicates.js","sourceRoot":"","sources":["../../src/predicates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,46 @@
1
1
  {
2
2
  "name": "@gsl-lang/gql",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.6.0",
4
+ "description": "GQL implementation for TypeScript",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/dnnrly/gsl-lang.git",
9
+ "directory": "implementations/typescript/packages/gql"
10
+ },
11
+ "homepage": "https://github.com/dnnrly/gsl-lang/tree/main/implementations/typescript/packages/gql",
12
+ "bugs": "https://github.com/dnnrly/gsl-lang/issues",
13
+ "publishConfig": {
14
+ "access": "public",
15
+ "registry": "https://registry.npmjs.org"
16
+ },
17
+ "type": "module",
18
+ "engines": {
19
+ "node": ">=18"
20
+ },
21
+ "files": [
22
+ "dist/src",
23
+ "README.md"
24
+ ],
25
+ "main": "./dist/src/index.js",
26
+ "types": "./dist/src/index.d.ts",
27
+ "exports": {
28
+ ".": {
29
+ "import": "./dist/src/index.js",
30
+ "types": "./dist/src/index.d.ts"
31
+ }
32
+ },
33
+ "dependencies": {
34
+ "@gsl-lang/core": "^0.6.0"
35
+ },
36
+ "scripts": {
37
+ "build": "tsc -p tsconfig.json",
38
+ "typecheck": "tsc -p tsconfig.json --noEmit",
39
+ "test": "tsc -p tsconfig.json && node --test dist/test/*.test.js",
40
+ "clean": "rm -rf dist"
41
+ },
42
+ "devDependencies": {
43
+ "@types/node": "^18.19.0",
44
+ "typescript": "^5.6.3"
45
+ }
46
+ }