UNPKG

locutus

Version:

Locutus other languages' standard libraries to JavaScript for fun and educational purposes

43 lines (42 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.assert_options = assert_options; const ini_get_ts_1 = require("./ini_get.js"); function assert_options(what, _value) { // discuss at: https://locutus.io/php/assert_options/ // original by: Brett Zamir (https://brett-zamir.me) // example 1: assert_options('ASSERT_CALLBACK') // returns 1: null let iniKey; let defaultVal; switch (what) { case 'ASSERT_ACTIVE': iniKey = 'assert.active'; defaultVal = 1; break; case 'ASSERT_WARNING': { iniKey = 'assert.warning'; defaultVal = 1; let msg = 'We have not yet implemented warnings for us to throw '; msg += 'in JavaScript (assert_options())'; throw new Error(msg); } case 'ASSERT_BAIL': iniKey = 'assert.bail'; defaultVal = 0; break; case 'ASSERT_QUIET_EVAL': iniKey = 'assert.quiet_eval'; defaultVal = 0; break; case 'ASSERT_CALLBACK': iniKey = 'assert.callback'; defaultVal = null; break; default: throw new Error('Improper type for assert_options()'); } // I presume this is to be the most recent value, instead of the default value const iniVal = (0, ini_get_ts_1.ini_get)(iniKey); return iniVal === '' ? defaultVal : iniVal; }