UNPKG

node-web-mvc

Version:
25 lines (24 loc) 905 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const Target_1 = __importDefault(require("../servlets/annotations/Target")); const ElementType_1 = __importDefault(require("../servlets/annotations/annotation/ElementType")); const instanceSymbol = Symbol('instance'); class JsonSerialize { constructor() { this.__exclude_keys__ = 'getSerializer'; } getSerializer() { if (!this.using) { return null; } if (!this[instanceSymbol]) { const CustomSerializer = this.using; this[instanceSymbol] = new CustomSerializer(); } return this[instanceSymbol]; } } exports.default = (0, Target_1.default)([ElementType_1.default.PROPERTY])(JsonSerialize);