@_linked/core 2.4.0 → 2.5.0-next.20260403151718

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 (43) hide show
  1. package/CHANGELOG.md +1 -45
  2. package/README.md +7 -5
  3. package/lib/cjs/expressions/ExpressionNode.d.ts +0 -44
  4. package/lib/cjs/expressions/ExpressionNode.js +12 -78
  5. package/lib/cjs/expressions/ExpressionNode.js.map +1 -1
  6. package/lib/cjs/queries/FieldSet.d.ts +8 -0
  7. package/lib/cjs/queries/FieldSet.js +29 -0
  8. package/lib/cjs/queries/FieldSet.js.map +1 -1
  9. package/lib/cjs/queries/IRCanonicalize.d.ts +25 -5
  10. package/lib/cjs/queries/IRCanonicalize.js +103 -8
  11. package/lib/cjs/queries/IRCanonicalize.js.map +1 -1
  12. package/lib/cjs/queries/IRDesugar.d.ts +28 -8
  13. package/lib/cjs/queries/IRDesugar.js +59 -8
  14. package/lib/cjs/queries/IRDesugar.js.map +1 -1
  15. package/lib/cjs/queries/IRLower.js +92 -50
  16. package/lib/cjs/queries/IRLower.js.map +1 -1
  17. package/lib/cjs/queries/SelectQuery.d.ts +45 -14
  18. package/lib/cjs/queries/SelectQuery.js +105 -136
  19. package/lib/cjs/queries/SelectQuery.js.map +1 -1
  20. package/lib/cjs/test-helpers/query-fixtures.d.ts +1 -19
  21. package/lib/cjs/test-helpers/query-fixtures.js +0 -7
  22. package/lib/cjs/test-helpers/query-fixtures.js.map +1 -1
  23. package/lib/esm/expressions/ExpressionNode.d.ts +0 -44
  24. package/lib/esm/expressions/ExpressionNode.js +11 -74
  25. package/lib/esm/expressions/ExpressionNode.js.map +1 -1
  26. package/lib/esm/queries/FieldSet.d.ts +8 -0
  27. package/lib/esm/queries/FieldSet.js +29 -0
  28. package/lib/esm/queries/FieldSet.js.map +1 -1
  29. package/lib/esm/queries/IRCanonicalize.d.ts +25 -5
  30. package/lib/esm/queries/IRCanonicalize.js +103 -8
  31. package/lib/esm/queries/IRCanonicalize.js.map +1 -1
  32. package/lib/esm/queries/IRDesugar.d.ts +28 -8
  33. package/lib/esm/queries/IRDesugar.js +59 -8
  34. package/lib/esm/queries/IRDesugar.js.map +1 -1
  35. package/lib/esm/queries/IRLower.js +93 -51
  36. package/lib/esm/queries/IRLower.js.map +1 -1
  37. package/lib/esm/queries/SelectQuery.d.ts +45 -14
  38. package/lib/esm/queries/SelectQuery.js +103 -136
  39. package/lib/esm/queries/SelectQuery.js.map +1 -1
  40. package/lib/esm/test-helpers/query-fixtures.d.ts +1 -19
  41. package/lib/esm/test-helpers/query-fixtures.js +0 -7
  42. package/lib/esm/test-helpers/query-fixtures.js.map +1 -1
  43. package/package.json +2 -2
@@ -8,7 +8,7 @@ import type { IRSelectQuery } from './IntermediateRepresentation.js';
8
8
  import { FieldSet } from './FieldSet.js';
9
9
  import { PropertyPath } from './PropertyPath.js';
10
10
  import type { QueryBuilder } from './QueryBuilder.js';
11
- import { ExpressionNode, ExistsCondition } from '../expressions/ExpressionNode.js';
11
+ import { ExpressionNode } from '../expressions/ExpressionNode.js';
12
12
  /**
13
13
  * The canonical SelectQuery type — an IR AST node representing a select query.
14
14
  * This is the type received by IQuadStore.selectQuery().
@@ -26,7 +26,7 @@ export type SingleResult<ResultType> = ResultType extends Array<infer R> ? R : R
26
26
  * All the possible types that a regular get/set method of a Shape can return
27
27
  */
