@dpkit/table
Version:
Data Package implementation in TypeScript.
15 lines • 2.41 kB
JavaScript
import { col } from "nodejs-polars";
export function checkCellEnum(field, errorTable) {
if (field.type === "string") {
const rawEnum = field.constraints?.enum;
if (rawEnum) {
const target = col(`target:${field.name}`);
const errorName = `error:cell/enum:${field.name}`;
errorTable = errorTable
.withColumn(target.isIn(rawEnum).not().alias(errorName))
.withColumn(col("error").or(col(errorName)).alias("error"));
}
}
return errorTable;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpZWxkL2NoZWNrcy9lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHbkMsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFZLEVBQUUsVUFBaUI7SUFDM0QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFBO1FBRXZDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsVUFBVSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUMxQyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1lBRWpELFVBQVUsR0FBRyxVQUFVO2lCQUNwQixVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQ3ZELFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUE7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tIFwiQGRwa2l0L2NvcmVcIlxuaW1wb3J0IHsgY29sIH0gZnJvbSBcIm5vZGVqcy1wb2xhcnNcIlxuaW1wb3J0IHR5cGUgeyBUYWJsZSB9IGZyb20gXCIuLi8uLi90YWJsZS9pbmRleC50c1wiXG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0NlbGxFbnVtKGZpZWxkOiBGaWVsZCwgZXJyb3JUYWJsZTogVGFibGUpIHtcbiAgaWYgKGZpZWxkLnR5cGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICBjb25zdCByYXdFbnVtID0gZmllbGQuY29uc3RyYWludHM/LmVudW1cblxuICAgIGlmIChyYXdFbnVtKSB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBjb2woYHRhcmdldDoke2ZpZWxkLm5hbWV9YClcbiAgICAgIGNvbnN0IGVycm9yTmFtZSA9IGBlcnJvcjpjZWxsL2VudW06JHtmaWVsZC5uYW1lfWBcblxuICAgICAgZXJyb3JUYWJsZSA9IGVycm9yVGFibGVcbiAgICAgICAgLndpdGhDb2x1bW4odGFyZ2V0LmlzSW4ocmF3RW51bSkubm90KCkuYWxpYXMoZXJyb3JOYW1lKSlcbiAgICAgICAgLndpdGhDb2x1bW4oY29sKFwiZXJyb3JcIikub3IoY29sKGVycm9yTmFtZSkpLmFsaWFzKFwiZXJyb3JcIikpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVycm9yVGFibGVcbn1cbiJdfQ==