UNPKG

@dpkit/table

Version:

Data Package implementation in TypeScript.

15 lines 2.47 kB
import { col } from "nodejs-polars"; export function checkCellPattern(field, errorTable) { if (field.type === "string") { const pattern = field.constraints?.pattern; if (pattern) { const target = col(`target:${field.name}`); const errorName = `error:cell/pattern:${field.name}`; errorTable = errorTable .withColumn(target.str.contains(pattern).not().alias(errorName)) .withColumn(col("error").or(col(errorName)).alias("error")); } } return errorTable; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2ZpZWxkL2NoZWNrcy9wYXR0ZXJuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFHbkMsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQVksRUFBRSxVQUFpQjtJQUM5RCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUE7UUFFMUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxVQUFVLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBQzFDLE1BQU0sU0FBUyxHQUFHLHNCQUFzQixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUE7WUFFcEQsVUFBVSxHQUFHLFVBQVU7aUJBQ3BCLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQy9ELFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUE7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tIFwiQGRwa2l0L2NvcmVcIlxuaW1wb3J0IHsgY29sIH0gZnJvbSBcIm5vZGVqcy1wb2xhcnNcIlxuaW1wb3J0IHR5cGUgeyBUYWJsZSB9IGZyb20gXCIuLi8uLi90YWJsZS9pbmRleC50c1wiXG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0NlbGxQYXR0ZXJuKGZpZWxkOiBGaWVsZCwgZXJyb3JUYWJsZTogVGFibGUpIHtcbiAgaWYgKGZpZWxkLnR5cGUgPT09IFwic3RyaW5nXCIpIHtcbiAgICBjb25zdCBwYXR0ZXJuID0gZmllbGQuY29uc3RyYWludHM/LnBhdHRlcm5cblxuICAgIGlmIChwYXR0ZXJuKSB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBjb2woYHRhcmdldDoke2ZpZWxkLm5hbWV9YClcbiAgICAgIGNvbnN0IGVycm9yTmFtZSA9IGBlcnJvcjpjZWxsL3BhdHRlcm46JHtmaWVsZC5uYW1lfWBcblxuICAgICAgZXJyb3JUYWJsZSA9IGVycm9yVGFibGVcbiAgICAgICAgLndpdGhDb2x1bW4odGFyZ2V0LnN0ci5jb250YWlucyhwYXR0ZXJuKS5ub3QoKS5hbGlhcyhlcnJvck5hbWUpKVxuICAgICAgICAud2l0aENvbHVtbihjb2woXCJlcnJvclwiKS5vcihjb2woZXJyb3JOYW1lKSkuYWxpYXMoXCJlcnJvclwiKSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXJyb3JUYWJsZVxufVxuIl19