UNPKG

claire-framework

Version:

- được viết bằng TypeScript - hỗ trợ websocket và HTTP request - hỗ trợ CLI để generate base project (claire-cli)

47 lines 4.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); class AbstractQuery { constructor(model, metadata) { this.currentModel = model; this.currentMetadata = metadata; } getProjectionFields(projection) { return projection.map((key) => this.currentMetadata.getFieldByLogicName(key).fieldDataName); } convertToLogicObjects(dataObjects, projection) { return dataObjects.map(dataObject => { let result = new this.currentModel(); // @ts-ignore this.currentMetadata.fields.filter((field) => !projection || projection.includes(field.fieldLogicName)).forEach((field) => { if (dataObject[field.fieldDataName] !== null && dataObject[field.fieldDataName] !== undefined) { if (field.getSetField) { //-- avoid setter, assign directly to underlying data variable result[field.fieldDataName] = dataObject[field.fieldDataName]; } else { result[field.fieldLogicName] = dataObject[field.fieldDataName]; } } }); return result; }); } convertToDataObjects(modelInstances) { return modelInstances.map(instance => { let result = {}; this.currentMetadata.fields.forEach(field => { let value = instance[field.fieldDataName]; //-- getter can provider undesired default value so avoid it if (value === undefined && !field.getSetField) { value = instance[field.fieldLogicName]; } if (value !== undefined) { result[field.fieldDataName] = value; } }); return result; }); } } exports.AbstractQuery = AbstractQuery; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RRdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9tb2RlbC9BYnN0cmFjdFF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsTUFBc0IsYUFBYTtJQTBCL0IsWUFBc0IsS0FBNEMsRUFBRSxRQUF1QjtRQUN2RixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRVMsbUJBQW1CLENBQUMsVUFBMEI7UUFDcEQsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBRSxDQUFDLGFBQWMsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFFUyxxQkFBcUIsQ0FBQyxXQUFrQixFQUFFLFVBQTJCO1FBQzNFLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNoQyxJQUFJLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQVMsQ0FBQztZQUM1QyxhQUFhO1lBQ2IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxjQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN2SCxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsYUFBYyxDQUFDLEtBQUssSUFBSSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsYUFBYyxDQUFDLEtBQUssU0FBUyxFQUFFO29CQUM3RixJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7d0JBQ25CLDhEQUE4RDt3QkFDOUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFjLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLGFBQWMsQ0FBQyxDQUFDO3FCQUNuRTt5QkFBTTt3QkFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLGNBQWUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsYUFBYyxDQUFDLENBQUM7cUJBQ3BFO2lCQUNKO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLE1BQVcsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxvQkFBb0IsQ0FBQyxjQUE0QjtRQUN2RCxPQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDakMsSUFBSSxNQUFNLEdBQVEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEMsSUFBSSxLQUFLLEdBQUksUUFBZ0IsQ0FBQyxLQUFLLENBQUMsYUFBYyxDQUFDLENBQUM7Z0JBQ3BELDREQUE0RDtnQkFDNUQsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRTtvQkFDM0MsS0FBSyxHQUFJLFFBQWdCLENBQUMsS0FBSyxDQUFDLGNBQWUsQ0FBQyxDQUFDO2lCQUNwRDtnQkFDRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7b0JBQ3JCLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYyxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUN4QztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBRUo7QUF0RUQsc0NBc0VDIn0=