TypeScript definitions and helper functions for JSON Link Data.
import { JsonLD } from '@toba/json-ld';
const rating: JsonLD:Rating = {
author: "Toba";
bestRating: 5,;
ratingValue: 4,
worstRating: "good"
};The library can be used for only its type definitions (interfaces).
Call ld to finalize your Link Data document. This method replaces the more easily entered field names for id, type and context with the @-prefixed variants required by the JSON-LD standard.
import { JsonLD, ld } from '@toba/json-ld';
const json = ld(typeName, doc);serialize(linkData: any)removeContext(linkData: JsonLD.Thing, context?: string)The library includes generator functions for common types.
interface Image {
url: string;
width?: number;
height?: number;
}import { JsonLD, image } from '@toba/json-ld';
// type will be JsonLD.ImageObject
const json = image(img);import { JsonLD, place } from '@toba/json-ld';
// type will be JsonLD.Place
const json = place(mapURL);import { JsonLD, webPage } from '@toba/json-ld';
// type will be JsonLD.WebPage
const json = webPage(url);import { JsonLD, organization } from '@toba/json-ld';
// type will be JsonLD.Organization
const json = organization(title, logo);import { JsonLD, breadcrumb } from '@toba/json-ld';
// type will be JsonLD.Breadcrumb
const json = breadcrumb(url, title, position);import { JsonLD, discoverAction } from '@toba/json-ld';
// type will be JsonLD.DiscoverAction
discoverAction(url: string)Copyright © 2019 Jason Abbott
This software is licensed under the MIT license. See the LICENSE file accompanying this software for terms of use.