In 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.
yarn add osp-toolkit
Some shorthand costants for React Native.
import { isIOS, isAndroid, ANDROID_VERSION, IOS_VERSION } from "osp-toolkit";
Although hooks are not my favorite, sometimes there are useful patterns.
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.
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
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
marker(`1`) // Outputs π·π·π·π·π·π·π·π·π·π·π·π· MARK ${i} π·π·π·π·π·π·π·π·π·π·π·π·π·π· to console
const myObj = {
...
// some complex obj
}
debug(myObj) // Will pretty print an object to the RN console