@yamamotok/dataobject
Version:
Decorator based JSON serializer and deserializer.
25 lines • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.toPlainValueTransform = void 0;
const ClassStrategy_1 = require("./toplain/ClassStrategy");
const CustomTransformerStrategy_1 = require("./toplain/CustomTransformerStrategy");
const IterableStrategy_1 = require("./toplain/IterableStrategy");
const PrimitiveStrategy_1 = require("./toplain/PrimitiveStrategy");
const Strategy_1 = require("./Strategy");
function toPlainValueTransform(opts) {
const strategies = [
new CustomTransformerStrategy_1.CustomTransformerStrategy(),
new IterableStrategy_1.IterableStrategy(toPlainValueTransform),
new PrimitiveStrategy_1.PrimitiveStrategy(),
new ClassStrategy_1.ClassStrategy(),
];
for (const strategy of strategies) {
const res = strategy.apply(opts);
if (res instanceof Strategy_1.Transformed) {
return res.value;
}
}
return opts.sourceValue;
}
exports.toPlainValueTransform = toPlainValueTransform;
//# sourceMappingURL=toPlainValueTransform.js.map