@goatlab/fluent 0.6.3 → 0.6.6
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/core/dtos/pagination.dto.d.ts +2 -2
- package/dist/core/dtos/pagination.dto.js +18 -18
- package/dist/index.d.ts +2 -1
- package/dist/index.js +4 -1
- package/package.json +2 -2
- package/dist/BaseConnector.d.ts +0 -79
- package/dist/BaseConnector.js +0 -361
- package/dist/Fluent.d.ts +0 -26
- package/dist/Fluent.js +0 -52
- package/dist/TypeOrmConnector/TypeOrmConnector.js +0 -509
- package/dist/TypeOrmConnector/TypeOrmMongoConnector._bypass.js +0 -52
- package/dist/TypeOrmConnector/TypeOrmMysqlConnector._bypass.js +0 -55
- package/dist/TypeOrmConnector/TypeOrmSqliteConnector.spec.d.ts +0 -1
- package/dist/TypeOrmConnector/TypeOrmSqliteConnector.spec.js +0 -47
- package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.d.ts +0 -1
- package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.js +0 -114
- package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.d.ts +0 -16
- package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js +0 -57
- package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.js +0 -11
- package/dist/TypeOrmConnector/test/basic/basicTestSuite.d.ts +0 -1
- package/dist/TypeOrmConnector/test/basic/basicTestSuite.js +0 -45
- package/dist/TypeOrmConnector/test/basic/goat.dto.d.ts +0 -8
- package/dist/TypeOrmConnector/test/basic/goat.dto.js +0 -18
- package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +0 -10
- package/dist/TypeOrmConnector/test/basic/goat.entity.js +0 -42
- package/dist/TypeOrmConnector/test/basic/goat.repository.js +0 -11
- package/dist/TypeOrmConnector/test/flock.d.ts +0 -4
- package/dist/TypeOrmConnector/test/flock.js +0 -25
- package/dist/TypeOrmConnector/test/relations/car/car.dto.d.ts +0 -5
- package/dist/TypeOrmConnector/test/relations/car/car.dto.js +0 -12
- package/dist/TypeOrmConnector/test/relations/car/car.entity.d.ts +0 -7
- package/dist/TypeOrmConnector/test/relations/car/car.entity.js +0 -32
- package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.js +0 -13
- package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.d.ts +0 -1
- package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.js +0 -93
- package/dist/TypeOrmConnector/test/relations/roles/role.dto.d.ts +0 -5
- package/dist/TypeOrmConnector/test/relations/roles/role.dto.js +0 -12
- package/dist/TypeOrmConnector/test/relations/roles/roles.entity.d.ts +0 -6
- package/dist/TypeOrmConnector/test/relations/roles/roles.entity.js +0 -29
- package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.js +0 -14
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.dto.d.ts +0 -5
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.dto.js +0 -12
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.d.ts +0 -5
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.js +0 -23
- package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.js +0 -11
- package/dist/TypeOrmConnector/test/relations/user/user.dto.d.ts +0 -5
- package/dist/TypeOrmConnector/test/relations/user/user.dto.js +0 -12
- package/dist/TypeOrmConnector/test/relations/user/user.entity.d.ts +0 -14
- package/dist/TypeOrmConnector/test/relations/user/user.entity.js +0 -56
- package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.js +0 -16
- package/dist/core/Loopback/build-schema.d.ts +0 -31
- package/dist/core/Loopback/build-schema.js +0 -335
- package/dist/core/Loopback/common-types.d.ts +0 -36
- package/dist/core/Loopback/common-types.js +0 -13
- package/dist/core/Loopback/json-to-schema.d.ts +0 -6
- package/dist/core/Loopback/json-to-schema.js +0 -96
- package/dist/core/Loopback/metadata.d.ts +0 -9
- package/dist/core/Loopback/metadata.js +0 -28
- package/dist/core/Loopback/model.d.ts +0 -87
- package/dist/core/Loopback/model.js +0 -244
- package/dist/core/Loopback/query.d.ts +0 -97
- package/dist/core/Loopback/query.js +0 -290
- package/dist/core/Loopback/relation.types.d.ts +0 -45
- package/dist/core/Loopback/relation.types.js +0 -13
- package/dist/core/Loopback/type-resolver.d.ts +0 -7
- package/dist/core/Loopback/type-resolver.js +0 -34
- package/dist/core/Loopback/type.d.ts +0 -9
- package/dist/core/Loopback/type.js +0 -2
- package/dist/core/Nestjs/applyDecorators.d.ts +0 -1
- package/dist/core/Nestjs/applyDecorators.js +0 -17
- package/dist/core/Nestjs/types/common.d.ts +0 -16
- package/dist/core/Nestjs/types/common.js +0 -35
- package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.d.ts +0 -1
- package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js +0 -7
- package/dist/core/Nestjs/types/decorators/api-property.decorator.d.ts +0 -27
- package/dist/core/Nestjs/types/decorators/api-property.decorator.js +0 -65
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +0 -5
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js +0 -131
- package/dist/core/Nestjs/types/decorators/args-type.decorator.d.ts +0 -1
- package/dist/core/Nestjs/types/decorators/args-type.decorator.js +0 -19
- package/dist/core/Nestjs/types/decorators/create-property.decorator.d.ts +0 -2
- package/dist/core/Nestjs/types/decorators/create-property.decorator.js +0 -50
- package/dist/core/Nestjs/types/decorators/directive.decorator.d.ts +0 -1
- package/dist/core/Nestjs/types/decorators/directive.decorator.js +0 -36
- package/dist/core/Nestjs/types/decorators/extensions.decorator.d.ts +0 -1
- package/dist/core/Nestjs/types/decorators/extensions.decorator.js +0 -25
- package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +0 -15
- package/dist/core/Nestjs/types/decorators/field.decorator.js +0 -56
- package/dist/core/Nestjs/types/decorators/input-type.decorator.d.ts +0 -7
- package/dist/core/Nestjs/types/decorators/input-type.decorator.js +0 -23
- package/dist/core/Nestjs/types/decorators/interface-type.decorator.d.ts +0 -9
- package/dist/core/Nestjs/types/decorators/interface-type.decorator.js +0 -27
- package/dist/core/Nestjs/types/decorators/partial-type.helper.d.ts +0 -3
- package/dist/core/Nestjs/types/decorators/partial-type.helper.js +0 -42
- package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.d.ts +0 -3
- package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js +0 -9
- package/dist/core/Nestjs/types/errors/directive-parsing.error.d.ts +0 -3
- package/dist/core/Nestjs/types/errors/directive-parsing.error.js +0 -9
- package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.d.ts +0 -3
- package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js +0 -9
- package/dist/core/Nestjs/types/errors/undefined-type.error.d.ts +0 -3
- package/dist/core/Nestjs/types/errors/undefined-type.error.js +0 -10
- package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.d.ts +0 -3
- package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js +0 -10
- package/dist/core/Nestjs/types/interfaces/base-type-options.interface.d.ts +0 -5
- package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.d.ts +0 -5
- package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/complexity.interface.d.ts +0 -11
- package/dist/core/Nestjs/types/interfaces/complexity.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/field-middleware.interface.d.ts +0 -15
- package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.d.ts +0 -235
- package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.d.ts +0 -2
- package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/return-type-func.interface.d.ts +0 -5
- package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.d.ts +0 -9
- package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js +0 -2
- package/dist/core/Nestjs/types/interfaces/type-options.interface.d.ts +0 -5
- package/dist/core/Nestjs/types/interfaces/type-options.interface.js +0 -2
- package/dist/core/Nestjs/types/lazy-metadata.storage.d.ts +0 -15
- package/dist/core/Nestjs/types/lazy-metadata.storage.js +0 -67
- package/dist/core/Nestjs/types/metadata/class.metadata.d.ts +0 -11
- package/dist/core/Nestjs/types/metadata/class.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/directive.metadata.d.ts +0 -8
- package/dist/core/Nestjs/types/metadata/directive.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/enum.metadata.d.ts +0 -11
- package/dist/core/Nestjs/types/metadata/enum.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/extensions.metadata.d.ts +0 -8
- package/dist/core/Nestjs/types/metadata/extensions.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/index.d.ts +0 -8
- package/dist/core/Nestjs/types/metadata/index.js +0 -11
- package/dist/core/Nestjs/types/metadata/interface.metadata.d.ts +0 -6
- package/dist/core/Nestjs/types/metadata/interface.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/object-type.metadata.d.ts +0 -4
- package/dist/core/Nestjs/types/metadata/object-type.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/param.metadata.d.ts +0 -18
- package/dist/core/Nestjs/types/metadata/param.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/property.metadata.d.ts +0 -20
- package/dist/core/Nestjs/types/metadata/property.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/resolver.metadata.d.ts +0 -34
- package/dist/core/Nestjs/types/metadata/resolver.metadata.js +0 -2
- package/dist/core/Nestjs/types/metadata/union.metadata.d.ts +0 -9
- package/dist/core/Nestjs/types/metadata/union.metadata.js +0 -2
- package/dist/core/Nestjs/types/object-type.decorator.d.ts +0 -8
- package/dist/core/Nestjs/types/object-type.decorator.js +0 -25
- package/dist/core/Nestjs/types/omit-type.d.ts +0 -2
- package/dist/core/Nestjs/types/omit-type.js +0 -30
- package/dist/core/Nestjs/types/reflection.utils.d.ts +0 -15
- package/dist/core/Nestjs/types/reflection.utils.js +0 -58
- package/dist/core/Nestjs/types/set-metadata.decorator.d.ts +0 -4
- package/dist/core/Nestjs/types/set-metadata.decorator.js +0 -16
- package/dist/core/Nestjs/types/type-metadata.storage.d.ts +0 -69
- package/dist/core/Nestjs/types/type-metadata.storage.js +0 -342
- package/dist/core/Nestjs/types/utils/enum.utils.d.ts +0 -3
- package/dist/core/Nestjs/types/utils/enum.utils.js +0 -29
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +0 -13
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js +0 -72
- package/dist/core/Nestjs/types/utils/mapped-types.utils.d.ts +0 -2
- package/dist/core/Nestjs/types/utils/mapped-types.utils.js +0 -38
- package/dist/core/Nestjs/types/utils/model-properties-accessor.d.ts +0 -6
- package/dist/core/Nestjs/types/utils/model-properties-accessor.js +0 -36
- package/dist/core/Nestjs/types/utils/type-helpers.utils.d.ts +0 -2
- package/dist/core/Nestjs/types/utils/type-helpers.utils.js +0 -16
- package/dist/core/database/createConnection.d.ts +0 -30
- package/dist/core/database/createConnection.js +0 -43
- package/dist/core/database/decorators.d.ts +0 -43
- package/dist/core/database/decorators.js +0 -98
- package/dist/core/dtos/access.dto.d.ts +0 -4
- package/dist/core/dtos/access.dto.js +0 -21
- package/dist/core/types.d.ts +0 -23
- package/dist/core/types.js +0 -29
- package/dist/generatorDatasource.d.ts +0 -2
- package/dist/generatorDatasource.js +0 -12
- package/dist/loadRelations.js +0 -92
- package/dist/outputKeys.d.ts +0 -2
- package/dist/outputKeys.js +0 -17
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types.d.ts +0 -85
- package/dist/types.js +0 -2
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.inheritPropertyInitializers = exports.inheritTransformationMetadata = exports.inheritValidationMetadata = exports.applyIsOptionalDecorator = void 0;
|
|
4
|
-
function applyIsOptionalDecorator(targetClass, propertyKey) {
|
|
5
|
-
if (!isClassValidatorAvailable()) {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
const classValidator = require('class-validator');
|
|
9
|
-
const decoratorFactory = classValidator.IsOptional();
|
|
10
|
-
decoratorFactory(targetClass.prototype, propertyKey);
|
|
11
|
-
}
|
|
12
|
-
exports.applyIsOptionalDecorator = applyIsOptionalDecorator;
|
|
13
|
-
function inheritValidationMetadata(parentClass, targetClass, isPropertyInherited) {
|
|
14
|
-
if (!isClassValidatorAvailable()) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
try {
|
|
18
|
-
const classValidator = require('class-validator');
|
|
19
|
-
const metadataStorage = classValidator.getMetadataStorage
|
|
20
|
-
? classValidator.getMetadataStorage()
|
|
21
|
-
: classValidator.getFromContainer(classValidator.MetadataStorage);
|
|
22
|
-
const getTargetValidationMetadatasArgs = [parentClass, null, false, false];
|
|
23
|
-
const targetMetadata = metadataStorage.getTargetValidationMetadatas(...getTargetValidationMetadatasArgs);
|
|
24
|
-
return targetMetadata
|
|
25
|
-
.filter(({ propertyName }) => !isPropertyInherited || isPropertyInherited(propertyName))
|
|
26
|
-
.map(value => {
|
|
27
|
-
const originalType = Reflect.getMetadata('design:type', parentClass.prototype, value.propertyName);
|
|
28
|
-
if (originalType) {
|
|
29
|
-
Reflect.defineMetadata('design:type', originalType, targetClass.prototype, value.propertyName);
|
|
30
|
-
}
|
|
31
|
-
metadataStorage.addValidationMetadata({
|
|
32
|
-
...value,
|
|
33
|
-
target: targetClass
|
|
34
|
-
});
|
|
35
|
-
return value.propertyName;
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
console.error(`Validation ("class-validator") metadata cannot be inherited for "${parentClass.name}" class.`);
|
|
40
|
-
console.error(err);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.inheritValidationMetadata = inheritValidationMetadata;
|
|
44
|
-
function inheritTransformationMetadata(parentClass, targetClass, isPropertyInherited) {
|
|
45
|
-
if (!isClassTransformerAvailable()) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
try {
|
|
49
|
-
const transformMetadataKeys = [
|
|
50
|
-
'_excludeMetadatas',
|
|
51
|
-
'_exposeMetadatas',
|
|
52
|
-
'_transformMetadatas',
|
|
53
|
-
'_typeMetadatas'
|
|
54
|
-
];
|
|
55
|
-
transformMetadataKeys.forEach(key => inheritTransformerMetadata(key, parentClass, targetClass, isPropertyInherited));
|
|
56
|
-
}
|
|
57
|
-
catch (err) {
|
|
58
|
-
console.error(`Transformer ("class-transformer") metadata cannot be inherited for "${parentClass.name}" class.`);
|
|
59
|
-
console.error(err);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.inheritTransformationMetadata = inheritTransformationMetadata;
|
|
63
|
-
function inheritTransformerMetadata(key, parentClass, targetClass, isPropertyInherited) {
|
|
64
|
-
let classTransformer;
|
|
65
|
-
try {
|
|
66
|
-
classTransformer = require('class-transformer/cjs/storage');
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
classTransformer = require('class-transformer/storage');
|
|
70
|
-
}
|
|
71
|
-
const metadataStorage = classTransformer.defaultMetadataStorage;
|
|
72
|
-
while (parentClass && parentClass !== Object) {
|
|
73
|
-
if (metadataStorage[key].has(parentClass)) {
|
|
74
|
-
const metadataMap = metadataStorage[key];
|
|
75
|
-
const parentMetadata = metadataMap.get(parentClass);
|
|
76
|
-
const targetMetadataEntries = Array.from(parentMetadata.entries())
|
|
77
|
-
.filter(([key]) => !isPropertyInherited || isPropertyInherited(key))
|
|
78
|
-
.map(([key, metadata]) => {
|
|
79
|
-
if (Array.isArray(metadata)) {
|
|
80
|
-
const targetMetadata = metadata.map(item => ({
|
|
81
|
-
...item,
|
|
82
|
-
target: targetClass
|
|
83
|
-
}));
|
|
84
|
-
return [key, targetMetadata];
|
|
85
|
-
}
|
|
86
|
-
return [key, { ...metadata, target: targetClass }];
|
|
87
|
-
});
|
|
88
|
-
if (metadataMap.has(targetClass)) {
|
|
89
|
-
const existingRules = metadataMap.get(targetClass).entries();
|
|
90
|
-
metadataMap.set(targetClass, new Map([...existingRules, ...targetMetadataEntries]));
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
metadataMap.set(targetClass, new Map(targetMetadataEntries));
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
parentClass = Object.getPrototypeOf(parentClass);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
function isClassValidatorAvailable() {
|
|
100
|
-
try {
|
|
101
|
-
require('class-validator');
|
|
102
|
-
return true;
|
|
103
|
-
}
|
|
104
|
-
catch {
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
function isClassTransformerAvailable() {
|
|
109
|
-
try {
|
|
110
|
-
require('class-transformer');
|
|
111
|
-
return true;
|
|
112
|
-
}
|
|
113
|
-
catch {
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
function inheritPropertyInitializers(target, sourceClass, isPropertyInherited = (key) => true) {
|
|
118
|
-
try {
|
|
119
|
-
const tempInstance = new sourceClass();
|
|
120
|
-
const propertyNames = Object.getOwnPropertyNames(tempInstance);
|
|
121
|
-
propertyNames
|
|
122
|
-
.filter(propertyName => typeof tempInstance[propertyName] !== 'undefined' &&
|
|
123
|
-
typeof target[propertyName] === 'undefined')
|
|
124
|
-
.filter(propertyName => isPropertyInherited(propertyName))
|
|
125
|
-
.forEach(propertyName => {
|
|
126
|
-
target[propertyName] = tempInstance[propertyName];
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
catch { }
|
|
130
|
-
}
|
|
131
|
-
exports.inheritPropertyInitializers = inheritPropertyInitializers;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function ArgsType(): ClassDecorator;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArgsType = void 0;
|
|
4
|
-
const lazy_metadata_storage_1 = require("../lazy-metadata.storage");
|
|
5
|
-
const type_metadata_storage_1 = require("../type-metadata.storage");
|
|
6
|
-
const add_class_type_metadata_util_1 = require("../interfaces/add-class-type-metadata.util");
|
|
7
|
-
const common_1 = require("../common");
|
|
8
|
-
function ArgsType() {
|
|
9
|
-
return (target) => {
|
|
10
|
-
const metadata = {
|
|
11
|
-
name: target.name,
|
|
12
|
-
target
|
|
13
|
-
};
|
|
14
|
-
lazy_metadata_storage_1.LazyMetadataStorage.store(() => type_metadata_storage_1.TypeMetadataStorage.addArgsMetadata(metadata));
|
|
15
|
-
type_metadata_storage_1.TypeMetadataStorage.addArgsMetadata(metadata);
|
|
16
|
-
(0, add_class_type_metadata_util_1.addClassTypeMetadata)(target, common_1.ClassType.ARGS);
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
exports.ArgsType = ArgsType;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export declare function createPropertyDecorator<T extends Record<string, any> = any>(metakey: string, metadata: T, overrideExisting?: boolean): PropertyDecorator;
|
|
2
|
-
export declare function getTypeIsArrayTuple(input: Function | [Function] | undefined | string | Record<string, any>, isArrayFlag: boolean): [Function | undefined, boolean];
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getTypeIsArrayTuple = exports.createPropertyDecorator = void 0;
|
|
4
|
-
const lodash_1 = require("lodash");
|
|
5
|
-
const type_metadata_storage_1 = require("../type-metadata.storage");
|
|
6
|
-
const api_property_decorator_1 = require("./api-property.decorator");
|
|
7
|
-
function createPropertyDecorator(metakey, metadata, overrideExisting = true) {
|
|
8
|
-
return (target, propertyKey) => {
|
|
9
|
-
const properties = Reflect.getMetadata(api_property_decorator_1.DECORATORS.API_MODEL_PROPERTIES_ARRAY, target) || [];
|
|
10
|
-
const key = `:${propertyKey}`;
|
|
11
|
-
if (!properties.includes(key)) {
|
|
12
|
-
Reflect.defineMetadata(api_property_decorator_1.DECORATORS.API_MODEL_PROPERTIES_ARRAY, [...properties, `:${propertyKey}`], target);
|
|
13
|
-
}
|
|
14
|
-
const existingMetadata = Reflect.getMetadata(metakey, target, propertyKey);
|
|
15
|
-
if (existingMetadata) {
|
|
16
|
-
const newMetadata = (0, lodash_1.pickBy)(metadata, (0, lodash_1.negate)(lodash_1.isUndefined));
|
|
17
|
-
const metadataToSave = overrideExisting
|
|
18
|
-
? {
|
|
19
|
-
...existingMetadata,
|
|
20
|
-
...newMetadata
|
|
21
|
-
}
|
|
22
|
-
: {
|
|
23
|
-
...newMetadata,
|
|
24
|
-
...existingMetadata
|
|
25
|
-
};
|
|
26
|
-
Reflect.defineMetadata(metakey, metadataToSave, target, propertyKey);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
const type = target?.constructor?.[type_metadata_storage_1.METADATA_FACTORY_NAME]?.()[propertyKey]?.type ??
|
|
30
|
-
Reflect.getMetadata('design:type', target, propertyKey);
|
|
31
|
-
Reflect.defineMetadata(metakey, {
|
|
32
|
-
type,
|
|
33
|
-
...(0, lodash_1.pickBy)(metadata, (0, lodash_1.negate)(lodash_1.isUndefined))
|
|
34
|
-
}, target, propertyKey);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
exports.createPropertyDecorator = createPropertyDecorator;
|
|
39
|
-
function getTypeIsArrayTuple(input, isArrayFlag) {
|
|
40
|
-
if (!input) {
|
|
41
|
-
return [input, isArrayFlag];
|
|
42
|
-
}
|
|
43
|
-
if (isArrayFlag) {
|
|
44
|
-
return [input, isArrayFlag];
|
|
45
|
-
}
|
|
46
|
-
const isInputArray = (0, lodash_1.isArray)(input);
|
|
47
|
-
const type = isInputArray ? input[0] : input;
|
|
48
|
-
return [type, isInputArray];
|
|
49
|
-
}
|
|
50
|
-
exports.getTypeIsArrayTuple = getTypeIsArrayTuple;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function Directive(sdl: string): MethodDecorator & PropertyDecorator & ClassDecorator;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Directive = void 0;
|
|
4
|
-
const graphql_1 = require("graphql");
|
|
5
|
-
const directive_parsing_error_1 = require("../errors/directive-parsing.error");
|
|
6
|
-
const lazy_metadata_storage_1 = require("../lazy-metadata.storage");
|
|
7
|
-
const type_metadata_storage_1 = require("../type-metadata.storage");
|
|
8
|
-
function Directive(sdl) {
|
|
9
|
-
return (target, key) => {
|
|
10
|
-
validateDirective(sdl);
|
|
11
|
-
lazy_metadata_storage_1.LazyMetadataStorage.store(() => {
|
|
12
|
-
if (key) {
|
|
13
|
-
type_metadata_storage_1.TypeMetadataStorage.addDirectivePropertyMetadata({
|
|
14
|
-
target: target.constructor,
|
|
15
|
-
fieldName: key,
|
|
16
|
-
sdl
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
type_metadata_storage_1.TypeMetadataStorage.addDirectiveMetadata({
|
|
21
|
-
target: target,
|
|
22
|
-
sdl
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
exports.Directive = Directive;
|
|
29
|
-
function validateDirective(sdl) {
|
|
30
|
-
try {
|
|
31
|
-
(0, graphql_1.parse)(`type String ${sdl}`);
|
|
32
|
-
}
|
|
33
|
-
catch (err) {
|
|
34
|
-
throw new directive_parsing_error_1.DirectiveParsingError(sdl);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function Extensions(value: Record<string, unknown>): MethodDecorator & ClassDecorator & PropertyDecorator;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Extensions = void 0;
|
|
4
|
-
const lazy_metadata_storage_1 = require("../lazy-metadata.storage");
|
|
5
|
-
const type_metadata_storage_1 = require("../type-metadata.storage");
|
|
6
|
-
function Extensions(value) {
|
|
7
|
-
return (target, propertyKey) => {
|
|
8
|
-
lazy_metadata_storage_1.LazyMetadataStorage.store(() => {
|
|
9
|
-
if (propertyKey) {
|
|
10
|
-
type_metadata_storage_1.TypeMetadataStorage.addExtensionsPropertyMetadata({
|
|
11
|
-
target: target.constructor,
|
|
12
|
-
fieldName: propertyKey,
|
|
13
|
-
value
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
type_metadata_storage_1.TypeMetadataStorage.addExtensionsMetadata({
|
|
18
|
-
target: target,
|
|
19
|
-
value
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
exports.Extensions = Extensions;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Complexity } from '../interfaces/complexity.interface';
|
|
2
|
-
import { FieldMiddleware } from '../interfaces/field-middleware.interface';
|
|
3
|
-
import { BaseTypeOptions } from '../interfaces/base-type-options.interface';
|
|
4
|
-
import { ReturnTypeFunc } from '../interfaces/return-type-func.interface';
|
|
5
|
-
export interface FieldOptions extends BaseTypeOptions {
|
|
6
|
-
name?: string;
|
|
7
|
-
description?: string;
|
|
8
|
-
deprecationReason?: string;
|
|
9
|
-
complexity?: Complexity;
|
|
10
|
-
middleware?: FieldMiddleware[];
|
|
11
|
-
}
|
|
12
|
-
export declare function Field(): PropertyDecorator & MethodDecorator;
|
|
13
|
-
export declare function Field(options: FieldOptions): PropertyDecorator & MethodDecorator;
|
|
14
|
-
export declare function Field(returnTypeFunction?: ReturnTypeFunc, options?: FieldOptions): PropertyDecorator & MethodDecorator;
|
|
15
|
-
export declare function addFieldMetadata(typeOrOptions: ReturnTypeFunc | FieldOptions, fieldOptions: FieldOptions, prototype: Object, propertyKey?: string, descriptor?: TypedPropertyDescriptor<any>, loadEagerly?: boolean): void;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addFieldMetadata = exports.Field = void 0;
|
|
4
|
-
const lazy_metadata_storage_1 = require("../lazy-metadata.storage");
|
|
5
|
-
const type_metadata_storage_1 = require("../type-metadata.storage");
|
|
6
|
-
const reflection_utils_1 = require("../reflection.utils");
|
|
7
|
-
const common_1 = require("../common");
|
|
8
|
-
function Field(typeOrOptions, fieldOptions) {
|
|
9
|
-
return (prototype, propertyKey, descriptor) => {
|
|
10
|
-
addFieldMetadata(typeOrOptions, fieldOptions, prototype, propertyKey, descriptor);
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
exports.Field = Field;
|
|
14
|
-
function addFieldMetadata(typeOrOptions, fieldOptions, prototype, propertyKey, descriptor, loadEagerly) {
|
|
15
|
-
const [typeFunc, options = {}] = (0, common_1.isFunction)(typeOrOptions)
|
|
16
|
-
? [typeOrOptions, fieldOptions]
|
|
17
|
-
: [undefined, typeOrOptions];
|
|
18
|
-
const applyMetadataFn = () => {
|
|
19
|
-
const isResolver = !!descriptor;
|
|
20
|
-
const isResolverMethod = !!(descriptor && descriptor.value);
|
|
21
|
-
const { typeFn: getType, options: typeOptions } = (0, reflection_utils_1.reflectTypeFromMetadata)({
|
|
22
|
-
metadataKey: isResolverMethod ? 'design:returntype' : 'design:type',
|
|
23
|
-
prototype,
|
|
24
|
-
propertyKey,
|
|
25
|
-
explicitTypeFn: typeFunc,
|
|
26
|
-
typeOptions: options
|
|
27
|
-
});
|
|
28
|
-
type_metadata_storage_1.TypeMetadataStorage.addClassFieldMetadata({
|
|
29
|
-
name: propertyKey,
|
|
30
|
-
schemaName: options.name || propertyKey,
|
|
31
|
-
typeFn: getType,
|
|
32
|
-
options: typeOptions,
|
|
33
|
-
target: prototype.constructor,
|
|
34
|
-
description: options.description,
|
|
35
|
-
deprecationReason: options.deprecationReason,
|
|
36
|
-
complexity: options.complexity,
|
|
37
|
-
middleware: options.middleware
|
|
38
|
-
});
|
|
39
|
-
if (isResolver) {
|
|
40
|
-
type_metadata_storage_1.TypeMetadataStorage.addResolverPropertyMetadata({
|
|
41
|
-
kind: 'internal',
|
|
42
|
-
methodName: propertyKey,
|
|
43
|
-
schemaName: options.name || propertyKey,
|
|
44
|
-
target: prototype.constructor,
|
|
45
|
-
complexity: options.complexity
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
if (loadEagerly) {
|
|
50
|
-
applyMetadataFn();
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
lazy_metadata_storage_1.LazyMetadataStorage.store(prototype.constructor, applyMetadataFn, { isField: true });
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.addFieldMetadata = addFieldMetadata;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export interface InputTypeOptions {
|
|
2
|
-
description?: string;
|
|
3
|
-
isAbstract?: boolean;
|
|
4
|
-
}
|
|
5
|
-
export declare function InputType(): ClassDecorator;
|
|
6
|
-
export declare function InputType(options: InputTypeOptions): ClassDecorator;
|
|
7
|
-
export declare function InputType(name: string, options?: InputTypeOptions): ClassDecorator;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InputType = void 0;
|
|
4
|
-
const common_1 = require("../common");
|
|
5
|
-
const lazy_metadata_storage_1 = require("../lazy-metadata.storage");
|
|
6
|
-
const type_metadata_storage_1 = require("../type-metadata.storage");
|
|
7
|
-
const add_class_type_metadata_util_1 = require("../interfaces/add-class-type-metadata.util");
|
|
8
|
-
function InputType(nameOrOptions, inputTypeOptions) {
|
|
9
|
-
const [name, options = {}] = (0, common_1.isString)(nameOrOptions)
|
|
10
|
-
? [nameOrOptions, inputTypeOptions]
|
|
11
|
-
: [undefined, nameOrOptions];
|
|
12
|
-
return target => {
|
|
13
|
-
const metadata = {
|
|
14
|
-
target,
|
|
15
|
-
name: name || target.name,
|
|
16
|
-
description: options.description,
|
|
17
|
-
isAbstract: options.isAbstract
|
|
18
|
-
};
|
|
19
|
-
lazy_metadata_storage_1.LazyMetadataStorage.store(() => type_metadata_storage_1.TypeMetadataStorage.addInputTypeMetadata(metadata));
|
|
20
|
-
(0, add_class_type_metadata_util_1.addClassTypeMetadata)(target, common_1.ClassType.INPUT);
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
exports.InputType = InputType;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ResolveTypeFn } from '../interfaces/resolve-type-fn.interface';
|
|
2
|
-
export interface InterfaceTypeOptions {
|
|
3
|
-
description?: string;
|
|
4
|
-
isAbstract?: boolean;
|
|
5
|
-
resolveType?: ResolveTypeFn<any, any>;
|
|
6
|
-
implements?: Function | Function[] | (() => Function | Function[]);
|
|
7
|
-
}
|
|
8
|
-
export declare function InterfaceType(options?: InterfaceTypeOptions): ClassDecorator;
|
|
9
|
-
export declare function InterfaceType(name: string, options?: InterfaceTypeOptions): ClassDecorator;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InterfaceType = void 0;
|
|
4
|
-
const common_1 = require("../common");
|
|
5
|
-
const lazy_metadata_storage_1 = require("../lazy-metadata.storage");
|
|
6
|
-
const type_metadata_storage_1 = require("../type-metadata.storage");
|
|
7
|
-
const add_class_type_metadata_util_1 = require("../interfaces/add-class-type-metadata.util");
|
|
8
|
-
function InterfaceType(nameOrOptions, interfaceOptions) {
|
|
9
|
-
const [name, options = {}] = (0, common_1.isString)(nameOrOptions)
|
|
10
|
-
? [nameOrOptions, interfaceOptions]
|
|
11
|
-
: [undefined, nameOrOptions];
|
|
12
|
-
return target => {
|
|
13
|
-
const addInterfaceMetadata = () => {
|
|
14
|
-
const metadata = {
|
|
15
|
-
name: name || target.name,
|
|
16
|
-
target,
|
|
17
|
-
...options,
|
|
18
|
-
interfaces: options.implements
|
|
19
|
-
};
|
|
20
|
-
type_metadata_storage_1.TypeMetadataStorage.addInterfaceMetadata(metadata);
|
|
21
|
-
};
|
|
22
|
-
addInterfaceMetadata();
|
|
23
|
-
lazy_metadata_storage_1.LazyMetadataStorage.store(() => addInterfaceMetadata());
|
|
24
|
-
(0, add_class_type_metadata_util_1.addClassTypeMetadata)(target, common_1.ClassType.INTERFACE);
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
exports.InterfaceType = InterfaceType;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PartialType = void 0;
|
|
4
|
-
const common_1 = require("../common");
|
|
5
|
-
const field_decorator_1 = require("./field.decorator");
|
|
6
|
-
const type_metadata_storage_1 = require("../type-metadata.storage");
|
|
7
|
-
const get_fields_and_decorator_util_1 = require("../utils/get-fields-and-decorator.util");
|
|
8
|
-
const type_helpers_utils_1 = require("../utils/type-helpers.utils");
|
|
9
|
-
const apply_is_optional_decorator_1 = require("./apply-is-optional.decorator");
|
|
10
|
-
function PartialType(classRef, decorator) {
|
|
11
|
-
const { fields, decoratorFactory } = (0, get_fields_and_decorator_util_1.getFieldsAndDecoratorForType)(classRef);
|
|
12
|
-
class PartialObjectType {
|
|
13
|
-
constructor() {
|
|
14
|
-
(0, apply_is_optional_decorator_1.inheritPropertyInitializers)(this, classRef);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
if (decorator) {
|
|
18
|
-
decorator({ isAbstract: true })(PartialObjectType);
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
decoratorFactory({ isAbstract: true })(PartialObjectType);
|
|
22
|
-
}
|
|
23
|
-
(0, apply_is_optional_decorator_1.inheritValidationMetadata)(classRef, PartialObjectType);
|
|
24
|
-
(0, apply_is_optional_decorator_1.inheritTransformationMetadata)(classRef, PartialObjectType);
|
|
25
|
-
fields.forEach(item => {
|
|
26
|
-
if ((0, common_1.isFunction)(item.typeFn)) {
|
|
27
|
-
item.typeFn();
|
|
28
|
-
}
|
|
29
|
-
(0, field_decorator_1.Field)(item.typeFn, { ...item.options, nullable: true })(PartialObjectType.prototype, item.name);
|
|
30
|
-
(0, apply_is_optional_decorator_1.applyIsOptionalDecorator)(PartialObjectType, item.name);
|
|
31
|
-
(0, type_helpers_utils_1.applyFieldDecorators)(PartialObjectType, item);
|
|
32
|
-
});
|
|
33
|
-
if (PartialObjectType[type_metadata_storage_1.METADATA_FACTORY_NAME]) {
|
|
34
|
-
const pluginFields = Object.keys(PartialObjectType[type_metadata_storage_1.METADATA_FACTORY_NAME]());
|
|
35
|
-
pluginFields.forEach(key => (0, apply_is_optional_decorator_1.applyIsOptionalDecorator)(PartialObjectType, key));
|
|
36
|
-
}
|
|
37
|
-
Object.defineProperty(PartialObjectType, 'name', {
|
|
38
|
-
value: `Partial${classRef.name}`
|
|
39
|
-
});
|
|
40
|
-
return PartialObjectType;
|
|
41
|
-
}
|
|
42
|
-
exports.PartialType = PartialType;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CannotDetermineHostTypeError = void 0;
|
|
4
|
-
class CannotDetermineHostTypeError extends Error {
|
|
5
|
-
constructor(externalField, hostType) {
|
|
6
|
-
super(`Cannot determine a GraphQL host type ${hostType ? ` (${hostType}?) ` : ``}for the "${externalField}" field. Make sure your class is decorated with an appropriate decorator (e.g., @ObjectType()).`);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
exports.CannotDetermineHostTypeError = CannotDetermineHostTypeError;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DirectiveParsingError = void 0;
|
|
4
|
-
class DirectiveParsingError extends Error {
|
|
5
|
-
constructor(sdl) {
|
|
6
|
-
super(`Directive SDL "${sdl}" is invalid. Please, pass a valid directive definition.`);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
exports.DirectiveParsingError = DirectiveParsingError;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UnableToFindFieldsError = void 0;
|
|
4
|
-
class UnableToFindFieldsError extends Error {
|
|
5
|
-
constructor(name) {
|
|
6
|
-
super(`Unable to find fields for GraphQL type ${name}. Is your class annotated with an appropriate decorator?`);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
exports.UnableToFindFieldsError = UnableToFindFieldsError;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UndefinedTypeError = void 0;
|
|
4
|
-
const common_1 = require("../common");
|
|
5
|
-
class UndefinedTypeError extends Error {
|
|
6
|
-
constructor(name, key, index) {
|
|
7
|
-
super(`Undefined type error. Make sure you are providing an explicit type for the "${key}" ${(0, common_1.isUndefined)(index) ? '' : `(parameter at index [${index}]) `}of the "${name}" class.`);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.UndefinedTypeError = UndefinedTypeError;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addClassTypeMetadata = exports.CLASS_TYPE_METADATA = void 0;
|
|
4
|
-
const set_metadata_decorator_1 = require("../set-metadata.decorator");
|
|
5
|
-
exports.CLASS_TYPE_METADATA = 'graphql:class_type';
|
|
6
|
-
function addClassTypeMetadata(target, classType) {
|
|
7
|
-
const decoratorFactory = (0, set_metadata_decorator_1.SetMetadata)(exports.CLASS_TYPE_METADATA, classType);
|
|
8
|
-
decoratorFactory(target);
|
|
9
|
-
}
|
|
10
|
-
exports.addClassTypeMetadata = addClassTypeMetadata;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ArgsType } from '../decorators/args-type.decorator';
|
|
2
|
-
import { InputType } from '../decorators/input-type.decorator';
|
|
3
|
-
import { InterfaceType } from '../decorators/interface-type.decorator';
|
|
4
|
-
import { ObjectType } from '../object-type.decorator';
|
|
5
|
-
export declare type ClassDecoratorFactory = typeof ArgsType | typeof ObjectType | typeof InterfaceType | typeof InputType;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { GraphQLCompositeType, GraphQLField } from 'graphql';
|
|
2
|
-
export declare type ComplexityEstimatorArgs = {
|
|
3
|
-
type: GraphQLCompositeType;
|
|
4
|
-
field: GraphQLField<any, any>;
|
|
5
|
-
args: {
|
|
6
|
-
[key: string]: any;
|
|
7
|
-
};
|
|
8
|
-
childComplexity: number;
|
|
9
|
-
};
|
|
10
|
-
export declare type ComplexityEstimator = (options: ComplexityEstimatorArgs) => number | void;
|
|
11
|
-
export declare type Complexity = ComplexityEstimator | number;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { GraphQLResolveInfo } from 'graphql';
|
|
2
|
-
export interface MiddlewareContext<TSource = any, TContext = {}, TArgs = {
|
|
3
|
-
[argName: string]: any;
|
|
4
|
-
}> {
|
|
5
|
-
source: TSource;
|
|
6
|
-
args: TArgs;
|
|
7
|
-
context: TContext;
|
|
8
|
-
info: GraphQLResolveInfo;
|
|
9
|
-
}
|
|
10
|
-
export declare type NextFn<T = any> = () => Promise<T>;
|
|
11
|
-
export interface FieldMiddleware<TSource = any, TContext = {}, TArgs = {
|
|
12
|
-
[argName: string]: any;
|
|
13
|
-
}, TOutput = any> {
|
|
14
|
-
(ctx: MiddlewareContext<TSource, TContext, TArgs>, next: NextFn): Promise<TOutput> | TOutput;
|
|
15
|
-
}
|