@_linked/core 2.0.0 → 2.2.0-next.20260313111019

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 (119) hide show
  1. package/CHANGELOG.md +33 -171
  2. package/README.md +197 -45
  3. package/lib/cjs/expressions/Expr.d.ts +58 -0
  4. package/lib/cjs/expressions/Expr.js +217 -0
  5. package/lib/cjs/expressions/Expr.js.map +1 -0
  6. package/lib/cjs/expressions/ExpressionMethods.d.ts +81 -0
  7. package/lib/cjs/expressions/ExpressionMethods.js +3 -0
  8. package/lib/cjs/expressions/ExpressionMethods.js.map +1 -0
  9. package/lib/cjs/expressions/ExpressionNode.d.ts +95 -0
  10. package/lib/cjs/expressions/ExpressionNode.js +349 -0
  11. package/lib/cjs/expressions/ExpressionNode.js.map +1 -0
  12. package/lib/cjs/index.d.ts +4 -0
  13. package/lib/cjs/index.js +6 -1
  14. package/lib/cjs/index.js.map +1 -1
  15. package/lib/cjs/queries/DeleteBuilder.d.ts +17 -20
  16. package/lib/cjs/queries/DeleteBuilder.js +46 -19
  17. package/lib/cjs/queries/DeleteBuilder.js.map +1 -1
  18. package/lib/cjs/queries/DeleteQuery.d.ts +2 -2
  19. package/lib/cjs/queries/DeleteQuery.js.map +1 -1
  20. package/lib/cjs/queries/FieldSet.d.ts +3 -0
  21. package/lib/cjs/queries/FieldSet.js +16 -0
  22. package/lib/cjs/queries/FieldSet.js.map +1 -1
  23. package/lib/cjs/queries/IRCanonicalize.d.ts +10 -3
  24. package/lib/cjs/queries/IRCanonicalize.js +10 -1
  25. package/lib/cjs/queries/IRCanonicalize.js.map +1 -1
  26. package/lib/cjs/queries/IRDesugar.d.ts +30 -2
  27. package/lib/cjs/queries/IRDesugar.js +29 -9
  28. package/lib/cjs/queries/IRDesugar.js.map +1 -1
  29. package/lib/cjs/queries/IRLower.d.ts +19 -2
  30. package/lib/cjs/queries/IRLower.js +104 -20
  31. package/lib/cjs/queries/IRLower.js.map +1 -1
  32. package/lib/cjs/queries/IRMutation.d.ts +31 -1
  33. package/lib/cjs/queries/IRMutation.js +68 -15
  34. package/lib/cjs/queries/IRMutation.js.map +1 -1
  35. package/lib/cjs/queries/IntermediateRepresentation.d.ts +33 -4
  36. package/lib/cjs/queries/MutationQuery.js +16 -2
  37. package/lib/cjs/queries/MutationQuery.js.map +1 -1
  38. package/lib/cjs/queries/QueryBuilder.d.ts +14 -1
  39. package/lib/cjs/queries/QueryBuilder.js +59 -2
  40. package/lib/cjs/queries/QueryBuilder.js.map +1 -1
  41. package/lib/cjs/queries/QueryFactory.d.ts +2 -1
  42. package/lib/cjs/queries/QueryFactory.js.map +1 -1
  43. package/lib/cjs/queries/SelectQuery.d.ts +6 -2
  44. package/lib/cjs/queries/SelectQuery.js +51 -7
  45. package/lib/cjs/queries/SelectQuery.js.map +1 -1
  46. package/lib/cjs/queries/UpdateBuilder.d.ts +22 -13
  47. package/lib/cjs/queries/UpdateBuilder.js +60 -11
  48. package/lib/cjs/queries/UpdateBuilder.js.map +1 -1
  49. package/lib/cjs/queries/UpdateQuery.d.ts +2 -2
  50. package/lib/cjs/shapes/Shape.d.ts +8 -2
  51. package/lib/cjs/shapes/Shape.js +9 -13
  52. package/lib/cjs/shapes/Shape.js.map +1 -1
  53. package/lib/cjs/sparql/SparqlStore.js +15 -0
  54. package/lib/cjs/sparql/SparqlStore.js.map +1 -1
  55. package/lib/cjs/sparql/irToAlgebra.d.ts +34 -3
  56. package/lib/cjs/sparql/irToAlgebra.js +380 -31
  57. package/lib/cjs/sparql/irToAlgebra.js.map +1 -1
  58. package/lib/cjs/test-helpers/query-fixtures.d.ts +96 -208
  59. package/lib/cjs/test-helpers/query-fixtures.js +96 -19
  60. package/lib/cjs/test-helpers/query-fixtures.js.map +1 -1
  61. package/lib/esm/expressions/Expr.d.ts +58 -0
  62. package/lib/esm/expressions/Expr.js +214 -0
  63. package/lib/esm/expressions/Expr.js.map +1 -0
  64. package/lib/esm/expressions/ExpressionMethods.d.ts +81 -0
  65. package/lib/esm/expressions/ExpressionMethods.js +2 -0
  66. package/lib/esm/expressions/ExpressionMethods.js.map +1 -0
  67. package/lib/esm/expressions/ExpressionNode.d.ts +95 -0
  68. package/lib/esm/expressions/ExpressionNode.js +341 -0
  69. package/lib/esm/expressions/ExpressionNode.js.map +1 -0
  70. package/lib/esm/index.d.ts +4 -0
  71. package/lib/esm/index.js +3 -0
  72. package/lib/esm/index.js.map +1 -1
  73. package/lib/esm/queries/DeleteBuilder.d.ts +17 -20
  74. package/lib/esm/queries/DeleteBuilder.js +46 -19
  75. package/lib/esm/queries/DeleteBuilder.js.map +1 -1
  76. package/lib/esm/queries/DeleteQuery.d.ts +2 -2
  77. package/lib/esm/queries/DeleteQuery.js.map +1 -1
  78. package/lib/esm/queries/FieldSet.d.ts +3 -0
  79. package/lib/esm/queries/FieldSet.js +16 -0
  80. package/lib/esm/queries/FieldSet.js.map +1 -1
  81. package/lib/esm/queries/IRCanonicalize.d.ts +10 -3
  82. package/lib/esm/queries/IRCanonicalize.js +10 -1
  83. package/lib/esm/queries/IRCanonicalize.js.map +1 -1
  84. package/lib/esm/queries/IRDesugar.d.ts +30 -2
  85. package/lib/esm/queries/IRDesugar.js +21 -2
  86. package/lib/esm/queries/IRDesugar.js.map +1 -1
  87. package/lib/esm/queries/IRLower.d.ts +19 -2
  88. package/lib/esm/queries/IRLower.js +101 -19
  89. package/lib/esm/queries/IRLower.js.map +1 -1
  90. package/lib/esm/queries/IRMutation.d.ts +31 -1
  91. package/lib/esm/queries/IRMutation.js +63 -14
  92. package/lib/esm/queries/IRMutation.js.map +1 -1
  93. package/lib/esm/queries/IntermediateRepresentation.d.ts +33 -4
  94. package/lib/esm/queries/MutationQuery.js +16 -2
  95. package/lib/esm/queries/MutationQuery.js.map +1 -1
  96. package/lib/esm/queries/QueryBuilder.d.ts +14 -1
  97. package/lib/esm/queries/QueryBuilder.js +59 -2
  98. package/lib/esm/queries/QueryBuilder.js.map +1 -1
  99. package/lib/esm/queries/QueryFactory.d.ts +2 -1
  100. package/lib/esm/queries/QueryFactory.js.map +1 -1
  101. package/lib/esm/queries/SelectQuery.d.ts +6 -2
  102. package/lib/esm/queries/SelectQuery.js +51 -7
  103. package/lib/esm/queries/SelectQuery.js.map +1 -1
  104. package/lib/esm/queries/UpdateBuilder.d.ts +22 -13
  105. package/lib/esm/queries/UpdateBuilder.js +60 -11
  106. package/lib/esm/queries/UpdateBuilder.js.map +1 -1
  107. package/lib/esm/queries/UpdateQuery.d.ts +2 -2
  108. package/lib/esm/shapes/Shape.d.ts +8 -2
  109. package/lib/esm/shapes/Shape.js +9 -13
  110. package/lib/esm/shapes/Shape.js.map +1 -1
  111. package/lib/esm/sparql/SparqlStore.js +16 -1
  112. package/lib/esm/sparql/SparqlStore.js.map +1 -1
  113. package/lib/esm/sparql/irToAlgebra.d.ts +34 -3
  114. package/lib/esm/sparql/irToAlgebra.js +374 -31
  115. package/lib/esm/sparql/irToAlgebra.js.map +1 -1
  116. package/lib/esm/test-helpers/query-fixtures.d.ts +96 -208
  117. package/lib/esm/test-helpers/query-fixtures.js +96 -19
  118. package/lib/esm/test-helpers/query-fixtures.js.map +1 -1
  119. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"irToAlgebra.js","sourceRoot":"","sources":["../../../src/sparql/irToAlgebra.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"irToAlgebra.js","sourceRoot":"","sources":["../../../src/sparql/irToAlgebra.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Shape } from '../shapes/Shape';
