UNPKG

1.84 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.getClassOrUndefined = exports.getResolverTypeFn = exports.getClassName = exports.addResolverMetadata = void 0;
4const common_1 = require("@nestjs/common");
5const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
6const graphql_constants_1 = require("../graphql.constants");
7const undefined_resolver_type_error_1 = require("../schema-builder/errors/undefined-resolver-type.error");
8function addResolverMetadata(resolver, name, target, key, descriptor) {
9 (0, common_1.SetMetadata)(graphql_constants_1.RESOLVER_TYPE_METADATA, resolver || name)(target, key, descriptor);
10 (0, common_1.SetMetadata)(graphql_constants_1.RESOLVER_NAME_METADATA, name)(target, key, descriptor);
11}
12exports.addResolverMetadata = addResolverMetadata;
13function getClassName(nameOrType) {
14 if ((0, shared_utils_1.isString)(nameOrType)) {
15 return nameOrType;
16 }
17 const classOrUndefined = getClassOrUndefined(nameOrType);
18 return classOrUndefined && classOrUndefined.name;
19}
20exports.getClassName = getClassName;
21function getResolverTypeFn(nameOrType, target) {
22 return nameOrType
23 ? nameOrType.prototype
24 ? () => nameOrType
25 : nameOrType
26 : () => {
27 throw new undefined_resolver_type_error_1.UndefinedResolverTypeError(target.name);
28 };
29}
30exports.getResolverTypeFn = getResolverTypeFn;
31function getClassOrUndefined(typeOrFunc) {
32 return isConstructor(typeOrFunc)
33 ? typeOrFunc
34 : (0, shared_utils_1.isFunction)(typeOrFunc)
35 ? typeOrFunc()
36 : undefined;
37}
38exports.getClassOrUndefined = getClassOrUndefined;
39function isConstructor(obj) {
40 return (!!obj.prototype &&
41 !!obj.prototype.constructor &&
42 !!obj.prototype.constructor.name);
43}