| "use strict"; |
| var __importDefault = (this && this.__importDefault) || function (mod) { |
| return (mod && mod.__esModule) ? mod : { "default": mod }; |
| }; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| const benchmark_1 = __importDefault(require("benchmark")); |
| const index_1 = require("../index"); |
| const SUITE_NAME = "z.string"; |
| const suite = new benchmark_1.default.Suite(SUITE_NAME); |
| const empty = ""; |
| const short = "short"; |
| const long = "long".repeat(256); |
| const manual = (str) => { |
| if (typeof str !== "string") { |
| throw new Error("Not a string"); |
| } |
| return str; |
| }; |
| const stringSchema = index_1.z.string(); |
| const optionalStringSchema = index_1.z.string().optional(); |
| const optionalNullableStringSchema = index_1.z.string().optional().nullable(); |
| suite |
| .add("empty string", () => { |
| stringSchema.parse(empty); |
| }) |
| .add("short string", () => { |
| stringSchema.parse(short); |
| }) |
| .add("long string", () => { |
| stringSchema.parse(long); |
| }) |
| .add("optional string", () => { |
| optionalStringSchema.parse(long); |
| }) |
| .add("nullable string", () => { |
| optionalNullableStringSchema.parse(long); |
| }) |
| .add("nullable (null) string", () => { |
| optionalNullableStringSchema.parse(null); |
| }) |
| .add("invalid: null", () => { |
| try { |
| stringSchema.parse(null); |
| } |
| catch (err) { } |
| }) |
| .add("manual parser: long", () => { |
| manual(long); |
| }) |
| .on("cycle", (e) => { |
| console.log(`${SUITE_NAME}: ${e.target}`); |
| }); |
| exports.default = { |
| suites: [suite], |
| }; |