"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ModularEditBuilder = exports.isNeverField = exports.SequenceField = exports.jsonableTreeFromForest = exports.jsonableTreeFromFieldCursor = exports.jsonableTreeFromCursor = exports.singleTextCursor = exports.prefixFieldPath = exports.prefixPath = exports.singleStackTreeCursor = exports.makeSchemaCodec = exports.encodeTreeSchema = exports.SchemaEditor = exports.SchemaSummarizer = exports.buildForest = exports.MemoizedIdRangeAllocator = exports.mapTreeFromCursor = exports.singleMapTreeCursor = exports.ForestSummarizer = exports.assertAllowedValue = exports.normalizeNewFieldContent = exports.cursorsForTypedFieldData = exports.cursorForTypedTreeData = exports.cursorForTypedData = exports.cursorsFromContextualData = exports.cursorFromContextualData = exports.getFieldSchema = exports.getFieldKind = exports.isContextuallyTypedNodeDataObject = exports.getPrimaryField = exports.isPrimitiveValue = exports.valueSymbol = exports.typeNameSymbol = exports.setField = exports.compileSyntaxTree = exports.comparePipeline = exports.toDownPath = exports.BindingType = exports.indexSymbol = exports.createFlushableBinderOptions = exports.createBinderOptions = exports.createDataBinderInvalidating = exports.createDataBinderDirect = exports.createDataBinderBuffering = exports.localNodeKeySymbol = exports.proxyTargetSymbol = exports.isEditableTree = exports.isPrimitive = exports.isEditableField = exports.getEditableTreeContext = void 0;
exports.InternalEditableTreeTypes = exports.treeStatus = exports.contextSymbol = exports.on = exports.parentField = exports.getField = exports.typeSymbol = exports.defaultSchemaPolicy = exports.DefaultEditBuilder = exports.DefaultChangeFamily = exports.FieldKinds = exports.nodeKeyTreeIdentifier = exports.nodeKeyFieldKey = exports.NodeKeyIndex = exports.createMockNodeKeyManager = exports.createNodeKeyManager = exports.compareLocalNodeKeys = exports.makeTreeChunker = exports.defaultChunkPolicy = exports.buildChunkedForest = exports.chunkTree = exports.mapMarkList = exports.mapMark = exports.mapFieldsChanges = exports.mapFieldChanges = exports.SchemaBuilderInternal = exports.normalizeField = exports.normalizeAllowedTypes = exports.SchemaBuilderBase = exports.markEager = exports.validateObjectNodeFieldName = exports.fieldApiPrefixes = exports.bannedFieldNames = exports.schemaIsObjectNode = exports.schemaIsMap = exports.schemaIsLeaf = exports.schemaIsFieldNode = exports.ViewSchema = exports.InternalTypedSchemaTypes = exports.Any = exports.TreeFieldSchema = exports.TreeNodeSchema = exports.FieldKindWithEditor = exports.NodeExistenceState = exports.revisionMetadataSourceFromInfo = exports.genericFieldKind = exports.allowsRepoSuperset = exports.Multiplicity = exports.FieldKind = exports.CrossFieldTarget = void 0;
exports.DetachedFieldIndexSummarizer = exports.SchemaAware = exports.addFactory = exports.node = exports.getProxyForField = exports.TreeStatus = exports.boxedIterator = exports.getTreeContext = exports.Skip = void 0;
var editable_tree_1 = require("./editable-tree");
Object.defineProperty(exports, "getEditableTreeContext", { enumerable: true, get: function () { return editable_tree_1.getEditableTreeContext; } });
Object.defineProperty(exports, "isEditableField", { enumerable: true, get: function () { return editable_tree_1.isEditableField; } });
Object.defineProperty(exports, "isPrimitive", { enumerable: true, get: function () { return editable_tree_1.isPrimitive; } });
Object.defineProperty(exports, "isEditableTree", { enumerable: true, get: function () { return editable_tree_1.isEditableTree; } });
Object.defineProperty(exports, "proxyTargetSymbol", { enumerable: true, get: function () { return editable_tree_1.proxyTargetSymbol; } });
Object.defineProperty(exports, "localNodeKeySymbol", { enumerable: true, get: function () { return editable_tree_1.localNodeKeySymbol; } });
Object.defineProperty(exports, "createDataBinderBuffering", { enumerable: true, get: function () { return editable_tree_1.createDataBinderBuffering; } });
Object.defineProperty(exports, "createDataBinderDirect", { enumerable: true, get: function () { return editable_tree_1.createDataBinderDirect; } });
Object.defineProperty(exports, "createDataBinderInvalidating", { enumerable: true, get: function () { return editable_tree_1.createDataBinderInvalidating; } });
Object.defineProperty(exports, "createBinderOptions", { enumerable: true, get: function () { return editable_tree_1.createBinderOptions; } });
Object.defineProperty(exports, "createFlushableBinderOptions", { enumerable: true, get: function () { return editable_tree_1.createFlushableBinderOptions; } });
Object.defineProperty(exports, "indexSymbol", { enumerable: true, get: function () { return editable_tree_1.indexSymbol; } });
Object.defineProperty(exports, "BindingType", { enumerable: true, get: function () { return editable_tree_1.BindingType; } });
Object.defineProperty(exports, "toDownPath", { enumerable: true, get: function () { return editable_tree_1.toDownPath; } });
Object.defineProperty(exports, "comparePipeline", { enumerable: true, get: function () { return editable_tree_1.comparePipeline; } });
Object.defineProperty(exports, "compileSyntaxTree", { enumerable: true, get: function () { return editable_tree_1.compileSyntaxTree; } });
Object.defineProperty(exports, "setField", { enumerable: true, get: function () { return editable_tree_1.setField; } });
var contextuallyTyped_1 = require("./contextuallyTyped");
Object.defineProperty(exports, "typeNameSymbol", { enumerable: true, get: function () { return contextuallyTyped_1.typeNameSymbol; } });
Object.defineProperty(exports, "valueSymbol", { enumerable: true, get: function () { return contextuallyTyped_1.valueSymbol; } });
Object.defineProperty(exports, "isPrimitiveValue", { enumerable: true, get: function () { return contextuallyTyped_1.isPrimitiveValue; } });
Object.defineProperty(exports, "getPrimaryField", { enumerable: true, get: function () { return contextuallyTyped_1.getPrimaryField; } });
Object.defineProperty(exports, "isContextuallyTypedNodeDataObject", { enumerable: true, get: function () { return contextuallyTyped_1.isContextuallyTypedNodeDataObject; } });
Object.defineProperty(exports, "getFieldKind", { enumerable: true, get: function () { return contextuallyTyped_1.getFieldKind; } });
Object.defineProperty(exports, "getFieldSchema", { enumerable: true, get: function () { return contextuallyTyped_1.getFieldSchema; } });
Object.defineProperty(exports, "cursorFromContextualData", { enumerable: true, get: function () { return contextuallyTyped_1.cursorFromContextualData; } });
Object.defineProperty(exports, "cursorsFromContextualData", { enumerable: true, get: function () { return contextuallyTyped_1.cursorsFromContextualData; } });
Object.defineProperty(exports, "cursorForTypedData", { enumerable: true, get: function () { return contextuallyTyped_1.cursorForTypedData; } });
Object.defineProperty(exports, "cursorForTypedTreeData", { enumerable: true, get: function () { return contextuallyTyped_1.cursorForTypedTreeData; } });
Object.defineProperty(exports, "cursorsForTypedFieldData", { enumerable: true, get: function () { return contextuallyTyped_1.cursorsForTypedFieldData; } });
Object.defineProperty(exports, "normalizeNewFieldContent", { enumerable: true, get: function () { return contextuallyTyped_1.normalizeNewFieldContent; } });
Object.defineProperty(exports, "assertAllowedValue", { enumerable: true, get: function () { return contextuallyTyped_1.assertAllowedValue; } });
var forestSummarizer_1 = require("./forestSummarizer");
Object.defineProperty(exports, "ForestSummarizer", { enumerable: true, get: function () { return forestSummarizer_1.ForestSummarizer; } });
var mapTreeCursor_1 = require("./mapTreeCursor");
Object.defineProperty(exports, "singleMapTreeCursor", { enumerable: true, get: function () { return mapTreeCursor_1.singleMapTreeCursor; } });
Object.defineProperty(exports, "mapTreeFromCursor", { enumerable: true, get: function () { return mapTreeCursor_1.mapTreeFromCursor; } });
var memoizedIdRangeAllocator_1 = require("./memoizedIdRangeAllocator");
Object.defineProperty(exports, "MemoizedIdRangeAllocator", { enumerable: true, get: function () { return memoizedIdRangeAllocator_1.MemoizedIdRangeAllocator; } });
var object_forest_1 = require("./object-forest");
Object.defineProperty(exports, "buildForest", { enumerable: true, get: function () { return object_forest_1.buildForest; } });
var schemaSummarizer_1 = require("./schemaSummarizer");
Object.defineProperty(exports, "SchemaSummarizer", { enumerable: true, get: function () { return schemaSummarizer_1.SchemaSummarizer; } });
Object.defineProperty(exports, "SchemaEditor", { enumerable: true, get: function () { return schemaSummarizer_1.SchemaEditor; } });
Object.defineProperty(exports, "encodeTreeSchema", { enumerable: true, get: function () { return schemaSummarizer_1.encodeTreeSchema; } });
// This is exported because its useful for doing comparisons of schema in tests.
var schemaIndexFormat_1 = require("./schemaIndexFormat");
Object.defineProperty(exports, "makeSchemaCodec", { enumerable: true, get: function () { return schemaIndexFormat_1.makeSchemaCodec; } });
var treeCursorUtils_1 = require("./treeCursorUtils");
Object.defineProperty(exports, "singleStackTreeCursor", { enumerable: true, get: function () { return treeCursorUtils_1.singleStackTreeCursor; } });
Object.defineProperty(exports, "prefixPath", { enumerable: true, get: function () { return treeCursorUtils_1.prefixPath; } });
Object.defineProperty(exports, "prefixFieldPath", { enumerable: true, get: function () { return treeCursorUtils_1.prefixFieldPath; } });
var treeTextCursor_1 = require("./treeTextCursor");
Object.defineProperty(exports, "singleTextCursor", { enumerable: true, get: function () { return treeTextCursor_1.singleTextCursor; } });
Object.defineProperty(exports, "jsonableTreeFromCursor", { enumerable: true, get: function () { return treeTextCursor_1.jsonableTreeFromCursor; } });
Object.defineProperty(exports, "jsonableTreeFromFieldCursor", { enumerable: true, get: function () { return treeTextCursor_1.jsonableTreeFromFieldCursor; } });
Object.defineProperty(exports, "jsonableTreeFromForest", { enumerable: true, get: function () { return treeTextCursor_1.jsonableTreeFromForest; } });
// Split this up into separate import and export for compatibility with API-Extractor.
const SequenceField = __importStar(require("./sequence-field"));
exports.SequenceField = SequenceField;
var modular_schema_1 = require("./modular-schema");
Object.defineProperty(exports, "isNeverField", { enumerable: true, get: function () { return modular_schema_1.isNeverField; } });
Object.defineProperty(exports, "ModularEditBuilder", { enumerable: true, get: function () { return modular_schema_1.ModularEditBuilder; } });
Object.defineProperty(exports, "CrossFieldTarget", { enumerable: true, get: function () { return modular_schema_1.CrossFieldTarget; } });
Object.defineProperty(exports, "FieldKind", { enumerable: true, get: function () { return modular_schema_1.FieldKind; } });
Object.defineProperty(exports, "Multiplicity", { enumerable: true, get: function () { return modular_schema_1.Multiplicity; } });
Object.defineProperty(exports, "allowsRepoSuperset", { enumerable: true, get: function () { return modular_schema_1.allowsRepoSuperset; } });
Object.defineProperty(exports, "genericFieldKind", { enumerable: true, get: function () { return modular_schema_1.genericFieldKind; } });
Object.defineProperty(exports, "revisionMetadataSourceFromInfo", { enumerable: true, get: function () { return modular_schema_1.revisionMetadataSourceFromInfo; } });
Object.defineProperty(exports, "NodeExistenceState", { enumerable: true, get: function () { return modular_schema_1.NodeExistenceState; } });
Object.defineProperty(exports, "FieldKindWithEditor", { enumerable: true, get: function () { return modular_schema_1.FieldKindWithEditor; } });
var typed_schema_1 = require("./typed-schema");
Object.defineProperty(exports, "TreeNodeSchema", { enumerable: true, get: function () { return typed_schema_1.TreeNodeSchema; } });
Object.defineProperty(exports, "TreeFieldSchema", { enumerable: true, get: function () { return typed_schema_1.TreeFieldSchema; } });
Object.defineProperty(exports, "Any", { enumerable: true, get: function () { return typed_schema_1.Any; } });
Object.defineProperty(exports, "InternalTypedSchemaTypes", { enumerable: true, get: function () { return typed_schema_1.InternalTypedSchemaTypes; } });
Object.defineProperty(exports, "ViewSchema", { enumerable: true, get: function () { return typed_schema_1.ViewSchema; } });
Object.defineProperty(exports, "schemaIsFieldNode", { enumerable: true, get: function () { return typed_schema_1.schemaIsFieldNode; } });
Object.defineProperty(exports, "schemaIsLeaf", { enumerable: true, get: function () { return typed_schema_1.schemaIsLeaf; } });
Object.defineProperty(exports, "schemaIsMap", { enumerable: true, get: function () { return typed_schema_1.schemaIsMap; } });
Object.defineProperty(exports, "schemaIsObjectNode", { enumerable: true, get: function () { return typed_schema_1.schemaIsObjectNode; } });
Object.defineProperty(exports, "bannedFieldNames", { enumerable: true, get: function () { return typed_schema_1.bannedFieldNames; } });
Object.defineProperty(exports, "fieldApiPrefixes", { enumerable: true, get: function () { return typed_schema_1.fieldApiPrefixes; } });
Object.defineProperty(exports, "validateObjectNodeFieldName", { enumerable: true, get: function () { return typed_schema_1.validateObjectNodeFieldName; } });
Object.defineProperty(exports, "markEager", { enumerable: true, get: function () { return typed_schema_1.markEager; } });
var schemaBuilderBase_1 = require("./schemaBuilderBase");
Object.defineProperty(exports, "SchemaBuilderBase", { enumerable: true, get: function () { return schemaBuilderBase_1.SchemaBuilderBase; } });
Object.defineProperty(exports, "normalizeAllowedTypes", { enumerable: true, get: function () { return schemaBuilderBase_1.normalizeAllowedTypes; } });
Object.defineProperty(exports, "normalizeField", { enumerable: true, get: function () { return schemaBuilderBase_1.normalizeField; } });
var schemaBuilder_1 = require("./schemaBuilder");
Object.defineProperty(exports, "SchemaBuilderInternal", { enumerable: true, get: function () { return schemaBuilder_1.SchemaBuilderInternal; } });
var deltaUtils_1 = require("./deltaUtils");
Object.defineProperty(exports, "mapFieldChanges", { enumerable: true, get: function () { return deltaUtils_1.mapFieldChanges; } });
Object.defineProperty(exports, "mapFieldsChanges", { enumerable: true, get: function () { return deltaUtils_1.mapFieldsChanges; } });
Object.defineProperty(exports, "mapMark", { enumerable: true, get: function () { return deltaUtils_1.mapMark; } });
Object.defineProperty(exports, "mapMarkList", { enumerable: true, get: function () { return deltaUtils_1.mapMarkList; } });
var chunked_forest_1 = require("./chunked-forest");
Object.defineProperty(exports, "chunkTree", { enumerable: true, get: function () { return chunked_forest_1.chunkTree; } });
Object.defineProperty(exports, "buildChunkedForest", { enumerable: true, get: function () { return chunked_forest_1.buildChunkedForest; } });
Object.defineProperty(exports, "defaultChunkPolicy", { enumerable: true, get: function () { return chunked_forest_1.defaultChunkPolicy; } });
Object.defineProperty(exports, "makeTreeChunker", { enumerable: true, get: function () { return chunked_forest_1.makeTreeChunker; } });
var node_key_1 = require("./node-key");
Object.defineProperty(exports, "compareLocalNodeKeys", { enumerable: true, get: function () { return node_key_1.compareLocalNodeKeys; } });
Object.defineProperty(exports, "createNodeKeyManager", { enumerable: true, get: function () { return node_key_1.createNodeKeyManager; } });
Object.defineProperty(exports, "createMockNodeKeyManager", { enumerable: true, get: function () { return node_key_1.createMockNodeKeyManager; } });
Object.defineProperty(exports, "NodeKeyIndex", { enumerable: true, get: function () { return node_key_1.NodeKeyIndex; } });
Object.defineProperty(exports, "nodeKeyFieldKey", { enumerable: true, get: function () { return node_key_1.nodeKeyFieldKey; } });
Object.defineProperty(exports, "nodeKeyTreeIdentifier", { enumerable: true, get: function () { return node_key_1.nodeKeyTreeIdentifier; } });
var default_field_kinds_1 = require("./default-field-kinds");
Object.defineProperty(exports, "FieldKinds", { enumerable: true, get: function () { return default_field_kinds_1.FieldKinds; } });
Object.defineProperty(exports, "DefaultChangeFamily", { enumerable: true, get: function () { return default_field_kinds_1.DefaultChangeFamily; } });
Object.defineProperty(exports, "DefaultEditBuilder", { enumerable: true, get: function () { return default_field_kinds_1.DefaultEditBuilder; } });
Object.defineProperty(exports, "defaultSchemaPolicy", { enumerable: true, get: function () { return default_field_kinds_1.defaultSchemaPolicy; } });
var untypedTree_1 = require("./untypedTree");
Object.defineProperty(exports, "typeSymbol", { enumerable: true, get: function () { return untypedTree_1.typeSymbol; } });
Object.defineProperty(exports, "getField", { enumerable: true, get: function () { return untypedTree_1.getField; } });
Object.defineProperty(exports, "parentField", { enumerable: true, get: function () { return untypedTree_1.parentField; } });
Object.defineProperty(exports, "on", { enumerable: true, get: function () { return untypedTree_1.on; } });
Object.defineProperty(exports, "contextSymbol", { enumerable: true, get: function () { return untypedTree_1.contextSymbol; } });
Object.defineProperty(exports, "treeStatus", { enumerable: true, get: function () { return untypedTree_1.treeStatus; } });
var editable_tree_2_1 = require("./editable-tree-2");
Object.defineProperty(exports, "InternalEditableTreeTypes", { enumerable: true, get: function () { return editable_tree_2_1.InternalEditableTreeTypes; } });
Object.defineProperty(exports, "Skip", { enumerable: true, get: function () { return editable_tree_2_1.Skip; } });
Object.defineProperty(exports, "getTreeContext", { enumerable: true, get: function () { return editable_tree_2_1.getTreeContext; } });
Object.defineProperty(exports, "boxedIterator", { enumerable: true, get: function () { return editable_tree_2_1.boxedIterator; } });
Object.defineProperty(exports, "TreeStatus", { enumerable: true, get: function () { return editable_tree_2_1.TreeStatus; } });
Object.defineProperty(exports, "getProxyForField", { enumerable: true, get: function () { return editable_tree_2_1.getProxyForField; } });
Object.defineProperty(exports, "node", { enumerable: true, get: function () { return editable_tree_2_1.node; } });
Object.defineProperty(exports, "addFactory", { enumerable: true, get: function () { return editable_tree_2_1.addFactory; } });
// Split into separate import and export for compatibility with API-Extractor.
const SchemaAware = __importStar(require("./schema-aware"));
exports.SchemaAware = SchemaAware;
var detachedFieldIndexSummarizer_1 = require("./detachedFieldIndexSummarizer");
Object.defineProperty(exports, "DetachedFieldIndexSummarizer", { enumerable: true, get: function () { return detachedFieldIndexSummarizer_1.DetachedFieldIndexSummarizer; } });
//# sourceMappingURL=index.js.map