UNPKG

@multiplatform.one/typegraphql

Version:
36 lines (33 loc) 1.15 kB
import { __name } from "./chunk-SHUYVCID.js"; // src/decorators/decorateAll.ts function DecorateAll(decorator, options = {}) { return (target, propertyKey, descriptor) => { if (propertyKey && descriptor) return decorator(target, propertyKey, descriptor); let descriptors = Object.getOwnPropertyDescriptors(target.prototype); if (options.deep) { let base = Object.getPrototypeOf(target); while (base.prototype) { const baseDescriptors = Object.getOwnPropertyDescriptors(base.prototype); descriptors = { ...baseDescriptors, ...descriptors }; base = Object.getPrototypeOf(base); } } for (const [propName, descriptor2] of Object.entries(descriptors)) { const isMethod = typeof descriptor2.value === "function" && propName !== "constructor"; if (options.exclude?.includes(propName)) continue; if (!isMethod) continue; decorator(target.prototype, propName, descriptor2); Object.defineProperty(target.prototype, propName, descriptor2); } return target; }; } __name(DecorateAll, "DecorateAll"); export { DecorateAll };