@_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
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SetSize = exports.QueryPrimitiveSet = exports.QueryPrimitive = exports.QueryShape = exports.QueryShapeSet = exports.evaluateSortCallback = exports.processWhereClause = exports.BoundComponent = exports.QueryBuilderObject = void 0;
3
+ exports.SetSize = exports.QueryPrimitiveSet = exports.QueryPrimitive = exports.Evaluation = exports.QueryShape = exports.QueryShapeSet = exports.evaluateSortCallback = exports.processWhereClause = exports.BoundComponent = exports.QueryBuilderObject = exports.isWhereEvaluationPath = exports.WhereMethods = void 0;
4
4
  const Shape_js_1 = require("../shapes/Shape.js");
5
5
  const ShapeSet_js_1 = require("../collections/ShapeSet.js");
6
6
  const shacl_js_1 = require("../ontologies/shacl.js");
@@ -12,6 +12,17 @@ const FieldSet_js_1 = require("./FieldSet.js");
12
12
  const PropertyPath_js_1 = require("./PropertyPath.js");
13
13
  const ExpressionNode_js_1 = require("../expressions/ExpressionNode.js");
14
14
  const isSameRef = (a, b) => !!a && !!b && a.id === b.id;
15
+ var WhereMethods;
16
+ (function (WhereMethods) {
17
+ WhereMethods["EQUALS"] = "=";
18
+ WhereMethods["SOME"] = "some";
19
+ WhereMethods["EVERY"] = "every";
20
+ })(WhereMethods || (exports.WhereMethods = WhereMethods = {}));
21
+ // WherePath can also be an and/or wrapper; use this guard to safely access args.
22
+ const isWhereEvaluationPath = (value) => {
23
+ return !!value && 'args' in value;
24
+ };
25
+ exports.isWhereEvaluationPath = isWhereEvaluationPath;
15
26
  /**
16
27
  * ###################################
17
28
  * #### QUERY BUILDING CLASSES ####
@@ -231,19 +242,13 @@ const processWhereClause = (validation, shape) => {
231
242
  if ((0, ExpressionNode_js_1.isExpressionNode)(result)) {
232
243
  return { expressionNode: result };
233
244
  }
234
- if ((0, ExpressionNode_js_1.isExistsCondition)(result)) {
235
- return { existsCondition: result };
236
- }
237
- throw new Error('WHERE callback must return ExpressionNode or ExistsCondition');
245
+ return result.getWherePath();
238
246
  }
239
247
  else if ((0, ExpressionNode_js_1.isExpressionNode)(validation)) {
240
248
  return { expressionNode: validation };
241
249
  }
242
- else if ((0, ExpressionNode_js_1.isExistsCondition)(validation)) {
243
- return { existsCondition: validation };
244
- }
245
250
  else {
246
- throw new Error('WHERE clause must be ExpressionNode, ExistsCondition, or a callback');
251
+ return validation.getWherePath();
247
252
  }
248
253
  };
249
254
  exports.processWhereClause = processWhereClause;
@@ -252,7 +257,7 @@ exports.processWhereClause = processWhereClause;
252
257
  // ---------------------------------------------------------------------------
253
258
  const EXPRESSION_METHODS = new Set([
254
259
  'plus', 'minus', 'times', 'divide', 'abs', 'round', 'ceil', 'floor', 'power',
255
- 'equals', 'eq', 'neq', 'notEquals', 'gt', 'greaterThan', 'gte', 'greaterThanOrEqual',
260
+ 'eq', 'neq', 'notEquals', 'gt', 'greaterThan', 'gte', 'greaterThanOrEqual',
256
261
  'lt', 'lessThan', 'lte', 'lessThanOrEqual',
257
262
  'concat', 'contains', 'startsWith', 'endsWith', 'substr', 'before', 'after',
258
263
  'replace', 'ucase', 'lcase', 'strlen', 'encodeForUri', 'matches',
@@ -262,83 +267,23 @@ const EXPRESSION_METHODS = new Set([
262
267
  'lang', 'datatype', 'str', 'iri', 'isIri', 'isLiteral', 'isBlank', 'isNumeric',
263
268
  'md5', 'sha256', 'sha512',
264
269
  ]);
265
- /**
266
- * Convert a QueryBuilderObject to a traced ExpressionNode by extracting its
267
- * property path segments and creating a property expression reference.
268
- * This is the bridge between the query proxy world and the expression IR world.
269
- */
270
- function toExpressionNode(qbo) {
271
- // Check if this is a query context reference
272
- const contextId = findContextId(qbo);
273
- if (contextId) {
274
- const segments = FieldSet_js_1.FieldSet.collectPropertySegments(qbo);
275
- if (segments.length > 0) {
276
- // Context property access (e.g. getQueryContext('user').name) → context_property_expr
277
- const lastSegment = segments[segments.length - 1].id;
278
- const ir = { kind: 'context_property_expr', contextIri: contextId, property: lastSegment };
279
- return new ExpressionNode_js_1.ExpressionNode(ir);
280
- }
281
- // Context root reference (e.g. getQueryContext('user')) → reference_expr with the context IRI
282
- const ir = { kind: 'reference_expr', value: contextId };
283
- return new ExpressionNode_js_1.ExpressionNode(ir);
284
- }
285
- const segments = FieldSet_js_1.FieldSet.collectPropertySegments(qbo);
286
- if (segments.length === 0) {
287
- // Root shape or entity reference — produce alias expression (the entity itself)
288
- return (0, ExpressionNode_js_1.tracedAliasExpression)([]);
289
- }
290
- const segmentIds = segments.map((s) => s.id);
291
- return (0, ExpressionNode_js_1.tracedPropertyExpression)(segmentIds);
292
- }
293
- /** Walk up the QueryBuilderObject chain to find a query context ID. */
294
- function findContextId(qbo) {
295
- var _a;
296
- let current = qbo;
297
- while (current) {
298
- if (current instanceof QueryShape && ((_a = current.originalValue) === null || _a === void 0 ? void 0 : _a.__queryContextId)) {
299
- return current.originalValue.__queryContextId;
300
- }
301
- current = current.subject;
302
- }
303
- return undefined;
304
- }
305
- /**
306
- * A wrapper for inline `.where()` on primitives that produces alias-based expressions.
307
- * When `p.hobby.where(h => h.equals('Jogging'))` is called, `h` should reference
308
- * the hobby variable itself (alias), not traverse to a sub-property.
309
- */
310
- class InlineWhereProxy extends QueryBuilderObject {
311
- constructor(source) {
312
- super(source.property, source.subject);
313
- this.source = source;
314
- }
315
- equals(otherValue) {
316
- // Empty traversal = "the current alias" — resolved by lowering
317
- // against the property's own alias scope
318
- const self = (0, ExpressionNode_js_1.tracedAliasExpression)([]);
319
- return self.eq(otherValue);
320
- }
321
- }
322
270
  /**
323
271
  * Wrap a QueryPrimitive in a Proxy that intercepts expression method calls.
324
- * When an expression method (e.g., `.plus()`, `.gt()`, `.equals()`) is accessed,
325
- * creates a traced ExpressionNode based on the QueryPrimitive's property path.
272
+ * When an expression method (e.g., `.plus()`, `.gt()`) is accessed, creates a
273
+ * traced ExpressionNode based on the QueryPrimitive's property path.
274
+ *
275
+ * Note: `.equals()` is intentionally excluded — it's an existing QueryPrimitive
276
+ * method that returns an Evaluation (for WHERE clauses). Use `.eq()` for the
277
+ * expression form.
326
278
  */
