UNPKG

ts-deserializable

Version:

Decorator pattern for deserializing unverified data to an instance of a class in typescript.

30 lines (29 loc) 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("reflect-metadata"); const OPERATIONS_KEY = 'deserializable:operations'; var DsOperations; (function (DsOperations) { function get(target) { const operations = Reflect.getMetadata(OPERATIONS_KEY, target); if (operations) { return Object.keys(operations) .reduce((copy, key) => { copy[key] = [...operations[key]]; return copy; }, {}); } } DsOperations.get = get; function set(target, operations) { Reflect.defineMetadata(OPERATIONS_KEY, Object.assign({}, operations), target); } DsOperations.set = set; function add(target, key, ops) { let operations = get(target) || {}; operations[key] = operations[key] || []; operations[key] = [...operations[key], ...ops]; set(target, operations); } DsOperations.add = add; })(DsOperations = exports.DsOperations || (exports.DsOperations = {}));