UNPKG

@sussudio/base

Version:

Internal APIs for VS Code's utilities and user interface building blocks.

25 lines (23 loc) 976 B
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { Event } from './event.mjs'; export interface ISplice<T> { readonly start: number; readonly deleteCount: number; readonly toInsert: readonly T[]; } export interface ISpliceable<T> { splice(start: number, deleteCount: number, toInsert: readonly T[]): void; } export interface ISequence<T> { readonly elements: T[]; readonly onDidSplice: Event<ISplice<T>>; } export declare class Sequence<T> implements ISequence<T>, ISpliceable<T> { readonly elements: T[]; private readonly _onDidSplice; readonly onDidSplice: Event<ISplice<T>>; splice(start: number, deleteCount: number, toInsert?: readonly T[]): void; }