--- /dev/null
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const codegen_1 = require("../../compile/codegen");
+const util_1 = require("../../compile/util");
+const ucs2length_1 = require("../../runtime/ucs2length");
+const error = {
+ message({ keyword, schemaCode }) {
+ const comp = keyword === "maxLength" ? "more" : "fewer";
+ return codegen_1.str `must NOT have ${comp} than ${schemaCode} characters`;
+ },
+ params: ({ schemaCode }) => codegen_1._ `{limit: ${schemaCode}}`,
+};
+const def = {
+ keyword: ["maxLength", "minLength"],
+ type: "string",
+ schemaType: "number",
+ $data: true,
+ error,
+ code(cxt) {
+ const { keyword, data, schemaCode, it } = cxt;
+ const op = keyword === "maxLength" ? codegen_1.operators.GT : codegen_1.operators.LT;
+ const len = it.opts.unicode === false ? codegen_1._ `${data}.length` : codegen_1._ `${util_1.useFunc(cxt.gen, ucs2length_1.default)}(${data})`;
+ cxt.fail$data(codegen_1._ `${len} ${op} ${schemaCode}`);
+ },
+};
+exports.default = def;
+//# sourceMappingURL=limitLength.js.map
\ No newline at end of file