@nest-boot/graphql-connection 6.0.0-beta.1

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 (182) hide show
  1. package/dist/connection.builder.d.ts +21 -0
  2. package/dist/connection.builder.js +180 -0
  3. package/dist/connection.builder.js.map +1 -0
  4. package/dist/connection.manager.d.ts +13 -0
  5. package/dist/connection.manager.js +133 -0
  6. package/dist/connection.manager.js.map +1 -0
  7. package/dist/enums/comparator-operator.enum.d.ts +11 -0
  8. package/dist/enums/comparator-operator.enum.js +16 -0
  9. package/dist/enums/comparator-operator.enum.js.map +1 -0
  10. package/dist/enums/index.d.ts +2 -0
  11. package/dist/enums/index.js +19 -0
  12. package/dist/enums/index.js.map +1 -0
  13. package/dist/enums/order-direction.enum.d.ts +4 -0
  14. package/dist/enums/order-direction.enum.js +11 -0
  15. package/dist/enums/order-direction.enum.js.map +1 -0
  16. package/dist/graphql-connection.constants.d.ts +1 -0
  17. package/dist/graphql-connection.constants.js +5 -0
  18. package/dist/graphql-connection.constants.js.map +1 -0
  19. package/dist/graphql-connection.module-definition.d.ts +7 -0
  20. package/dist/graphql-connection.module-definition.js +14 -0
  21. package/dist/graphql-connection.module-definition.js.map +1 -0
  22. package/dist/graphql-connection.module.d.ts +3 -0
  23. package/dist/graphql-connection.module.js +22 -0
  24. package/dist/graphql-connection.module.js.map +1 -0
  25. package/dist/index.d.ts +6 -0
  26. package/dist/index.js +23 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/interfaces/connection-args.interface.d.ts +6 -0
  29. package/dist/interfaces/connection-args.interface.js +3 -0
  30. package/dist/interfaces/connection-args.interface.js.map +1 -0
  31. package/dist/interfaces/connection-metadata.interface.d.ts +6 -0
  32. package/dist/interfaces/connection-metadata.interface.js +3 -0
  33. package/dist/interfaces/connection-metadata.interface.js.map +1 -0
  34. package/dist/interfaces/connection.interface.d.ts +7 -0
  35. package/dist/interfaces/connection.interface.js +3 -0
  36. package/dist/interfaces/connection.interface.js.map +1 -0
  37. package/dist/interfaces/edge.interface.d.ts +4 -0
  38. package/dist/interfaces/edge.interface.js +3 -0
  39. package/dist/interfaces/edge.interface.js.map +1 -0
  40. package/dist/interfaces/field-options.interface.d.ts +27 -0
  41. package/dist/interfaces/field-options.interface.js +3 -0
  42. package/dist/interfaces/field-options.interface.js.map +1 -0
  43. package/dist/interfaces/index.d.ts +8 -0
  44. package/dist/interfaces/index.js +25 -0
  45. package/dist/interfaces/index.js.map +1 -0
  46. package/dist/interfaces/order-field.type.d.ts +8 -0
  47. package/dist/interfaces/order-field.type.js +3 -0
  48. package/dist/interfaces/order-field.type.js.map +1 -0
  49. package/dist/interfaces/order.interface.d.ts +6 -0
  50. package/dist/interfaces/order.interface.js +3 -0
  51. package/dist/interfaces/order.interface.js.map +1 -0
  52. package/dist/interfaces/replacement-args.interface.d.ts +9 -0
  53. package/dist/interfaces/replacement-args.interface.js +3 -0
  54. package/dist/interfaces/replacement-args.interface.js.map +1 -0
  55. package/dist/interfaces/search-syntax-field-options.interface.d.ts +12 -0
  56. package/dist/interfaces/search-syntax-field-options.interface.js +3 -0
  57. package/dist/interfaces/search-syntax-field-options.interface.js.map +1 -0
  58. package/dist/objects/index.d.ts +1 -0
  59. package/dist/objects/index.js +18 -0
  60. package/dist/objects/index.js.map +1 -0
  61. package/dist/objects/page-info.object.d.ts +6 -0
  62. package/dist/objects/page-info.object.js +44 -0
  63. package/dist/objects/page-info.object.js.map +1 -0
  64. package/dist/scripts/generate-cst-dts.d.ts +1 -0
  65. package/dist/scripts/generate-cst-dts.js +8 -0
  66. package/dist/scripts/generate-cst-dts.js.map +1 -0
  67. package/dist/search-syntax.lexer.d.ts +5 -0
  68. package/dist/search-syntax.lexer.js +13 -0
  69. package/dist/search-syntax.lexer.js.map +1 -0
  70. package/dist/search-syntax.parser.d.ts +6 -0
  71. package/dist/search-syntax.parser.js +91 -0
  72. package/dist/search-syntax.parser.js.map +1 -0
  73. package/dist/search-syntax.visitor.d.ts +24 -0
  74. package/dist/search-syntax.visitor.js +324 -0
  75. package/dist/search-syntax.visitor.js.map +1 -0
  76. package/dist/tokens/Comma.d.ts +1 -0
  77. package/dist/tokens/Comma.js +9 -0
  78. package/dist/tokens/Comma.js.map +1 -0
  79. package/dist/tokens/Identifier.d.ts +1 -0
  80. package/dist/tokens/Identifier.js +14 -0
  81. package/dist/tokens/Identifier.js.map +1 -0
  82. package/dist/tokens/UnquotedLiteral.d.ts +1 -0
  83. package/dist/tokens/UnquotedLiteral.js +11 -0
  84. package/dist/tokens/UnquotedLiteral.js.map +1 -0
  85. package/dist/tokens/WhiteSpace.d.ts +1 -0
  86. package/dist/tokens/WhiteSpace.js +12 -0
  87. package/dist/tokens/WhiteSpace.js.map +1 -0
  88. package/dist/tokens/Wildcard.d.ts +1 -0
  89. package/dist/tokens/Wildcard.js +9 -0
  90. package/dist/tokens/Wildcard.js.map +1 -0
  91. package/dist/tokens/brackets/LeftBracket.d.ts +1 -0
  92. package/dist/tokens/brackets/LeftBracket.js +9 -0
  93. package/dist/tokens/brackets/LeftBracket.js.map +1 -0
  94. package/dist/tokens/brackets/RightBracket.d.ts +1 -0
  95. package/dist/tokens/brackets/RightBracket.js +9 -0
  96. package/dist/tokens/brackets/RightBracket.js.map +1 -0
  97. package/dist/tokens/brackets/index.d.ts +3 -0
  98. package/dist/tokens/brackets/index.js +23 -0
  99. package/dist/tokens/brackets/index.js.map +1 -0
  100. package/dist/tokens/comparators/Comparator.d.ts +1 -0
  101. package/dist/tokens/comparators/Comparator.js +9 -0
  102. package/dist/tokens/comparators/Comparator.js.map +1 -0
  103. package/dist/tokens/comparators/Equal.d.ts +1 -0
  104. package/dist/tokens/comparators/Equal.js +11 -0
  105. package/dist/tokens/comparators/Equal.js.map +1 -0
  106. package/dist/tokens/comparators/GreaterThan.d.ts +1 -0
  107. package/dist/tokens/comparators/GreaterThan.js +11 -0
  108. package/dist/tokens/comparators/GreaterThan.js.map +1 -0
  109. package/dist/tokens/comparators/GreaterThanOrEqual.d.ts +1 -0
  110. package/dist/tokens/comparators/GreaterThanOrEqual.js +11 -0
  111. package/dist/tokens/comparators/GreaterThanOrEqual.js.map +1 -0
  112. package/dist/tokens/comparators/LessThan.d.ts +1 -0
  113. package/dist/tokens/comparators/LessThan.js +11 -0
  114. package/dist/tokens/comparators/LessThan.js.map +1 -0
  115. package/dist/tokens/comparators/LessThanOrEqual.d.ts +1 -0
  116. package/dist/tokens/comparators/LessThanOrEqual.js +11 -0
  117. package/dist/tokens/comparators/LessThanOrEqual.js.map +1 -0
  118. package/dist/tokens/comparators/index.d.ts +7 -0
  119. package/dist/tokens/comparators/index.js +38 -0
  120. package/dist/tokens/comparators/index.js.map +1 -0
  121. package/dist/tokens/connectives/And.d.ts +1 -0
  122. package/dist/tokens/connectives/And.js +11 -0
  123. package/dist/tokens/connectives/And.js.map +1 -0
  124. package/dist/tokens/connectives/Not.d.ts +1 -0
  125. package/dist/tokens/connectives/Not.js +11 -0
  126. package/dist/tokens/connectives/Not.js.map +1 -0
  127. package/dist/tokens/connectives/Or.d.ts +1 -0
  128. package/dist/tokens/connectives/Or.js +11 -0
  129. package/dist/tokens/connectives/Or.js.map +1 -0
  130. package/dist/tokens/connectives/index.d.ts +4 -0
  131. package/dist/tokens/connectives/index.js +25 -0
  132. package/dist/tokens/connectives/index.js.map +1 -0
  133. package/dist/tokens/fields/Field.d.ts +1 -0
  134. package/dist/tokens/fields/Field.js +9 -0
  135. package/dist/tokens/fields/Field.js.map +1 -0
  136. package/dist/tokens/fields/NestedField.d.ts +1 -0
  137. package/dist/tokens/fields/NestedField.js +13 -0
  138. package/dist/tokens/fields/NestedField.js.map +1 -0
  139. package/dist/tokens/fields/index.d.ts +3 -0
  140. package/dist/tokens/fields/index.js +23 -0
  141. package/dist/tokens/fields/index.js.map +1 -0
  142. package/dist/tokens/index.d.ts +1 -0
  143. package/dist/tokens/index.js +31 -0
  144. package/dist/tokens/index.js.map +1 -0
  145. package/dist/tokens/values/Date.d.ts +1 -0
  146. package/dist/tokens/values/Date.js +12 -0
  147. package/dist/tokens/values/Date.js.map +1 -0
  148. package/dist/tokens/values/False.d.ts +1 -0
  149. package/dist/tokens/values/False.js +13 -0
  150. package/dist/tokens/values/False.js.map +1 -0
  151. package/dist/tokens/values/Null.d.ts +1 -0
  152. package/dist/tokens/values/Null.js +13 -0
  153. package/dist/tokens/values/Null.js.map +1 -0
  154. package/dist/tokens/values/Number.d.ts +1 -0
  155. package/dist/tokens/values/Number.js +13 -0
  156. package/dist/tokens/values/Number.js.map +1 -0
  157. package/dist/tokens/values/QuotedString.d.ts +1 -0
  158. package/dist/tokens/values/QuotedString.js +11 -0
  159. package/dist/tokens/values/QuotedString.js.map +1 -0
  160. package/dist/tokens/values/True.d.ts +1 -0
  161. package/dist/tokens/values/True.js +13 -0
  162. package/dist/tokens/values/True.js.map +1 -0
  163. package/dist/tokens/values/Value.d.ts +1 -0
  164. package/dist/tokens/values/Value.js +9 -0
  165. package/dist/tokens/values/Value.js.map +1 -0
  166. package/dist/tokens/values/index.d.ts +7 -0
  167. package/dist/tokens/values/index.js +32 -0
  168. package/dist/tokens/values/index.js.map +1 -0
  169. package/dist/tsconfig.build.tsbuildinfo +1 -0
  170. package/dist/types/connection-class.type.d.ts +3 -0
  171. package/dist/types/connection-class.type.js +3 -0
  172. package/dist/types/connection-class.type.js.map +1 -0
  173. package/dist/types/index.d.ts +1 -0
  174. package/dist/types/index.js +18 -0
  175. package/dist/types/index.js.map +1 -0
  176. package/dist/utils/index.d.ts +1 -0
  177. package/dist/utils/index.js +18 -0
  178. package/dist/utils/index.js.map +1 -0
  179. package/dist/utils/infer-type.d.ts +1 -0
  180. package/dist/utils/infer-type.js +15 -0
  181. package/dist/utils/infer-type.js.map +1 -0
  182. package/package.json +79 -0
