UNPKG

1.12 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.ArgsType = void 0;
4const class_type_enum_1 = require("../enums/class-type.enum");
5const lazy_metadata_storage_1 = require("../schema-builder/storages/lazy-metadata.storage");
6const type_metadata_storage_1 = require("../schema-builder/storages/type-metadata.storage");
7const add_class_type_metadata_util_1 = require("../utils/add-class-type-metadata.util");
8/**
9 * Decorator that marks a class as a resolver arguments type.
10 */
11function ArgsType() {
12 return (target) => {
13 const metadata = {
14 name: target.name,
15 target,
16 };
17 lazy_metadata_storage_1.LazyMetadataStorage.store(() => type_metadata_storage_1.TypeMetadataStorage.addArgsMetadata(metadata));
18 // This function must be called eagerly to allow resolvers
19 // accessing the "name" property
20 type_metadata_storage_1.TypeMetadataStorage.addArgsMetadata(metadata);
21 (0, add_class_type_metadata_util_1.addClassTypeMetadata)(target, class_type_enum_1.ClassType.ARGS);
22 };
23}
24exports.ArgsType = ArgsType;