UNPKG

@tunnel-cast/tunnel-cast

Version:

<br>

27 lines 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decoratorAdapter = void 0; require("reflect-metadata"); const constants_1 = require("../../constants"); function decoratorAdapter(fieldProcedure) { return function (target, propertyKey) { return defineFieldDecoratorMetadata(fieldProcedure, target, propertyKey); }; } exports.decoratorAdapter = decoratorAdapter; function defineFieldDecoratorMetadata(fieldProcedure, target, propertyKey) { let fieldMetadata = []; let fieldsList = new Map(); if (Reflect.hasMetadata(constants_1.CAST_FIELD_METADATA, target, propertyKey)) { fieldMetadata = Reflect.getMetadata(constants_1.CAST_FIELD_METADATA, target, propertyKey); } if (Reflect.hasMetadata(constants_1.CAST_DECORATED_FIELDS_LIST, target)) { fieldsList = Reflect.getMetadata(constants_1.CAST_DECORATED_FIELDS_LIST, target); } fieldProcedure.fieldName = propertyKey; fieldMetadata.push(fieldProcedure); Reflect.defineMetadata(constants_1.CAST_FIELD_METADATA, fieldMetadata, target, propertyKey); !fieldsList.has(propertyKey) ? fieldsList.set(propertyKey, fieldsList.size + 1) : 0; Reflect.defineMetadata(constants_1.CAST_DECORATED_FIELDS_LIST, fieldsList, target); } //# sourceMappingURL=decorator-adapter.js.map