@@ -0,0 +1,27 @@
1
+ import type { FilterQuery } from "@mikro-orm/core";
2
+ import { AutoPath } from "@mikro-orm/core/typings";
3
+ import { ReplacementArgs } from "./replacement-args.interface";
4
+ export interface BaseFieldOptions {
5
+ array?: boolean;
6
+ fulltext?: boolean;
7
+ searchable?: boolean;
8
+ filterable?: boolean;
9
+ }
10
+ export interface SortableFieldOptions extends BaseFieldOptions {
11
+ sortable?: boolean;
12
+ }
13
+ export interface SimpleFieldOptions<Entity extends object, Fields extends string = never> extends SortableFieldOptions {
14
+ field: AutoPath<Entity, Fields>;
15
+ sortable?: boolean;
16
+ }
17
+ export interface ReplacementFieldOptions<Entity extends object, Fields extends string = never> extends SortableFieldOptions {
18
+ field: string;
19
+ replacement: AutoPath<Entity, Fields>;
20
+ sortable?: boolean;
21
+ }
22
+ export interface ReplacementFunctionFieldOptions<Entity extends object, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> extends SortableFieldOptions {
23
+ field: string;
24
+ type: Type;
25
+ replacement?: (args: ReplacementArgs<Type>) => FilterQuery<Entity>;
26
+ }
27
+ export type FieldOptions<Entity extends object, Fields extends string = never, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> = SimpleFieldOptions<Entity, Fields> | ReplacementFieldOptions<Entity, Fields> | ReplacementFunctionFieldOptions<Entity, Type>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=field-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-options.interface.js","sourceRoot":"","sources":["../../src/interfaces/field-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export * from "./connection.interface";
2
+ export * from "./connection-args.interface";
3
+ export * from "./connection-metadata.interface";
4
+ export * from "./edge.interface";
5
+ export * from "./field-options.interface";
6
+ export * from "./order.interface";
7
+ export * from "./order-field.type";
8
+ export * from "./replacement-args.interface";
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./connection.interface"), exports);
18
+ __exportStar(require("./connection-args.interface"), exports);
19
+ __exportStar(require("./connection-metadata.interface"), exports);
20
+ __exportStar(require("./edge.interface"), exports);
21
+ __exportStar(require("./field-options.interface"), exports);
22
+ __exportStar(require("./order.interface"), exports);
23
+ __exportStar(require("./order-field.type"), exports);
24
+ __exportStar(require("./replacement-args.interface"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,8DAA4C;AAC5C,kEAAgD;AAChD,mDAAiC;AACjC,4DAA0C;AAC1C,oDAAkC;AAClC,qDAAmC;AACnC,+DAA6C"}
@@ -0,0 +1,8 @@
1
+ import { AutoPath } from "@mikro-orm/core/typings";
2
+ type DotToUnderscore<S extends string> = S extends `${infer Prefix}.${infer Rest}` ? `${Prefix}_${DotToUnderscore<Rest>}` : S;
3
+ export type OrderFieldKey<T> = Uppercase<DotToUnderscore<AutoPath<T, string>>>;
4
+ export type OrderFieldValue<T> = AutoPath<T, string>;
5
+ export type OrderFieldType<T> = {
6
+ [key in OrderFieldKey<T>]: OrderFieldValue<T>;
7
+ };
8
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=order-field.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-field.type.js","sourceRoot":"","sources":["../../src/interfaces/order-field.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { type OrderDirection } from "../enums";
2
+ import { OrderFieldKey } from "./order-field.type";
3
+ export interface OrderInterface<T> {
4
+ field: OrderFieldKey<T>;
5
+ direction: OrderDirection;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=order.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.interface.js","sourceRoot":"","sources":["../../src/interfaces/order.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { EntityManager } from "@mikro-orm/core";
2
+ import { type ComparatorOperator } from "../enums";
3
+ export interface ReplacementArgs<Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> {
4
+ entityManager: EntityManager;
5
+ type: Type;
6
+ field: string;
7
+ operator: ComparatorOperator;
8
+ value: (Type extends "string" ? string : Type extends "number" ? number : Type extends "bigint" ? bigint : Type extends "boolean" ? boolean : Date) | (Type extends "string" ? string : Type extends "number" ? number : Type extends "bigint" ? bigint : Type extends "boolean" ? boolean : Date)[];
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=replacement-args.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replacement-args.interface.js","sourceRoot":"","sources":["../../src/interfaces/replacement-args.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import type { FilterQuery } from "@mikro-orm/core";
2
+ import { AutoPath } from "@mikro-orm/core/typings";
3
+ import { ReplacementArgs } from "./replacement-args.interface";
4
+ export interface SearchSyntaxFieldOptions<Entity extends object, Fields extends string = never, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> {
5
+ field: string;
6
+ type: Type;
7
+ replacement?: AutoPath<Entity, Fields> | ((args: ReplacementArgs<Type>) => FilterQuery<Entity>);
8
+ array?: boolean;
9
+ fulltext?: boolean;
10
+ searchable?: boolean;
11
+ filterable?: boolean;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=search-syntax-field-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-syntax-field-options.interface.js","sourceRoot":"","sources":["../../src/interfaces/search-syntax-field-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from "./page-info.object";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./page-info.object"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/objects/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
@@ -0,0 +1,6 @@
1
+ export declare class PageInfo {
2
+ hasNextPage: boolean;
3
+ hasPreviousPage: boolean;
4
+ startCursor: string | null;
5
+ endCursor: string | null;
6
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PageInfo = void 0;
13
+ const graphql_1 = require("@nestjs/graphql");
14
+ let PageInfo = class PageInfo {
15
+ };
16
+ exports.PageInfo = PageInfo;
17
+ __decorate([
18
+ (0, graphql_1.Field)({
19
+ complexity: 0,
20
+ description: `Whether there are more pages to fetch following the current page.`,
21
+ }),
22
+ __metadata("design:type", Boolean)
23
+ ], PageInfo.prototype, "hasNextPage", void 0);
24
+ __decorate([
25
+ (0, graphql_1.Field)({
26
+ complexity: 0,
27
+ description: `Whether there are any pages prior to the current page.`,
28
+ }),
29
+ __metadata("design:type", Boolean)
30
+ ], PageInfo.prototype, "hasPreviousPage", void 0);
31
+ __decorate([
32
+ (0, graphql_1.Field)(() => String, { nullable: true }),
33
+ __metadata("design:type", Object)
34
+ ], PageInfo.prototype, "startCursor", void 0);
35
+ __decorate([
36
+ (0, graphql_1.Field)(() => String, { nullable: true }),
37
+ __metadata("design:type", Object)
38
+ ], PageInfo.prototype, "endCursor", void 0);
39
+ exports.PageInfo = PageInfo = __decorate([
40
+ (0, graphql_1.ObjectType)({
41
+ description: `Returns information about pagination in a connection, in accordance with the [Relay specification](https://relay.dev/graphql/connections.htm#sec-undefined.PageInfo).`,
42
+ })
43
+ ], PageInfo);
44
+ //# sourceMappingURL=page-info.object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-info.object.js","sourceRoot":"","sources":["../../src/objects/page-info.object.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AAK7C,IAAM,QAAQ,GAAd,MAAM,QAAQ;CAkBpB,CAAA;AAlBY,4BAAQ;AAKnB;IAJC,IAAA,eAAK,EAAC;QACL,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,mEAAmE;KACjF,CAAC;;6CACoB;AAMtB;IAJC,IAAA,eAAK,EAAC;QACL,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,wDAAwD;KACtE,CAAC;;iDACwB;AAG1B;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACZ;AAG5B;IADC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACd;mBAjBf,QAAQ;IAHpB,IAAA,oBAAU,EAAC;QACV,WAAW,EAAE,uKAAuK;KACrL,CAAC;GACW,QAAQ,CAkBpB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chevrotain_1 = require("chevrotain");
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const search_syntax_parser_1 = require("../search-syntax.parser");
7
+ (0, fs_1.writeFileSync)((0, path_1.resolve)(__dirname, "./cst.d.ts"), `/* eslint-disable */\n${(0, chevrotain_1.generateCstDts)(search_syntax_parser_1.searchSyntaxParser.getGAstProductions())}`);
8
+ //# sourceMappingURL=generate-cst-dts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-cst-dts.js","sourceRoot":"","sources":["../../src/scripts/generate-cst-dts.ts"],"names":[],"mappings":";;AAAA,2CAA4C;AAC5C,2BAAmC;AACnC,+BAA+B;AAE/B,kEAA6D;AAE7D,IAAA,kBAAa,EACX,IAAA,cAAO,EAAC,SAAS,EAAE,YAAY,CAAC,EAChC,yBAAyB,IAAA,2BAAc,EAAC,yCAAkB,CAAC,kBAAkB,EAAE,CAAC,EAAE,CACnF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Lexer } from "chevrotain";
2
+ export declare class SearchSyntaxLexer extends Lexer {
3
+ constructor();
4
+ }
5
+ export declare const searchSyntaxLexer: SearchSyntaxLexer;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchSyntaxLexer = exports.SearchSyntaxLexer = void 0;
4
+ const chevrotain_1 = require("chevrotain");
5
+ const tokens_1 = require("./tokens");
6
+ class SearchSyntaxLexer extends chevrotain_1.Lexer {
7
+ constructor() {
8
+ super(tokens_1.tokens);
9
+ }
10
+ }
11
+ exports.SearchSyntaxLexer = SearchSyntaxLexer;
12
+ exports.searchSyntaxLexer = new SearchSyntaxLexer();
13
+ //# sourceMappingURL=search-syntax.lexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-syntax.lexer.js","sourceRoot":"","sources":["../src/search-syntax.lexer.ts"],"names":[],"mappings":";;;AAAA,2CAAmC;AAEnC,qCAAkC;AAElC,MAAa,iBAAkB,SAAQ,kBAAK;IAC1C;QACE,KAAK,CAAC,eAAM,CAAC,CAAC;IAChB,CAAC;CACF;AAJD,8CAIC;AAEY,QAAA,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { CstParser } from "chevrotain";
2
+ export declare class SearchSyntaxParser extends CstParser {
3
+ [key: string]: any;
4
+ constructor();
5
+ }
6
+ export declare const searchSyntaxParser: SearchSyntaxParser;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchSyntaxParser = exports.SearchSyntaxParser = void 0;
4
+ const chevrotain_1 = require("chevrotain");
5
+ const tokens_1 = require("./tokens");
6
+ const brackets_1 = require("./tokens/brackets");
7
+ const Comma_1 = require("./tokens/Comma");
8
+ const comparators_1 = require("./tokens/comparators");
9
+ const connectives_1 = require("./tokens/connectives");
10
+ const fields_1 = require("./tokens/fields");
11
+ const values_1 = require("./tokens/values");
12
+ class SearchSyntaxParser extends chevrotain_1.CstParser {
13
+ constructor() {
14
+ super(tokens_1.tokens);
15
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
16
+ const $ = this;
17
+ $.RULE("query", () => {
18
+ $.SUBRULE($.orQuery);
19
+ });
20
+ $.RULE("orQuery", () => {
21
+ $.SUBRULE1($.andQuery);
22
+ $.MANY(() => {
23
+ $.CONSUME(connectives_1.Or);
24
+ $.SUBRULE2($.andQuery);
25
+ });
26
+ });
27
+ $.RULE("andQuery", () => {
28
+ $.SUBRULE1($.atomicQuery);
29
+ $.MANY(() => {
30
+ $.OPTION(() => $.CONSUME(connectives_1.And));
31
+ $.SUBRULE2($.atomicQuery);
32
+ });
33
+ });
34
+ $.RULE("atomicQuery", () => {
35
+ $.OR([
36
+ { ALT: () => $.SUBRULE($.subQuery) },
37
+ { ALT: () => $.SUBRULE($.notQuery) },
38
+ { ALT: () => $.SUBRULE($.term) },
39
+ ]);
40
+ });
41
+ $.RULE("subQuery", () => {
42
+ $.CONSUME(brackets_1.LeftBracket);
43
+ $.SUBRULE($.query);
44
+ $.CONSUME(brackets_1.RightBracket);
45
+ });
46
+ $.RULE("notQuery", () => {
47
+ $.CONSUME(connectives_1.Not);
48
+ $.SUBRULE($.atomicQuery);
49
+ });
50
+ $.RULE("term", () => {
51
+ $.OR([
52
+ { ALT: () => $.SUBRULE($.equalFieldTerm) },
53
+ { ALT: () => $.SUBRULE($.otherFieldTerm) },
54
+ { ALT: () => $.SUBRULE($.globalTerm) },
55
+ ]);
56
+ });
57
+ $.RULE("equalFieldTerm", () => {
58
+ $.SUBRULE($.field);
59
+ $.CONSUME(comparators_1.Equal);
60
+ $.AT_LEAST_ONE_SEP({
61
+ SEP: Comma_1.Comma,
62
+ DEF: () => {
63
+ $.SUBRULE($.value);
64
+ },
65
+ });
66
+ });
67
+ $.RULE("otherFieldTerm", () => {
68
+ $.SUBRULE($.field);
69
+ $.OR([
70
+ { ALT: () => $.CONSUME(comparators_1.LessThan) },
71
+ { ALT: () => $.CONSUME(comparators_1.LessThanOrEqual) },
72
+ { ALT: () => $.CONSUME(comparators_1.GreaterThan) },
73
+ { ALT: () => $.CONSUME(comparators_1.GreaterThanOrEqual) },
74
+ ]);
75
+ $.SUBRULE($.value);
76
+ });
77
+ $.RULE("globalTerm", () => {
78
+ $.SUBRULE($.value);
79
+ });
80
+ $.RULE("field", () => {
81
+ $.CONSUME(fields_1.Field);
82
+ });
83
+ $.RULE("value", () => {
84
+ $.CONSUME(values_1.Value);
85
+ });
86
+ this.performSelfAnalysis();
87
+ }
88
+ }
89
+ exports.SearchSyntaxParser = SearchSyntaxParser;
90
+ exports.searchSyntaxParser = new SearchSyntaxParser();
91
+ //# sourceMappingURL=search-syntax.parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-syntax.parser.js","sourceRoot":"","sources":["../src/search-syntax.parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { EntityManager, type FilterQuery } from "@mikro-orm/core";
2
+ import { type AndQueryCstChildren, type AtomicQueryCstChildren, type EqualFieldTermCstChildren, type FieldCstChildren, type GlobalTermCstChildren, type ICstNodeVisitor, type NotQueryCstChildren, type OrQueryCstChildren, type OtherFieldTermCstChildren, type QueryCstChildren, type SubQueryCstChildren, type TermCstChildren, type ValueCstChildren } from "./cst";
3
+ import { SearchSyntaxFieldOptions } from "./interfaces/search-syntax-field-options.interface";
4
+ declare const BaseCstVisitor: new (...args: any[]) => import("chevrotain").ICstVisitor<any, any>;
5
+ export declare class SearchSyntaxVisitor<Entity extends object> extends BaseCstVisitor implements ICstNodeVisitor<any, any> {
6
+ private readonly entityManager;
7
+ private readonly fieldOptionsMap;
8
+ constructor(entityManager: EntityManager, fieldOptionsMap: Map<string, SearchSyntaxFieldOptions<Entity, any, any>>);
9
+ private get searchableFieldOptions();
10
+ private buildComparatorOperators;
11
+ query(ctx: QueryCstChildren): FilterQuery<Entity>;
12
+ orQuery(ctx: OrQueryCstChildren): FilterQuery<Entity> | undefined;
13
+ andQuery(ctx: AndQueryCstChildren): FilterQuery<Entity> | undefined;
14
+ atomicQuery(ctx: AtomicQueryCstChildren): FilterQuery<Entity> | null;
15
+ subQuery(ctx: SubQueryCstChildren): FilterQuery<Entity>;
16
+ notQuery(ctx: NotQueryCstChildren): FilterQuery<Entity>;
17
+ term(ctx: TermCstChildren): FilterQuery<Entity> | undefined;
18
+ globalTerm(ctx: GlobalTermCstChildren): FilterQuery<Entity> | undefined;
19
+ equalFieldTerm(children: EqualFieldTermCstChildren): FilterQuery<Entity> | undefined;
20
+ otherFieldTerm(children: OtherFieldTermCstChildren): FilterQuery<Entity> | undefined;
21
+ field(ctx: FieldCstChildren): string;
22
+ value(children: ValueCstChildren, type?: SearchSyntaxFieldOptions<Entity>["type"]): any;
23
+ }
24
+ export {};