2
2
  import { ShapeSet } from '../collections/ShapeSet';
3
- import { NodeReferenceValue, UpdatePartial } from '../queries/QueryFactory';
3
+ import { NodeReferenceValue } from '../queries/QueryFactory';
4
+ import { DeleteBuilder } from '../queries/DeleteBuilder';
4
5
  export declare const tmpEntityBase = "linked://tmp/entities/";
5
6
  export declare const name: NodeReferenceValue;
6
7
  export declare const hobby: NodeReferenceValue;
@@ -407,213 +408,25 @@ export declare const queryFactories: {
407
408
  sortByDesc: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
408
409
  name: string;
409
410
  }>[]>;
410
- updateSimple: () => import("..").UpdateBuilder<Person, Partial<Omit<{
411
- id: string;
412
- nodeShape: UpdatePartial<import("../shapes/SHACL").NodeShape>;
413
- __queryContextId: string;
414
- uri: string;
415
- name: string;
416
- hobby: string;
417
- bestFriend: UpdatePartial<Person>;
418
- birthDate: Date;
419
- isRealPerson: boolean;
420
- pluralTestProp: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
421
- nickNames: string[];
422
- friends: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
423
- pets: UpdatePartial<Pet>[] | import("../queries/QueryFactory").SetModification<Pet>;
424
- firstPet: UpdatePartial<Pet>;
425
- }, "node" | "nodeShape" | "namedNode" | "targetClass">>>;
426
- createSimple: () => import("..").CreateBuilder<Person, {
427
- name: string;
428
- hobby: string;
429
- }>;
430
- createWithFriends: () => import("..").CreateBuilder<Person, {
431
- name: string;
432
- friends: (NodeReferenceValue | {
433
- name: string;
434
- })[];
435
- }>;
436
- createWithFixedId: () => import("..").CreateBuilder<Person, any>;
437
- deleteSingle: () => import("..").DeleteBuilder<Person>;
438
- deleteSingleRef: () => import("..").DeleteBuilder<Person>;
439
- deleteMultiple: () => import("..").DeleteBuilder<Person>;
440
- deleteMultipleFull: () => import("..").DeleteBuilder<Person>;
441
- updateOverwriteSet: () => import("..").UpdateBuilder<Person, Partial<Omit<{
442
- id: string;
443
- nodeShape: UpdatePartial<import("../shapes/SHACL").NodeShape>;
444
- __queryContextId: string;
445
- uri: string;
446
- name: string;
447
- hobby: string;
448
- bestFriend: UpdatePartial<Person>;
449
- birthDate: Date;
450
- isRealPerson: boolean;
451
- pluralTestProp: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
452
- nickNames: string[];
453
- friends: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
454
- pets: UpdatePartial<Pet>[] | import("../queries/QueryFactory").SetModification<Pet>;
455
- firstPet: UpdatePartial<Pet>;
456
- }, "node" | "nodeShape" | "namedNode" | "targetClass">>>;
457
- updateUnsetSingleUndefined: () => import("..").UpdateBuilder<Person, Partial<Omit<{
458
- id: string;
459
- nodeShape: UpdatePartial<import("../shapes/SHACL").NodeShape>;
460
- __queryContextId: string;
461
- uri: string;
462
- name: string;
463
- hobby: string;
464
- bestFriend: UpdatePartial<Person>;
465
- birthDate: Date;
466
- isRealPerson: boolean;
467
- pluralTestProp: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
468
- nickNames: string[];
469
- friends: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
470
- pets: UpdatePartial<Pet>[] | import("../queries/QueryFactory").SetModification<Pet>;
471
- firstPet: UpdatePartial<Pet>;
472
- }, "node" | "nodeShape" | "namedNode" | "targetClass">>>;
473
- updateUnsetSingleNull: () => import("..").UpdateBuilder<Person, Partial<Omit<{
474
- id: string;
475
- nodeShape: UpdatePartial<import("../shapes/SHACL").NodeShape>;
476
- __queryContextId: string;
477
- uri: string;
478
- name: string;
479
- hobby: string;
480
- bestFriend: UpdatePartial<Person>;
481
- birthDate: Date;
482
- isRealPerson: boolean;
483
- pluralTestProp: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
484
- nickNames: string[];
485
- friends: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
486
- pets: UpdatePartial<Pet>[] | import("../queries/QueryFactory").SetModification<Pet>;
487
- firstPet: UpdatePartial<Pet>;
488
- }, "node" | "nodeShape" | "namedNode" | "targetClass">>>;
489
- updateOverwriteNested: () => import("..").UpdateBuilder<Person, Partial<Omit<{
490
- id: string;
491
- nodeShape: UpdatePartial<import("../shapes/SHACL").NodeShape>;
492
- __queryContextId: string;
493
- uri: string;
494
- name: string;
495
- hobby: string;
496
- bestFriend: UpdatePartial<Person>;
497
- birthDate: Date;
498
- isRealPerson: boolean;
499
- pluralTestProp: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
500
- nickNames: string[];
501
- friends: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
502
- pets: UpdatePartial<Pet>[] | import("../queries/QueryFactory").SetModification<Pet>;
503
- firstPet: UpdatePartial<Pet>;
504
- }, "node" | "nodeShape" | "namedNode" | "targetClass">>>;
505
- updatePassIdReferences: () => import("..").UpdateBuilder<Person, Partial<Omit<{
506
- id: string;
507
- nodeShape: UpdatePartial<import("../shapes/SHACL").NodeShape>;
508
- __queryContextId: string;
509
- uri: string;
510
- name: string;
511
- hobby: string;
512
- bestFriend: UpdatePartial<Person>;
513
- birthDate: Date;
514
- isRealPerson: boolean;
515
- pluralTestProp: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
516
- nickNames: string[];
517
- friends: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
518
- pets: UpdatePartial<Pet>[] | import("../queries/QueryFactory").SetModification<Pet>;
519
- firstPet: UpdatePartial<Pet>;
520
- }, "node" | "nodeShape" | "namedNode" | "targetClass">>>;
521
- updateAddRemoveMulti: () => import("..").UpdateBuilder<Person, Partial<Omit<{
522
- id: string;
523
- nodeShape: UpdatePartial<import("../shapes/SHACL").NodeShape>;
524
- __queryContextId: string;
525
- uri: string;
526
- name: string;
527
- hobby: string;
528
- bestFriend: UpdatePartial<Person>;
529
- birthDate: Date;
530
- isRealPerson: boolean;
531
- pluralTestProp: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
532
- nickNames: string[];
533
- friends: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
534
- pets: UpdatePartial<Pet>[] | import("../queries/QueryFactory").SetModification<Pet>;
535
- firstPet: UpdatePartial<Pet>;
536
- }, "node" | "nodeShape" | "namedNode" | "targetClass">>>;
537
- updateRemoveMulti: () => import("..").UpdateBuilder<Person, Partial<Omit<{
538
- id: string;
539
- nodeShape: UpdatePartial<import("../shapes/SHACL").NodeShape>;
540
- __queryContextId: string;
541
- uri: string;
542
- name: string;
543
- hobby: string;
544
- bestFriend: UpdatePartial<Person>;
545
- birthDate: Date;
546
- isRealPerson: boolean;
547
- pluralTestProp: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
548
- nickNames: string[];
549
- friends: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
550
- pets: UpdatePartial<Pet>[] | import("../queries/QueryFactory").SetModification<Pet>;
551
- firstPet: UpdatePartial<Pet>;
552
- }, "node" | "nodeShape" | "namedNode" | "targetClass">>>;
553
- updateAddRemoveSame: () => import("..").UpdateBuilder<Person, Partial<Omit<{
554
- id: string;
555
- nodeShape: UpdatePartial<import("../shapes/SHACL").NodeShape>;
556
- __queryContextId: string;
557
- uri: string;
558
- name: string;
559
- hobby: string;
560
- bestFriend: UpdatePartial<Person>;
561
- birthDate: Date;
562
- isRealPerson: boolean;
563
- pluralTestProp: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
564
- nickNames: string[];
565
- friends: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
566
- pets: UpdatePartial<Pet>[] | import("../queries/QueryFactory").SetModification<Pet>;
567
- firstPet: UpdatePartial<Pet>;
568
- }, "node" | "nodeShape" | "namedNode" | "targetClass">>>;
569
- updateUnsetMultiUndefined: () => import("..").UpdateBuilder<Person, Partial<Omit<{
570
- id: string;
571
- nodeShape: UpdatePartial<import("../shapes/SHACL").NodeShape>;
572
- __queryContextId: string;
573
- uri: string;
574
- name: string;
575
- hobby: string;
576
- bestFriend: UpdatePartial<Person>;
577
- birthDate: Date;
578
- isRealPerson: boolean;
579
- pluralTestProp: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
580
- nickNames: string[];
581
- friends: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
582
- pets: UpdatePartial<Pet>[] | import("../queries/QueryFactory").SetModification<Pet>;
583
- firstPet: UpdatePartial<Pet>;
584
- }, "node" | "nodeShape" | "namedNode" | "targetClass">>>;
585
- updateNestedWithPredefinedId: () => import("..").UpdateBuilder<Person, Partial<Omit<{
586
- id: string;
587
- nodeShape: UpdatePartial<import("../shapes/SHACL").NodeShape>;
588
- __queryContextId: string;
589
- uri: string;
590
- name: string;
591
- hobby: string;
592
- bestFriend: UpdatePartial<Person>;
593
- birthDate: Date;
594
- isRealPerson: boolean;
595
- pluralTestProp: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
596
- nickNames: string[];
597
- friends: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
598
- pets: UpdatePartial<Pet>[] | import("../queries/QueryFactory").SetModification<Pet>;
599
- firstPet: UpdatePartial<Pet>;
600
- }, "node" | "nodeShape" | "namedNode" | "targetClass">>>;
601
- updateBirthDate: () => import("..").UpdateBuilder<Person, Partial<Omit<{
602
- id: string;
603
- nodeShape: UpdatePartial<import("../shapes/SHACL").NodeShape>;
604
- __queryContextId: string;
605
- uri: string;
606
- name: string;
607
- hobby: string;
608
- bestFriend: UpdatePartial<Person>;
609
- birthDate: Date;
610
- isRealPerson: boolean;
611
- pluralTestProp: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
612
- nickNames: string[];
613
- friends: UpdatePartial<Person>[] | import("../queries/QueryFactory").SetModification<Person>;
614
- pets: UpdatePartial<Pet>[] | import("../queries/QueryFactory").SetModification<Pet>;
615
- firstPet: UpdatePartial<Pet>;
616
- }, "node" | "nodeShape" | "namedNode" | "targetClass">>>;
411
+ updateSimple: () => any;
412
+ createSimple: () => any;
413
+ createWithFriends: () => any;
414
+ createWithFixedId: () => any;
415
+ deleteSingle: () => DeleteBuilder<Person, import("../queries/DeleteQuery").DeleteResponse>;
416
+ deleteSingleRef: () => DeleteBuilder<Person, import("../queries/DeleteQuery").DeleteResponse>;
417
+ deleteMultiple: () => DeleteBuilder<Person, import("../queries/DeleteQuery").DeleteResponse>;
418
+ deleteMultipleFull: () => DeleteBuilder<Person, import("../queries/DeleteQuery").DeleteResponse>;
419
+ updateOverwriteSet: () => any;
420
+ updateUnsetSingleUndefined: () => any;
421
+ updateUnsetSingleNull: () => any;
422
+ updateOverwriteNested: () => any;
423
+ updatePassIdReferences: () => any;
424
+ updateAddRemoveMulti: () => any;
425
+ updateRemoveMulti: () => any;
426
+ updateAddRemoveSame: () => any;
427
+ updateUnsetMultiUndefined: () => any;
428
+ updateNestedWithPredefinedId: () => any;
429
+ updateBirthDate: () => any;
617
430
  preloadBestFriend: () => QueryBuilder<Person, import("../queries/SelectQuery").BoundComponent<import("../queries/SelectQuery").QShape<Person, import("../queries/SelectQuery").QShape<Person, null, "">, "bestFriend">, unknown>, import("../queries/SelectQuery").QResult<Person, {
618
431
  bestFriend: import("../queries/SelectQuery").QResult<Person, {} & {
619
432
  id: string;
@@ -846,4 +659,79 @@ export declare const queryFactories: {
846
659
  dept: string;
847
660
  }>>;
848
661
  }>[]>;
662
+ minusShape: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
663
+ name: string;
664
+ }>[]>;
665
+ minusCondition: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
666
+ name: string;
667
+ }>[]>;
668
+ minusChained: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
669
+ name: string;
670
+ }>[]>;
671
+ minusMultiProperty: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
672
+ name: string;
673
+ }>[]>;
674
+ minusNestedPath: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
675
+ name: string;
676
+ }>[]>;
677
+ minusMixed: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
678
+ name: string;
679
+ }>[]>;
680
+ minusSingleProperty: () => QueryBuilder<Person, import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">, import("../queries/SelectQuery").QResult<Person, {
681
+ name: string;
682
+ }>[]>;
683
+ deleteAll: () => DeleteBuilder<Person, void>;
684
+ deleteWhere: () => DeleteBuilder<Person, void>;
685
+ deleteAllBuilder: () => DeleteBuilder<Person, void>;
686
+ deleteWhereBuilder: () => DeleteBuilder<Person, void>;
687
+ updateForAll: () => any;
688
+ updateWhere: () => any;
689
+ exprStrlen: () => QueryBuilder<Person, any, unknown[]>;
690
+ exprCustomKey: () => QueryBuilder<Person, {
691
+ nameLen: any;
692
+ }, import("../queries/SelectQuery").QResult<Person, {
693
+ nameLen: unknown;
694
+ }>[]>;
695
+ exprNestedPath: () => QueryBuilder<Person, any, unknown[]>;
696
+ exprMultiple: () => QueryBuilder<Person, any[], unknown[]>;
697
+ updateExprCallback: () => any;
698
+ updateExprNow: () => any;
699
+ updateExprTraversal: () => any;
700
+ updateExprSharedTraversal: () => any;
701
+ whereExprStrlen: () => QueryBuilder<Person, {
702
+ name: import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">;
703
+ }, import("../queries/SelectQuery").QResult<Person, {
704
+ name: string;
705
+ }>[]>;
706
+ whereExprArithmetic: () => QueryBuilder<Person, {
707
+ name: import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">;
708
+ }, import("../queries/SelectQuery").QResult<Person, {
709
+ name: string;
710
+ }>[]>;
711
+ whereExprAndChain: () => QueryBuilder<Person, {
712
+ name: import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">;
713
+ }, import("../queries/SelectQuery").QResult<Person, {
714
+ name: string;
715
+ }>[]>;
716
+ whereExprMixed: () => QueryBuilder<Person, {
717
+ name: import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">;
718
+ }, import("../queries/SelectQuery").QResult<Person, {
719
+ name: string;
720
+ }>[]>;
721
+ whereExprUpdateBuilder: () => import("..").UpdateBuilder<Person, {
722
+ hobby: string;
723
+ }, void>;
724
+ whereExprDeleteBuilder: () => DeleteBuilder<Person, void>;
725
+ whereExprNestedPath: () => QueryBuilder<Person, {
726
+ name: import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">;
727
+ }, import("../queries/SelectQuery").QResult<Person, {
728
+ name: string;
729
+ }>[]>;
730
+ whereExprWithProjection: () => QueryBuilder<Person, {
731
+ name: import("../queries/SelectQuery").QueryPrimitive<string, import("../queries/SelectQuery").QShape<Person, null, "">, "name">;
732
+ nameLen: any;
733
+ }, import("../queries/SelectQuery").QResult<Person, {
734
+ name: string;
735
+ nameLen: unknown;
736
+ }>[]>;
849
737
  };
