UNPKG

@tinymce/beehive-flow

Version:

A CLI tool implementing the beehive flow git branching process

26 lines (20 loc) 667 B
import * as O from 'fp-ts/Option'; type Option<A> = O.Option<A>; export const hasKey = <T>(o: T, k: keyof T): boolean => Object.prototype.hasOwnProperty.call(o, k); export const lookup = <K extends keyof T, T>(o: T, k: K): Option<T[K]> => hasKey(o, k) ? O.some(o[k]) : O.none; export const map = <A, B>(o: Record<string, A>, f: (a: A) => B): Record<string, B> => { const r: Record<string, B> = {}; for (const k of Object.keys(o)) { r[k] = f(o[k]); } return r; }; export const fromPairs = <A> (pairs: Array<[string, A]>): Record<string, A> => { const r: Record<string, A> = {}; pairs.forEach(([ k, v ]) => { r[k] = v; }); return r; };