UNPKG

@tpluscode/rdfine

Version:
18 lines (17 loc) 854 B
import type { AnyPointer, GraphPointer } from 'clownface'; import type * as ns from '@tpluscode/rdf-ns-builders'; import type { NamedNode, DatasetCore, Term } from '@rdfjs/types'; import type { RdfResource } from '../RdfResource.js'; declare const rdf: typeof ns.rdf; export declare function isList(node: AnyPointer): boolean; export declare function enumerateList<T, D extends DatasetCore = DatasetCore>(parent: RdfResource<D>, listNode: GraphPointer<Term, D>, fromTerm: (obj: GraphPointer<Term, D>) => T | T[]): T[]; type Iri<N> = N extends NamedNode<infer I> ? I : never; type rdfFirst = Iri<typeof rdf.first>; type rdfRest = Iri<typeof rdf.rest>; type ListInit<T> = { [key in rdfFirst]: T; } & { [key in rdfRest]: ListInit<T> | typeof rdf.nil; }; export declare function initialize<T>(...items: T[]): ListInit<T> | typeof rdf.nil; export {};