@types/jsonld
Version:
TypeScript definitions for jsonld
42 lines (34 loc) • 1.33 kB
TypeScript
/*
* Types from the jsonld Specification:
* https://www.w3.org/TR/json-ld-api/
*/
import { ContextDefinition, JsonLdDocument, NodeObject } from "./jsonld";
// Some aliases and placeholders for better readability
export type JsonLdObj = NodeObject;
export type JsonLdArray = JsonLdObj[];
export type JsonLd = JsonLdObj | JsonLdArray;
type DOMString = string;
type LoadDocumentCallback = (url: Url) => Promise<RemoteDocument>;
export type Url = DOMString;
export type Iri = Url;
export type Document = JsonLdDocument;
export type Context = ContextDefinition;
export type Frame = JsonLdObj | Url;
export interface Options {
base?: DOMString | null | undefined;
compactArrays?: boolean | undefined;
documentLoader?: LoadDocumentCallback | null | undefined;
expandContext?: ContextDefinition | null | undefined;
processingMode?: DOMString | undefined;
}
export interface JsonLdProcessor {
compact(input: JsonLdDocument, context: ContextDefinition, options?: Options): Promise<JsonLdObj>;
expand(input: JsonLdDocument, options?: Options): Promise<JsonLdArray>;
flatten(input: JsonLdDocument, context?: ContextDefinition | null, options?: Options): Promise<JsonLdObj>;
}
export interface RemoteDocument {
contextUrl?: Url | undefined;
documentUrl: Url;
document: JsonLd;
}
export {};