UNPKG

@yamamotok/dataobject

Version:

Decorator based JSON serializer and deserializer.

26 lines 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.factoryValueTransform = void 0; const CustomTransformerStrategy_1 = require("./factory/CustomTransformerStrategy"); const CustomTypeStrategy_1 = require("./factory/CustomTypeStrategy"); const IterableStrategy_1 = require("./factory/IterableStrategy"); const PrimitiveStrategy_1 = require("./factory/PrimitiveStrategy"); const Strategy_1 = require("./Strategy"); function factoryValueTransform(opts) { const strategies = [ new CustomTransformerStrategy_1.CustomTransformerStrategy(), new PrimitiveStrategy_1.PrimitiveStrategy(), new IterableStrategy_1.IterableStrategy(factoryValueTransform), new CustomTypeStrategy_1.CustomTypeStrategy(), ]; const sourceValue = opts.sourceValue; for (const strategy of strategies) { const res = strategy.apply(Object.assign(Object.assign({}, opts), { sourceValue })); if (res instanceof Strategy_1.Transformed) { return res.value; } } return sourceValue; } exports.factoryValueTransform = factoryValueTransform; //# sourceMappingURL=factoryValueTransform.js.map