"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.isArrayNodeSchema = exports.ArrayNodeSchema = void 0;
const index_js_1 = require("../../core/index.js");
/**
 * @alpha
 */
exports.ArrayNodeSchema = {
    /**
     * instanceof-based narrowing support for ArrayNodeSchema in Javascript and TypeScript 5.3 or newer.
     */
    [Symbol.hasInstance](value) {
        return isArrayNodeSchema(value);
    },
};
/**
 * Narrows a {@link (TreeNodeSchema:interface)} to an {@link (ArrayNodeSchema:interface)}.
 * @privateRemarks
 * If at some point we want to have internal only APIs for ArrayNodeSchema (like done for objects),
 * this can include those since its not the public facing API.
 */
function isArrayNodeSchema(schema) {
    return schema.kind === index_js_1.NodeKind.Array;
}
exports.isArrayNodeSchema = isArrayNodeSchema;
//# sourceMappingURL=arrayNodeTypes.js.map