@dpkit/table
Version:
Data Package implementation in TypeScript.
15 lines • 2.54 kB
JavaScript
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