Wondering what’s next for npm?Check out our public roadmap! »

    schema-dts
    TypeScript icon, indicating that this package has built-in type declarations

    0.8.3 • Public • Published

    Build Status Coverage Status schema-dts npm version

    schema-dts

    JSON-LD TypeScript types for Schema.org vocabulary.

    schema-dts provides TypeScript definitions for Schema.org vocabulary in JSON-LD format. The typings are exposed as complete sets of discriminated type unions, allowing for easy completions and stricter validation.

    Example of Code Completion using schema-dts

    Note: This is not an officially supported Google product.

    Usage

    To use the typings for your project, simply add the schema-dts NPM package to your project:

    npm install schema-dts
    

    Then you can use it by importing "schema-dts".

    Examples

    Defining Simple Properties

    import {Person} from 'schema-dts';
    
    const inventor: Person = {
      '@type': 'Person',
      name: 'Grace Hopper',
      disambiguatingDescription: 'American computer scientist',
      birthDate: '1906-12-09',
      deathDate: '1992-01-01',
      awards: [
        'Presidential Medal of Freedom',
        'National Medal of Technology and Innovation',
        'IEEE Emanuel R. Piore Award',
      ],
    };

    Using 'Context'

    JSON-LD requires a "@context" property to be set on the top-level JSON object, to describe the URIs represeting the types and properties being referenced. schema-dts provides the WithContext<T> type to facilitate this.

    import {Organization, Thing, WithContext} from 'schema-dts';
    
    export function JsonLd<T extends Thing>(json: WithContext<T>): string {
      return `<script type="application/ld+json">
    ${JSON.stringify(json)}
    </script>`;
    }
    
    export const MY_ORG = JsonLd<Organization>({
      '@context': 'https://schema.org',
      '@type': 'Corporation',
      name: 'Google LLC',
    });

    Install

    npm i schema-dts

    DownloadsWeekly Downloads

    111,104

    Version

    0.8.3

    License

    Apache-2.0

    Unpacked Size

    786 kB

    Total Files

    5

    Last publish

    Collaborators

    • avatar