@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
JavaScript
;
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;