UNPKG

@foxpage/foxpage-component-shared

Version:
44 lines (43 loc) 1.36 kB
Object.defineProperty(exports, "__esModule", { value: true }); exports.setProcessEnv = exports.wrapPromise = exports.promiseTimeout = exports.caseStyle = exports.getKey = void 0; const getKey = (obj, key) => { return key.split('.').reduce((prev, subKey) => { return prev && prev[subKey]; }, obj); }; exports.getKey = getKey; function caseStyle(input) { const firstLetter = input[0]; const formated = input.substr(1).replace(/[-_][a-zA-Z]/g, match => match[1].toUpperCase()); return firstLetter.toUpperCase().concat(formated); } exports.caseStyle = caseStyle; function promiseTimeout(promise, timeout) { if (!timeout) { return promise; } return Promise.race([ promise, new Promise((_resolve, reject) => setTimeout(() => reject('timeout.'), timeout)), ]); } exports.promiseTimeout = promiseTimeout; function wrapPromise(val) { return val instanceof Promise ? val : Promise.resolve(val); } exports.wrapPromise = wrapPromise; /** * can not set process.env value to `undefined`, it will stringify to "undefined" * if val not a valid string, delete this env * @param name * @param val */ const setProcessEnv = (name, val) => { if (typeof val === 'string') { process.env[name] = val; } else { delete process.env[name]; } }; exports.setProcessEnv = setProcessEnv;