Toolkit useful functions
npm install @op-engineering/toolkitIn every project I work I end up needing the same bunch of functions. This is just a repo which contains them so I can easily install them and import them.
``bash`
yarn add osp-toolkit
Some shorthand costants for React Native.
`ts`
import { isIOS, isAndroid, ANDROID_VERSION, IOS_VERSION } from "osp-toolkit";
Although hooks are not my favorite, sometimes there are useful patterns.
`tsx
import { useBoolean } from "osp-toolkit";
function myComponent() {
const [isFoo, fooOn, fooOff] = useBoolean();
}
`
Invariant checks allow to assure the state of your app, by default they crash on releases so you better have error tracking via Sentry or similar set up.
`ts
import { invariant, nullthrows } from "osp-toolkit";
invariant(myVar === "foo", "myVar does not match, this crashes");
nullthrows(myVar, "myVar is null, this is crashes");
`
A simple sleep function for async contexts
`ts
import { sleep } from "osp-toolkit";
async function foo() {
await sleep(500);
}
`
I love logging to console, so there are a couple utilities inserted on the global namespace that make your logs a little easier to visually parse
`ts1
marker() // Outputs 🔷🔷🔷🔷🔷🔷🔷🔷🔷🔷🔷🔷 MARK ${i} 🔷🔷🔷🔷🔷🔷🔷🔷🔷🔷🔷🔷🔷🔷 to console
const myObj = {
...
// some complex obj
}
debug(myObj) // Will pretty print an object to the RN console
``