@nest-boot/graphql-connection 7.2.0 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/connection-query-builder.d.ts +1 -0
- package/dist/connection-query-builder.js +8 -1
- package/dist/connection-query-builder.js.map +1 -1
- package/dist/connection.builder.d.ts +5 -5
- package/dist/connection.builder.js +8 -156
- package/dist/connection.builder.js.map +1 -1
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.js +18 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/unknown-field.error.d.ts +4 -0
- package/dist/errors/unknown-field.error.js +12 -0
- package/dist/errors/unknown-field.error.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/connection-args.interface.d.ts +2 -0
- package/dist/interfaces/field-options.interface.d.ts +10 -13
- package/dist/search-syntax.visitor.js +13 -19
- package/dist/search-syntax.visitor.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/create-connection-args.d.ts +6 -0
- package/dist/utils/create-connection-args.js +80 -0
- package/dist/utils/create-connection-args.js.map +1 -0
- package/dist/utils/create-connection.d.ts +4 -0
- package/dist/utils/create-connection.js +54 -0
- package/dist/utils/create-connection.js.map +1 -0
- package/dist/utils/create-edge.d.ts +4 -0
- package/dist/utils/create-edge.js +37 -0
- package/dist/utils/create-edge.js.map +1 -0
- package/dist/utils/create-filter.d.ts +5 -0
- package/dist/utils/create-filter.js +209 -0
- package/dist/utils/create-filter.js.map +1 -0
- package/dist/utils/create-order.d.ts +7 -0
- package/dist/utils/create-order.js +50 -0
- package/dist/utils/create-order.js.map +1 -0
- package/dist/utils/index.d.ts +5 -1
- package/dist/utils/index.js +5 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +10 -9
- package/dist/utils/infer-type.d.ts +0 -1
- package/dist/utils/infer-type.js +0 -14
- package/dist/utils/infer-type.js.map +0 -1
|
@@ -17,6 +17,7 @@ export declare class ConnectionQueryBuilder<Entity extends object, Hint extends
|
|
|
17
17
|
private readonly optionFilterQuery;
|
|
18
18
|
private readonly cursorFilterQuery;
|
|
19
19
|
private readonly queryStringFilterQuery;
|
|
20
|
+
private readonly argsFilterQuery;
|
|
20
21
|
private readonly totalCountFilterQuery;
|
|
21
22
|
private readonly allFilterQuery;
|
|
22
23
|
constructor(entityManager: EntityManager, connectionClass: ConnectionClass<Entity>, args: ConnectionArgsInterface<Entity>, options?: ConnectionFindOptions<Entity, Hint, Fields, Excludes> | undefined);
|
|
@@ -49,6 +49,7 @@ class ConnectionQueryBuilder {
|
|
|
49
49
|
this.optionFilterQuery = null;
|
|
50
50
|
this.cursorFilterQuery = null;
|
|
51
51
|
this.queryStringFilterQuery = null;
|
|
52
|
+
this.argsFilterQuery = null;
|
|
52
53
|
this.totalCountFilterQuery = null;
|
|
53
54
|
this.allFilterQuery = null;
|
|
54
55
|
this.metadata = Reflect.getMetadata(graphql_connection_constants_1.GRAPHQL_CONNECTION_METADATA, connectionClass);
|
|
@@ -64,11 +65,17 @@ class ConnectionQueryBuilder {
|
|
|
64
65
|
this.optionFilterQuery = this.options?.where ?? null;
|
|
65
66
|
this.cursorFilterQuery = this.getCursorFilterQuery();
|
|
66
67
|
this.queryStringFilterQuery = this.getQueryStringToFilterQuery();
|
|
67
|
-
this.
|
|
68
|
+
this.argsFilterQuery = this.args.filter ?? null;
|
|
69
|
+
this.totalCountFilterQuery = this.mergeFilterQuery((0, compact_1.default)([
|
|
70
|
+
this.optionFilterQuery,
|
|
71
|
+
this.queryStringFilterQuery,
|
|
72
|
+
this.argsFilterQuery,
|
|
73
|
+
]));
|
|
68
74
|
this.allFilterQuery = this.mergeFilterQuery((0, compact_1.default)([
|
|
69
75
|
this.cursorFilterQuery,
|
|
70
76
|
this.optionFilterQuery,
|
|
71
77
|
this.queryStringFilterQuery,
|
|
78
|
+
this.argsFilterQuery,
|
|
72
79
|
]));
|
|
73
80
|
}
|
|
74
81
|
getLimit() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-query-builder.js","sourceRoot":"","sources":["../src/connection-query-builder.ts"],"names":[],"mappings":";;;;;;AAAA,0CAOyB;AACzB,6DAAqC;AACrC,qDAA6B;AAC7B,qDAA6B;AAG7B,qCAAkC;AAClC,mCAAqD;AACrD,iFAA6E;AAS7E,+DAA0D;AAC1D,iEAA4D;AAC5D,mEAA8D;AAG9D,SAAS,0BAA0B,CACjC,IAA4B;IAE5B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,aAAa,CAAC;QACnB,KAAK,cAAc,CAAC;QACpB,KAAK,eAAe,CAAC;QACrB,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU,CAAC;QAChB,KAAK,cAAc;YACjB,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAa,sBAAsB;
|
|
1
|
+
{"version":3,"file":"connection-query-builder.js","sourceRoot":"","sources":["../src/connection-query-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { EntityClass } from "@mikro-orm/core";
|
|
1
|
+
import type { EntityClass, FilterQuery } from "@mikro-orm/core";
|
|
2
2
|
import { type Type } from "@nestjs/common";
|
|
3
|
+
import { GraphQLScalarType } from "graphql";
|
|
3
4
|
import { ConnectionArgsInterface, ConnectionInterface, EdgeInterface, FieldOptions, OrderFieldType, OrderInterface } from "./interfaces";
|
|
4
5
|
type ConnectionBuildResult<Entity extends object> = {
|
|
5
6
|
Connection: Type<ConnectionInterface<Entity>>;
|
|
@@ -7,15 +8,14 @@ type ConnectionBuildResult<Entity extends object> = {
|
|
|
7
8
|
Edge: Type<EdgeInterface<Entity>>;
|
|
8
9
|
Order: Type<OrderInterface<Entity>>;
|
|
9
10
|
OrderField?: OrderFieldType<Entity>;
|
|
10
|
-
|
|
11
|
+
Filter: GraphQLScalarType<FilterQuery<Entity>>;
|
|
12
|
+
} & Record<`${EntityClass<Entity>["name"]}Connection`, Type<ConnectionInterface<Entity>>> & Record<`${EntityClass<Entity>["name"]}ConnectionArgs`, Type<ConnectionArgsInterface<Entity>>> & Record<`${EntityClass<Entity>["name"]}Edge`, Type<EdgeInterface<Entity>>> & Record<`${EntityClass<Entity>["name"]}Order`, Type<OrderInterface<Entity>>> & Record<`${EntityClass<Entity>["name"]}OrderField`, OrderFieldType<Entity>> & Record<`${EntityClass<Entity>["name"]}Filter`, GraphQLScalarType<FilterQuery<Entity>>>;
|
|
11
13
|
export declare class ConnectionBuilder<Entity extends object> {
|
|
12
14
|
private readonly entityClass;
|
|
13
15
|
private readonly entityName;
|
|
14
16
|
private readonly fieldOptionsMap;
|
|
15
17
|
constructor(entityClass: EntityClass<Entity>);
|
|
16
|
-
|
|
17
|
-
private get sortableFields();
|
|
18
|
-
addField<Field extends string = never, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never>(options: FieldOptions<Entity, Field, Type>): this;
|
|
18
|
+
addField<Type extends "string" | "number" | "bigint" | "boolean" | "date" = never, Field extends string = never>(options: FieldOptions<Entity, Type, Field>): this;
|
|
19
19
|
build(): ConnectionBuildResult<Entity>;
|
|
20
20
|
}
|
|
21
21
|
export {};
|
|
@@ -1,184 +1,36 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.ConnectionBuilder = void 0;
|
|
13
|
-
const
|
|
14
|
-
const inflection_1 = require("inflection");
|
|
15
|
-
const enums_1 = require("./enums");
|
|
16
|
-
const graphql_connection_constants_1 = require("./graphql-connection.constants");
|
|
17
|
-
const objects_1 = require("./objects");
|
|
4
|
+
const utils_1 = require("./utils");
|
|
18
5
|
class ConnectionBuilder {
|
|
19
6
|
constructor(entityClass) {
|
|
20
7
|
this.entityClass = entityClass;
|
|
21
8
|
this.fieldOptionsMap = new Map();
|
|
22
9
|
this.entityName = entityClass.name;
|
|
23
10
|
}
|
|
24
|
-
get filterableFields() {
|
|
25
|
-
return [...this.fieldOptionsMap.values()].filter((field) => field.filterable);
|
|
26
|
-
}
|
|
27
|
-
get sortableFields() {
|
|
28
|
-
return [...this.fieldOptionsMap.values()].filter((field) => field?.sortable);
|
|
29
|
-
}
|
|
30
11
|
addField(options) {
|
|
31
12
|
this.fieldOptionsMap.set(options.field, options);
|
|
32
13
|
return this;
|
|
33
14
|
}
|
|
34
15
|
build() {
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
let Edge = class Edge {
|
|
41
|
-
};
|
|
42
|
-
__decorate([
|
|
43
|
-
(0, graphql_1.Field)(() => builder.entityClass, {
|
|
44
|
-
description: `The item at the end of ${builder.entityName}Edge.`,
|
|
45
|
-
}),
|
|
46
|
-
__metadata("design:type", Object)
|
|
47
|
-
], Edge.prototype, "node", void 0);
|
|
48
|
-
__decorate([
|
|
49
|
-
(0, graphql_1.Field)(() => String, {
|
|
50
|
-
complexity: 0,
|
|
51
|
-
description: `A cursor for use in pagination.`,
|
|
52
|
-
}),
|
|
53
|
-
__metadata("design:type", String)
|
|
54
|
-
], Edge.prototype, "cursor", void 0);
|
|
55
|
-
Edge = __decorate([
|
|
56
|
-
(0, graphql_1.ObjectType)(`${builder.entityName}Edge`, {
|
|
57
|
-
description: `An auto-generated type which holds one ${builder.entityName} and a cursor during pagination.`,
|
|
58
|
-
})
|
|
59
|
-
], Edge);
|
|
60
|
-
let Connection = class Connection {
|
|
61
|
-
};
|
|
62
|
-
__decorate([
|
|
63
|
-
(0, graphql_1.Field)(() => [Edge], { complexity: 0, description: `A list of edges.` }),
|
|
64
|
-
__metadata("design:type", Array)
|
|
65
|
-
], Connection.prototype, "edges", void 0);
|
|
66
|
-
__decorate([
|
|
67
|
-
(0, graphql_1.Field)(() => objects_1.PageInfo, {
|
|
68
|
-
complexity: 0,
|
|
69
|
-
description: `Information to aid in pagination.`,
|
|
70
|
-
}),
|
|
71
|
-
__metadata("design:type", objects_1.PageInfo)
|
|
72
|
-
], Connection.prototype, "pageInfo", void 0);
|
|
73
|
-
__decorate([
|
|
74
|
-
(0, graphql_1.Field)(() => graphql_1.Int, {
|
|
75
|
-
complexity: 0,
|
|
76
|
-
description: `Identifies the total count of items in the connection.`,
|
|
77
|
-
}),
|
|
78
|
-
__metadata("design:type", Number)
|
|
79
|
-
], Connection.prototype, "totalCount", void 0);
|
|
80
|
-
Connection = __decorate([
|
|
81
|
-
Reflect.metadata(graphql_connection_constants_1.GRAPHQL_CONNECTION_METADATA, {
|
|
82
|
-
entityClass: builder.entityClass,
|
|
83
|
-
fieldOptionsMap: builder.fieldOptionsMap,
|
|
84
|
-
}),
|
|
85
|
-
(0, graphql_1.ObjectType)(`${builder.entityName}Connection`, {
|
|
86
|
-
isAbstract: true,
|
|
87
|
-
description: `An auto-generated type for paginating through multiple ${pluralizeEntityName}.`,
|
|
88
|
-
})
|
|
89
|
-
], Connection);
|
|
90
|
-
const OrderField = builder.sortableFields.reduce((result, fieldOptions) => {
|
|
91
|
-
return {
|
|
92
|
-
...result,
|
|
93
|
-
[(0, inflection_1.underscore)(fieldOptions.field).toUpperCase()]: fieldOptions.replacement ??
|
|
94
|
-
fieldOptions.field,
|
|
95
|
-
};
|
|
96
|
-
}, { ID: "id" });
|
|
97
|
-
(0, graphql_1.registerEnumType)(OrderField, {
|
|
98
|
-
name: `${builder.entityName}OrderField`,
|
|
99
|
-
description: `Properties by which ${humanizeEntityName} connections can be ordered.`,
|
|
100
|
-
});
|
|
101
|
-
let Order = class Order {
|
|
102
|
-
};
|
|
103
|
-
__decorate([
|
|
104
|
-
(0, graphql_1.Field)(() => OrderField, {
|
|
105
|
-
description: `The field to order ${humanizeAndPluralizeAndEntityName} by.`,
|
|
106
|
-
}),
|
|
107
|
-
__metadata("design:type", String)
|
|
108
|
-
], Order.prototype, "field", void 0);
|
|
109
|
-
__decorate([
|
|
110
|
-
(0, graphql_1.Field)(() => enums_1.OrderDirection, { description: `The ordering direction.` }),
|
|
111
|
-
__metadata("design:type", String)
|
|
112
|
-
], Order.prototype, "direction", void 0);
|
|
113
|
-
Order = __decorate([
|
|
114
|
-
(0, graphql_1.InputType)(`${builder.entityName}Order`, {
|
|
115
|
-
description: `Ordering options for ${humanizeEntityName} connections`,
|
|
116
|
-
})
|
|
117
|
-
], Order);
|
|
118
|
-
let ConnectionArgs = class ConnectionArgs {
|
|
119
|
-
};
|
|
120
|
-
__decorate([
|
|
121
|
-
(0, graphql_1.Field)(() => String, {
|
|
122
|
-
nullable: true,
|
|
123
|
-
...(builder.filterableFields.length > 0
|
|
124
|
-
? {
|
|
125
|
-
description: `Apply one or multiple filters to the query.\nSupported filter parameters:\n${builder.filterableFields
|
|
126
|
-
.map(({ field }) => `\`${String(field)}\``)
|
|
127
|
-
.join(", ")}`,
|
|
128
|
-
}
|
|
129
|
-
: {}),
|
|
130
|
-
}),
|
|
131
|
-
__metadata("design:type", String)
|
|
132
|
-
], ConnectionArgs.prototype, "query", void 0);
|
|
133
|
-
__decorate([
|
|
134
|
-
(0, graphql_1.Field)(() => graphql_1.Int, {
|
|
135
|
-
nullable: true,
|
|
136
|
-
description: "Returns up to the first `n` elements from the list.",
|
|
137
|
-
}),
|
|
138
|
-
__metadata("design:type", Number)
|
|
139
|
-
], ConnectionArgs.prototype, "first", void 0);
|
|
140
|
-
__decorate([
|
|
141
|
-
(0, graphql_1.Field)(() => graphql_1.Int, {
|
|
142
|
-
nullable: true,
|
|
143
|
-
description: "Returns up to the last `n` elements from the list.",
|
|
144
|
-
}),
|
|
145
|
-
__metadata("design:type", Number)
|
|
146
|
-
], ConnectionArgs.prototype, "last", void 0);
|
|
147
|
-
__decorate([
|
|
148
|
-
(0, graphql_1.Field)(() => String, {
|
|
149
|
-
description: `Returns the elements that come after the specified cursor.`,
|
|
150
|
-
nullable: true,
|
|
151
|
-
}),
|
|
152
|
-
__metadata("design:type", String)
|
|
153
|
-
], ConnectionArgs.prototype, "after", void 0);
|
|
154
|
-
__decorate([
|
|
155
|
-
(0, graphql_1.Field)(() => String, {
|
|
156
|
-
description: `Returns the elements that come before the specified cursor.`,
|
|
157
|
-
nullable: true,
|
|
158
|
-
}),
|
|
159
|
-
__metadata("design:type", String)
|
|
160
|
-
], ConnectionArgs.prototype, "before", void 0);
|
|
161
|
-
__decorate([
|
|
162
|
-
(0, graphql_1.Field)(() => Order, {
|
|
163
|
-
nullable: true,
|
|
164
|
-
description: `Ordering options for the returned topics.`,
|
|
165
|
-
}),
|
|
166
|
-
__metadata("design:type", Order)
|
|
167
|
-
], ConnectionArgs.prototype, "orderBy", void 0);
|
|
168
|
-
ConnectionArgs = __decorate([
|
|
169
|
-
(0, graphql_1.ArgsType)(`${builder.entityName}ConnectionArgs`)
|
|
170
|
-
], ConnectionArgs);
|
|
16
|
+
const Edge = (0, utils_1.createEdge)(this.entityClass, this.entityName);
|
|
17
|
+
const Connection = (0, utils_1.createConnection)(this.entityClass, this.entityName, Edge, this.fieldOptionsMap);
|
|
18
|
+
const { Order, OrderField } = (0, utils_1.createOrder)(this.entityName, this.fieldOptionsMap);
|
|
19
|
+
const Filter = (0, utils_1.createFilter)(this.entityName, this.fieldOptionsMap);
|
|
20
|
+
const ConnectionArgs = (0, utils_1.createConnectionArgs)(this.entityName, this.fieldOptionsMap, Order, Filter);
|
|
171
21
|
return {
|
|
172
22
|
Connection,
|
|
173
23
|
ConnectionArgs,
|
|
174
24
|
Edge,
|
|
175
25
|
Order,
|
|
176
26
|
OrderField,
|
|
27
|
+
Filter,
|
|
177
28
|
[`${this.entityName}Connection`]: Connection,
|
|
178
29
|
[`${this.entityName}ConnectionArgs`]: ConnectionArgs,
|
|
179
30
|
[`${this.entityName}Edge`]: Edge,
|
|
180
31
|
[`${this.entityName}Order`]: Order,
|
|
181
32
|
[`${this.entityName}OrderField`]: OrderField,
|
|
33
|
+
[`${this.entityName}Filter`]: Filter,
|
|
182
34
|
};
|
|
183
35
|
}
|
|
184
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.builder.js","sourceRoot":"","sources":["../src/connection.builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection.builder.js","sourceRoot":"","sources":["../src/connection.builder.ts"],"names":[],"mappings":";;;AAYA,mCAMiB;AAyBjB,MAAa,iBAAiB;IAO5B,YAA6B,WAAgC;QAAhC,gBAAW,GAAX,WAAW,CAAqB;QAL5C,oBAAe,GAAG,IAAI,GAAG,EAGvC,CAAC;QAGF,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;IACrC,CAAC;IAED,QAAQ,CAGN,OAA0C;QAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3D,MAAM,UAAU,GAAG,IAAA,wBAAgB,EACjC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,IAAI,CAAC,eAAe,CACrB,CAAC;QAEF,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAA,mBAAW,EACvC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,eAAe,CACrB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnE,MAAM,cAAc,GAAG,IAAA,4BAAoB,EACzC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,eAAe,EACpB,KAAK,EACL,MAAM,CACP,CAAC;QAEF,OAAO;YACL,UAAU;YACV,cAAc;YACd,IAAI;YACJ,KAAK;YACL,UAAU;YACV,MAAM;YACN,CAAC,GAAG,IAAI,CAAC,UAAU,YAAY,CAAC,EAAE,UAAU;YAC5C,CAAC,GAAG,IAAI,CAAC,UAAU,gBAAgB,CAAC,EAAE,cAAc;YACpD,CAAC,GAAG,IAAI,CAAC,UAAU,MAAM,CAAC,EAAE,IAAI;YAChC,CAAC,GAAG,IAAI,CAAC,UAAU,OAAO,CAAC,EAAE,KAAK;YAClC,CAAC,GAAG,IAAI,CAAC,UAAU,YAAY,CAAC,EAAE,UAAU;YAC5C,CAAC,GAAG,IAAI,CAAC,UAAU,QAAQ,CAAC,EAAE,MAAM;SACJ,CAAC;IACrC,CAAC;CACF;AA1DD,8CA0DC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./unknown-field.error";
|
|
@@ -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("./unknown-field.error"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UnknownFieldError = void 0;
|
|
4
|
+
class UnknownFieldError extends Error {
|
|
5
|
+
constructor(field) {
|
|
6
|
+
super(`Unknown field: ${field}`);
|
|
7
|
+
this.field = field;
|
|
8
|
+
this.name = "UnknownFieldError";
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.UnknownFieldError = UnknownFieldError;
|
|
12
|
+
//# sourceMappingURL=unknown-field.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unknown-field.error.js","sourceRoot":"","sources":["../../src/errors/unknown-field.error.ts"],"names":[],"mappings":";;;AAAA,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAA4B,KAAa;QACvC,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;QADP,UAAK,GAAL,KAAK,CAAQ;QAEvC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from "./connection.builder";
|
|
2
2
|
export * from "./connection.manager";
|
|
3
3
|
export * from "./enums";
|
|
4
|
+
export * from "./errors";
|
|
4
5
|
export * from "./graphql-connection.module";
|
|
5
6
|
export * from "./interfaces";
|
|
6
7
|
export * from "./objects";
|
|
8
|
+
export * from "./utils";
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./connection.builder"), exports);
|
|
18
18
|
__exportStar(require("./connection.manager"), exports);
|
|
19
19
|
__exportStar(require("./enums"), exports);
|
|
20
|
+
__exportStar(require("./errors"), exports);
|
|
20
21
|
__exportStar(require("./graphql-connection.module"), exports);
|
|
21
22
|
__exportStar(require("./interfaces"), exports);
|
|
22
23
|
__exportStar(require("./objects"), exports);
|
|
24
|
+
__exportStar(require("./utils"), exports);
|
|
23
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,uDAAqC;AACrC,0CAAwB;AACxB,8DAA4C;AAC5C,+CAA6B;AAC7B,4CAA0B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,uDAAqC;AACrC,0CAAwB;AACxB,2CAAyB;AACzB,8DAA4C;AAC5C,+CAA6B;AAC7B,4CAA0B;AAC1B,0CAAwB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FilterQuery } from "@mikro-orm/core";
|
|
1
2
|
import { OrderInterface } from "./order.interface";
|
|
2
3
|
export interface ConnectionArgsInterface<Entity extends object> {
|
|
3
4
|
after?: string;
|
|
@@ -5,5 +6,6 @@ export interface ConnectionArgsInterface<Entity extends object> {
|
|
|
5
6
|
first?: number;
|
|
6
7
|
last?: number;
|
|
7
8
|
query?: string;
|
|
9
|
+
filter?: FilterQuery<Entity>;
|
|
8
10
|
orderBy?: OrderInterface<Entity>;
|
|
9
11
|
}
|
|
@@ -1,27 +1,24 @@
|
|
|
1
1
|
import type { FilterQuery } from "@mikro-orm/core";
|
|
2
2
|
import { AutoPath } from "@mikro-orm/core/typings";
|
|
3
3
|
import { ReplacementArgs } from "./replacement-args.interface";
|
|
4
|
-
export interface BaseFieldOptions {
|
|
4
|
+
export interface BaseFieldOptions<Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> {
|
|
5
|
+
type: Type;
|
|
6
|
+
field: string;
|
|
5
7
|
array?: boolean;
|
|
6
8
|
fulltext?: boolean;
|
|
7
9
|
searchable?: boolean;
|
|
8
10
|
filterable?: boolean;
|
|
9
11
|
}
|
|
10
|
-
export interface SortableFieldOptions extends BaseFieldOptions {
|
|
12
|
+
export interface SortableFieldOptions<Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> extends BaseFieldOptions<Type> {
|
|
11
13
|
sortable?: boolean;
|
|
12
14
|
}
|
|
13
|
-
export interface SimpleFieldOptions<Entity extends object,
|
|
14
|
-
field:
|
|
15
|
-
sortable?: boolean;
|
|
15
|
+
export interface SimpleFieldOptions<Entity extends object, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> extends SortableFieldOptions<Type> {
|
|
16
|
+
field: Extract<keyof Entity, string>;
|
|
16
17
|
}
|
|
17
|
-
export interface ReplacementFieldOptions<Entity extends object,
|
|
18
|
-
|
|
19
|
-
replacement: AutoPath<Entity, Fields>;
|
|
20
|
-
sortable?: boolean;
|
|
18
|
+
export interface ReplacementFieldOptions<Entity extends object, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never, Field extends string = never> extends SortableFieldOptions<Type> {
|
|
19
|
+
replacement: Extract<AutoPath<Entity, Field>, string>;
|
|
21
20
|
}
|
|
22
|
-
export interface ReplacementFunctionFieldOptions<Entity extends object, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> extends
|
|
23
|
-
field: string;
|
|
24
|
-
type: Type;
|
|
21
|
+
export interface ReplacementFunctionFieldOptions<Entity extends object, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> extends BaseFieldOptions<Type> {
|
|
25
22
|
replacement?: (args: ReplacementArgs<Type>) => FilterQuery<Entity>;
|
|
26
23
|
}
|
|
27
|
-
export type FieldOptions<Entity extends object,
|
|
24
|
+
export type FieldOptions<Entity extends object, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never, Field extends string = never> = SimpleFieldOptions<Entity, Type> | ReplacementFieldOptions<Entity, Type, Field> | ReplacementFunctionFieldOptions<Entity, Type>;
|
|
@@ -8,8 +8,8 @@ const compact_1 = __importDefault(require("lodash/compact"));
|
|
|
8
8
|
const intersection_1 = __importDefault(require("lodash/intersection"));
|
|
9
9
|
const setWith_1 = __importDefault(require("lodash/setWith"));
|
|
10
10
|
const enums_1 = require("./enums");
|
|
11
|
+
const errors_1 = require("./errors");
|
|
11
12
|
const search_syntax_parser_1 = require("./search-syntax.parser");
|
|
12
|
-
const utils_1 = require("./utils");
|
|
13
13
|
function filterEmpty(values) {
|
|
14
14
|
return values.filter((value) => value !== null);
|
|
15
15
|
}
|
|
@@ -141,17 +141,14 @@ class SearchSyntaxVisitor extends BaseCstVisitor {
|
|
|
141
141
|
}
|
|
142
142
|
equalFieldTerm(children) {
|
|
143
143
|
const field = this.visit(children.field);
|
|
144
|
-
|
|
145
|
-
if (fieldOptions?.filterable === false) {
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
const values = children.value.map((item) => this.visit(item, fieldOptions?.type));
|
|
144
|
+
const fieldOptions = this.fieldOptionsMap.get(field);
|
|
149
145
|
if (typeof fieldOptions === "undefined") {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
146
|
+
throw new errors_1.UnknownFieldError(field);
|
|
147
|
+
}
|
|
148
|
+
if (fieldOptions.filterable === false) {
|
|
149
|
+
return;
|
|
154
150
|
}
|
|
151
|
+
const values = children.value.map((item) => this.visit(item, fieldOptions.type));
|
|
155
152
|
if (values.length === 0) {
|
|
156
153
|
return;
|
|
157
154
|
}
|
|
@@ -213,20 +210,17 @@ class SearchSyntaxVisitor extends BaseCstVisitor {
|
|
|
213
210
|
}
|
|
214
211
|
otherFieldTerm(children) {
|
|
215
212
|
const field = this.visit(children.field);
|
|
216
|
-
|
|
217
|
-
if (fieldOptions
|
|
213
|
+
const fieldOptions = this.fieldOptionsMap.get(field);
|
|
214
|
+
if (typeof fieldOptions === "undefined") {
|
|
215
|
+
throw new errors_1.UnknownFieldError(field);
|
|
216
|
+
}
|
|
217
|
+
if (fieldOptions.filterable === false) {
|
|
218
218
|
return;
|
|
219
219
|
}
|
|
220
|
-
const value = this.visit(children.value, fieldOptions
|
|
220
|
+
const value = this.visit(children.value, fieldOptions.type);
|
|
221
221
|
if (typeof value === "undefined") {
|
|
222
222
|
return;
|
|
223
223
|
}
|
|
224
|
-
if (typeof fieldOptions === "undefined") {
|
|
225
|
-
fieldOptions = {
|
|
226
|
-
field,
|
|
227
|
-
type: (0, utils_1.inferType)(value),
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
224
|
if (typeof children.LessThan !== "undefined") {
|
|
231
225
|
return this.buildComparatorOperators({
|
|
232
226
|
type: fieldOptions.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-syntax.visitor.js","sourceRoot":"","sources":["../src/search-syntax.visitor.ts"],"names":[],"mappings":";;;;;;AACA,6DAAqC;AACrC,uEAA+C;AAC/C,6DAAqC;AAiBrC,mCAA6C;AAG7C,iEAA4D;
|
|
1
|
+
{"version":3,"file":"search-syntax.visitor.js","sourceRoot":"","sources":["../src/search-syntax.visitor.ts"],"names":[],"mappings":"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"}
|