diff --git a/deno/lib/README.md b/deno/lib/README.md index 640ed564c..46bde68ca 100644 --- a/deno/lib/README.md +++ b/deno/lib/README.md @@ -599,11 +599,11 @@ z.string().regex(regex); z.string().startsWith(string); z.string().endsWith(string); z.string().trim(); // trim whitespace -z.string().toLowerCase(); // toLowerCase -z.string().toUpperCase(); // toLowerCase z.string().datetime(); // defaults to UTC, see below for options z.string().ip(); // defaults to IPv4 and IPv6, see below for options ``` + + > Check out [validator.js](https://github.com/validatorjs/validator.js) for a bunch of other useful string validation functions that can be used in conjunction with [Refinements](#refine). diff --git a/deno/lib/benchmarks/index.ts b/deno/lib/benchmarks/index.ts index fa6525ea1..1ce4e755e 100644 --- a/deno/lib/benchmarks/index.ts +++ b/deno/lib/benchmarks/index.ts @@ -1,3 +1,5 @@ +import Benchmark from "benchmark"; + import discriminatedUnionBenchmarks from "./discriminatedUnion.ts"; import objectBenchmarks from "./object.ts"; import primitiveBenchmarks from "./primitives.ts"; @@ -5,13 +7,39 @@ import realworld from "./realworld.ts"; import stringBenchmarks from "./string.ts"; import unionBenchmarks from "./union.ts"; -for (const suite of [ - ...realworld.suites, - ...primitiveBenchmarks.suites, - ...stringBenchmarks.suites, - ...objectBenchmarks.suites, - ...unionBenchmarks.suites, - ...discriminatedUnionBenchmarks.suites, -]) { +const argv = process.argv.slice(2); +let suites: Benchmark.Suite[] = []; + +if (!argv.length) { + suites = [ + ...realworld.suites, + ...primitiveBenchmarks.suites, + ...stringBenchmarks.suites, + ...objectBenchmarks.suites, + ...unionBenchmarks.suites, + ...discriminatedUnionBenchmarks.suites, + ]; +} else { + if (argv.includes("--realworld")) { + suites.push(...realworld.suites); + } + if (argv.includes("--primitives")) { + suites.push(...primitiveBenchmarks.suites); + } + if (argv.includes("--string")) { + suites.push(...stringBenchmarks.suites); + } + if (argv.includes("--object")) { + suites.push(...objectBenchmarks.suites); + } + if (argv.includes("--union")) { + suites.push(...unionBenchmarks.suites); + } + if (argv.includes("--discriminatedUnion")) { + suites.push(...discriminatedUnionBenchmarks.suites); + } +} + +for (const suite of suites) { suite.run(); } diff --git a/src/benchmarks/index.ts b/src/benchmarks/index.ts index 4ed7ea88c..a56c69673 100644 --- a/src/benchmarks/index.ts +++ b/src/benchmarks/index.ts @@ -1,3 +1,5 @@ +import Benchmark from "benchmark"; + import discriminatedUnionBenchmarks from "./discriminatedUnion"; import objectBenchmarks from "./object"; import primitiveBenchmarks from "./primitives"; @@ -5,13 +7,39 @@ import realworld from "./realworld"; import stringBenchmarks from "./string"; import unionBenchmarks from "./union"; -for (const suite of [ - ...realworld.suites, - ...primitiveBenchmarks.suites, - ...stringBenchmarks.suites, - ...objectBenchmarks.suites, - ...unionBenchmarks.suites, - ...discriminatedUnionBenchmarks.suites, -]) { +const argv = process.argv.slice(2); +let suites: Benchmark.Suite[] = []; + +if (!argv.length) { + suites = [ + ...realworld.suites, + ...primitiveBenchmarks.suites, + ...stringBenchmarks.suites, + ...objectBenchmarks.suites, + ...unionBenchmarks.suites, + ...discriminatedUnionBenchmarks.suites, + ]; +} else { + if (argv.includes("--realworld")) { + suites.push(...realworld.suites); + } + if (argv.includes("--primitives")) { + suites.push(...primitiveBenchmarks.suites); + } + if (argv.includes("--string")) { + suites.push(...stringBenchmarks.suites); + } + if (argv.includes("--object")) { + suites.push(...objectBenchmarks.suites); + } + if (argv.includes("--union")) { + suites.push(...unionBenchmarks.suites); + } + if (argv.includes("--discriminatedUnion")) { + suites.push(...discriminatedUnionBenchmarks.suites); + } +} + +for (const suite of suites) { suite.run(); }