nodejs-cryptomus
Version:
A comprehensive Node.js client for the Cryptomus API
23 lines (20 loc) • 642 B
text/typescript
/**
* Check if a value is defined and not null
*/
export function isDefined<T>(value: T | undefined | null): value is T {
return value !== undefined && value !== null;
}
/**
* Filter out undefined values from an object
*/
export function filterUndefined<T extends Record<string, any>>(obj: T): Partial<T> {
return Object.entries(obj)
.filter(([_, value]) => isDefined(value))
.reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {});
}
/**
* Convert a value to string if it's a number
*/
export function ensureString(value: string | number): string {
return typeof value === 'number' ? value.toString() : value;
}