"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOrCreateInnerNode = void 0;
const index_js_1 = require("./core/index.js");
/**
 * Retrieves the flex node associated with the given target via {@link setInnerNode}.
 * @remarks
 * For {@link Unhydrated} nodes, this returns the MapTreeNode.
 *
 * For hydrated nodes it returns a FlexTreeNode backed by the forest.
 * Note that for "marinated" nodes, this FlexTreeNode exists and returns it: it does not return the MapTreeNode which is the current InnerNode.
 */
function getOrCreateInnerNode(treeNode, allowFreed = false) {
    const kernel = (0, index_js_1.getKernel)(treeNode);
    return kernel.getOrCreateInnerNode(allowFreed);
}
exports.getOrCreateInnerNode = getOrCreateInnerNode;
//# sourceMappingURL=proxyBinding.js.map