typeorm-plus-fixtures-cli
Version:
This is a fork of [typeorm-fixtures](https://github.com/RobinCK/typeorm-fixtures)
37 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const parsers = require("./parsers");
class Parser {
constructor() {
this.parsers = [];
for (const parser of Object.values(parsers)) {
this.parsers.push(new parser());
}
}
/**
* @param {object | any} data
* @param {IFixture} fixture
* @param entities
* @return {any}
*/
parse(data, fixture, entities) {
const entityRawData = data instanceof Array ? [...data] : Object.assign({}, data);
for (const [key, value] of Object.entries(entityRawData)) {
/* istanbul ignore else */
if (typeof value === 'string') {
for (const parser of this.parsers.sort((a, b) => b.priority - a.priority)) {
if (parser.isSupport(value)) {
entityRawData[key] = parser.parse(value, fixture, entities);
}
}
}
/* istanbul ignore else */
if (typeof value === 'object') {
entityRawData[key] = this.parse(value, fixture, entities);
}
}
return entityRawData;
}
}
exports.Parser = Parser;
//# sourceMappingURL=Parser.js.map