UNPKG

simple-in-memory-queue

Version:

A simple in-memory queue, for nodejs and the browser, with consumers for common usecases.

41 lines 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.serviceClientStage = exports.stage = exports.Stage = void 0; var Stage; (function (Stage) { Stage["PRODUCTION"] = "prod"; Stage["DEVELOPMENT"] = "dev"; Stage["TEST"] = "test"; })(Stage = exports.Stage || (exports.Stage = {})); /** * this allows us to infer what the stage should be in environments that do not have STAGE specified * - e.g., when running locally * - e.g., when running tests */ const inferStageFromNodeEnv = () => { const nodeEnv = process.env.NODE_ENV; // default to test if not defined if (!nodeEnv) throw new Error('process.env.NODE_ENV must be defined'); if (nodeEnv === 'production') return Stage.PRODUCTION; if (nodeEnv === 'development') return Stage.DEVELOPMENT; if (nodeEnv === 'test') return Stage.TEST; throw new Error(`unexpected nodeEnv '${nodeEnv}'`); }; /** * a method that exposes relevant environmental variables in a standard way */ const getEnvironment = () => { var _a; const stage = (_a = process.env.STAGE) !== null && _a !== void 0 ? _a : inferStageFromNodeEnv(); // figure it out from NODE_ENV if not explicitly defined if (!stage) throw new Error('process.env.STAGE must be defined'); return { stage }; }; // export stage immediately, since it does not change exports.stage = getEnvironment().stage; // export service client stage exports.serviceClientStage = exports.stage === Stage.PRODUCTION ? Stage.PRODUCTION : Stage.DEVELOPMENT; // i.e., if its prod, hit prod. otherwise, dev //# sourceMappingURL=environment.js.map