@@ -33,3 +33,3 @@ import type { parseNonNegativeInteger, Scanner } from "@ark/util"; | ||
| export type quantify<pattern extends string, min extends number, max extends number | null> = tryFastPath<pattern, min, max>; | ||
| type tryFastPath<pattern extends string, min extends number, max extends number | null> = max extends 0 ? "" : string extends pattern ? string : `${number}` extends pattern ? `${number}` : min extends 0 ? max extends 1 ? "" | pattern : max extends number ? loopFromZero<pattern, max, "", []> : // max is null, all we can do is append ${string} | ||
| type tryFastPath<pattern extends string, min extends number, max extends number | null> = max extends 0 ? "" : string extends pattern ? string : `${number}` extends pattern ? min extends 0 ? "" | `${number}` : `${number}` : min extends 0 ? max extends 1 ? "" | pattern : max extends number ? loopFromZero<pattern, max, "", []> : // max is null, all we can do is append ${string} | ||
| "" | `${pattern}${string}` : loopUntilMin<pattern, min, max, "", []>; | ||
@@ -36,0 +36,0 @@ type loopFromZero<base extends string, max extends number, acc extends string, repetitions extends 1[]> = repetitions["length"] extends max ? acc : loopFromZero<base, max, acc | `${acc}${base}`, [...repetitions, 1]>; |
+1
-1
| { | ||
| "name": "@ark/regex", | ||
| "description": "A drop-in replacement for new RegExp() with types", | ||
| "version": "0.0.5", | ||
| "version": "0.0.6", | ||
| "license": "MIT", | ||
@@ -6,0 +6,0 @@ "author": { |
48443
0.07%