UNPKG

piral-base

Version:

The base library for creating a Piral instance.

18 lines (15 loc) 555 B
import type { PiletMetadata, EventEmitter, PiletApi, PiletApiExtender } from './types'; export function initializeApi(target: PiletMetadata, events: EventEmitter): PiletApi { return { on: events.on, once: events.once, off: events.off, emit: events.emit, meta: Object.assign({}, target), }; } export function mergeApis(api: PiletApi, extenders: Array<PiletApiExtender<Partial<PiletApi>>>, target: PiletMetadata) { const frags = extenders.map((extender) => extender(api, target)); Object.assign(api, ...frags); return api; }