function createLexicalEnvironment({ inputEnvironment: { extra, preset }, policy, getCurrentNode }) {
    let envInput;
    switch (preset) {
        case exports.EnvironmentPresetKind.NONE:
            envInput = mergeDescriptors(extra);
            break;
        case exports.EnvironmentPresetKind.ECMA:
            envInput = mergeDescriptors(ECMA_GLOBALS(), extra);
            break;
        case exports.EnvironmentPresetKind.NODE:
            envInput = mergeDescriptors(NODE_GLOBALS(), extra);
            break;
        case exports.EnvironmentPresetKind.BROWSER:
            envInput = mergeDescriptors(BROWSER_GLOBALS(), extra);
            break;
        default:
            envInput = {};
            break;
    }
    return {
        preset,
        parentEnv: undefined,
        env: createSanitizedEnvironment({
            policy,
            env: envInput,
            getCurrentNode
        })
    };
}
/**
 * Creates a Lexical Environment
 *
 * @param options
 * @returns
 */
Creates a Lexical Environment
@param options
@returns
Creates a Lexical Environment @param options @returns
function createLexicalEnvironment({ inputEnvironment: { extra, preset }, policy, getCurrentNode }) {
    let envInput;
    switch (preset) {
        case exports.EnvironmentPresetKind.NONE:
            envInput = mergeDescriptors(extra);
            break;
        case exports.EnvironmentPresetKind.ECMA:
            envInput = mergeDescriptors(ECMA_GLOBALS(), extra);
            break;
        case exports.EnvironmentPresetKind.NODE:
            envInput = mergeDescriptors(NODE_GLOBALS(), extra);
            break;
        case exports.EnvironmentPresetKind.BROWSER:
            envInput = mergeDescriptors(BROWSER_GLOBALS(), extra);
            break;
        default:
            envInput = {};
            break;
    }
    return {
        preset,
        parentEnv: undefined,
        env: createSanitizedEnvironment({
            policy,
            env: envInput,
            getCurrentNode
        })
    };
}
function createLexicalEnvironment ( { inputEnvironment : { extra , preset } , policy , getCurrentNode } ) { let envInput ; switch ( preset ) { case exports . EnvironmentPresetKind . NONE : envInput = mergeDescriptors ( extra ) ; break ; case exports . EnvironmentPresetKind . ECMA : envInput = mergeDescriptors ( ECMA_GLOBALS ( ) , extra ) ; break ; case exports . EnvironmentPresetKind . NODE : envInput = mergeDescriptors ( NODE_GLOBALS ( ) , extra ) ; break ; case exports . EnvironmentPresetKind . BROWSER : envInput = mergeDescriptors ( BROWSER_GLOBALS ( ) , extra ) ; break ; default : envInput = { } ; break ; } return { preset , parentEnv : undefined , env : createSanitizedEnvironment ( { policy , env : envInput , getCurrentNode } ) } ; }
Creates a Lexical Environment
 @param options
 @returns
Creates a Lexical Environment @param options @returns