@toba/json-ld
TypeScript icon, indicating that this package has built-in type declarations

3.2.8 • Public • Published

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.

Image

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

Web page

import { JsonLD, webPage } from '@toba/json-ld';
// type will be JsonLD.WebPage
const json = webPage(url);

Organization

import { JsonLD, organization } from '@toba/json-ld';
// type will be JsonLD.Organization
const json = organization(title, logo);

Breadcrumb

import { JsonLD, breadcrumb } from '@toba/json-ld';
// type will be JsonLD.Breadcrumb
const json = breadcrumb(url, title, position);

Discover Action

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.

Readme

Keywords

none

Package Sidebar

Install

npm i @toba/json-ld

Weekly Downloads

0

Version

3.2.8

License

MIT

Unpacked Size

52.5 kB

Total Files

12

Last publish

Collaborators

  • jason-abbott