28
28
  export type AccessorReturnValue = Shape | ShapeSet | JSPrimitive | NodeReferenceValue;
29
- export type WhereClause<S extends Shape | AccessorReturnValue> = ExpressionNode | ExistsCondition | ((s: ToQueryBuilderObject<S>) => ExpressionNode | ExistsCondition);
29
+ export type WhereClause<S extends Shape | AccessorReturnValue> = Evaluation | ExpressionNode | ((s: ToQueryBuilderObject<S>) => Evaluation | ExpressionNode);
30
30
  export type QueryBuildFn<T extends Shape, ResponseType> = (p: ToQueryBuilderObject<T>) => ResponseType;
31
31
  export type QueryWrapperObject<ShapeType extends Shape = any> = {
32
32
  [key: string]: FieldSet<any, any>;
@@ -51,6 +51,22 @@ export type PropertyQueryStep = {
51
51
  property: PropertyShape;
52
52
  where?: WherePath;
53
53
  };
54
+ export type WhereAndOr = {
55
+ firstPath: WherePath;
56
+ andOr: AndOrQueryToken[];
57
+ };
58
+ /**
59
+ * A WhereQuery is a (sub)query that is used to filter down the results of its parent query.
60
+ */
61
+ export type AndOrQueryToken = {
62
+ and?: WherePath;
63
+ or?: WherePath;
64
+ };
65
+ export declare enum WhereMethods {
66
+ EQUALS = "=",
67
+ SOME = "some",
68
+ EVERY = "every"
69
+ }
54
70
  /**
55
71
  * Maps all the return types of get/set methods of a Shape and maps their return types to QueryBuilderObjects
56
72
  */
@@ -83,10 +99,13 @@ export type ToQueryPrimitive<T extends string | number | Date | boolean, Source,
83
99
  export type WhereExpressionPath = {
84
100
  expressionNode: ExpressionNode;
85
101
  };
86
- export type WhereExistsPath = {
87
- existsCondition: ExistsCondition;
102
+ export type WherePath = WhereEvaluationPath | WhereAndOr | WhereExpressionPath;
103
+ export type WhereEvaluationPath = {
104
+ path: QueryPropertyPath;
105
+ method: WhereMethods;
106
+ args: QueryArg[];
88
107
  };
89
- export type WherePath = WhereExpressionPath | WhereExistsPath;
108
+ export declare const isWhereEvaluationPath: (value: WherePath) => value is WhereEvaluationPath;
90
109
  /**
91
110
  * An argument can be a direct reference to a node, a js primitive (boolean,number), a path to resolve (like from a query context variables)
92
111
  * Or a wherePath in the case of some() or every() (e.g. x.where(x.friends.some(f => f.age > 18) -> the argument is a wherePath)
@@ -138,7 +157,7 @@ export type ToQueryResultSet<T> = T extends FieldSet<infer ResponseType, any> ?
138
157
  /**
139
158
  * MAIN ENTRY to convert the response of a query into a result object
140
159
  */
141
- export type QueryResponseToResultType<T, QShapeType extends Shape = null, HasName = false> = T extends QueryBuilderObject ? GetQueryObjectResultType<T, {}, false, HasName> : T extends FieldSet<infer Response, infer Source> ? GetNestedQueryResultType<Response, Source> : T extends Array<infer Type> ? UnionToIntersection<QueryResponseToResultType<Type>> : T extends ExpressionNode ? boolean : T extends Object ? QResult<QShapeType, Prettify<ObjectToPlainResult<T>>> : never & {
160
+ export type QueryResponseToResultType<T, QShapeType extends Shape = null, HasName = false> = T extends QueryBuilderObject ? GetQueryObjectResultType<T, {}, false, HasName> : T extends FieldSet<infer Response, infer Source> ? GetNestedQueryResultType<Response, Source> : T extends Array<infer Type> ? UnionToIntersection<QueryResponseToResultType<Type>> : T extends Evaluation ? boolean : T extends Object ? QResult<QShapeType, Prettify<ObjectToPlainResult<T>>> : never & {
142
161
  __error: 'QueryResponseToResultType: unmatched query response type';
143
162
  };
144
163
  /**
@@ -250,10 +269,9 @@ export declare class QueryShapeSet<S extends Shape = Shape, Source = any, Proper
250
269
  where(validation: WhereClause<S>): this;
251
270
  select<QF = unknown>(subQueryFn: QueryBuildFn<S, QF>): FieldSet<QF, QueryShapeSet<S, Source, Property>>;
252
271
  selectAll(): FieldSet<SelectAllQueryResponse<S>, QueryShapeSet<S, Source, Property>>;
253
- some(validation: WhereClause<S>): ExistsCondition;
254
- every(validation: WhereClause<S>): ExistsCondition;
255
- none(validation: WhereClause<S>): ExistsCondition;
256
- private buildPredicateExpression;
272
+ some(validation: WhereClause<S>): SetEvaluation;
273
+ every(validation: WhereClause<S>): SetEvaluation;
274
+ private someOrEvery;
257
275
  }
258
276
  export declare class QueryShape<S extends Shape = Shape, Source = any, Property extends string | number | symbol = any> extends QueryBuilderObject<S, Source, Property> {
259
277
  originalValue: S;
@@ -264,10 +282,24 @@ export declare class QueryShape<S extends Shape = Shape, Source = any, Property
264
282
  static create(original: Shape, property?: PropertyShape, subject?: QueryShape<any> | QueryShapeSet<any>): any;
265
283
  private static proxifyQueryShape;
266
284
  as<ShapeClass extends typeof Shape>(shape: ShapeClass): QShape<InstanceType<ShapeClass>, Source, Property>;
267
- equals(otherValue: NodeReferenceValue | QShape<any>): ExpressionNode;
285
+ equals(otherValue: NodeReferenceValue | QShape<any>): Evaluation;
268
286
  select<QF = unknown>(subQueryFn: QueryBuildFn<S, QF>): FieldSet<QF, QueryShape<S, Source, Property>>;
269
287
  selectAll(): FieldSet<SelectAllQueryResponse<S>, QueryShape<S, Source, Property>>;
270
288
  }
289
+ export declare class Evaluation {
290
+ value: QueryBuilderObject | QueryPrimitiveSet;
291
+ method: WhereMethods;
292
+ args: QueryArg[];
293
+ private _andOr;
294
+ constructor(value: QueryBuilderObject | QueryPrimitiveSet, method: WhereMethods, args: QueryArg[]);
295
+ getPropertyPath(): WherePath;
296
+ processArgs(): QueryArg[];
297
+ getWherePath(): WherePath;
298
+ and(subQuery: WhereClause<any>): this;
299
+ or(subQuery: WhereClause<any>): this;
300
+ }
301
+ declare class SetEvaluation extends Evaluation {
302
+ }
271
303
  /**
272
304
  * Concrete query wrapper for JS primitive values (string, number, boolean, Date).
273
305
  *
@@ -280,7 +312,7 @@ export declare class QueryPrimitive<T, Source = any, Property extends string | n
280
312
  property?: PropertyShape;
281
313
  subject?: QueryShape<any> | QueryShapeSet<any> | QueryPrimitiveSet;
282
314
  constructor(originalValue?: T, property?: PropertyShape, subject?: QueryShape<any> | QueryShapeSet<any> | QueryPrimitiveSet);
283
- equals(otherValue: JSPrimitive | QueryBuilderObject): ExpressionNode;
315
+ equals(otherValue: JSPrimitive | QueryBuilderObject): Evaluation;
284
316
  where(validation: WhereClause<string>): this;
285
317
  }
286
318
  export declare class QueryPrimitiveSet<QPrimitive extends QueryPrimitive<any> = null> extends QueryBuilderObject<any, any, any> {
@@ -292,7 +324,7 @@ export declare class QueryPrimitiveSet<QPrimitive extends QueryPrimitive<any> =
292
324
  add(item: any): void;
293
325
  values(): QPrimitive[];
294
326
  createNew(...args: any[]): this;
295
- equals(other: any): ExpressionNode;
327
+ equals(other: any): Evaluation;
296
328
  getPropertyStep(): QueryStep;
297
329
  getPropertyPath(): QueryPropertyPath;
298
330
  size(): SetSize<this>;
@@ -302,7 +334,6 @@ export declare class SetSize<Source = null> extends QueryPrimitive<number, Sourc
302
334
  countable?: QueryBuilderObject;
303
335
  label?: string;
304
336
  constructor(subject: QueryShapeSet | QueryShape | QueryPrimitiveSet, countable?: QueryBuilderObject, label?: string);
305
- equals(otherValue: any): ExpressionNode;
306
337
  as(label: string): this;
307
338
  getPropertyPath(): QueryPropertyPath;
308
339
  }
@@ -7,8 +7,18 @@ import { xsd } from '../ontologies/xsd.js';
7
7
  import { createProxiedPathBuilder } from './ProxiedPathBuilder.js';
8
8
  import { FieldSet } from './FieldSet.js';
9
9
  import { PropertyPath } from './PropertyPath.js';
10
- import { ExpressionNode, ExistsCondition, isExpressionNode, isExistsCondition, tracedPropertyExpression, tracedAliasExpression } from '../expressions/ExpressionNode.js';
10
+ import { isExpressionNode, tracedPropertyExpression } from '../expressions/ExpressionNode.js';
11
11
  const isSameRef = (a, b) => !!a && !!b && a.id === b.id;
12
+ export var WhereMethods;
13
+ (function (WhereMethods) {
14
+ WhereMethods["EQUALS"] = "=";
15
+ WhereMethods["SOME"] = "some";
16
+ WhereMethods["EVERY"] = "every";
17
+ })(WhereMethods || (WhereMethods = {}));
18
+ // WherePath can also be an and/or wrapper; use this guard to safely access args.
19
+ export const isWhereEvaluationPath = (value) => {
20
+ return !!value && 'args' in value;
21
+ };
12
22
  /**
13
23
  * ###################################
14
24
  * #### QUERY BUILDING CLASSES ####
@@ -226,19 +236,13 @@ export const processWhereClause = (validation, shape) => {
226
236
  if (isExpressionNode(result)) {
227
237
  return { expressionNode: result };
228
238
  }
229
- if (isExistsCondition(result)) {
230
- return { existsCondition: result };
231
- }
232
- throw new Error('WHERE callback must return ExpressionNode or ExistsCondition');
239
+ return result.getWherePath();
233
240
  }
234
241
  else if (isExpressionNode(validation)) {
235
242
  return { expressionNode: validation };
236
243
  }
237
- else if (isExistsCondition(validation)) {
238
- return { existsCondition: validation };
239
- }
240
244
  else {
241
- throw new Error('WHERE clause must be ExpressionNode, ExistsCondition, or a callback');
245
+ return validation.getWherePath();
242
246
  }
243
247
  };
244
248
  // ---------------------------------------------------------------------------
@@ -246,7 +250,7 @@ export const processWhereClause = (validation, shape) => {
246
250
  // ---------------------------------------------------------------------------
247
251
  const EXPRESSION_METHODS = new Set([
248
252
  'plus', 'minus', 'times', 'divide', 'abs', 'round', 'ceil', 'floor', 'power',
249
- 'equals', 'eq', 'neq', 'notEquals', 'gt', 'greaterThan', 'gte', 'greaterThanOrEqual',
253
+ 'eq', 'neq', 'notEquals', 'gt', 'greaterThan', 'gte', 'greaterThanOrEqual',
250
254
  'lt', 'lessThan', 'lte', 'lessThanOrEqual',
251
255
  'concat', 'contains', 'startsWith', 'endsWith', 'substr', 'before', 'after',
252
256
  'replace', 'ucase', 'lcase', 'strlen', 'encodeForUri', 'matches',
@@ -256,83 +260,23 @@ const EXPRESSION_METHODS = new Set([
256
260
  'lang', 'datatype', 'str', 'iri', 'isIri', 'isLiteral', 'isBlank', 'isNumeric',
257
261
  'md5', 'sha256', 'sha512',
258
262
  ]);
259
- /**
260
- * Convert a QueryBuilderObject to a traced ExpressionNode by extracting its
261
- * property path segments and creating a property expression reference.
262
- * This is the bridge between the query proxy world and the expression IR world.
263
- */
264
- function toExpressionNode(qbo) {
265
- // Check if this is a query context reference
266
- const contextId = findContextId(qbo);
267
- if (contextId) {
268
- const segments = FieldSet.collectPropertySegments(qbo);
269
- if (segments.length > 0) {
270
- // Context property access (e.g. getQueryContext('user').name) → context_property_expr
271
- const lastSegment = segments[segments.length - 1].id;
272
- const ir = { kind: 'context_property_expr', contextIri: contextId, property: lastSegment };
273
- return new ExpressionNode(ir);
274
- }
275
- // Context root reference (e.g. getQueryContext('user')) → reference_expr with the context IRI
276
- const ir = { kind: 'reference_expr', value: contextId };
277
- return new ExpressionNode(ir);
278
- }
279
- const segments = FieldSet.collectPropertySegments(qbo);
280
- if (segments.length === 0) {
281
- // Root shape or entity reference — produce alias expression (the entity itself)
282
- return tracedAliasExpression([]);
283
- }
284
- const segmentIds = segments.map((s) => s.id);
285
- return tracedPropertyExpression(segmentIds);
286
- }
287
- /** Walk up the QueryBuilderObject chain to find a query context ID. */
288
- function findContextId(qbo) {
289
- var _a;
290
- let current = qbo;
291
- while (current) {
292
- if (current instanceof QueryShape && ((_a = current.originalValue) === null || _a === void 0 ? void 0 : _a.__queryContextId)) {
293
- return current.originalValue.__queryContextId;
294
- }
295
- current = current.subject;
296
- }
297
- return undefined;
298
- }
299
- /**
300
- * A wrapper for inline `.where()` on primitives that produces alias-based expressions.
301
- * When `p.hobby.where(h => h.equals('Jogging'))` is called, `h` should reference
302
- * the hobby variable itself (alias), not traverse to a sub-property.
303
- */
304
- class InlineWhereProxy extends QueryBuilderObject {
305
- constructor(source) {
306
- super(source.property, source.subject);
307
- this.source = source;
308
- }
309
- equals(otherValue) {
310
- // Empty traversal = "the current alias" — resolved by lowering
311
- // against the property's own alias scope
312
- const self = tracedAliasExpression([]);
313
- return self.eq(otherValue);
314
- }
315
- }
316
263
  /**
317
264
  * Wrap a QueryPrimitive in a Proxy that intercepts expression method calls.
318
- * When an expression method (e.g., `.plus()`, `.gt()`, `.equals()`) is accessed,
319
- * creates a traced ExpressionNode based on the QueryPrimitive's property path.
265
+ * When an expression method (e.g., `.plus()`, `.gt()`) is accessed, creates a
266
+ * traced ExpressionNode based on the QueryPrimitive's property path.
267
+ *
268
+ * Note: `.equals()` is intentionally excluded — it's an existing QueryPrimitive
269
+ * method that returns an Evaluation (for WHERE clauses). Use `.eq()` for the
270
+ * expression form.
320
271
  */
321
272
  function wrapWithExpressionProxy(qp) {
322
273
  return new Proxy(qp, {
323
274
  get(target, key, receiver) {
324
275
  if (typeof key === 'string' && EXPRESSION_METHODS.has(key)) {
325
276
  const segments = FieldSet.collectPropertySegments(target);
326
- // Only intercept if we have valid property segments to trace
327
- if (segments.length > 0) {
328
- const segmentIds = segments.map((s) => s.id);
329
- const baseNode = tracedPropertyExpression(segmentIds);
330
- return (...args) => {
331
- // Convert QueryBuilderObject arguments to ExpressionNode
332
- const convertedArgs = args.map((arg) => { var _a; return arg instanceof QueryBuilderObject ? ((_a = toExpressionNode(arg)) !== null && _a !== void 0 ? _a : arg) : arg; });
333
- return baseNode[key](...convertedArgs);
334
- };
335
- }
277
+ const segmentIds = segments.map((s) => s.id);
278
+ const baseNode = tracedPropertyExpression(segmentIds);
279
+ return (...args) => baseNode[key](...args);
336
280
  }
337
281
  return Reflect.get(target, key, receiver);
338
282
  },
@@ -533,36 +477,17 @@ export class QueryShapeSet extends QueryBuilderObject {
533
477
  return this.select((shape) => propertyLabels.map((label) => shape[label]));
534
478
  }
535
479
  some(validation) {
536
- const predicate = this.buildPredicateExpression(validation);
537
- const pathSegmentIds = FieldSet.collectPropertySegments(this).map(s => s.id);
538
- return new ExistsCondition(pathSegmentIds, predicate, false);
480
+ return this.someOrEvery(validation, WhereMethods.SOME);
539
481
  }
540
482
  every(validation) {
541
- // every(fn) = NOT EXISTS(path WHERE NOT(fn))
542
- const predicate = this.buildPredicateExpression(validation);
543
- const pathSegmentIds = FieldSet.collectPropertySegments(this).map(s => s.id);
544
- return new ExistsCondition(pathSegmentIds, predicate.not(), true);
545
- }
546
- none(validation) {
547
- // none(fn) = NOT EXISTS(path WHERE fn) = some(fn).not()
548
- const predicate = this.buildPredicateExpression(validation);
549
- const pathSegmentIds = FieldSet.collectPropertySegments(this).map(s => s.id);
550
- return new ExistsCondition(pathSegmentIds, predicate, true);
551
- }
552
- buildPredicateExpression(validation) {
553
- const leastSpecificShape = this.getOriginalValue().getLeastSpecificShape();
554
- if (validation instanceof Function) {
555
- const proxy = createProxiedPathBuilder(leastSpecificShape);
556
- const result = validation(proxy);
557
- if (isExpressionNode(result)) {
558
- return result;
559
- }
560
- throw new Error('Validation callback must return an ExpressionNode or ExistsCondition');
561
- }
562
- if (isExpressionNode(validation)) {
563
- return validation;
564
- }
565
- throw new Error('Expected a callback or ExpressionNode for some/every/none');
483
+ return this.someOrEvery(validation, WhereMethods.EVERY);
484
+ }
485
+ someOrEvery(validation, method) {
486
+ let leastSpecificShape = this.getOriginalValue().getLeastSpecificShape();
487
+ //do we need to store this here? or are we accessing the evaluation and then going backwards?
488
+ //in that case just pass it to the evaluation and don't use this.wherePath
489
+ let wherePath = processWhereClause(validation, leastSpecificShape);
490
+ return new SetEvaluation(this, method, [wherePath]);
566
491
  }
567
492
  }
568
493
  export class QueryShape extends QueryBuilderObject {
@@ -628,11 +553,7 @@ export class QueryShape extends QueryBuilderObject {
628
553
  return this;
629
554
  }
630
555
  equals(otherValue) {
631
- const self = toExpressionNode(this);
632
- const arg = otherValue instanceof QueryBuilderObject
633
- ? toExpressionNode(otherValue)
634
- : otherValue;
635
- return self.eq(arg);
556
+ return new Evaluation(this, WhereMethods.EQUALS, [otherValue]);
636
557
  }
637
558
  select(subQueryFn) {
638
559
  const leastSpecificShape = getShapeClass(this.getOriginalValue().nodeShape.id);
@@ -648,6 +569,71 @@ export class QueryShape extends QueryBuilderObject {
648
569
  return this.select((shape) => propertyLabels.map((label) => shape[label]));
649
570
  }
650
571
  }
572
+ export class Evaluation {
573
+ constructor(value, method, args) {
574
+ this.value = value;
575
+ this.method = method;
576
+ this.args = args;
577
+ this._andOr = [];
578
+ }
579
+ getPropertyPath() {
580
+ return this.getWherePath();
581
+ }
582
+ processArgs() {
583
+ //if the args are not an array, then we convert them to an array
584
+ if (!this.args || !Array.isArray(this.args)) {
585
+ return [];
586
+ }
587
+ //convert each arg to a QueryBuilderObject
588
+ return this.args.map((arg) => {
589
+ if (arg instanceof QueryBuilderObject) {
590
+ let path = arg.getPropertyPath();
591
+ let subject;
592
+ if (path[0] && path[0].id) {
593
+ subject = path.shift();
594
+ }
595
+ if ((!path || path.length === 0) && subject) {
596
+ return subject;
597
+ }
598
+ return {
599
+ path,
600
+ subject,
601
+ };
602
+ }
603
+ else {
604
+ return arg;
605
+ }
606
+ });
607
+ }
608
+ getWherePath() {
609
+ let evalPath = {
610
+ path: this.value.getPropertyPath(),
611
+ method: this.method,
612
+ args: this.processArgs(),
613
+ };
614
+ if (this._andOr.length > 0) {
615
+ return {
616
+ firstPath: evalPath,
617
+ andOr: this._andOr,
618
+ };
619
+ }
620
+ return evalPath;
621
+ }
622
+ and(subQuery) {
623
+ this._andOr.push({
624
+ and: processWhereClause(subQuery),
625
+ });
626
+ return this;
627
+ }
628
+ or(subQuery) {
629
+ this._andOr.push({
630
+ or: processWhereClause(subQuery),
631
+ });
632
+ return this;
633
+ }
634
+ }
635
+ class SetEvaluation extends Evaluation {
636
+ }
651
637
  /**
652
638
  * Concrete query wrapper for JS primitive values (string, number, boolean, Date).
653
639
  *
@@ -663,18 +649,12 @@ export class QueryPrimitive extends QueryBuilderObject {
663
649
  this.subject = subject;
664
650
  }
665
651
  equals(otherValue) {
666
- const self = toExpressionNode(this);
667
- const arg = otherValue instanceof QueryBuilderObject
668
- ? toExpressionNode(otherValue)
669
- : otherValue;
670
- return self.eq(arg);
652
+ //TODO: review types, this is working but currently QueryBuilderObject is not accepted as a type of args
653
+ return new Evaluation(this, WhereMethods.EQUALS, [otherValue]);
671
654
  }
672
655
  where(validation) {
673
- // For inline where on a primitive (p.hobby.where(h => h.equals(...))),
674
- // pass a clone that produces alias expressions (the bound value itself)
675
- // rather than property traversals
676
- const selfAsAlias = new InlineWhereProxy(this);
677
- this.wherePath = processWhereClause(validation, selfAsAlias);
656
+ // let nodeShape = this.subject.getOriginalValue().nodeShape;
657
+ this.wherePath = processWhereClause(validation, new QueryPrimitive(''));
678
658
  //return this because after Shape.friends.where() we can call other methods of Shape.friends
679
659
  return this;
680
660
  }
@@ -700,7 +680,7 @@ export class QueryPrimitiveSet extends QueryBuilderObject {
700
680
  //TODO: see if we can merge these methods of QueryPrimitive and QueryPrimitiveSet
701
681
  // so that they're only defined once
702
682
  equals(other) {
703
- return toExpressionNode(this).eq(other);
683
+ return new Evaluation(this, WhereMethods.EQUALS, [other]);
704
684
  }
705
685
  getPropertyStep() {
706
686
  if (this.contents.size > 1) {
@@ -739,19 +719,6 @@ export class SetSize extends QueryPrimitive {
739
719
  this.countable = countable;
740
720
  this.label = label;
741
721
  }
742
- // Build an aggregate_expr(count, ...) ExpressionNode for the counted property
743
- equals(otherValue) {
744
- const countedSegments = FieldSet.collectPropertySegments(this.subject);
745
- const countedIds = countedSegments.map(s => s.id);
746
- const countedNode = tracedPropertyExpression(countedIds);
747
- // Wrap in aggregate_expr(count)
748
- const countExpr = new ExpressionNode({
749
- kind: 'aggregate_expr',
750
- name: 'count',
751
- args: [countedNode.ir],
752
- }, countedNode._refs);
753
- return countExpr.eq(otherValue);
754
- }
755
722
  as(label) {
756
723
  this.label = label;
757
724
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectQuery.js","sourceRoot":"","sources":["../../../src/queries/SelectQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectQuery.js","sourceRoot":"","sources":["../../../src/queries/SelectQuery.ts"],"names":[],"mappings":"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"}
@@ -179,24 +179,6 @@ export declare const queryFactories: {
179
179
  whereSomeImplicit: () => QueryBuilder<Person, unknown, import("../queries/SelectQuery").QResult<Person, {}>[]>;
180
180
  whereSomeExplicit: () => QueryBuilder<Person, unknown, import("../queries/SelectQuery").QResult<Person, {}>[]>;
181
181
  whereEvery: () => QueryBuilder<Person, unknown, import("../queries/SelectQuery").QResult<Person, {}>[]>;
182
- whereNone: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
183
- name: string;
184
- }>[]>;
185
- whereSomeNot: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
186
- name: string;
187
- }>[]>;
188
- whereEqualsNot: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
189
- name: string;
190
- }>[]>;
191
- whereNoneAndEquals: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
192
- name: string;
193
- }>[]>;
194
- whereNeq: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
195
- name: string;
196
- }>[]>;
197
- whereExprNot: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
198
- name: string;
199
- }>[]>;
200
182
  whereSequences: () => QueryBuilder<Person, unknown, import("../queries/SelectQuery").QResult<Person, {}>[]>;
201
183
  outerWhere: () => QueryBuilder<Person, import("../queries/SelectQuery").QShapeSet<Person, import("../queries/SelectQuery").QShape<Person, null, "">, "friends">, import("../queries/SelectQuery").QResult<Person, {
202
184
  friends: import("../queries/SelectQuery").QResult<Person, {}>[];
@@ -339,7 +321,7 @@ export declare const queryFactories: {
339
321
  }>;
340
322
  }>[]>;
341
323
  customResultEqualsBoolean: () => QueryBuilder<Person, {
342
- isBestFriend: import("..").ExpressionNode;
324
+ isBestFriend: import("../queries/SelectQuery").Evaluation;
343
325
  }, import("../queries/SelectQuery").QResult<Person, {
344
326
  isBestFriend: boolean;
345
327
  }>[]>;
@@ -10,7 +10,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import { linkedShape } from '../package';
11
11
  import { literalProperty, objectProperty } from '../shapes/SHACL';
12
12
  import { Shape } from '../shapes/Shape';
13
- import { Expr } from '../expressions/Expr';
14
13
  import { xsd } from '../ontologies/xsd';
15
14
  import { ShapeSet } from '../collections/ShapeSet';
16
15
  import { getQueryContext } from '../queries/QueryContext';
@@ -251,12 +250,6 @@ export const queryFactories = {
251
250
  whereSomeImplicit: () => Person.select().where((p) => p.friends.name.equals('Moa')),
252
251
  whereSomeExplicit: () => Person.select().where((p) => p.friends.some((f) => f.name.equals('Moa'))),
253
252
  whereEvery: () => Person.select().where((p) => p.friends.every((f) => f.name.equals('Moa').or(f.name.equals('Jinx')))),
254
- whereNone: () => Person.select((p) => p.name).where((p) => p.friends.none((f) => f.hobby.equals('Chess'))),
255
- whereSomeNot: () => Person.select((p) => p.name).where((p) => p.friends.some((f) => f.hobby.equals('Chess')).not()),
256
- whereEqualsNot: () => Person.select((p) => p.name).where((p) => p.name.equals('Alice').not()),
257
- whereNoneAndEquals: () => Person.select((p) => p.name).where((p) => p.friends.none((f) => f.hobby.equals('Chess')).and(p.name.equals('Bob'))),
258
- whereNeq: () => Person.select((p) => p.name).where(((p) => p.name.neq('Alice'))),
259
- whereExprNot: () => Person.select((p) => p.name).where((p) => Expr.not(p.name.equals('Alice').and(p.hobby.equals('Chess')))),
260
253
  whereSequences: () => Person.select().where((p) => p.friends
261
254
  .some((f) => f.name.equals('Jinx'))
262
255
  .and(p.name.equals('Semmy'))),