@jdsalasc/solvejs-regex 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/cjs/index.cjs +27 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/esm/index.d.ts +13 -0
- package/dist/esm/index.js +21 -0
- package/dist/esm/index.js.map +1 -0
- package/package.json +33 -0
package/README.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.REGEX_PATTERNS = void 0;
|
|
4
|
+
exports.testPattern = testPattern;
|
|
5
|
+
exports.validateWithPattern = validateWithPattern;
|
|
6
|
+
exports.validateByName = validateByName;
|
|
7
|
+
exports.REGEX_PATTERNS = {
|
|
8
|
+
email: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
|
|
9
|
+
phoneE164: /^\+[1-9]\d{1,14}$/,
|
|
10
|
+
urlHttp: /^https?:\/\/.+/i,
|
|
11
|
+
hexColor: /^#(?:[0-9a-fA-F]{3}){1,2}$/,
|
|
12
|
+
username: /^[a-zA-Z0-9_]{3,30}$/
|
|
13
|
+
};
|
|
14
|
+
function testPattern(input, pattern) {
|
|
15
|
+
if (!(pattern instanceof RegExp)) {
|
|
16
|
+
throw new TypeError("Expected pattern to be a RegExp instance.");
|
|
17
|
+
}
|
|
18
|
+
return pattern.test(input);
|
|
19
|
+
}
|
|
20
|
+
function validateWithPattern(input, pattern, options) {
|
|
21
|
+
const normalized = options?.trim ? input.trim() : input;
|
|
22
|
+
return testPattern(normalized, pattern);
|
|
23
|
+
}
|
|
24
|
+
function validateByName(input, patternName) {
|
|
25
|
+
return testPattern(input, exports.REGEX_PATTERNS[patternName]);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAUA,kCAKC;AAED,kDAGC;AAED,wCAEC;AAxBY,QAAA,cAAc,GAAG;IAC5B,KAAK,EAAE,4BAA4B;IACnC,SAAS,EAAE,mBAAmB;IAC9B,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,sBAAsB;CACxB,CAAC;AAIX,SAAgB,WAAW,CAAC,KAAa,EAAE,OAAe;IACxD,IAAI,CAAC,CAAC,OAAO,YAAY,MAAM,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAa,EAAE,OAAe,EAAE,OAA4B;IAC9F,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,OAAO,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,cAAc,CAAC,KAAa,EAAE,WAAwB;IACpE,OAAO,WAAW,CAAC,KAAK,EAAE,sBAAc,CAAC,WAAW,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const REGEX_PATTERNS: {
|
|
2
|
+
readonly email: RegExp;
|
|
3
|
+
readonly phoneE164: RegExp;
|
|
4
|
+
readonly urlHttp: RegExp;
|
|
5
|
+
readonly hexColor: RegExp;
|
|
6
|
+
readonly username: RegExp;
|
|
7
|
+
};
|
|
8
|
+
export type PatternName = keyof typeof REGEX_PATTERNS;
|
|
9
|
+
export declare function testPattern(input: string, pattern: RegExp): boolean;
|
|
10
|
+
export declare function validateWithPattern(input: string, pattern: RegExp, options?: {
|
|
11
|
+
trim?: boolean;
|
|
12
|
+
}): boolean;
|
|
13
|
+
export declare function validateByName(input: string, patternName: PatternName): boolean;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const REGEX_PATTERNS = {
|
|
2
|
+
email: /^[^\s@]+@[^\s@]+\.[^\s@]+$/,
|
|
3
|
+
phoneE164: /^\+[1-9]\d{1,14}$/,
|
|
4
|
+
urlHttp: /^https?:\/\/.+/i,
|
|
5
|
+
hexColor: /^#(?:[0-9a-fA-F]{3}){1,2}$/,
|
|
6
|
+
username: /^[a-zA-Z0-9_]{3,30}$/
|
|
7
|
+
};
|
|
8
|
+
export function testPattern(input, pattern) {
|
|
9
|
+
if (!(pattern instanceof RegExp)) {
|
|
10
|
+
throw new TypeError("Expected pattern to be a RegExp instance.");
|
|
11
|
+
}
|
|
12
|
+
return pattern.test(input);
|
|
13
|
+
}
|
|
14
|
+
export function validateWithPattern(input, pattern, options) {
|
|
15
|
+
const normalized = options?.trim ? input.trim() : input;
|
|
16
|
+
return testPattern(normalized, pattern);
|
|
17
|
+
}
|
|
18
|
+
export function validateByName(input, patternName) {
|
|
19
|
+
return testPattern(input, REGEX_PATTERNS[patternName]);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,KAAK,EAAE,4BAA4B;IACnC,SAAS,EAAE,mBAAmB;IAC9B,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,sBAAsB;CACxB,CAAC;AAIX,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,OAAe;IACxD,IAAI,CAAC,CAAC,OAAO,YAAY,MAAM,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,OAAe,EAAE,OAA4B;IAC9F,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,OAAO,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,WAAwB;IACpE,OAAO,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jdsalasc/solvejs-regex",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Regex patterns and validation helpers.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"main": "./dist/cjs/index.cjs",
|
|
9
|
+
"module": "./dist/esm/index.js",
|
|
10
|
+
"types": "./dist/esm/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/esm/index.d.ts",
|
|
14
|
+
"import": "./dist/esm/index.js",
|
|
15
|
+
"require": "./dist/cjs/index.cjs"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist",
|
|
20
|
+
"README.md"
|
|
21
|
+
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "npm run clean && npm run build:esm && npm run build:cjs",
|
|
24
|
+
"build:esm": "tsc -p tsconfig.esm.json",
|
|
25
|
+
"build:cjs": "tsc -p tsconfig.cjs.json && node ./scripts/rename-cjs.mjs",
|
|
26
|
+
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
27
|
+
"test": "npm run build && node --test test/*.test.mjs",
|
|
28
|
+
"lint": "node -e \"console.log('No lint configured for @jdsalasc/solvejs-regex')\""
|
|
29
|
+
},
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public"
|
|
32
|
+
}
|
|
33
|
+
}
|