Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@nasriya/atomix

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nasriya/atomix - npm Package Compare versions

Comparing version
1.0.16
to
1.0.17
+25
-24
dist/@types/atomix.d.ts

@@ -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.

@@ -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;
{
"name": "@nasriya/atomix",
"version": "1.0.16",
"version": "1.0.17",
"description": "Composable helper functions for building reliable systems",

@@ -5,0 +5,0 @@ "keywords": [