@forestadmin/datasource-toolkit
Version:
28 lines • 1.99 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const schema_1 = __importDefault(require("./schema"));
class RecordUtils {
static getPrimaryKey(schema, record) {
return schema_1.default.getPrimaryKeys(schema).map(pk => {
if (record[pk] === undefined)
throw new Error(`Missing primary key: ${pk}`);
return record[pk];
});
}
/**
* Get value of field from record
*/
static getFieldValue(record, field) {
const path = field.split(':');
let current = record;
while (path.length && current) {
current = current[path.shift()];
}
return path.length === 0 ? current : null;
}
}
exports.default = RecordUtils;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3JlY29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNEQUFtQztBQUluQyxNQUFxQixXQUFXO0lBQzlCLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBd0IsRUFBRSxNQUFrQjtRQUMvRCxPQUFPLGdCQUFXLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNqRCxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxTQUFTO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFNUUsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFvQixDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFrQixFQUFFLEtBQWE7UUFDcEQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFFckIsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sRUFBRTtZQUM3QixPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBZSxDQUFDO1NBQy9DO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBdEJELDhCQXNCQyJ9
;