UNPKG

@tsdotnet/collection-base

Version:

[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/tsdotnet/collection-base/blob/master/LICENSE) ![npm-publish](https://github.com/tsdotnet/collection-base/workflows/npm-publish/badge.svg) [![npm ve

31 lines (30 loc) 909 B
/*! * @author electricessence / https://github.com/electricessence/ * @license MIT */ import ReadOnlyIterableCollectionBase from './ReadOnlyIterableCollectionBase'; /** * Base class for implementing an iterable (finite) collection. */ export default abstract class IterableCollectionBase<T> extends ReadOnlyIterableCollectionBase<T> { protected constructor(); private _version?; /** * The version number used to track changes. * @returns {number} */ get version(): number; /** * Throws if the provided version does not match the current one. * @param {number} version * @returns {boolean} */ assertVersion(version: number): true | never; [Symbol.iterator](): Iterator<T>; /** * Increments the collection version. * Useful for tracking changes. * @return {number} The new version. */ incrementVersion(): number; }