Skip to content
This repository has been archived by the owner on Nov 6, 2022. It is now read-only.

Latest commit

 

History

History
120 lines (85 loc) · 3.03 KB

README.md

File metadata and controls

120 lines (85 loc) · 3.03 KB

npm package Build Status Code style Dependencies DevDependencies Test Coverage

Toba JSON-LD

TypeScript definitions and helper functions for JSON Link Data.

💡Using a TypeScript module

import { JsonLD } from '@toba/json-ld';

const rating: JsonLD:Rating = {
   author: "Toba";
   bestRating: 5,;
   ratingValue: 4,
   worstRating: "good"
};

Helper Functions

The library can be used for only its type definitions (interfaces).

Format

Finalize Link Data document

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);

Convert document to text for web page inclusion

serialize(linkData: any)

Remove redundant context specifications

removeContext(linkData: JsonLD.Thing, context?: string)

Generate

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);

Place

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)

License

Copyright © 2019 Jason Abbott

This software is licensed under the MIT license. See the LICENSE file accompanying this software for terms of use.