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.