@guzzj/dev-toolkit
v1.0.6
Published
A simple set of utilities for ts development
Downloads
391
Readme
Table of Contents
Utitlity methods
Methods to help developers with common tasks.
assertEnvVariables
It make sure that the environment variables are set and returns an object with the environment variables if the environment variables are not set it throws an error. You can pass an array of environment variable names or an array of arrays of environment variable names
Parameters
keys
T An array of environment variable names, like that the error will be thrown if none of the environment variables are set
Examples
// Will throw an error if PORT or DATABASE_URL are not set
const { PORT, DATABASE_URL } = assertEnvVariables(['PORT', 'DATABASE_URL'])
// Will throw an error if PORT and PORT_NUMBER, or DATABASE_URL are not set
const { PORT, PORT_NUMBER } = assertEnvVariables([['PORT', 'PORT_NUMBER'], 'DATABASE_URL'])
Returns EnvVariables<T> An object with the environment variables
bindFunction
Bind a function to a class. You can use it to create reusable functions that depend on the class context and create unit tests for these functions separately from the class.
Parameters
baseClass
Class The class that will be binded to the functioncb
Function The function that will be binded to the class
Examples
class Person {
name: string
age: number
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
greet = bindFunction(this, myFunction)
}
greet(this: Person, message: string) {
return message.replace(/{name}/g, this.name).replace(/{age}/g, this.age.toString())
}
const person = new Person('Alice', 42)
person.greet('Hello, my name is {name} and I\'m {age} years old!') // Hello, my name is Alice and I'm 42 years old!
Returns Function The binded function
encode
Encode data to a string
Parameters
data
T The data to be encoded
Returns string The stringyfied data
decode
Decode a string to data
Parameters
string
string The string to be decoded
Returns T The decoded data
Utility types
Types to help developers with common tasks.
Prettify
Make better intelicense for custom types, unions, and intersections
Type: any
DeepPartial
Make all properties of an object optional
Type: any