🚀 Socket Launch Week Day 4:Socket MCP Adds Org Alerts, Threat Feed Review, and Package Inspection.Learn more
Sign In

arkregex

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

arkregex - npm Package Compare versions

Comparing version
0.0.2
to
0.0.3
+16
-10
out/quantify.d.ts

@@ -1,2 +0,2 @@

import type { Scanner } from "@ark/util";
import type { parseNonNegativeInteger, Scanner } from "@ark/util";
import type { s, State } from "./state.ts";

@@ -14,16 +14,20 @@ export type parseBuiltinQuantifier<s extends State, quantifier extends QuantifyingChar, unscanned extends string> = s["root"] extends "" ? s.error<writeUnmatchedQuantifierError<quantifier>> : quantifyBuiltin<s, quantifier, unscanned extends Scanner.shift<"?", infer lazyUnscanned> ? lazyUnscanned : unscanned>;

type skipPossibleQuestionMark<unscanned extends string> = unscanned extends `?${infer next}` ? next : unscanned;
type parsePossibleRangeString<unscanned extends string> = unscanned extends (`${infer l extends number},${infer r extends number}}${infer next}`) ? ParsedRange.from<{
min: l;
max: r;
type parsePossibleRangeString<unscanned extends string> = unscanned extends (`${infer l extends `${number}`},${infer r extends `${number}`}}${infer next}`) ? ParsedRange.from<{
min: parseNonNegativeInteger<l>;
max: parseNonNegativeInteger<r>;
unscanned: skipPossibleQuestionMark<next>;
}> : unscanned extends `${infer l extends number},}${infer next}` ? ParsedRange.from<{
min: l;
}> : unscanned extends `${infer l extends `${number}`},}${infer next}` ? ParsedRange.from<{
min: parseNonNegativeInteger<l>;
max: null;
unscanned: skipPossibleQuestionMark<next>;
}> : unscanned extends `${infer l extends number}}${infer next}` ? ParsedRange.from<{
min: l;
max: l;
}> : unscanned extends `${infer l extends `${number}`}}${infer next}` ? ParsedRange.from<{
min: parseNonNegativeInteger<l>;
max: parseNonNegativeInteger<l>;
unscanned: skipPossibleQuestionMark<next>;
}> : null;
export type parsePossibleRange<s extends State, unscanned extends string, parsed extends ParsedRange | null = parsePossibleRangeString<unscanned>> = parsed extends ParsedRange ? s["root"] extends "" ? s.error<writeUnmatchedQuantifierError<unscanned extends `${infer range}${parsed["unscanned"]}` ? `{${range}` : never>> : s.pushQuantifier<s, parsed["min"], parsed["max"], parsed["unscanned"] extends Scanner.shift<"?", infer lazyUnscanned> ? lazyUnscanned : parsed["unscanned"]> : s.shiftQuantifiable<s, "{", unscanned>;
type parseQuantifier<unscanned extends string, parsed extends ParsedRange> = unscanned extends `${infer range}${parsed["unscanned"]}` ? `{${range}` : never;
export type parsePossibleRange<s extends State, unscanned extends string, parsed extends ParsedRange | null = parsePossibleRangeString<unscanned>> = parsed extends ParsedRange ? s["root"] extends "" ? s.error<writeUnmatchedQuantifierError<parseQuantifier<unscanned, parsed>>> : [parsed["min"], parsed["max"]] extends ([
never,
unknown
] | [unknown, never]) ? s.error<writeUnnaturalNumberQuantifierError<parseQuantifier<unscanned, parsed>>> : s.pushQuantifier<s, parsed["min"], parsed["max"], parsed["unscanned"] extends Scanner.shift<"?", infer lazyUnscanned> ? lazyUnscanned : parsed["unscanned"]> : s.shiftQuantifiable<s, "{", unscanned>;
export type quantify<pattern extends string, min extends number, max extends number | null> = tryFastPath<pattern, min, max>;

@@ -38,2 +42,4 @@ type tryFastPath<pattern extends string, min extends number, max extends number | null> = max extends 0 ? "" : string extends pattern ? string : `${bigint}` extends pattern ? `${bigint}` : min extends 0 ? max extends 1 ? "" | pattern : max extends number ? loopFromZero<pattern, max, "", []> : // max is null, all we can do is append ${string}

export type writeUnmatchedQuantifierError<quantifier extends string> = `Quantifier ${quantifier} requires a preceding token`;
export declare const writeUnnaturalNumberQuantifierError: <quantifier extends string>(quantifier: quantifier) => writeUnnaturalNumberQuantifierError<quantifier>;
export type writeUnnaturalNumberQuantifierError<quantifier extends string> = `Quantifier ${quantifier} must use natural numbers`;
export {};
export const writeUnmatchedQuantifierError = (quantifier) => `Quantifier ${quantifier} requires a preceding token`;
export const writeUnnaturalNumberQuantifierError = (quantifier) => `Quantifier ${quantifier} must use natural numbers`;
{
"name": "arkregex",
"description": "A drop-in replacement for new RegExp() with types",
"version": "0.0.2",
"version": "0.0.3",
"license": "MIT",

@@ -32,3 +32,3 @@ "author": {

"dependencies": {
"@ark/util": "0.53.0"
"@ark/util": "0.55.0"
},

@@ -35,0 +35,0 @@ "publishConfig": {

@@ -24,2 +24,4 @@ # arkregex

Performs best with TS 5.9+
### Features

@@ -26,0 +28,0 @@