327
279
  function wrapWithExpressionProxy(qp) {
328
280
  return new Proxy(qp, {
329
281
  get(target, key, receiver) {
330
282
  if (typeof key === 'string' && EXPRESSION_METHODS.has(key)) {
331
283
  const segments = FieldSet_js_1.FieldSet.collectPropertySegments(target);
332
- // Only intercept if we have valid property segments to trace
333
- if (segments.length > 0) {
334
- const segmentIds = segments.map((s) => s.id);
335
- const baseNode = (0, ExpressionNode_js_1.tracedPropertyExpression)(segmentIds);
336
- return (...args) => {
337
- // Convert QueryBuilderObject arguments to ExpressionNode
338
- const convertedArgs = args.map((arg) => { var _a; return arg instanceof QueryBuilderObject ? ((_a = toExpressionNode(arg)) !== null && _a !== void 0 ? _a : arg) : arg; });
339
- return baseNode[key](...convertedArgs);
340
- };
341
- }
284
+ const segmentIds = segments.map((s) => s.id);
285
+ const baseNode = (0, ExpressionNode_js_1.tracedPropertyExpression)(segmentIds);
286
+ return (...args) => baseNode[key](...args);
342
287
  }
343
288
  return Reflect.get(target, key, receiver);
344
289
  },
@@ -540,36 +485,17 @@ class QueryShapeSet extends QueryBuilderObject {
540
485
  return this.select((shape) => propertyLabels.map((label) => shape[label]));
541
486
  }
542
487
  some(validation) {
543
- const predicate = this.buildPredicateExpression(validation);
544
- const pathSegmentIds = FieldSet_js_1.FieldSet.collectPropertySegments(this).map(s => s.id);
545
- return new ExpressionNode_js_1.ExistsCondition(pathSegmentIds, predicate, false);
488
+ return this.someOrEvery(validation, WhereMethods.SOME);
546
489
  }
547
490
  every(validation) {
548
- // every(fn) = NOT EXISTS(path WHERE NOT(fn))
549
- const predicate = this.buildPredicateExpression(validation);
550
- const pathSegmentIds = FieldSet_js_1.FieldSet.collectPropertySegments(this).map(s => s.id);
551
- return new ExpressionNode_js_1.ExistsCondition(pathSegmentIds, predicate.not(), true);
552
- }
553
- none(validation) {
554
- // none(fn) = NOT EXISTS(path WHERE fn) = some(fn).not()
555
- const predicate = this.buildPredicateExpression(validation);
556
- const pathSegmentIds = FieldSet_js_1.FieldSet.collectPropertySegments(this).map(s => s.id);
557
- return new ExpressionNode_js_1.ExistsCondition(pathSegmentIds, predicate, true);
558
- }
559
- buildPredicateExpression(validation) {
560
- const leastSpecificShape = this.getOriginalValue().getLeastSpecificShape();
561
- if (validation instanceof Function) {
562
- const proxy = (0, ProxiedPathBuilder_js_1.createProxiedPathBuilder)(leastSpecificShape);
563
- const result = validation(proxy);
564
- if ((0, ExpressionNode_js_1.isExpressionNode)(result)) {
565
- return result;
566
- }
567
- throw new Error('Validation callback must return an ExpressionNode or ExistsCondition');
568
- }
569
- if ((0, ExpressionNode_js_1.isExpressionNode)(validation)) {
570
- return validation;
571
- }
572
- throw new Error('Expected a callback or ExpressionNode for some/every/none');
491
+ return this.someOrEvery(validation, WhereMethods.EVERY);
492
+ }
493
+ someOrEvery(validation, method) {
494
+ let leastSpecificShape = this.getOriginalValue().getLeastSpecificShape();
495
+ //do we need to store this here? or are we accessing the evaluation and then going backwards?
496
+ //in that case just pass it to the evaluation and don't use this.wherePath
497
+ let wherePath = (0, exports.processWhereClause)(validation, leastSpecificShape);
498
+ return new SetEvaluation(this, method, [wherePath]);
573
499
  }
574
500
  }
575
501
  exports.QueryShapeSet = QueryShapeSet;
@@ -636,11 +562,7 @@ class QueryShape extends QueryBuilderObject {
636
562
  return this;
637
563
  }
638
564
  equals(otherValue) {
639
- const self = toExpressionNode(this);
640
- const arg = otherValue instanceof QueryBuilderObject
641
- ? toExpressionNode(otherValue)
642
- : otherValue;
643
- return self.eq(arg);
565
+ return new Evaluation(this, WhereMethods.EQUALS, [otherValue]);
644
566
  }
645
567
  select(subQueryFn) {
646
568
  const leastSpecificShape = (0, ShapeClass_js_1.getShapeClass)(this.getOriginalValue().nodeShape.id);
@@ -657,6 +579,72 @@ class QueryShape extends QueryBuilderObject {
657
579
  }
658
580
  }
659
581
  exports.QueryShape = QueryShape;
582
+ class Evaluation {
583
+ constructor(value, method, args) {
584
+ this.value = value;
585
+ this.method = method;
586
+ this.args = args;
587
+ this._andOr = [];
588
+ }
589
+ getPropertyPath() {
590
+ return this.getWherePath();
591
+ }
592
+ processArgs() {
593
+ //if the args are not an array, then we convert them to an array
594
+ if (!this.args || !Array.isArray(this.args)) {
595
+ return [];
596
+ }
597
+ //convert each arg to a QueryBuilderObject
598
+ return this.args.map((arg) => {
599
+ if (arg instanceof QueryBuilderObject) {
600
+ let path = arg.getPropertyPath();
601
+ let subject;
602
+ if (path[0] && path[0].id) {
603
+ subject = path.shift();
604
+ }
605
+ if ((!path || path.length === 0) && subject) {
606
+ return subject;
607
+ }
608
+ return {
609
+ path,
610
+ subject,
611
+ };
612
+ }
613
+ else {
614
+ return arg;
615
+ }
616
+ });
617
+ }
618
+ getWherePath() {
619
+ let evalPath = {
620
+ path: this.value.getPropertyPath(),
621
+ method: this.method,
622
+ args: this.processArgs(),
623
+ };
624
+ if (this._andOr.length > 0) {
625
+ return {
626
+ firstPath: evalPath,
627
+ andOr: this._andOr,
628
+ };
629
+ }
630
+ return evalPath;
631
+ }
632
+ and(subQuery) {
633
+ this._andOr.push({
634
+ and: (0, exports.processWhereClause)(subQuery),
635
+ });
636
+ return this;
637
+ }
638
+ or(subQuery) {
639
+ this._andOr.push({
640
+ or: (0, exports.processWhereClause)(subQuery),
641
+ });
642
+ return this;
643
+ }
644
+ }
645
+ exports.Evaluation = Evaluation;
646
+ class SetEvaluation extends Evaluation {
647
+ }
660
648
  /**
661
649
  * Concrete query wrapper for JS primitive values (string, number, boolean, Date).
662
650
  *
@@ -672,18 +660,12 @@ class QueryPrimitive extends QueryBuilderObject {
672
660
  this.subject = subject;
673
661
  }
674
662
  equals(otherValue) {
675
- const self = toExpressionNode(this);
676
- const arg = otherValue instanceof QueryBuilderObject
677
- ? toExpressionNode(otherValue)
678
- : otherValue;
679
- return self.eq(arg);
663
+ //TODO: review types, this is working but currently QueryBuilderObject is not accepted as a type of args
664
+ return new Evaluation(this, WhereMethods.EQUALS, [otherValue]);
680
665
  }
681
666
  where(validation) {
682
- // For inline where on a primitive (p.hobby.where(h => h.equals(...))),
683
- // pass a clone that produces alias expressions (the bound value itself)
684
- // rather than property traversals
685
- const selfAsAlias = new InlineWhereProxy(this);
686
- this.wherePath = (0, exports.processWhereClause)(validation, selfAsAlias);
667
+ // let nodeShape = this.subject.getOriginalValue().nodeShape;
668
+ this.wherePath = (0, exports.processWhereClause)(validation, new QueryPrimitive(''));
687
669
  //return this because after Shape.friends.where() we can call other methods of Shape.friends
688
670
  return this;
689
671
  }
@@ -710,7 +692,7 @@ class QueryPrimitiveSet extends QueryBuilderObject {
710
692
  //TODO: see if we can merge these methods of QueryPrimitive and QueryPrimitiveSet
711
693
  // so that they're only defined once
712
694
  equals(other) {
713
- return toExpressionNode(this).eq(other);
695
+ return new Evaluation(this, WhereMethods.EQUALS, [other]);
714
696
  }
715
697
  getPropertyStep() {
716
698
  if (this.contents.size > 1) {
@@ -750,19 +732,6 @@ class SetSize extends QueryPrimitive {
750
732
  this.countable = countable;
751
733
  this.label = label;
752
734
  }
753
- // Build an aggregate_expr(count, ...) ExpressionNode for the counted property
754
- equals(otherValue) {
755
- const countedSegments = FieldSet_js_1.FieldSet.collectPropertySegments(this.subject);
756
- const countedIds = countedSegments.map(s => s.id);
757
- const countedNode = (0, ExpressionNode_js_1.tracedPropertyExpression)(countedIds);
758
- // Wrap in aggregate_expr(count)
759
- const countExpr = new ExpressionNode_js_1.ExpressionNode({
760
- kind: 'aggregate_expr',
761
- name: 'count',
762
- args: [countedNode.ir],
763
- }, countedNode._refs);
764
- return countExpr.eq(otherValue);
765
- }
766
735
  as(label) {
767
736
  this.label = label;
768
737
  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
  }>[]>;
@@ -13,7 +13,6 @@ exports.queryFactories = exports.Employee = exports.Person = exports.Dog = expor
13
13
  const package_1 = require("../package");
14
14
  const SHACL_1 = require("../shapes/SHACL");
15
15
  const Shape_1 = require("../shapes/Shape");
16
- const Expr_1 = require("../expressions/Expr");
17
16
  const xsd_1 = require("../ontologies/xsd");
18
17
  const ShapeSet_1 = require("../collections/ShapeSet");
19
18
  const QueryContext_1 = require("../queries/QueryContext");
@@ -254,12 +253,6 @@ exports.queryFactories = {
254
253
  whereSomeImplicit: () => Person.select().where((p) => p.friends.name.equals('Moa')),
255
254
  whereSomeExplicit: () => Person.select().where((p) => p.friends.some((f) => f.name.equals('Moa'))),
256
255
  whereEvery: () => Person.select().where((p) => p.friends.every((f) => f.name.equals('Moa').or(f.name.equals('Jinx')))),
257
- whereNone: () => Person.select((p) => p.name).where((p) => p.friends.none((f) => f.hobby.equals('Chess'))),
258
- whereSomeNot: () => Person.select((p) => p.name).where((p) => p.friends.some((f) => f.hobby.equals('Chess')).not()),
259
- whereEqualsNot: () => Person.select((p) => p.name).where((p) => p.name.equals('Alice').not()),
260
- whereNoneAndEquals: () => Person.select((p) => p.name).where((p) => p.friends.none((f) => f.hobby.equals('Chess')).and(p.name.equals('Bob'))),
261
- whereNeq: () => Person.select((p) => p.name).where(((p) => p.name.neq('Alice'))),
262
- whereExprNot: () => Person.select((p) => p.name).where((p) => Expr_1.Expr.not(p.name.equals('Alice').and(p.hobby.equals('Chess')))),
263
256
  whereSequences: () => Person.select().where((p) => p.friends
264
257
  .some((f) => f.name.equals('Jinx'))
265
258
  .and(p.name.equals('Semmy'))),