UNPKG

alepha

Version:

Easy-to-use modern TypeScript framework for building many kind of applications.

35 lines (29 loc) 894 B
import { Alepha } from "./Alepha.ts"; import type { RunOptions } from "./interfaces/Run.ts"; import type { Service } from "./interfaces/Service.ts"; export * from "./index.shared.ts"; if (!Promise.withResolvers) { Promise.withResolvers = <T>() => { let resolve: (value: T | PromiseLike<T>) => void; let reject: (reason?: any) => void; const promise = new Promise<T>((res, rej) => { resolve = res; reject = rej; }); return { promise, resolve: resolve!, reject: reject! }; }; } export const run = ( entry: Alepha | Service | Array<Service>, opts?: RunOptions, ): Alepha => { const alepha = entry instanceof Alepha ? entry : Alepha.create({ env: { ...opts?.env } }); if (!(entry instanceof Alepha)) { const entries = Array.isArray(entry) ? entry : [entry]; for (const e of entries) { alepha.with(e); } } return alepha; };