UNPKG

@httpc/kit

Version:

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

26 lines (25 loc) 861 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useInjected = exports.useContainer = void 0; const server_1 = require("@httpc/server"); const tsyringe_1 = require("tsyringe"); const keys_1 = require("./keys"); function useContainer(scope) { if (scope === "global") { return tsyringe_1.container; } const { container } = (0, server_1.useContext)(); if (!container) { throw new server_1.HttpCServerError("missingContextData", "missing container"); } return container; } exports.useContainer = useContainer; function useInjected(...tokens) { const container = useContainer(); const instances = (0, keys_1.RESOLVE_MANY)(container, ...tokens); return tokens.length === 1 ? instances[0] : instances; } exports.useInjected = useInjected;