@dpkit/table
Version:
Data Package implementation in TypeScript.
13 lines • 2.08 kB
JavaScript
import { DataType, lit, when } from "nodejs-polars";
import { col } from "nodejs-polars";
export function parseYearField(field, expr) {
expr = expr ?? col(field.name);
expr = when(expr.str.lengths().eq(4))
.then(expr)
.otherwise(lit(null))
.cast(DataType.Int16);
return when(expr.gtEq(0).and(expr.ltEq(9999)))
.then(expr)
.otherwise(lit(null));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpZWxkL3R5cGVzL3llYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHbkMsTUFBTSxVQUFVLGNBQWMsQ0FBQyxLQUFnQixFQUFFLElBQVc7SUFDMUQsSUFBSSxHQUFHLElBQUksSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRTlCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNWLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUV2QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDM0MsSUFBSSxDQUFDLElBQUksQ0FBQztTQUNWLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBZZWFyRmllbGQgfSBmcm9tIFwiQGRwa2l0L2NvcmVcIlxuaW1wb3J0IHsgRGF0YVR5cGUsIGxpdCwgd2hlbiB9IGZyb20gXCJub2RlanMtcG9sYXJzXCJcbmltcG9ydCB7IGNvbCB9IGZyb20gXCJub2RlanMtcG9sYXJzXCJcbmltcG9ydCB0eXBlIHsgRXhwciB9IGZyb20gXCJub2RlanMtcG9sYXJzXCJcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlWWVhckZpZWxkKGZpZWxkOiBZZWFyRmllbGQsIGV4cHI/OiBFeHByKSB7XG4gIGV4cHIgPSBleHByID8/IGNvbChmaWVsZC5uYW1lKVxuXG4gIGV4cHIgPSB3aGVuKGV4cHIuc3RyLmxlbmd0aHMoKS5lcSg0KSlcbiAgICAudGhlbihleHByKVxuICAgIC5vdGhlcndpc2UobGl0KG51bGwpKVxuICAgIC5jYXN0KERhdGFUeXBlLkludDE2KVxuXG4gIHJldHVybiB3aGVuKGV4cHIuZ3RFcSgwKS5hbmQoZXhwci5sdEVxKDk5OTkpKSlcbiAgICAudGhlbihleHByKVxuICAgIC5vdGhlcndpc2UobGl0KG51bGwpKVxufVxuIl19