npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@crossfox/utils

v1.1.5

Published

The package is a collection of useful utilities and functions designed to streamline and enhance the development process of web applications and other software projects. This package provides developers with a set of tools for more efficient work, reducin

Downloads

10

Readme

Utils by CrossFox

npm version Blazing Fast gzip size NPM downloads license

The @crossfox/utils package is a collection of useful utilities and functions designed to streamline and enhance the development process of web applications and other software projects. This package provides developers with a set of tools for more efficient work, reducing code duplication, and improving overall productivity.

  • 🌟 Easy to use
  • ⚡ High performance
  • 🔗 No dependency

Install

npm install @crossfox/utils
yarn add @crossfox/utils

Functions and Utilities

Object

  • isEmpty(value: any): boolean

    The isEmpty function checks if a value is empty (null, undefined, empty string, or empty array).

    • value: The value to check.

    Returns: true if the value is empty, false otherwise.

  • crop(obj: Record<string, any>, keys: string[], isDelete = false): Record<string, any>

    The crop function creates a new object containing the specified keys from the source object, with an option to delete the keys from the source object.

    • obj: The source object.
    • keys: An array of keys to extract.
    • isDelete (default false): An option to delete the keys from the source object.

    Returns a new object with the selected keys.

  • setObject(obj: Record<string, any>): (...args: any[]) => Record<string, any>

    The setObject function dynamically sets keys and values in an object using a variadic function.

    • obj: The source object.

    Returns a function that accepts key-value pairs to add to the object and returns the updated object.

  • takeItem(arr: Record<string, any>, column: string, def = null): any

    The takeItem function is used to retrieve a value from an object and optionally remove it.

    • arr: The source object.
    • column: The key to retrieve the value.
    • def (default null): The default value to return if the key is missing.

    Returns the extracted value or the default value if the key is missing.

Types

  • isString(value: any): boolean

    The isString function checks if a value is a string.

    • value: The value to check.

    Returns true if the value is a string, false otherwise.

  • isNull(value: any): boolean

    The isNull function checks if a value is null.

    • value: The value to check.

    Returns true if the value is null, false otherwise.

  • isBoolean(value: any): boolean

    The isBoolean function checks if a value is a boolean (true or false).

    • value: The value to check.

    Returns true if the value is a boolean, false otherwise.

  • checkType(prefix: string, name: string, value: any, type: (() => void) | string): void

    The checkType function validates the type of a value and compares it to the specified type or a custom validation function.

    • prefix: The prefix for error messages.
    • name: The name of the value.
    • value: The value to check.
    • type: The type to compare (string or function).

    Throws a TypeError exception if the type does not match the expected type.

Other

  • range(min: number, max: number, step: number | null): number[]

    The range function generates an array of numbers within a specified range.

    • min: The lower limit of the range.
    • max: The upper limit of the range.
    • step (default null): The step for generating numbers. If not specified, a step of 1 is used.

    Returns an array of numbers within the specified range.

  • parseJSON(str: string, def = {}): Record<string, any>

    The parseJSON function parses a JSON string and returns a JavaScript object with error handling.

    • str: The JSON string to parse.
    • def (default {}): The default value to return in case of parsing errors.

    Returns the parsed object or the default value in case of errors.

  • maskValue(v: string, mask: string, clearExp = /\s+|[^0-9]+/g): string

    The maskValue function applies a mask to a string value, formatting it according to the provided mask.

    • value: The string value.
    • mask: The mask for formatting.
    • clearExp (default /\s+|[^0-9]+/g): A regular expression for clearing the string of unnecessary characters.

    Returns the formatted string.

  • classNames(...args: any[]): string (Added in v1.1)

    The classNames function takes a variable number of arguments and combines them into a single string, separating them with spaces. It filters the provided arguments, excluding any falsy values (false, null, undefined, '').

    • ...args: Variable-length arguments representing classes.

    This function is useful for dynamically generating a string of classes in various scenarios.

    Returns a string containing the combined classes.

  • **isSimpleObject **(...args: any[]): string (Added in v1.1)

    The isSimpleObject function is a utility that checks whether the given object is a plain, simple object.

    Returns true if the value is a boolean, false otherwise.

Author

Example

import {
	takeItem,
	crop,
	setObject,
	isEmpty,
	isString,
	isNull,
	isBoolean,
	checkType,
	range,
	parseJSON,
	maskValue,
	classNames,
	isSimpleObject
} from '@crossfox/utils';

// Example of using the takeItem function
const data = { name: 'John', age: 30 };
const name = takeItem(data, 'name');

// Example of using the crop function
const sourceObj = { name: 'Alice', age: 25, country: 'USA' };
const keysToCrop = ['name', 'age'];
const croppedObj = crop(sourceObj, keysToCrop, true);

// Example of using the setObject function
const obj = { firstName: 'Jane' };
const updatedObj = setObject(obj)('lastName', 'Doe', age, 21);

// Example of using the isEmpty function
const emptyValue = null;
const isValueEmpty = isEmpty(emptyValue);

// Example of using the isString function
const stringValue = 'Hello';
const isStringValue = isString(stringValue);

// Example of using the isNull function
const nullValue = null;
const isNullValue = isNull(nullValue);

// Example of using the isBoolean function
const booleanValue = true;
const isBooleanValue = isBoolean(booleanValue);

// Example of using the checkType function
checkType('validate', 'stringValue', stringValue, 'string');
// Uncomment the following line to see a TypeError exception, as the type 'string' does not match the nullValue variable
// checkType('validate', 'nullValue', nullValue, 'string');

// Example of using the range function
const numbersInRange = range(1, 5); // [1, 2, 3, 4, 5]

// Example of using the parseJSON function
const jsonString = '{"name": "Karina", "age": 26}';
const parsedObject = parseJSON(jsonString); 

// Example of using the maskValue function
const maskedString = maskValue('12345678', 'XXX-XXX-XXX'); // 123-456-789

// Example of using the classNames function
const maskedString = classNames(props.className, false && 'active', 'container'); // 'classWithProps container'

// Example of using the isSimpleObject
if(isSimpleObject({name: 'Alex'})){
	console.log("This is a plain object.");
}