UNPKG

@httpc/kit

Version:

httpc toolbox for building function-based API with minimal code and end-to-end type safety

21 lines (20 loc) 669 B
import { HttpCServerError, useContext } from "@httpc/server"; import { container as globalContainer } from "tsyringe"; import { RESOLVE_MANY } from "./keys"; export function useContainer(scope) { if (scope === "global") { return globalContainer; } const { container } = useContext(); if (!container) { throw new HttpCServerError("missingContextData", "missing container"); } return container; } export function useInjected(...tokens) { const container = useContainer(); const instances = RESOLVE_MANY(container, ...tokens); return tokens.length === 1 ? instances[0] : instances; }