typebuddy
v0.2.7
Published
Your new best friend for simple typescript guards every project needs.
Readme
ts-typehelper
TypeBuddy
TypeBuddy is a utility library for type checking and type parsing in TypeScript. It provides a set of functions to determine the type of a value, parse values into specific types, and perform various type-related operations.
Features
- Type checking for common JavaScript types (e.g.,
string,number,boolean,object,array, etc.) - Parsing values into specific types (e.g.,
number,integer,float,string,array, etc.) - Utility functions for working with arrays, objects, and other data structures
- Regular expressions for validating UUID and ULID strings
Installation
You can install TypeBuddy using npm:
npm install typebuddyOr using jsr:
deno add jsr:@guard/typebuddynpx jsr add @guard/typebuddyUsage
Here's an example of how to use TypeBuddy in your TypeScript project:
import { isString, parseNumber, isUuidString, isEmptyObject } from "typebuddy";
const value: unknown = "123";
if (isString(value)) {
console.log(`The value is a string: ${value}`);
}
const numberValue = parseNumber(value);
console.log(`Parsed number: ${numberValue}`);
const uuid = "550e8400-e29b-41d4-a716-446655440000";
if (isUuidString(uuid)) {
console.log(`The value is a valid UUID: ${uuid}`);
}
const obj = {};
if (isEmptyObject(obj)) {
console.log("The object is empty");
}API
Type Checking Functions
isObject(value: unknown): value is objectisBoolean(value: unknown): value is booleanisNull(value: unknown): value is nullisUndefined(value: unknown): value is undefinedisFunction(value: unknown): value is FunctionisPromise(value: unknown): value is Promise<unknown>isError(value: unknown): value is ErrorisDate(value: unknown): value is DateisRegExp(value: unknown): value is RegExpisSymbol(value: unknown): value is symbolisEmptyObject(value: unknown): value is Record<string, unknown>isInstanceOf<T>(value: unknown, constructor: { new (): T }): value is TisArray<T>(value: unknown): value is T[]isEmptyArray<T>(value: unknown): value is T[]isNumber(value: unknown): value is numberisInteger(value: unknown): value is numberisFloat(value: unknown): value is numberisString(value: unknown): value is stringisUuidString(input: unknown): input is stringisUlidString(input: unknown): input is string
Parsing Functions
parseNumber(value: unknown): numberparseInteger(value: unknown): numberparseFloat(value: unknown): numberparseString(value: unknown): stringparseArray<T>(value: unknown): T[]parseDomainName(url: string): string
Utility Functions
getType<T>(value: T): TgetKeys<T extends Record<string, unknown>>(object: T): Array<keyof T>arrayContainsCommonValue(array1: string[], array2: string[]): booleanisEmptyString(value: unknown): booleanisNullOrUndefined(value: unknown): booleanhasEmptyValues(value: unknown): boolean
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License.
