UNPKG

@dpkit/table

Version:

Data Package implementation in TypeScript.

15 lines 2.54 kB
import { col } from "nodejs-polars"; export function checkCellMaxLength(field, errorTable) { if (field.type === "string") { const maxLength = field.constraints?.maxLength; if (maxLength !== undefined) { const target = col(`target:${field.name}`); const errorName = `error:cell/maxLength:${field.name}`; errorTable = errorTable .withColumn(target.str.lengths().gt(maxLength).alias(errorName)) .withColumn(col("error").or(col(errorName)).alias("error")); } } return errorTable; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF4TGVuZ3RoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZmllbGQvY2hlY2tzL21heExlbmd0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBR25DLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFZLEVBQUUsVUFBaUI7SUFDaEUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFBO1FBRTlDLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxVQUFVLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1lBQzFDLE1BQU0sU0FBUyxHQUFHLHdCQUF3QixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUE7WUFFdEQsVUFBVSxHQUFHLFVBQVU7aUJBQ3BCLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQy9ELFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUE7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tIFwiQGRwa2l0L2NvcmVcIlxuaW1wb3J0IHsgY29sIH0gZnJvbSBcIm5vZGVqcy1wb2xhcnNcIlxuaW1wb3J0IHR5cGUgeyBUYWJsZSB9IGZyb20gXCIuLi8uLi90YWJsZS9pbmRleC50c1wiXG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0NlbGxNYXhMZW5ndGgoZmllbGQ6IEZpZWxkLCBlcnJvclRhYmxlOiBUYWJsZSkge1xuICBpZiAoZmllbGQudHlwZSA9PT0gXCJzdHJpbmdcIikge1xuICAgIGNvbnN0IG1heExlbmd0aCA9IGZpZWxkLmNvbnN0cmFpbnRzPy5tYXhMZW5ndGhcblxuICAgIGlmIChtYXhMZW5ndGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gY29sKGB0YXJnZXQ6JHtmaWVsZC5uYW1lfWApXG4gICAgICBjb25zdCBlcnJvck5hbWUgPSBgZXJyb3I6Y2VsbC9tYXhMZW5ndGg6JHtmaWVsZC5uYW1lfWBcblxuICAgICAgZXJyb3JUYWJsZSA9IGVycm9yVGFibGVcbiAgICAgICAgLndpdGhDb2x1bW4odGFyZ2V0LnN0ci5sZW5ndGhzKCkuZ3QobWF4TGVuZ3RoKS5hbGlhcyhlcnJvck5hbWUpKVxuICAgICAgICAud2l0aENvbHVtbihjb2woXCJlcnJvclwiKS5vcihjb2woZXJyb3JOYW1lKSkuYWxpYXMoXCJlcnJvclwiKSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXJyb3JUYWJsZVxufVxuIl19