working rss feed to nostr publish
This commit is contained in:
+123
@@ -0,0 +1,123 @@
|
||||
/**
|
||||
* @packageDocumentation
|
||||
* @module std.base
|
||||
*/
|
||||
import { IBidirectionalContainer } from "../../ranges/container/IBidirectionalContainer";
|
||||
import { IEmpty } from "../../internal/container/partial/IEmpty";
|
||||
import { ISize } from "../../internal/container/partial/ISize";
|
||||
import { IPush } from "../../internal/container/partial/IPush";
|
||||
import { IForwardIterator } from "../../iterator/IForwardIterator";
|
||||
import { IReverseIterator } from "../../iterator/IReverseIterator";
|
||||
import { IReversableIterator } from "../../iterator/IReversableIterator";
|
||||
/**
|
||||
* Common interface for containers.
|
||||
*
|
||||
* @template T Stored elements' type
|
||||
* @template SourceT Derived type extending this {@link IContainer}
|
||||
* @template IteratorT Iterator type
|
||||
* @template ReverseT Reverse iterator type
|
||||
* @template PElem Parent type of *T*, used for inserting elements through {@link assign} and {@link insert}.
|
||||
*
|
||||
* @author Jeongho Nam - https://github.com/samchon
|
||||
*/
|
||||
export interface IContainer<T extends PElem, SourceT extends IContainer<T, SourceT, IteratorT, ReverseT, PElem>, IteratorT extends IContainer.Iterator<T, SourceT, IteratorT, ReverseT, PElem>, ReverseT extends IContainer.ReverseIterator<T, SourceT, IteratorT, ReverseT, PElem>, PElem = T> extends IBidirectionalContainer<IContainer.Iterator<T, SourceT, IteratorT, ReverseT, PElem>, ReverseT>, Iterable<T>, IEmpty, ISize, IPush<PElem> {
|
||||
/**
|
||||
* Range Assigner.
|
||||
*
|
||||
* @param first Input iteartor of the first position.
|
||||
* @param last Input iterator of the last position.
|
||||
*/
|
||||
assign<InputIterator extends Readonly<IForwardIterator<PElem, InputIterator>>>(first: InputIterator, last: InputIterator): void;
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
clear(): void;
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
size(): number;
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
empty(): boolean;
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
begin(): IteratorT;
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
end(): IteratorT;
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
rbegin(): ReverseT;
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
rend(): ReverseT;
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
[Symbol.iterator](): IterableIterator<T>;
|
||||
push(...items: PElem[]): number;
|
||||
/**
|
||||
* Erase an element.
|
||||
*
|
||||
* @param pos Position to erase.
|
||||
* @return Iterator following the *pos*, strained by the erasing.
|
||||
*/
|
||||
erase(pos: IteratorT): IteratorT;
|
||||
/**
|
||||
* Erase elements in range.
|
||||
*
|
||||
* @param first Range of the first position to erase.
|
||||
* @param last Rangee of the last position to erase.
|
||||
* @return Iterator following the last removed element, strained by the erasing.
|
||||
*/
|
||||
erase(first: IteratorT, last: IteratorT): IteratorT;
|
||||
/**
|
||||
* Swap elements.
|
||||
*
|
||||
* @param obj Target container to swap.
|
||||
*/
|
||||
swap(obj: SourceT): void;
|
||||
/**
|
||||
* Native function for `JSON.stringify()`.
|
||||
*
|
||||
* @return An array containing children elements.
|
||||
*/
|
||||
toJSON(): Array<T>;
|
||||
}
|
||||
export declare namespace IContainer {
|
||||
/**
|
||||
* Iterator of {@link IContainer}.
|
||||
*
|
||||
* @author Jeongho Nam - https://github.com/samchon
|
||||
*/
|
||||
interface Iterator<T extends Elem, SourceT extends IContainer<T, SourceT, IteratorT, ReverseIteratorT, Elem>, IteratorT extends Iterator<T, SourceT, IteratorT, ReverseIteratorT, Elem>, ReverseIteratorT extends ReverseIterator<T, SourceT, IteratorT, ReverseIteratorT, Elem>, Elem = T> extends Readonly<IReversableIterator<T, IteratorT, ReverseIteratorT>> {
|
||||
/**
|
||||
* Get source container.
|
||||
*
|
||||
* @return The source container.
|
||||
*/
|
||||
source(): SourceT;
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
reverse(): ReverseIteratorT;
|
||||
}
|
||||
/**
|
||||
* Reverse iterator of {@link IContainer}
|
||||
*
|
||||
* @author Jeongho Nam - https://github.com/samchon
|
||||
*/
|
||||
interface ReverseIterator<T extends Elem, Source extends IContainer<T, Source, IteratorT, ReverseT, Elem>, IteratorT extends Iterator<T, Source, IteratorT, ReverseT, Elem>, ReverseT extends ReverseIterator<T, Source, IteratorT, ReverseT, Elem>, Elem = T> extends Readonly<IReverseIterator<T, IteratorT, ReverseT>> {
|
||||
/**
|
||||
* Get source container.
|
||||
*
|
||||
* @return The source container.
|
||||
*/
|
||||
source(): Source;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user