lib-utils-ts
Version:
<img src="https://img.shields.io/npm/v/lib-utils-ts"/> <img src="https://img.shields.io/snyk/vulnerabilities/npm/lib-utils-ts"/> <img src="https://img.shields.io/npm/l/lib-utils-ts"/> <img src="https://img.shields.io/github/languages/top/devGnode/lib-util
49 lines (47 loc) • 1.24 kB
text/typescript
import {consumer, spliterator} from "../Interface";
import {UnsupportedOperationException} from "../Exception";
import {Consumer} from "../Consumer";
/***
* @class Spliterator<T>
* @abstract
*/
export abstract class Spliterator<T> implements spliterator<T> {
/**
* @ToOverride
* */
forEachRemaining(action: consumer<T>): void {
do {
} while (this.tryAdvance(action));
}
/**
* @ToOverride
* */
tryAdvance(action: consumer<T>): boolean {
throw new UnsupportedOperationException();
}
/**
* @ToOverride
* */
trySplit(): spliterator<T> {
throw new UnsupportedOperationException();
}
cast(action: consumer<T>): consumer<T> {
if (typeof action === "function") return Consumer.of(action);
return action;
}
/**
*
* @returns {number}
*/
public estimateSize(): number {return 0;}
/**
* @staticClass Spliterator.Ofint
* */
public static OfInt = class OfInt extends Spliterator<number>{
/*tryAdvance(action: consumer<number>): boolean {
let consumer: IntConsumer = <IntConsumer>this.cast(action);
return false;
}*/
}
}
Object.package(this);