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

TypeScript definitions and helper functions for JSON Link Data

License

Notifications You must be signed in to change notification settings

toba/json-ld

Repository files navigation

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.

About

TypeScript definitions and helper functions for JSON Link Data

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published