/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { fail } from "../../util";
/**
 * Helper for creating a {@link FieldChangeRebaser} which does not need access to revision tags.
 * This should only be used for fields where the child nodes cannot be edited.
 */
export function referenceFreeFieldChangeRebaser(data) {
    return isolatedFieldChangeRebaser({
        compose: (changes, _composeChild, _genId) => data.compose(changes.map((c) => c.change)),
        invert: (change, _invertChild, reviver, _genId) => data.invert(change.change, reviver),
        rebase: (change, over, _rebaseChild, _genId) => data.rebase(change, over.change),
    });
}
export function isolatedFieldChangeRebaser(data) {
    return Object.assign(Object.assign({}, data), { amendCompose: () => fail("Not implemented"), amendInvert: () => fail("Not implemented"), amendRebase: () => fail("Not implemented") });
}
//# sourceMappingURL=fieldChangeHandler.js.map