1 | import { Quad, QuadLike } from "@opennetwork/rdf-data-model";
|
2 | import { QuadFind } from "./match";
|
3 | export interface FilterIterateeFn<T> {
|
4 | (value: T): boolean;
|
5 | }
|
6 | export interface FilterIterateeIsFn<T, R extends T = T> {
|
7 | (value: T): value is R;
|
8 | }
|
9 | export interface RunIteratee<T> {
|
10 | (value: T): void;
|
11 | }
|
12 | export interface MapIteratee<T, R> {
|
13 | (value: T): R;
|
14 | }
|
15 | export interface ReadonlyDataset<Q extends Quad = Quad> extends Iterable<Q> {
|
16 | }
|
17 | export interface ReadonlyDataset<Q extends Quad = Quad> {
|
18 | filter<R extends Q = Q>(iteratee: FilterIterateeIsFn<Q, R>): ReadonlyDataset<R>;
|
19 | filter(iteratee: FilterIterateeFn<Q>): ReadonlyDataset<Q>;
|
20 | except(iteratee: FilterIterateeFn<Q>): ReadonlyDataset<Q>;
|
21 | match(find: Quad | QuadFind): ReadonlyDataset<Q>;
|
22 | match<R extends Q = Q>(find: R): ReadonlyDataset<R>;
|
23 | match<R extends Partial<Q> = Q>(find: R): ReadonlyDataset<Q & R>;
|
24 | without(find: Quad | QuadFind): ReadonlyDataset<Q>;
|
25 | has(find: Quad | QuadFind): boolean;
|
26 | contains(dataset: Iterable<Quad | QuadLike>): boolean;
|
27 | difference(dataset: Iterable<Quad | QuadLike>): ReadonlyDataset;
|
28 | equals(dataset: Iterable<Quad | QuadLike>): boolean;
|
29 | every(iteratee: FilterIterateeFn<Q>): boolean;
|
30 | forEach(iteratee: RunIteratee<Q>): void;
|
31 | intersection(dataset: Iterable<Quad | QuadLike>): ReadonlyDataset;
|
32 | map(iteratee: MapIteratee<Q, QuadLike>): ReadonlyDataset;
|
33 | some(iteratee: FilterIterateeFn<Q>): boolean;
|
34 | toArray(): Q[];
|
35 | union(dataset: Iterable<Quad | QuadLike>): ReadonlyDataset;
|
36 | }
|
37 | export declare class ReadonlyDataset<Q extends Quad = Quad> implements ReadonlyDataset<Q>, Iterable<Q> {
|
38 | #private;
|
39 | constructor(source?: Iterable<Q>);
|
40 | filter<R extends Q = Q>(iteratee: FilterIterateeIsFn<Q, R>): ReadonlyDataset<R>;
|
41 | filter(iteratee: FilterIterateeFn<Q>): ReadonlyDataset<Q>;
|
42 | match<R extends Q = Q>(find: R): ReadonlyDataset<R>;
|
43 | match<R extends Partial<Q> = Q>(find: R): ReadonlyDataset<Q & R>;
|
44 | match(find: Quad | QuadFind): ReadonlyDataset<Q>;
|
45 | [Symbol.iterator](): Generator<Q, void, undefined>;
|
46 | get size(): number;
|
47 | get empty(): boolean;
|
48 | }
|