@nasriya/atomix
Advanced tools
+25
-24
@@ -12,16 +12,16 @@ declare class Atomix { | ||
| readonly number: (value: unknown) => value is number; | ||
| readonly negativeNumber: (value: unknown) => value is number; | ||
| readonly positiveNumber: (value: unknown) => value is number; | ||
| readonly integer: (value: unknown) => value is number; | ||
| readonly float: (value: unknown) => value is number; | ||
| readonly finite: (value: unknown) => value is number; | ||
| readonly negativeNumber: (value: unknown) => boolean; | ||
| readonly positiveNumber: (value: unknown) => boolean; | ||
| readonly integer: (value: unknown) => boolean; | ||
| readonly float: (value: unknown) => boolean; | ||
| readonly finite: (value: unknown) => boolean; | ||
| readonly NaN: (value: unknown) => value is typeof NaN; | ||
| readonly string: (value: unknown) => value is string; | ||
| readonly blankString: (value: unknown) => value is string; | ||
| readonly emptyString: (value: unknown) => value is string; | ||
| readonly notEmptyString: (value: unknown) => value is string; | ||
| readonly validString: (value: unknown) => value is string; | ||
| readonly alphaString: (value: unknown) => value is string; | ||
| readonly alphaNumericString: (value: unknown) => value is string; | ||
| readonly uuid: (value: unknown, version?: "v1" | "v4" | "v5") => value is string; | ||
| readonly blankString: (value: unknown) => boolean; | ||
| readonly emptyString: (value: unknown) => boolean; | ||
| readonly notEmptyString: (value: unknown) => boolean; | ||
| readonly validString: (value: unknown) => boolean; | ||
| readonly alphaString: (value: unknown) => boolean; | ||
| readonly alphaNumericString: (value: unknown) => boolean; | ||
| readonly uuid: (value: unknown, version?: "v1" | "v4" | "v5") => boolean; | ||
| readonly globLike: (pattern: string) => boolean; | ||
@@ -47,9 +47,9 @@ readonly object: (value: unknown) => value is object; | ||
| isString(value: unknown): value is string; | ||
| isBlank(value: unknown): value is string; | ||
| isEmpty(value: unknown): value is string; | ||
| isNotEmpty(value: unknown): value is string; | ||
| isValidString(value: unknown): value is string; | ||
| isAlpha(value: unknown): value is string; | ||
| isAlphaNumeric(value: unknown): value is string; | ||
| isUUID(value: unknown, version?: "v1" | "v4" | "v5"): value is string; | ||
| isBlank(value: unknown): boolean; | ||
| isEmpty(value: unknown): boolean; | ||
| isNotEmpty(value: unknown): boolean; | ||
| isValidString(value: unknown): boolean; | ||
| isAlpha(value: unknown): boolean; | ||
| isAlphaNumeric(value: unknown): boolean; | ||
| isUUID(value: unknown, version?: "v1" | "v4" | "v5"): boolean; | ||
| }; | ||
@@ -75,8 +75,8 @@ toCamelCase(str: string): string; | ||
| isNumber(value: unknown): value is number; | ||
| isNegative(value: unknown): value is number; | ||
| isPositive(value: unknown): value is number; | ||
| isNegative(value: unknown): boolean; | ||
| isPositive(value: unknown): boolean; | ||
| isNaN(value: unknown): value is typeof NaN; | ||
| isInteger(value: unknown): value is number; | ||
| isFinite(value: unknown): value is number; | ||
| isFloat(value: unknown): value is number; | ||
| isInteger(value: unknown): boolean; | ||
| isFinite(value: unknown): boolean; | ||
| isFloat(value: unknown): boolean; | ||
| }; | ||
@@ -164,2 +164,3 @@ }; | ||
| relativeToCwd(path_: string): string; | ||
| isLikelyPath(str: string): boolean; | ||
| }; | ||
@@ -166,0 +167,0 @@ /** |
@@ -17,3 +17,3 @@ declare class NumbersGuard { | ||
| */ | ||
| isNegative(value: unknown): value is number; | ||
| isNegative(value: unknown): boolean; | ||
| /** | ||
@@ -26,3 +26,3 @@ * Checks if the provided value is a positive number. | ||
| */ | ||
| isPositive(value: unknown): value is number; | ||
| isPositive(value: unknown): boolean; | ||
| /** | ||
@@ -43,3 +43,3 @@ * Checks if the provided value is `NaN` (Not-a-Number). | ||
| */ | ||
| isInteger(value: unknown): value is number; | ||
| isInteger(value: unknown): boolean; | ||
| /** | ||
@@ -52,3 +52,3 @@ * Checks if the provided value is a finite number. | ||
| */ | ||
| isFinite(value: unknown): value is number; | ||
| isFinite(value: unknown): boolean; | ||
| /** | ||
@@ -61,5 +61,5 @@ * Checks if the provided value is a floating point number. | ||
| */ | ||
| isFloat(value: unknown): value is number; | ||
| isFloat(value: unknown): boolean; | ||
| } | ||
| declare const numbersGuard: NumbersGuard; | ||
| export default numbersGuard; |
@@ -8,8 +8,8 @@ declare class NumbersUtils { | ||
| isNumber(value: unknown): value is number; | ||
| isNegative(value: unknown): value is number; | ||
| isPositive(value: unknown): value is number; | ||
| isNegative(value: unknown): boolean; | ||
| isPositive(value: unknown): boolean; | ||
| isNaN(value: unknown): value is typeof NaN; | ||
| isInteger(value: unknown): value is number; | ||
| isFinite(value: unknown): value is number; | ||
| isFloat(value: unknown): value is number; | ||
| isInteger(value: unknown): boolean; | ||
| isFinite(value: unknown): boolean; | ||
| isFloat(value: unknown): boolean; | ||
| }; | ||
@@ -16,0 +16,0 @@ } |
@@ -17,3 +17,3 @@ declare class StringGuard { | ||
| */ | ||
| isBlank(value: unknown): value is string; | ||
| isBlank(value: unknown): boolean; | ||
| /** | ||
@@ -26,3 +26,3 @@ * Checks if the provided string value is empty. | ||
| */ | ||
| isEmpty(value: unknown): value is string; | ||
| isEmpty(value: unknown): boolean; | ||
| /** | ||
@@ -35,3 +35,3 @@ * Checks if the provided string value is not empty. | ||
| */ | ||
| isNotEmpty(value: unknown): value is string; | ||
| isNotEmpty(value: unknown): boolean; | ||
| /** | ||
@@ -47,3 +47,3 @@ * Checks if the provided value is a valid string. | ||
| */ | ||
| isValidString(value: unknown): value is string; | ||
| isValidString(value: unknown): boolean; | ||
| /** | ||
@@ -56,3 +56,3 @@ * Checks if the provided value is an alphabetic string. | ||
| */ | ||
| isAlpha(value: unknown): value is string; | ||
| isAlpha(value: unknown): boolean; | ||
| /** | ||
@@ -65,3 +65,3 @@ * Checks if the provided value is an alphanumeric string. | ||
| */ | ||
| isAlphaNumeric(value: unknown): value is string; | ||
| isAlphaNumeric(value: unknown): boolean; | ||
| /** | ||
@@ -78,5 +78,5 @@ * Checks if the provided value is a valid UUID string. | ||
| */ | ||
| isUUID(value: unknown, version?: 'v1' | 'v4' | 'v5'): value is string; | ||
| isUUID(value: unknown, version?: 'v1' | 'v4' | 'v5'): boolean; | ||
| } | ||
| declare const stringsGuard: StringGuard; | ||
| export default stringsGuard; |
@@ -8,9 +8,9 @@ declare class StringsUtils { | ||
| isString(value: unknown): value is string; | ||
| isBlank(value: unknown): value is string; | ||
| isEmpty(value: unknown): value is string; | ||
| isNotEmpty(value: unknown): value is string; | ||
| isValidString(value: unknown): value is string; | ||
| isAlpha(value: unknown): value is string; | ||
| isAlphaNumeric(value: unknown): value is string; | ||
| isUUID(value: unknown, version?: "v1" | "v4" | "v5"): value is string; | ||
| isBlank(value: unknown): boolean; | ||
| isEmpty(value: unknown): boolean; | ||
| isNotEmpty(value: unknown): boolean; | ||
| isValidString(value: unknown): boolean; | ||
| isAlpha(value: unknown): boolean; | ||
| isAlphaNumeric(value: unknown): boolean; | ||
| isUUID(value: unknown, version?: "v1" | "v4" | "v5"): boolean; | ||
| }; | ||
@@ -17,0 +17,0 @@ /** |
@@ -82,4 +82,15 @@ declare class PathUtils { | ||
| relativeToCwd(path_: string): string; | ||
| /** | ||
| * Heuristically determines if the given string is likely a file path. | ||
| * | ||
| * @param str - The string to check. | ||
| * @returns True if the string is likely a file path, false otherwise. | ||
| * @since v1.0.17 | ||
| * @example | ||
| * const isLikelyPath = atomix.path.isLikelyPath('./foo/bar.txt'); | ||
| * console.log(isLikelyPath); // true | ||
| */ | ||
| isLikelyPath(str: string): boolean; | ||
| } | ||
| declare const pathUtils: PathUtils; | ||
| export default pathUtils; |
@@ -41,3 +41,3 @@ import { DeepReadonly } from "../../docs/docs"; | ||
| */ | ||
| action: (metadata: DeepReadonly<K>) => T | Promise<T>; | ||
| action: (metadata?: DeepReadonly<K>) => T | Promise<T>; | ||
| /** | ||
@@ -47,3 +47,3 @@ * Optional callback executed when the task's action resolves successfully. | ||
| */ | ||
| onResolve?: (result: T) => any | Promise<any>; | ||
| onResolve?: (result: T, metadata?: DeepReadonly<K>) => any | Promise<any>; | ||
| /** | ||
@@ -50,0 +50,0 @@ * Optional callback executed if the task's action rejects with an error. |
+12
-12
@@ -76,3 +76,3 @@ declare class ValueIs { | ||
| */ | ||
| readonly negativeNumber: (value: unknown) => value is number; | ||
| readonly negativeNumber: (value: unknown) => boolean; | ||
| /** | ||
@@ -85,3 +85,3 @@ * Checks if the provided value is a positive number. | ||
| */ | ||
| readonly positiveNumber: (value: unknown) => value is number; | ||
| readonly positiveNumber: (value: unknown) => boolean; | ||
| /** | ||
@@ -94,3 +94,3 @@ * Checks if the provided value is an integer. | ||
| */ | ||
| readonly integer: (value: unknown) => value is number; | ||
| readonly integer: (value: unknown) => boolean; | ||
| /** | ||
@@ -103,3 +103,3 @@ * Checks if the provided value is a floating point number. | ||
| */ | ||
| readonly float: (value: unknown) => value is number; | ||
| readonly float: (value: unknown) => boolean; | ||
| /** | ||
@@ -112,3 +112,3 @@ * Checks if the provided value is a finite number. | ||
| */ | ||
| readonly finite: (value: unknown) => value is number; | ||
| readonly finite: (value: unknown) => boolean; | ||
| /** | ||
@@ -137,3 +137,3 @@ * Checks if the provided value is `NaN` (Not-a-Number). | ||
| */ | ||
| readonly blankString: (value: unknown) => value is string; | ||
| readonly blankString: (value: unknown) => boolean; | ||
| /** | ||
@@ -146,3 +146,3 @@ * Checks if the provided string value is empty. | ||
| */ | ||
| readonly emptyString: (value: unknown) => value is string; | ||
| readonly emptyString: (value: unknown) => boolean; | ||
| /** | ||
@@ -155,3 +155,3 @@ * Checks if the provided string value is not empty. | ||
| */ | ||
| readonly notEmptyString: (value: unknown) => value is string; | ||
| readonly notEmptyString: (value: unknown) => boolean; | ||
| /** | ||
@@ -167,3 +167,3 @@ * Checks if the provided value is a valid string. | ||
| */ | ||
| readonly validString: (value: unknown) => value is string; | ||
| readonly validString: (value: unknown) => boolean; | ||
| /** | ||
@@ -176,3 +176,3 @@ * Checks if the provided value is an alphabetic string. | ||
| */ | ||
| readonly alphaString: (value: unknown) => value is string; | ||
| readonly alphaString: (value: unknown) => boolean; | ||
| /** | ||
@@ -185,3 +185,3 @@ * Checks if the provided value is an alphanumeric string. | ||
| */ | ||
| readonly alphaNumericString: (value: unknown) => value is string; | ||
| readonly alphaNumericString: (value: unknown) => boolean; | ||
| /** | ||
@@ -198,3 +198,3 @@ * Checks if the provided value is a valid UUID string. | ||
| */ | ||
| readonly uuid: (value: unknown, version?: "v1" | "v4" | "v5") => value is string; | ||
| readonly uuid: (value: unknown, version?: "v1" | "v4" | "v5") => boolean; | ||
| /** | ||
@@ -201,0 +201,0 @@ * Checks if the given pattern is a glob-like pattern, meaning it contains at least one of the |
@@ -149,3 +149,3 @@ "use strict"; | ||
| isValidPort(port) { | ||
| return numbers_guard_1.default.isInteger(port) && port >= 0 && port <= 65535; | ||
| return numbers_guard_1.default.isNumber(port) && numbers_guard_1.default.isInteger(port) && port >= 0 && port <= 65535; | ||
| } | ||
@@ -152,0 +152,0 @@ } |
@@ -9,2 +9,3 @@ "use strict"; | ||
| const mimes_1 = __importDefault(require("../http/mimes/mimes")); | ||
| const valueIs_1 = __importDefault(require("../../valueIs")); | ||
| class PathUtils { | ||
@@ -140,4 +141,43 @@ /** | ||
| } | ||
| /** | ||
| * Heuristically determines if the given string is likely a file path. | ||
| * | ||
| * @param str - The string to check. | ||
| * @returns True if the string is likely a file path, false otherwise. | ||
| * @since v1.0.17 | ||
| * @example | ||
| * const isLikelyPath = atomix.path.isLikelyPath('./foo/bar.txt'); | ||
| * console.log(isLikelyPath); // true | ||
| */ | ||
| isLikelyPath(str) { | ||
| // Must not be empty or only whitespace | ||
| if (!valueIs_1.default.string(str) || valueIs_1.default.emptyString(str)) { | ||
| return false; | ||
| } | ||
| // Skipping URI schemes | ||
| if (/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(str)) { | ||
| return false; | ||
| } | ||
| // Absolute path check (e.g., /foo/bar or C:\foo\bar) | ||
| if (path_1.default.isAbsolute(str)) { | ||
| return true; | ||
| } | ||
| // Has OS path separators (e.g., / or \) | ||
| if (str.includes(path_1.default.sep)) | ||
| return true; | ||
| // Has typical file extensions | ||
| if (mimes_1.default.extensions.some(ext => str.endsWith(ext))) { | ||
| return true; | ||
| } | ||
| // Dot-prefixed (relative paths) like ./ or ../ | ||
| if (str.startsWith(`.${path_1.default.sep}`) || str.startsWith(`..${path_1.default.sep}`)) { | ||
| return true; | ||
| } | ||
| if (runtime_1.default.platform.isWindows() && /^[a-zA-Z]:\\/.test(str)) { | ||
| return true; | ||
| } | ||
| return false; | ||
| } | ||
| } | ||
| const pathUtils = new PathUtils; | ||
| exports.default = pathUtils; |
@@ -144,3 +144,3 @@ import net from 'net'; | ||
| isValidPort(port) { | ||
| return numbersGuard.isInteger(port) && port >= 0 && port <= 65535; | ||
| return numbersGuard.isNumber(port) && numbersGuard.isInteger(port) && port >= 0 && port <= 65535; | ||
| } | ||
@@ -147,0 +147,0 @@ } |
| import path from 'path'; | ||
| import runtime from '../runtime/runtime.js'; | ||
| import mimes from '../http/mimes/mimes.js'; | ||
| import valueIs from '../../valueIs.js'; | ||
| class PathUtils { | ||
@@ -134,4 +135,43 @@ /** | ||
| } | ||
| /** | ||
| * Heuristically determines if the given string is likely a file path. | ||
| * | ||
| * @param str - The string to check. | ||
| * @returns True if the string is likely a file path, false otherwise. | ||
| * @since v1.0.17 | ||
| * @example | ||
| * const isLikelyPath = atomix.path.isLikelyPath('./foo/bar.txt'); | ||
| * console.log(isLikelyPath); // true | ||
| */ | ||
| isLikelyPath(str) { | ||
| // Must not be empty or only whitespace | ||
| if (!valueIs.string(str) || valueIs.emptyString(str)) { | ||
| return false; | ||
| } | ||
| // Skipping URI schemes | ||
| if (/^[a-zA-Z][a-zA-Z\d+\-.]*:\/\//.test(str)) { | ||
| return false; | ||
| } | ||
| // Absolute path check (e.g., /foo/bar or C:\foo\bar) | ||
| if (path.isAbsolute(str)) { | ||
| return true; | ||
| } | ||
| // Has OS path separators (e.g., / or \) | ||
| if (str.includes(path.sep)) | ||
| return true; | ||
| // Has typical file extensions | ||
| if (mimes.extensions.some(ext => str.endsWith(ext))) { | ||
| return true; | ||
| } | ||
| // Dot-prefixed (relative paths) like ./ or ../ | ||
| if (str.startsWith(`.${path.sep}`) || str.startsWith(`..${path.sep}`)) { | ||
| return true; | ||
| } | ||
| if (runtime.platform.isWindows() && /^[a-zA-Z]:\\/.test(str)) { | ||
| return true; | ||
| } | ||
| return false; | ||
| } | ||
| } | ||
| const pathUtils = new PathUtils; | ||
| export default pathUtils; |
+1
-1
| { | ||
| "name": "@nasriya/atomix", | ||
| "version": "1.0.16", | ||
| "version": "1.0.17", | ||
| "description": "Composable helper functions for building reliable systems", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Unidentified License
LicenseSomething that seems like a license was found, but its contents could not be matched with a known license.
Found 2 instances in 1 package
Unidentified License
LicenseSomething that seems like a license was found, but its contents could not be matched with a known license.
Found 2 instances in 1 package
626310
0.47%16214
0.57%