function clearBindingFromLexicalEnvironment(env, path) {
    const [firstBinding] = path.split(".");
    if (objectPath.has(env.env, firstBinding)) {
        objectPath.del(env.env, path);
    }
    else {
        let currentParentEnv = env.parentEnv;
        while (currentParentEnv != null) {
            if (objectPath.has(currentParentEnv.env, firstBinding)) {
                objectPath.del(currentParentEnv.env, path);
                return;
            }
            else {
                currentParentEnv = currentParentEnv.parentEnv;
            }
        }
    }
}
/**
 * Clears a binding from a Lexical Environment
 *
 * @param env
 * @param path
 */
Clears a binding from a Lexical Environment
@param env
@param path
Clears a binding from a Lexical Environment @param env @param path
function clearBindingFromLexicalEnvironment(env, path) {
    const [firstBinding] = path.split(".");
    if (objectPath.has(env.env, firstBinding)) {
        objectPath.del(env.env, path);
    }
    else {
        let currentParentEnv = env.parentEnv;
        while (currentParentEnv != null) {
            if (objectPath.has(currentParentEnv.env, firstBinding)) {
                objectPath.del(currentParentEnv.env, path);
                return;
            }
            else {
                currentParentEnv = currentParentEnv.parentEnv;
            }
        }
    }
}
function clearBindingFromLexicalEnvironment ( env , path ) { const [ firstBinding ] = path . split ( "." ) ; if ( objectPath . has ( env . env , firstBinding ) ) { objectPath . del ( env . env , path ) ; } else { let currentParentEnv = env . parentEnv ; while ( currentParentEnv != null ) { if ( objectPath . has ( currentParentEnv . env , firstBinding ) ) { objectPath . del ( currentParentEnv . env , path ) ; return ; } else { currentParentEnv = currentParentEnv . parentEnv ; } } } }
Clears a binding from a Lexical Environment
 @param env
 @param path
Clears a binding from a Lexical Environment @param env @param path