/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
/** A symbol used to identify a `MarkedEager`. */
const flexListEager = Symbol("FlexList Eager");
/** Returns true iff the given item is a function and is not a `MarkedEager`. */
export function isLazy(item) {
    return typeof item === "function" && item[flexListEager] !== true;
}
/**
 * Mark the given object as an eager item in a `FlexList`.
 * @remarks
 * This only has an effect on function objects that would otherwise be considered to be lazy items in a `FlexList`.
 * @param t - The object to mark as eager.
 * @returns `t`, marked as eager if applicable.
 */
export function markEager(t) {
    return isLazy(t)
        ? Object.defineProperty(t, flexListEager, {
            value: true,
            configurable: true,
            enumerable: false,
            writable: false,
        })
        : t;
}
//# sourceMappingURL=flexList.js.map