@multiplatform.one/typegraphql
Version:
typegraphql for multiplatform.one
36 lines (33 loc) • 1.07 kB
JavaScript
import {
createMethodDecorator
} from "./chunk-6IAAYIGD.js";
import {
__name
} from "./chunk-SHUYVCID.js";
// src/decorators/registerHandler.ts
function RegisterHandler(target, propertyKey, descriptor) {
if (target.prototype) return void 0;
return createMethodDecorator(class RegisterHandlerDecorator {
static {
__name(this, "RegisterHandlerDecorator");
}
async use({ context: ctx }, next) {
if (!ctx.typegraphqlMeta) ctx.typegraphqlMeta = {};
if (!ctx.typegraphqlMeta.resolvers) ctx.typegraphqlMeta.resolvers = {};
if (!ctx.typegraphqlMeta.resolvers[target.constructor.name]) {
ctx.typegraphqlMeta.resolvers[target.constructor.name] = {
target: target.constructor,
handlers: []
};
}
if (typeof descriptor.value === "function") {
ctx.typegraphqlMeta.resolvers[target.constructor.name].handlers.push(descriptor.value);
}
return next();
}
})(target, propertyKey, descriptor);
}
__name(RegisterHandler, "RegisterHandler");
export {
RegisterHandler
};