@thestartupfactory/open-utils
TypeScript icon, indicating that this package has built-in type declarations

1.0.10 • Public • Published

open-utils

This library contains a collection of reusable utility functions and classes for email validation, equality operations, error handling, file manipulation, and more. This package is designed to simplify common tasks across your projects.

Features

  • Email validation: Validate email addresses using a regex-based refinement.
  • Equality operations: Perform deep equality checks with custom equality logic.
  • Error handling: Helper functions to simplify error handling in your code.
  • File manipulation: Utilities to download files from the frontend easily.
  • Array and object utilities: Helpers for ensuring values are defined and filtering out undefined values.

And more...

Installation

npm install @thestartupfactory/open-utils

Usage

Email Validation

You can validate an email address using the provided validateEmail function or by using the more advanced emailRefinement:

import { validateEmail } from '@thestartupfactory/open-utils';

const email = 'example@example.com';
const isValid = validateEmail(email);
console.log(isValid); // true or false

Equality Operations with EqSet

The EqSet class allows you to create a set with custom equality logic, which can be useful when working with complex objects:

import { EqSet } from '@thestartupfactory/open-utils';
import { isEqual } from 'lodash';

const customSet = new EqSet([1, 2, 3], isEqual);
customSet.add(4);
console.log(customSet.toArray()); // [1, 2, 3, 4]

Error Handling

Use MessageFromErrorOrDefault to safely extract an error message or use a default message if no error is provided:

import { MessageFromErrorOrDefault } from '@thestartupfactory/open-utils';

try {
  throw new Error('Something went wrong!');
} catch (e) {
  const message = MessageFromErrorOrDefault(e, 'Default error message');
  console.log(message); // "Something went wrong!"
}

If you need to fail with an error, you can use fail or fail_with:

import { fail, fail_with } from '@thestartupfactory/open-utils';

// Throws an error with a custom message
const x = someValue ?? fail('Value is not defined!');

// Throws a specific error type
fail_with(new Error('Custom error'));

File Manipulation

The downloadFile utility helps download files in the browser by generating a download link dynamically:

import { downloadFile } from 'your-package-name';

downloadFile({
  content: 'Hello, world!',
  fileName: 'hello.txt',
  blobType: 'text/plain',
});

Additional Utilities

This package includes many more utilities to help with common programming tasks. For a full list of available utilities, refer to the source code.

Readme

Keywords

none

Package Sidebar

Install

npm i @thestartupfactory/open-utils

Weekly Downloads

464

Version

1.0.10

License

MIT

Unpacked Size

25.7 kB

Total Files

50

Last publish

Collaborators

  • ericc_thestartupfactory.tech