MCPcopy Create free account
hub / github.com/ICBNetwork/web3-Wallet / getEnvironmentOption

Function getEnvironmentOption

ses.cjs:373–413  ·  view source on GitHub ↗
(
    optionName,
    defaultSetting,
    optOtherValues=  undefined)

Source from the content-addressed store, hash-verified

371 * @returns {string}
372 */
373 const getEnvironmentOption= (
374 optionName,
375 defaultSetting,
376 optOtherValues= undefined)=>
377 {
378 typeof optionName=== 'string'||
379 Fail `Environment option name ${q(optionName)} must be a string.`;
380 typeof defaultSetting=== 'string'||
381 Fail `Environment option default setting ${q(
382 defaultSetting)
383 } must be a string.`;
384
385 /** @type {string} */
386 let setting= defaultSetting;
387 const globalProcess= aGlobal.process|| undefined;
388 const globalEnv=
389 typeof globalProcess=== 'object'&& globalProcess.env|| undefined;
390 if( typeof globalEnv=== 'object') {
391 if( optionName in globalEnv) {
392 if( !dropNames) {
393 arrayPush(capturedEnvironmentOptionNames, optionName);
394 }
395 const optionValue= globalEnv[optionName];
396 // eslint-disable-next-line @endo/no-polymorphic-call
397 typeof optionValue=== 'string'||
398 Fail `Environment option named ${q(
399 optionName)
400 }, if present, must have a corresponding string value, got ${q(
401 optionValue)
402 }`;
403 setting= optionValue;
404 }
405 }
406 optOtherValues=== undefined||
407 setting=== defaultSetting||
408 arrayIncludes(optOtherValues, setting)||
409 Fail `Unrecognized ${q(optionName)} value ${q(
410 setting)
411 }. Expected one of ${q([defaultSetting,...optOtherValues]) }`;
412 return setting;
413 };
414 freeze(getEnvironmentOption);
415
416 /**

Callers 1

Calls 1

FailFunction · 0.85

Tested by

no test coverage detected