@@ -13,6 +13,7 @@ import { Shape } from '../shapes/Shape';
13
13
  import { xsd } from '../ontologies/xsd';
14
14
  import { ShapeSet } from '../collections/ShapeSet';
15
15
  import { getQueryContext } from '../queries/QueryContext';
16
+ import { DeleteBuilder } from '../queries/DeleteBuilder';
16
17
  const tmpPropBase = 'linked://tmp/props/';
17
18
  const tmpTypeBase = 'linked://tmp/types/';
18
19
  export const tmpEntityBase = 'linked://tmp/entities/';
@@ -295,34 +296,34 @@ export const queryFactories = {
295
296
  outerWhereLimit: () => Person.select((p) => p.name)
296
297
  .where((p) => p.name.equals('Semmy').or(p.name.equals('Moa')))
297
298
  .limit(1),
298
- sortByAsc: () => Person.select((p) => p.name).sortBy((p) => p.name),
299
- sortByDesc: () => Person.select((p) => p.name).sortBy((p) => p.name, 'DESC'),
300
- updateSimple: () => Person.update(updateSimple).for(entity('p1')),
301
- createSimple: () => Person.create({ name: 'Test Create', hobby: 'Chess' }),
302
- createWithFriends: () => Person.create({
299
+ sortByAsc: () => Person.select((p) => p.name).orderBy((p) => p.name),
300
+ sortByDesc: () => Person.select((p) => p.name).orderBy((p) => p.name, 'DESC'),
301
+ updateSimple: (() => Person.update(updateSimple).for(entity('p1'))),
302
+ createSimple: (() => Person.create({ name: 'Test Create', hobby: 'Chess' })),
303
+ createWithFriends: (() => Person.create({
303
304
  name: 'Test Create',
304
305
  friends: [entity('p2'), { name: 'New Friend' }],
305
- }),
306
- createWithFixedId: () => Person.create({
306
+ })),
307
+ createWithFixedId: (() => Person.create({
307
308
  __id: `${tmpEntityBase}fixed-id`,
308
309
  name: 'Fixed',
309
310
  bestFriend: entity('fixed-id-2'),
310
- }),
311
+ })),
311
312
  deleteSingle: () => Person.delete(entity('to-delete')),
312
313
  deleteSingleRef: () => Person.delete(entity('to-delete')),
313
314
  deleteMultiple: () => Person.delete([entity('to-delete-1'), entity('to-delete-2')]),
314
315
  deleteMultipleFull: () => Person.delete([entity('to-delete-1'), entity('to-delete-2')]),
315
- updateOverwriteSet: () => Person.update(updateOverwriteSet).for(entity('p1')),
316
- updateUnsetSingleUndefined: () => Person.update(updateUnsetSingleUndefined).for(entity('p1')),
317
- updateUnsetSingleNull: () => Person.update(updateUnsetSingleNull).for(entity('p1')),
318
- updateOverwriteNested: () => Person.update(updateOverwriteNested).for(entity('p1')),
319
- updatePassIdReferences: () => Person.update(updatePassIdReferences).for(entity('p1')),
320
- updateAddRemoveMulti: () => Person.update(updateAddRemoveMulti).for(entity('p1')),
321
- updateRemoveMulti: () => Person.update(updateRemoveMulti).for(entity('p1')),
322
- updateAddRemoveSame: () => Person.update(updateAddRemoveSame).for(entity('p1')),
323
- updateUnsetMultiUndefined: () => Person.update(updateUnsetMultiUndefined).for(entity('p1')),
324
- updateNestedWithPredefinedId: () => Person.update(updateNestedWithPredefinedId).for(entity('p1')),
325
- updateBirthDate: () => Person.update(updateBirthDate).for(entity('p1')),
316
+ updateOverwriteSet: (() => Person.update(updateOverwriteSet).for(entity('p1'))),
317
+ updateUnsetSingleUndefined: (() => Person.update(updateUnsetSingleUndefined).for(entity('p1'))),
318
+ updateUnsetSingleNull: (() => Person.update(updateUnsetSingleNull).for(entity('p1'))),
319
+ updateOverwriteNested: (() => Person.update(updateOverwriteNested).for(entity('p1'))),
320
+ updatePassIdReferences: (() => Person.update(updatePassIdReferences).for(entity('p1'))),
321
+ updateAddRemoveMulti: (() => Person.update(updateAddRemoveMulti).for(entity('p1'))),
322
+ updateRemoveMulti: (() => Person.update(updateRemoveMulti).for(entity('p1'))),
323
+ updateAddRemoveSame: (() => Person.update(updateAddRemoveSame).for(entity('p1'))),
324
+ updateUnsetMultiUndefined: (() => Person.update(updateUnsetMultiUndefined).for(entity('p1'))),
325
+ updateNestedWithPredefinedId: (() => Person.update(updateNestedWithPredefinedId).for(entity('p1'))),
326
+ updateBirthDate: (() => Person.update(updateBirthDate).for(entity('p1'))),
326
327
  preloadBestFriend: () => Person.select((p) => p.bestFriend.preloadFor(componentLike)),
327
328
  preloadBestFriendWithFieldSet: () => Person.select((p) => p.bestFriend.preloadFor(componentLikeWithFieldSet)),
328
329
  queryBuilderPreload: () => QueryBuilder.from(Person).select((p) => [p.name]).preload('bestFriend', componentLike),
@@ -363,5 +364,81 @@ export const queryFactories = {
363
364
  subSelectAllSingular: () => Person.select((p) => p.bestFriend.selectAll()),
364
365
  // Employee sub-select (inheritance)
365
366
  employeeSubSelect: () => Employee.select((e) => e.bestFriend.select((bf) => ({ name: bf.name, dept: bf.department }))),
367
+ // --- MINUS pattern tests ---
368
+ // Exclude by shape type
369
+ minusShape: () => Person.select((p) => p.name).minus(Employee),
370
+ // Exclude by condition
371
+ minusCondition: () => Person.select((p) => p.name).minus((p) => p.hobby.equals('Chess')),
372
+ // Chained MINUS — two separate MINUS blocks
373
+ minusChained: () => Person.select((p) => p.name).minus(Employee).minus((p) => p.hobby.equals('Chess')),
374
+ // MINUS multi-property — exclude where ALL listed properties exist
375
+ minusMultiProperty: () => Person.select((p) => p.name).minus((p) => [p.hobby, p.nickNames]),
376
+ // MINUS nested path — exclude where nested property path exists
377
+ minusNestedPath: () => Person.select((p) => p.name).minus((p) => [p.bestFriend.name]),
378
+ // MINUS mixed — flat + nested in one call
379
+ minusMixed: () => Person.select((p) => p.name).minus((p) => [p.hobby, p.bestFriend.name]),
380
+ // MINUS single property existence (no array, returns raw QBO)
381
+ minusSingleProperty: () => Person.select((p) => p.name).minus((p) => p.hobby),
382
+ // --- Bulk delete tests ---
383
+ // Delete all instances of a shape
384
+ deleteAll: () => Person.deleteAll(),
385
+ // Delete with where condition
386
+ deleteWhere: () => Person.deleteWhere((p) => p.hobby.equals('Chess')),
387
+ // Builder-chain equivalents for equivalence testing
388
+ deleteAllBuilder: () => DeleteBuilder.from(Person).all(),
389
+ deleteWhereBuilder: () => DeleteBuilder.from(Person).where((p) => p.hobby.equals('Chess')),
390
+ // --- Conditional update tests ---
391
+ // Update all instances
392
+ updateForAll: () => Person.update({ hobby: 'Chess' }).forAll(),
393
+ // Update with where condition
394
+ updateWhere: () => Person.update({ hobby: 'Archived' }).where((p) => p.hobby.equals('Chess')),
395
+ // --- Computed expression tests ---
396
+ // Simple expression: string length
397
+ exprStrlen: () => Person.select((p) => p.name.strlen()),
398
+ // Expression with custom key
399
+ exprCustomKey: () => Person.select((p) => ({ nameLen: p.name.strlen() })),
400
+ // Expression on nested path
401
+ exprNestedPath: () => Person.select((p) => p.bestFriend.name.ucase()),
402
+ // Multiple expressions in array
403
+ exprMultiple: () => Person.select((p) => [
404
+ p.name,
405
+ p.name.strlen(),
406
+ ]),
407
+ // --- Mutation expression tests ---
408
+ // Functional callback update with expression
409
+ updateExprCallback: () => Dog.update((p) => ({ guardDogLevel: p.guardDogLevel.plus(1) })).for(entity('d1')),
410
+ // Expression in update with Expr.now()
411
+ updateExprNow: () => {
412
+ const { Expr } = require('../expressions/Expr');
413
+ return Person.update({ birthDate: Expr.now() }).for(entity('p1'));
414
+ },
415
+ // --- Traversal expression mutation tests ---
416
+ // Multi-segment expression ref: p.bestFriend.name.ucase()
417
+ updateExprTraversal: () => Person.update((p) => ({ hobby: p.bestFriend.name.ucase() })).for(entity('p1')),
418
+ // Shared traversal: two fields referencing same intermediate (p.bestFriend)
419
+ updateExprSharedTraversal: () => Person.update((p) => ({
420
+ name: p.bestFriend.name.ucase(),
421
+ hobby: p.bestFriend.hobby.lcase(),
422
+ })).for(entity('p1')),
423
+ // --- Expression-based WHERE filter tests (Phase 8) ---
424
+ // Expression WHERE: STRLEN filter
425
+ whereExprStrlen: () => Person.select((p) => ({ name: p.name })).where(((p) => p.name.strlen().gt(5))),
426
+ // Expression WHERE: arithmetic
427
+ whereExprArithmetic: () => Person.select((p) => ({ name: p.name })).where(((p) => p.name.strlen().plus(10).lt(100))),
428
+ // Expression WHERE: AND chaining on ExpressionNode
429
+ whereExprAndChain: () => Person.select((p) => ({ name: p.name })).where(((p) => p.name.strlen().gt(5).and(p.name.strlen().lt(20)))),
430
+ // Expression WHERE: mixed Evaluation .and() with ExpressionNode
431
+ whereExprMixed: () => Person.select((p) => ({ name: p.name })).where((p) => p.name.equals('Bob').and(p.name.strlen().gt(3))),
432
+ // Expression WHERE on UpdateBuilder
433
+ whereExprUpdateBuilder: () => Person.update({ hobby: 'Archived' }).where(((p) => p.name.strlen().gt(3))),
434
+ // Expression WHERE on DeleteBuilder
435
+ whereExprDeleteBuilder: () => DeleteBuilder.from(Person).where(((p) => p.name.strlen().gt(3))),
436
+ // Expression WHERE with nested path traversal
437
+ whereExprNestedPath: () => Person.select((p) => ({ name: p.name })).where(((p) => p.bestFriend.name.strlen().gt(3))),
438
+ // Expression WHERE combined with expression projection
439
+ whereExprWithProjection: () => Person.select((p) => ({
440
+ name: p.name,
441
+ nameLen: p.name.strlen(),
442
+ })).where(((p) => p.name.strlen().gt(2))),
366
443
  };
367
444
  //# sourceMappingURL=query-fixtures.js.map