New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@unhead/schema-org

Package Overview
Dependencies
Maintainers
1
Versions
158
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@unhead/schema-org - npm Package Compare versions

Comparing version 0.6.0 to 1.3.8

dist/SchemaOrgUnheadPlugin-dd5249a4.d.ts

1529

dist/index.d.ts

@@ -1,1525 +0,6 @@

type ItemAvailability = 'BackOrder' | 'Discontinued' | 'InStock' | 'InStoreOnly' | 'LimitedAvailability' | 'OnlineOnly' | 'OutOfStock' | 'PreOrder' | 'PreSale' | 'SoldOut';
interface OfferSimple extends Thing {
'@type'?: 'Offer';
/**
* A schema.org URL representing a schema itemAvailability value (e.g., https://schema.org/OutOfStock).
*/
availability?: OptionalSchemaOrgPrefix<ItemAvailability>;
/**
* The price, omitting any currency symbols, and using '.' to indicate a decimal place.
*/
price: number | string;
/**
* The currency used to describe the product price, in three-letter ISO 4217 format.
*/
priceCurrency?: string;
/**
* @todo A PriceSpecification object, including a valueAddedTaxIncluded property (of either true or false).
*/
priceSpecification?: unknown;
/**
* The date after which the price is no longer available.
*/
priceValidUntil?: ResolvableDate;
url?: string;
}
interface Offer extends OfferSimple {
}
declare const offerResolver: SchemaOrgNodeDefinition<Offer>;
import { T as Thing, S as SchemaOrgNodeDefinition, a as SchemaOrgNode, M as MetaInput, R as ResolvedMeta, b as SchemaOrgGraph, A as Arrayable, P as PostalAddress, c as AggregateOffer, d as AggregateRating, e as Article, B as BreadcrumbList, C as Comment, E as Event, V as VirtualLocation, f as Place, H as HowTo, g as HowToStep, I as ImageObject, J as JobPosting, L as LocalBusiness, O as Offer, h as OpeningHoursSpecification, i as Organization, j as Person, k as Product, Q as Question, l as Recipe, m as Review, n as VideoObject, W as WebPage, o as WebSite, p as Book, q as Course, r as ItemList, s as ListItem, t as Movie, u as SearchAction, v as ReadAction, w as SoftwareApp, x as BookEdition } from './SchemaOrgUnheadPlugin-dd5249a4.js';
export { z as AggregateOfferSimple, F as AggregateRatingSimple, K as ArticleSimple, Y as BookEditionSimple, X as BookSimple, a0 as BreadcrumbSimple, a3 as CommentSimple, a5 as CourseSimple, a7 as EventSimple, aj as HowToDirection, af as HowToId, ae as HowToSimple, ah as HowToStepSimple, bg as Id, bf as IdReference, ba as Identity, an as ImageSimple, al as ItemListSimple, ap as JobPostingSimple, ar as ListItemSimple, at as LocalBusinessSimple, av as MovieSimple, b8 as NodeRelation, b9 as NodeRelations, aQ as NutritionInformation, ax as OfferSimple, az as OpeningHoursSimple, bc as OptionalSchemaOrgPrefix, aB as OrganizationSimple, aD as PersonSimple, ac as PlaceSimple, aF as PostalAddressSimple, N as PrimaryArticleId, _ as PrimaryBookId, a1 as PrimaryBreadcrumbId, a8 as PrimaryEventId, a_ as PrimaryWebPageId, b3 as PrimaryWebSiteId, aI as ProductId, aH as ProductSimple, aK as QuestionSimple, aN as Rating, aM as RatingSimple, b0 as ReadActionInput, aR as RecipeId, aP as RecipeSimple, bb as ResolvableDate, aV as ReviewSimple, b7 as SchemaOrgUnheadPlugin, b5 as SearchActionInput, aT as SoftwareAppSimple, bd as UserConfig, aX as VideoSimple, aa as VirtualLocationSimple, aZ as WebPageSimple, b2 as WebSiteSimple, be as WithResolver, aG as addressResolver, D as aggregateOfferResolver, G as aggregateRatingResolver, U as articleResolver, Z as bookEditionResolver, $ as bookResolver, a2 as breadcrumbResolver, a4 as commentResolver, a6 as courseResolver, y as createSchemaOrgGraph, a9 as eventResolver, ag as howToResolver, ak as howToStepDirectionResolver, ai as howToStepResolver, ao as imageResolver, am as itemListResolver, aq as jobPostingResolver, as as listItemResolver, au as localBusinessResolver, aw as movieResolver, ay as offerResolver, aA as openingHoursResolver, aC as organizationResolver, aE as personResolver, ad as placeResolver, aJ as productResolver, aL as questionResolver, aO as ratingResolver, b1 as readActionResolver, aS as recipeResolver, aW as reviewResolver, b6 as searchActionResolver, aU as softwareAppResolver, aY as videoResolver, ab as virtualLocationResolver, a$ as webPageResolver, b4 as webSiteResolver } from './SchemaOrgUnheadPlugin-dd5249a4.js';
interface AggregateOfferSimple extends Thing {
/**
* The lowest price of the group, omitting any currency symbols, and using '.' to indicate a decimal place.
*/
lowPrice: number | string;
/**
* The highest price of the group, omitting any currency symbols, and using '.' to indicate a decimal place.
*/
highPrice: number | string;
/**
* The currency used to describe the product price, in a three-letter ISO 4217 format.
*/
priceCurrency?: string;
/**
* The number of offers in the group
*/
offerCount?: number | string;
/**
* An array of Offer pieces, referenced by ID.
*/
offers?: NodeRelations<Offer>;
}
interface AggregateOffer extends AggregateOfferSimple {
}
declare const aggregateOfferResolver: SchemaOrgNodeDefinition<AggregateOffer>;
interface AggregateRatingSimple extends Thing {
'@type'?: 'AggregateRating';
/**
* The total number of ratings for the item on your site. At least one of ratingCount or reviewCount is required.
*/
ratingCount?: number | string;
/**
* Specifies the number of people who provided a review with or without an accompanying rating. At least one of ratingCount or reviewCount is required.
*/
reviewCount?: number | string;
/**
* A numerical quality rating for the item, either a number, fraction, or percentage
* (for example, "4", "60%", or "6 / 10").
* Google understands the scale for fractions and percentages,
* since the scale is implied in the fraction itself or the percentage.
* The default scale for numbers is a 5-point scale, where 1 is the lowest value and 5 is the highest value.
* If another scale is intended, use bestRating and worstRating.
*/
ratingValue: number | string;
/**
* The highest value allowed in this rating system. If bestRating is omitted, 5 is assumed.
*/
bestRating?: number | string;
/**
* The lowest value allowed in this rating system. If worstRating is omitted, 1 is assumed.
*/
worstRating?: number | string;
}
interface AggregateRating extends AggregateRatingSimple {
}
declare const aggregateRatingResolver: SchemaOrgNodeDefinition<AggregateRating>;
interface ImageSimple extends Thing {
/**
* The URL of the image file (e.g., /images/cat.jpg).
*/
url: string;
/**
* The fully-qualified, absolute URL of the image file (e.g., https://www.example.com/images/cat.jpg).
* Note: The contentUrl and url properties are intentionally duplicated.
*/
contentUrl?: string;
/**
* A text string describing the image.
* - Fall back to the image alt attribute if no specific caption field exists or is defined.
*/
caption?: string;
/**
* The height of the image in pixels.
* - Must be used with width.
*/
height?: number;
/**
* The width of the image in pixels.
* - Must be used with height.
*/
width?: number;
/**
* The language code for the textual content; e.g., en-GB.
* - Only needed when providing a caption.
*/
inLanguage?: string;
}
interface ImageObject extends ImageSimple {
}
/**
* Describes an individual image (usually in the context of an embedded media object).
*/
declare const imageResolver: SchemaOrgNodeDefinition<ImageObject>;
interface VideoSimple extends Thing {
/**
* The title of the video.
*/
name?: string;
/**
* A description of the video (falling back to the caption, then to 'No description').
*/
description?: string;
/**
* A reference-by-ID to an imageObject.
*/
thumbnailUrl?: NodeRelation<ImageObject>;
/**
* The date the video was published, in ISO 8601 format (e.g., 2020-01-20).
*/
uploadDate?: ResolvableDate;
/**
* Whether the video should be considered 'family friendly'
*/
isFamilyFriendly?: boolean;
/**
* The URL of the image file (e.g., /images/cat.jpg).
*/
url: string;
/**
* The fully-qualified, absolute URL of the image file (e.g., https://www.example.com/images/cat.jpg).
* Note: The contentUrl and url properties are intentionally duplicated.
*/
contentUrl?: string;
/**
* A text string describing the image.
* - Fall back to the image alt attribute if no specific caption field exists or is defined.
*/
caption?: string;
/**
* The height of the image in pixels.
* - Must be used with width.
*/
height?: number;
/**
* The width of the image in pixels.
* - Must be used with height.
*/
width?: number;
/**
* The language code for the textual content; e.g., en-GB.
* - Only needed when providing a caption.
*/
inLanguage?: string;
/**
* The duration of the video in ISO 8601 format.
*/
duration?: string;
/**
* A URL pointing to a player for the video.
*/
embedUrl?: string;
}
interface VideoObject extends VideoSimple {
}
/**
* Describes an individual video (usually in the context of an embedded media object).
*/
declare const videoResolver: SchemaOrgNodeDefinition<VideoObject>;
type ValidArticleSubTypes = 'Article' | 'BlogPosting' | 'AdvertiserContentArticle' | 'NewsArticle' | 'Report' | 'SatiricalArticle' | 'ScholarlyArticle' | 'SocialMediaPosting' | 'TechArticle';
interface ArticleSimple extends Thing {
['@type']?: Arrayable<ValidArticleSubTypes>;
/**
* The headline of the article (falling back to the title of the WebPage).
* Headlines should not exceed 110 characters.
*/
headline?: string;
/**
* A summary of the article (falling back to the page's meta description content).
*/
description?: string;
/**
* A reference-by-ID to the WebPage node.
*/
isPartOf?: IdReference;
/**
* The time at which the article was originally published, in ISO 8601 format; e.g., 2015-10-31T16:10:29+00:00.
*/
datePublished?: ResolvableDate;
/**
* The time at which the article was last modified, in ISO 8601 format; e.g., 2015-10-31T16:10:29+00:00.
*/
dateModified?: ResolvableDate;
/**
* A reference-by-ID to the author of the article.
*/
author?: NodeRelations<Identity>;
/**
* A reference-by-ID to the publisher of the article.
*/
publisher?: NodeRelations<Identity>;
/**
* An array of all videos in the article content, referenced by ID.
*/
video?: NodeRelations<VideoObject>;
/**
* An image object or referenced by ID.
* - Must be at least 696 pixels wide.
* - Must be of the following formats+file extensions: .jpg, .png, .gif ,or .webp.
*
* Must have markup of it somewhere on the page.
*/
image?: NodeRelations<ImageObject | string>;
/**
* An array of references by ID to comment pieces.
*/
comment?: NodeRelations<Comment>;
/**
* A thumbnail image relevant to the Article.
*/
thumbnailUrl?: string;
/**
* An integer value of the number of comments associated with the article.
*/
commentCount?: number;
/**
* An integer value of the number of words in the article.
*/
wordCount?: number;
/**
* An array of keywords which the article has (e.g., ["cats","dogs","cake"]).
*/
keywords?: string[];
/**
* An array of category names which the article belongs to (e.g., ["cats","dogs","cake"]).
*/
articleSection?: string[];
/**
* The language code for the article; e.g., en-GB.
*/
inLanguage?: string;
/**
* A SpeakableSpecification object which identifies any content elements suitable for spoken results.
*/
speakable?: unknown;
/**
* The year from which the article holds copyright status.
*/
copyrightYear?: string;
/**
* A reference-by-ID to the Organization or Person who holds the copyright.
*/
copyrightHolder?: NodeRelations<Identity>;
}
interface Article extends ArticleSimple {
}
declare const PrimaryArticleId = "#article";
/**
* Describes an Article on a WebPage.
*/
declare const articleResolver: SchemaOrgNodeDefinition<Article>;
type SearchTarget = string | `${string}{search_term_string}${string | undefined}`;
interface SearchActionInput {
/**
* An object of type EntryPoint, with a relative URL which describes the URL pattern of the internal search function
* (e.g., /search?query={search_term_string}).
*/
target?: SearchTarget;
/**
* Alias: The search term string as described in the target (e.g., search_term_string).
* @default search_term_string
*/
queryInput?: string;
}
interface SearchAction {
'@type'?: 'SearchAction';
/**
* An object of type EntryPoint, with a relative URL which describes the URL pattern of the internal search function
* (e.g., /search?query={search_term_string}).
*/
target: SearchTarget | {
'@type'?: 'EntryPoint';
'urlTemplate'?: SearchTarget;
};
/**
* The search term string as described in the target (e.g., search_term_string).
*/
'query-input'?: {
'@type'?: 'PropertyValueSpecification';
'valueRequired'?: boolean;
'valueName'?: 'search_term_string';
};
}
declare const searchActionResolver: SchemaOrgNodeDefinition<SearchAction>;
/**
* A WebSite is a set of related web pages and other items typically served from a single web domain and accessible via URLs.
*/
interface WebSiteSimple extends Thing {
/**
* The site's home URL (excluding a trailing slash).
*/
url?: string;
/**
* The name of the website.
*/
name: string;
/**
* A description of the website (e.g., the site's tagline).
*/
description?: string;
/**
* A reference-by-ID to the Organization which publishes the WebSite
* (or an array of Organization and Person in the case that the website represents an individual).
*/
publisher?: NodeRelations<Identity>;
/**
* A SearchAction object describing the site's internal search.
*/
potentialAction?: Arrayable<(SearchAction | unknown)>;
/**
* The language code for the WebSite; e.g., en-GB.
* If the website is available in multiple languages, then output an array of inLanguage values.
*/
inLanguage?: Arrayable<string>;
}
interface WebSite extends WebSiteSimple {
}
declare const PrimaryWebSiteId = "#website";
declare const webSiteResolver: SchemaOrgNodeDefinition<WebSite>;
interface PostalAddressSimple extends Thing {
/**
* The building number and street (e.g., 123 fake road ).
*/
streetAddress: string;
/**
* The postal code.
*/
postalCode: string;
/**
* The two-digit country-code representing the country (e.g., US ).
*/
addressCountry: string;
/**
* The town, city or equivalent.
*/
addressLocality?: string;
/**
* The region or district.
*/
addressRegion?: string;
/**
* A PO box number.
*/
postOfficeBoxNumber?: string;
}
interface PostalAddress extends PostalAddressSimple {
}
declare const addressResolver: SchemaOrgNodeDefinition<PostalAddress>;
/**
* An organization such as a school, NGO, corporation, club, etc.
*/
interface OrganizationSimple extends Thing {
/**
* A reference-by-ID to an image of the organization's logo.
*
* - The image must be 112x112px, at a minimum.
* - Make sure the image looks how you intend it to look on a purely white background
* (for example, if the logo is mostly white or gray,
* it may not look how you want it to look when displayed on a white background).
*/
logo?: NodeRelation<ImageObject | string>;
/**
* The site's home URL.
*/
url?: string;
/**
* The name of the Organization.
*/
name: string;
/**
* An array of URLs representing declared social/authoritative profiles of the organization
* (e.g., a Wikipedia page, or Facebook profile).
*/
sameAs?: Arrayable<string>;
/**
* An array of images which represent the organization (including the logo ), referenced by ID.
*/
image?: NodeRelations<ImageObject | string>;
/**
* A reference-by-ID to an PostalAddress piece.
*/
address?: NodeRelations<PostalAddress>;
}
interface Organization extends OrganizationSimple {
}
/**
* Describes an organization (a company, business or institution).
* Most commonly used to identify the publisher of a WebSite.
*
* May be transformed into a more specific type
* (such as Corporation or LocalBusiness) if the required conditions are met.
*/
declare const organizationResolver: SchemaOrgNodeDefinition<Organization>;
/**
* A list item, e.g. a step in a checklist or how-to description.
*/
interface ListItemSimple extends Thing {
'@type'?: 'ListItem';
/**
* The name of the page in question, as it appears in the breadcrumb navigation.
*/
name?: string;
/**
* The unmodified canonical URL of the page in question.
* - If a relative path is provided, it will be resolved to absolute.
* - Item is not required for the last entry
*/
item?: string | Thing;
/**
* An integer (starting at 1), counting the 'depth' of the page from (including) the homepage.
*/
position?: number;
}
interface ListItem extends ListItemSimple {
}
declare const listItemResolver: SchemaOrgNodeDefinition<ListItem>;
interface ItemListSimple extends Thing {
/**
* Resolved item list
*/
itemListElement: NodeRelations<ListItem>;
/**
* Type of ordering (e.g. Ascending, Descending, Unordered).
*
* @default undefined
*/
itemListOrder?: 'Ascending' | 'Descending' | 'Unordered';
/**
* The number of items in an ItemList.
* Note that some descriptions might not fully describe all items in a list (e.g., multi-page pagination);
* in such cases, the numberOfItems would be for the entire list.
*
* @default undefined
*/
numberOfItems?: number;
}
interface ItemList extends ItemListSimple {
}
declare const itemListResolver: SchemaOrgNodeDefinition<ItemList>;
/**
* A BreadcrumbList is an ItemList consisting of a chain of linked Web pages,
* typically described using at least their URL and their name, and typically ending with the current page.
*/
interface BreadcrumbSimple extends ItemList {
'@type'?: 'BreadcrumbList';
}
interface BreadcrumbList extends BreadcrumbSimple {
}
declare const PrimaryBreadcrumbId = "#breadcrumb";
/**
* Describes the hierarchical position a WebPage within a WebSite.
*/
declare const breadcrumbResolver: SchemaOrgNodeDefinition<BreadcrumbList>;
/**
* A person (alive, dead, undead, or fictional).
*/
interface PersonSimple extends Thing {
/**
* The full name of the Person.
*/
name: string;
/**
* The user bio, truncated to 250 characters.
*/
description?: string;
/**
* An array of URLs representing declared social/authoritative profiles of the person
* (e.g., a Wikipedia page, or Facebook profile).
*/
sameAs?: Arrayable<string>;
/**
* An array of images which represent the person, referenced by ID.
*/
image?: NodeRelations<ImageObject | string>;
/**
* The URL of the users' profile page (if they're affiliated with the site in question),
* or to their personal homepage/website.
*/
url?: string;
}
interface Person extends PersonSimple {
}
/**
* Describes an individual person. Most commonly used to identify the author of a piece of content (such as an Article or Comment).
*/
declare const personResolver: SchemaOrgNodeDefinition<Person>;
interface ReadActionInput {
target?: string[];
}
interface ReadAction {
'@type'?: 'ReadAction';
/**
* An object of type EntryPoint, with a relative URL which describes the URL pattern of the internal search function
* (e.g., /search?query={search_term_string}).
*/
target: string[];
}
declare const readActionResolver: SchemaOrgNodeDefinition<ReadAction>;
type ValidSubTypes = 'WebPage' | 'AboutPage' | 'CheckoutPage' | 'CollectionPage' | 'ContactPage' | 'FAQPage' | 'ItemPage' | 'MedicalWebPage' | 'ProfilePage' | 'QAPage' | 'RealEstateListing' | 'SearchResultsPage';
/**
* A web page.
* Every web page is implicitly assumed to be declared to be of type WebPage,
* so the various properties about that webpage, such as breadcrumb may be used.
*/
interface WebPageSimple extends Thing {
['@type']?: Arrayable<ValidSubTypes>;
/**
* The unmodified canonical URL of the page.
*/
url?: string;
/**
* The title of the page.
*/
name?: string;
/**
* The page's meta description content.
*/
description?: string;
/**
* A reference-by-ID to the WebSite node.
*/
isPartOf?: NodeRelation<WebSite>;
/**
* A reference-by-ID to the Organisation node.
* Note: Only for the home page.
*/
about?: NodeRelation<Organization>;
/**
* A reference-by-ID to the author of the web page.
*/
author?: NodeRelation<Person | string>;
/**
* The language code for the page; e.g., en-GB.
*/
inLanguage?: Arrayable<string>;
/**
* The time at which the page was originally published, in ISO 8601 format; e.g., 2015-10-31T16:10:29+00:00.
*/
datePublished?: ResolvableDate;
/**
* The time at which the page was last modified, in ISO 8601 format; e.g., 2015-10-31T16:10:29+00:00.
*/
dateModified?: ResolvableDate;
/**
* A reference-by-ID to a node representing the page's featured image.
*/
primaryImageOfPage?: NodeRelation<ImageObject | string>;
/**
* A reference-by-ID to a node representing the page's breadrumb structure.
*/
breadcrumb?: NodeRelation<BreadcrumbList>;
/**
* An array of all videos in the page content, referenced by ID.
*/
video?: NodeRelations<VideoObject>;
/**
* A SpeakableSpecification object which identifies any content elements suitable for spoken results.
*/
speakable?: unknown;
/**
* Potential actions for this web page.
*
* Note it's on by default for most page types.
*/
potentialAction?: Arrayable<(ReadAction | unknown)>;
}
interface WebPage extends WebPageSimple {
}
declare const PrimaryWebPageId = "#webpage";
declare const webPageResolver: SchemaOrgNodeDefinition<WebPage>;
interface BookSimple extends Thing {
/**
* The title of the book.
*/
name: string;
/**
* A description of the course. Display limit of 60 characters.
*/
description?: string;
/**
* A reference to an Organization piece, representing brand associated with the Product.
*/
author?: NodeRelation<Identity>;
/**
* The URL on your website where the book is introduced or described.
*/
url?: string;
/**
* The URL of a reference page that identifies the work. For example, a Wikipedia, Wikidata, VIAF, or Library of Congress page for the book.
*/
sameAs?: Arrayable<string>;
/**
* The edition(s) of the work.
*/
workExample: NodeRelations<BookEdition>;
}
interface Book extends BookSimple {
}
type BookFormat = OptionalSchemaOrgPrefix<'AudiobookFormat'> | OptionalSchemaOrgPrefix<'EBook'> | OptionalSchemaOrgPrefix<'Hardcover'> | OptionalSchemaOrgPrefix<'Paperback'>;
interface BookEditionSimple extends Thing {
/**
* The title of the edition. Only use this when the title of the edition is different from the title of the work.
*/
name?: string;
/**
* The format of the edition.
*/
bookFormat: BookFormat;
/**
* The main language of the content in the edition. Use one of the two-letter codes from the list of ISO 639-1 alpha-2 codes.
*/
inLanguage?: string;
/**
* The ISBN-13 of the edition. If you have ISBN-10, convert it into ISBN-13.
*/
isbn: string;
/**
* The action to be triggered for users to purchase or download the book.
*/
potentialAction?: Arrayable<ReadAction | any>;
/**
* The author(s) of the edition.
*/
author?: NodeRelations<Identity>;
/**
* The edition information of the book. For example, 2nd Edition.
*/
bookEdition?: string;
/**
* The date of publication of the edition in YYYY-MM-DD or YYYY format. This can be either a specific date or only a specific year.
*/
datePublished?: ResolvableDate;
/**
* The external or other ID that unambiguously identifies this edition. Multiple identifiers are allowed. For more details, refer to PropertyValue (identifier).
*/
identifier?: unknown;
/**
* The URL of a reference web page that unambiguously indicates the edition. For example, a Wikipedia page for this specific edition. Don't reuse the sameAs of the Work.
*/
sameAs?: Arrayable<string>;
/**
* The URL on your website where the edition is introduced or described. It can be the same as workExample.target.urlTemplate.
*/
url?: string;
}
interface BookEdition extends BookEditionSimple {
}
declare const bookEditionResolver: SchemaOrgNodeDefinition<BookEdition>;
declare const PrimaryBookId = "#book";
declare const bookResolver: SchemaOrgNodeDefinition<Book>;
interface CommentSimple extends Thing {
/**
* The textual content of the comment, stripping HTML tags.
*/
text: string;
/**
* A reference by ID to the parent Article (or WebPage, when no Article is present).
*/
about?: IdReference;
/**
* A reference by ID to the Person who wrote the comment.
*/
author: NodeRelation<Person>;
}
interface Comment$1 extends CommentSimple {
}
/**
* Describes a review. Usually in the context of an Article or a WebPage.
*/
declare const commentResolver: SchemaOrgNodeDefinition<Comment$1>;
/**
* Any offered product or service.
* For example: a pair of shoes; a concert ticket; the rental of a car;
* a haircut; or an episode of a TV show streamed online.
*/
interface CourseSimple extends Thing {
/**
* The title of the course.
*/
name: string;
/**
* A description of the course. Display limit of 60 characters.
*/
description?: string;
/**
* A reference to an Organization piece, representing brand associated with the Product.
*/
provider?: NodeRelation<Organization>;
}
interface Course extends CourseSimple {
}
declare const courseResolver: SchemaOrgNodeDefinition<Course>;
interface PlaceSimple extends Thing {
'@type'?: 'Place';
name: string;
address: NodeRelation<PostalAddress | string>;
latitude?: number | string;
longitude?: number | string;
}
interface Place extends PlaceSimple {
}
/**
* Describes a HowTo guide, which contains a series of steps.
*/
declare const placeResolver: SchemaOrgNodeDefinition<Place>;
interface VirtualLocationSimple extends Thing {
'@type'?: 'VirtualLocation';
url: string;
}
interface VirtualLocation extends VirtualLocationSimple {
}
/**
* Describes a HowTo guide, which contains a series of steps.
*/
declare const virtualLocationResolver: SchemaOrgNodeDefinition<VirtualLocation>;
type EventAttendanceModeTypes = 'OfflineEventAttendanceMode' | 'OnlineEventAttendanceMode' | 'MixedEventAttendanceMode';
type EventStatusTypes = 'EventCancelled' | 'EventMovedOnline' | 'EventPostponed' | 'EventRescheduled' | 'EventScheduled';
interface EventSimple extends Thing {
/**
* Description of the event.
* Describe all details of the event to make it easier for users to understand and attend the event.
*/
description?: string;
/**
* The end date and time of the item (in ISO 8601 date format).
*/
endDate?: ResolvableDate;
/**
* The eventAttendanceMode of an event indicates whether it occurs online, offline, or a mix.
*/
eventAttendanceMode?: OptionalSchemaOrgPrefix<EventAttendanceModeTypes>;
/**
* An eventStatus of an event represents its status; particularly useful when an event is cancelled or rescheduled.
*/
eventStatus?: OptionalSchemaOrgPrefix<EventStatusTypes>;
/**
* Repeated ImageObject or URL
*
* URL of an image or logo for the event or tour.
* Including an image helps users understand and engage with your event.
* We recommend that images are 1920px wide (the minimum width is 720px).
*/
image?: NodeRelations<ImageObject | string>;
/**
* The location of the event.
* There are different requirements depending on if the event is happening online or at a physical location
*/
location?: NodeRelations<Place | VirtualLocation | string>;
/**
* An offer to provide this item—for example, an offer to sell a product,
* rent the DVD of a movie, perform a service, or give away tickets to an event.
* Use businessFunction to indicate the kind of transaction offered, i.e. sell, lease, etc.
* This property can also be used to describe a Demand.
* While this property is listed as expected on a number of common types, it can be used in others.
* In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer.
*/
offers?: NodeRelations<Offer | string>;
/**
* An organizer of an Event.
*/
organizer?: NodeRelation<Identity>;
/**
* A performer at the event—for example, a presenter, musician, musical group or actor.
*/
performer?: NodeRelation<Person>;
/**
* Used in conjunction with eventStatus for rescheduled or cancelled events.
* This property contains the previously scheduled start date.
* For rescheduled events, the startDate property should be used for the newly scheduled start date.
* In the (rare) case of an event that has been postponed and rescheduled multiple times, this field may be repeated.
*/
previousStartDate?: ResolvableDate;
/**
* The start date and time of the item (in ISO 8601 date format).
*/
startDate?: ResolvableDate;
}
interface Event extends EventSimple {
}
declare const PrimaryEventId = "#event";
/**
* Describes an Article on a WebPage.
*/
declare const eventResolver: SchemaOrgNodeDefinition<Event>;
interface HowToDirection extends Thing {
/**
* The text of the direction or tip.
*/
text: string;
}
/**
* Describes a HowTo guide, which contains a series of steps.
*/
declare const howToStepDirectionResolver: SchemaOrgNodeDefinition<HowToDirection>;
interface HowToStepSimple extends Thing {
/**
* A link to a fragment identifier (an 'ID anchor') of the individual step
* (e.g., https://www.example.com/example-page/#recipe-step-5).
*/
url?: string;
/**
* The instruction string
* ("e.g., "Bake at 200*C for 40 minutes, or until golden-brown, stirring periodically throughout").
*/
text: string;
/**
* The word or short phrase summarizing the step (for example, "Attach wires to post" or "Dig").
* Don't use non-descriptive text (for example, "Step 1: [text]") or other form of step number (for example, "1. [text]").
*/
name?: string;
/**
* An image representing the step, referenced by ID.
*/
image?: NodeRelations<ImageObject | string>;
/**
* A video for this step or a clip of the video.
*/
video?: NodeRelations<VideoObject | string>;
/**
* A list of detailed substeps, including directions or tips.
*/
itemListElement?: NodeRelations<HowToDirection | string>[];
}
interface HowToStep extends HowToStepSimple {
}
/**
* Describes a HowTo guide, which contains a series of steps.
*/
declare const howToStepResolver: SchemaOrgNodeDefinition<HowToStep>;
/**
* Instructions that explain how to achieve a result by performing a sequence of steps.
*/
interface HowToSimple extends Thing {
/**
* A string describing the guide.
*/
name: string;
/**
* An array of howToStep objects
*/
step: NodeRelations<HowToStep | string>[];
/**
* The total time required to perform all instructions or directions (including time to prepare the supplies),
* in ISO 8601 duration format.
*/
totalTime?: string;
/**
* Introduction or description content relating to the HowTo guide.
*/
description?: string;
/**
* The language code for the guide; e.g., en-GB.
*/
inLanguage?: string;
/**
* The estimated cost of the supplies consumed when performing instructions.
*/
estimatedCost?: string | unknown;
/**
* Image of the completed how-to.
*/
image?: NodeRelations<ImageObject | string>;
/**
* A supply consumed when performing instructions or a direction.
*/
supply?: string | unknown;
/**
* An object used (but not consumed) when performing instructions or a direction.
*/
tool?: string | unknown;
/**
* A video of the how-to. Follow the list of required and recommended Video properties.
* Mark steps of the video with hasPart.
*/
video?: NodeRelations<VideoObject | string>;
}
interface HowTo extends HowToSimple {
}
declare const HowToId = "#howto";
/**
* Describes a HowTo guide, which contains a series of steps.
*/
declare const howToResolver: SchemaOrgNodeDefinition<HowTo>;
interface MonetaryAmountSimple extends Thing {
/**
* The currency in which the monetary amount is expressed.
*/
currency: string;
/**
* The value of the quantitative value or property value node.
*/
value: QuantitativeValue;
}
interface MonetaryAmount extends MonetaryAmountSimple {
}
interface QuantitativeSimple extends Thing {
value?: number;
minValue?: number;
maxValue?: number;
unitText: 'HOUR' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR';
}
interface QuantitativeValue extends QuantitativeSimple {
}
interface JobPostingSimple extends Thing {
/**
* The original date that employer posted the job in ISO 8601 format.
* For example, "2017-01-24" or "2017-01-24T19:33:17+00:00".
*/
datePosted: ResolvableDate;
/**
* The full description of the job in HTML format.
*
* The description must be a complete representation of the job, including job responsibilities, qualifications,
* skills, working hours, education requirements, and experience requirements. The description can't be the same as
* the title
*/
description: string;
/**
* The organization offering the job position. This must be the name of the company (for example, "Starbucks, Inc"),
* and not the specific location that is hiring (for example, "Starbucks on Main Street").
*/
hiringOrganization: NodeRelation<Organization>;
/**
* The physical location(s) of the business where the employee will report to work (such as an office or worksite),
* not the location where the job was posted. Include as many properties as possible. The more properties you provide,
* the higher quality the job posting is to our users. Note that you must include the addressCountry property.
*/
jobLocation: NodeRelation<Place>;
/**
* The title of the job (not the title of the posting). For example, "Software Engineer" or "Barista"
*/
title: string;
/**
* The actual base salary for the job, as provided by the employer (not an estimate).
*/
baseSalary?: MonetaryAmount;
/**
* Type of employment
*/
employmentType?: EmploymentType | EmploymentType[];
/**
* The date when the job posting will expire in ISO 8601 format. For example, "2017-02-24"
* or "2017-02-24T19:33:17+00:00".
*/
validThrough?: ResolvableDate;
/**
* A description of the job location (e.g. TELECOMMUTE for telecommute jobs).
*/
jobLocationType?: 'TELECOMMUTE';
/**
* Indicates whether the URL that's associated with this job posting enables direct application for the job.
*/
directApply?: boolean;
}
interface JobPosting extends JobPostingSimple {
}
declare const jobPostingResolver: SchemaOrgNodeDefinition<JobPosting>;
type EmploymentType = 'FULL_TIME' | 'PART_TIME' | 'CONTRACTOR' | 'TEMPORARY' | 'INTERN' | 'VOLUNTEER' | 'PER_DIEM' | 'OTHER';
type DayOfWeek = 'Friday' | 'Monday' | 'PublicHolidays' | 'Saturday' | 'Sunday' | 'Thursday' | 'Tuesday' | 'Wednesday';
type Time = `${number}${number}:${number}${number}`;
interface OpeningHoursSimple extends Thing {
'@type'?: 'OpeningHoursSpecification';
/**
* The day of the week for which these opening hours are valid.
*/
dayOfWeek: Arrayable<DayOfWeek>;
/**
* The opening hour of the place or service on the given day(s) of the week.
*/
opens?: Time;
/**
* The closing hour of the place or service on the given day(s) of the week.
*/
closes?: Time;
/**
* The date when the item becomes valid.
*/
validFrom?: ResolvableDate;
/**
* The date after when the item is not valid. For example, the end of an offer, salary period, or a period of opening hours.
*/
validThrough?: ResolvableDate;
}
interface OpeningHoursSpecification extends OpeningHoursSimple {
}
declare const openingHoursResolver: SchemaOrgNodeDefinition<OpeningHoursSpecification>;
type ValidLocalBusinessSubTypes = 'AnimalShelter' | 'ArchiveOrganization' | 'AutomotiveBusiness' | 'ChildCare' | 'Dentist' | 'DryCleaningOrLaundry' | 'EmergencyService' | 'EmploymentAgency' | 'EntertainmentBusiness' | 'FinancialService' | 'FoodEstablishment' | 'GovernmentOffice' | 'HealthAndBeautyBusiness' | 'HomeAndConstructionBusiness' | 'InternetCafe' | 'LegalService' | 'Library' | 'LodgingBusiness' | 'MedicalBusiness' | 'ProfessionalService' | 'RadioStation' | 'RealEstateAgent' | 'RecyclingCenter' | 'SelfStorage' | 'ShoppingCenter' | 'SportsActivityLocation' | 'Store' | 'TelevisionStation' | 'TouristInformationCenter' | 'TravelAgency';
interface LocalBusinessSimple extends Organization {
'@type'?: ['Organization', 'LocalBusiness'] | ['Organization', 'LocalBusiness', ValidLocalBusinessSubTypes] | ValidLocalBusinessSubTypes;
/**
* The primary public telephone number of the business.
*/
telephone?: string;
/**
* The primary public email address of the business.
*/
email?: string;
/**
* The primary public fax number of the business.
*/
faxNumber?: string;
/**
* The price range of the business, represented by a string of dollar symbols (e.g., $, $$, or $$$ ).
*/
priceRange?: string;
/**
* An array of GeoShape, Place or string definitions.
*/
areaServed?: unknown;
/**
* A GeoCoordinates object.
*/
geo?: unknown;
/**
* The VAT ID of the business.
*/
vatID?: string;
/**
* The tax ID of the business.
*/
taxID?: string;
/**
* The currency accepted.
*/
currenciesAccepted?: string;
/**
* The operating hours of the business.
*/
openingHoursSpecification?: NodeRelations<OpeningHoursSpecification>;
}
interface LocalBusiness extends LocalBusinessSimple {
}
/**
* Describes a business which allows public visitation.
* Typically, used to represent the business 'behind' the website, or on a page about a specific business.
*/
declare const localBusinessResolver: SchemaOrgNodeDefinition<LocalBusiness>;
interface RatingSimple extends Thing {
'@type'?: 'Rating';
/**
* A numerical quality rating for the item, either a number, fraction, or percentage
* (for example, "4", "60%", or "6 / 10").
* Google understands the scale for fractions and percentages,
* since the scale is implied in the fraction itself or the percentage.
* The default scale for numbers is a 5-point scale, where 1 is the lowest value and 5 is the highest value.
* If another scale is intended, use bestRating and worstRating.
*/
ratingValue: number | string;
/**
* The highest value allowed in this rating system. If bestRating is omitted, 5 is assumed.
*/
bestRating?: number;
/**
* The lowest value allowed in this rating system. If worstRating is omitted, 1 is assumed.
*/
worstRating?: number;
}
interface Rating extends RatingSimple {
}
declare const ratingResolver: SchemaOrgNodeDefinition<Rating>;
interface ReviewSimple extends Thing {
/**
* A title for the review.
*/
name?: string;
/**
* The author of the review.
*/
author: NodeRelation<Person | string>;
/**
* An answer object, with a text property which contains the answer to the question.
*/
reviewRating: NodeRelation<Rating | number>;
/**
* The language code for the question; e.g., en-GB.
*/
inLanguage?: string;
/**
* The date that the review was published, in ISO 8601 date format.
*/
datePublished?: ResolvableDate;
/**
* The text content of the review.
*/
reviewBody?: string;
}
interface Review extends ReviewSimple {
}
declare const reviewResolver: SchemaOrgNodeDefinition<Review>;
interface MovieSimple extends Thing {
/**
* An image that represents the movie.
*/
image: NodeRelations<string | ImageObject>;
/**
* The name of the movie.
*/
name: string;
/**
* Annotation for the average review score assigned to the movie.
*/
aggregateRating?: NodeRelation<AggregateRating>;
/**
* The date the movie was released.
*/
dateCreated?: ResolvableDate;
/**
* The director of the movie.
*/
director?: NodeRelations<Person | string>;
/**
* The director of the movie.
*/
actor?: NodeRelations<Person | string>;
/**
* A nested Review of the movie.
*/
review?: NodeRelations<Review>;
/**
* The trailer of a movie or TV/radio series, season, episode, etc.
*/
trailer?: NodeRelations<string | VideoObject>;
}
interface Movie extends MovieSimple {
}
declare const movieResolver: SchemaOrgNodeDefinition<Movie>;
/**
* Any offered product or service.
* For example: a pair of shoes; a concert ticket; the rental of a car;
* a haircut; or an episode of a TV show streamed online.
*/
interface ProductSimple extends Thing {
/**
* The name of the product.
*/
name: string;
/**
* A reference-by-ID to one or more imageObject's which represent the product.
* - Must be at least 696 pixels wide.
* - Must be of the following formats+file extensions: .jpg, .png, .gif ,or .webp.
*/
image: NodeRelations<ImageObject | string>;
/**
* An array of references-by-ID to one or more Offer or aggregateOffer pieces.
*/
offers?: NodeRelations<Offer | number>;
/**
* A reference to an Organization piece, representing brand associated with the Product.
*/
brand?: NodeRelation<Organization>;
/**
* A reference to an Organization piece which represents the WebSite.
*/
seller?: NodeRelation<Organization>;
/**
* A text description of the product.
*/
description?: string;
/**
* An array of references-by-id to one or more Review pieces.
*/
review?: NodeRelations<Review>;
/**
* A merchant-specific identifier for the Product.
*/
sku?: string;
/**
* An AggregateRating object.
*/
aggregateRating?: NodeRelation<AggregateRating>;
/**
* An AggregateOffer object.
*/
aggregateOffer?: NodeRelation<AggregateOffer>;
/**
* A reference to an Organization piece, representing the brand which produces the Product.
*/
manufacturer?: NodeRelation<Organization>;
}
interface Product extends ProductSimple {
}
declare const ProductId = "#product";
declare const productResolver: SchemaOrgNodeDefinition<Product>;
/**
* An answer offered to a question; perhaps correct, perhaps opinionated or wrong.
*/
interface AnswerSimple extends Thing {
text: string;
}
interface Answer extends AnswerSimple {
}
/**
* A specific question - e.g. from a user seeking answers online, or collected in a Frequently Asked Questions (FAQ) document.
*/
interface QuestionSimple extends Thing {
/**
* The text content of the question.
*/
name: string;
/**
* An answer object, with a text property which contains the answer to the question.
*/
acceptedAnswer: NodeRelation<Answer | string>;
/**
* The language code for the question; e.g., en-GB.
*/
inLanguage?: string;
/**
* Alias for `name`
*/
question?: string;
/**
* Alias for `acceptedAnswer`
*/
answer?: string;
}
interface Question extends QuestionSimple {
}
/**
* Describes a Question. Most commonly used in FAQPage or QAPage content.
*/
declare const questionResolver: SchemaOrgNodeDefinition<Question>;
interface RecipeSimple extends Thing {
/**
* A string describing the recipe.
*/
name?: string;
/**
* An image representing the completed recipe, referenced by ID.
*/
image?: NodeRelation<ImageObject | string>;
/**
* An array of strings representing each ingredient and quantity (e.g., "3 apples").
*/
recipeIngredient: string[];
/**
* An array of HowToStep objects.
*/
recipeInstructions: NodeRelations<HowToStep | string>;
/**
* A string describing the recipe.
*/
description?: string;
/**
* The cooking time in ISO 8601 format.
*/
cookTime?: string;
/**
* The time required to prepare the recipe.
*/
prepTime?: string;
/**
* A NutritionInformation node, with a calories property which defines a calorie count as a string (e.g., "270 calories").
*/
nutrition?: NutritionInformation;
/**
* The number of servings the recipe creates (not the number of individual items, if these are different), as a string
* (e.g., "6", rather than 6).
*/
recipeYield?: string;
/**
* An array of strings representing the tools required in the recipe.
*/
tools?: string[];
/**
* An array of keywords describing the recipe.
*/
keywords?: string[];
/**
* A string describing the cuisine type (e.g., "American" or "Spanish").
*/
recipeCuisine?: string;
/**
* The category of the recipe.
*/
recipeCategory?: 'Appetizer' | 'Breakfast' | 'Brunch' | 'Dessert' | 'Dinner' | 'Drink' | 'Lunch' | 'Main course' | 'Sauce' | 'Side dish' | 'Snack' | 'Starter';
/**
* A RestrictedDiet node, with a value (or array of values
*/
suitableForDiet?: Partial<'DiabeticDiet' | 'GlutenFreeDiet' | 'HalalDiet' | 'HinduDiet' | 'KosherDiet' | 'LowCalorieDiet' | 'LowFatDiet' | 'LowLactoseDiet' | 'LowSaltDiet' | 'VeganDiet' | 'VegetarianDiet'>[];
/**
* A reference to a video representing the recipe instructions, by ID.
*/
video?: NodeRelations<VideoObject | IdReference>;
/**
* The language code for the guide; e.g., en-GB.
*/
inLanguage?: string;
/**
* A reference-by-ID to the author of the article.
*/
author?: NodeRelation<Person>;
/**
* The date when the recipe was added, in ISO 8601 format.
*/
datePublished?: ResolvableDate;
}
interface Recipe extends RecipeSimple {
}
interface NutritionInformation extends Thing {
'@type': 'NutritionInformation';
/**
* A calorie count as a string (e.g., "270 calories").
*/
calories: string;
}
declare const RecipeId = "#recipe";
declare const recipeResolver: SchemaOrgNodeDefinition<Recipe>;
type ApplicationCategory = 'GameApplication' | 'SocialNetworkingApplication' | 'TravelApplication' | 'ShoppingApplication' | 'SportsApplication' | 'LifestyleApplication' | 'BusinessApplication' | 'DesignApplication' | 'DeveloperApplication' | 'DriverApplication' | 'EducationalApplication' | 'HealthApplication' | 'FinanceApplication' | 'SecurityApplication' | 'BrowserApplication' | 'CommunicationApplication' | 'DesktopEnhancementApplication' | 'EntertainmentApplication' | 'MultimediaApplication' | 'HomeApplication' | 'UtilitiesApplication' | 'ReferenceApplication';
interface SoftwareAppSimple extends Thing {
'@type'?: Arrayable<'SoftwareApplication' | 'MobileApplication' | 'VideoGame' | 'WebApplication'>;
/**
* The name of the app.
*/
name?: string;
/**
* An offer to sell the app.
* For developers, offers can indicate the marketplaces that carry the application.
* For marketplaces, use offers to indicate the price of the app for a specific app instance.
*/
offers: NodeRelations<Offer>;
/**
* The average review score of the app.
*/
aggregateRating?: NodeRelation<AggregateRating>;
/**
* A single review of the app.
*/
review?: NodeRelation<Review>;
/**
* The type of app (for example, BusinessApplication or GameApplication). The value must be a supported app type.
*/
applicationCategory?: ApplicationCategory;
/**
* The operating system(s) required to use the app (for example, Windows 7, OSX 10.6, Android 1.6)
*/
operatingSystem?: string;
}
interface SoftwareApp extends SoftwareAppSimple {
}
declare const softwareAppResolver: SchemaOrgNodeDefinition<SoftwareApp>;
type Arrayable<T> = T | Array<T>;
type NodeRelation<T> = T | IdReference;
type NodeRelations<T> = Arrayable<NodeRelation<T>>;
type Identity = Person | Organization;
type ResolvableDate = string | Date;
type OptionalSchemaOrgPrefix<T extends string> = T | `https://schema.org/${T}`;
interface ResolvedMeta {
host: string;
url: string;
currency?: string;
inLanguage?: string;
image?: string;
title?: string;
description?: string;
datePublished?: string;
dateModified?: string;
trailingSlash?: boolean;
}
interface MetaInput {
/**
* Whether to inject the scripts at the end of the body or in the head.
*/
tagPosition?: 'body' | 'head';
trailingSlash?: boolean;
host: string;
url?: string;
path?: string;
currency?: string;
image?: string;
inLanguage?: string;
title?: string;
description?: string;
datePublished?: Date | string;
dateModified?: Date | string;
/**
* @deprecated use tagPosition
*/
position?: 'body' | 'head';
/**
* @deprecated use `language`
*/
defaultLanguage?: string;
/**
* @deprecated use `currency`
*/
defaultCurrency?: string;
/**
* @deprecated use `host`
*/
canonicalHost?: string;
/**
* @deprecated use `url` or `path`
*/
canonicalUrl?: string;
/**
* @deprecated use root keys.
*/
meta?: MetaInput;
}
interface UserConfig extends MetaInput {
}
interface SchemaOrgNodeDefinition<ResolvedInput> {
alias?: string;
cast?: (node: any, ctx: SchemaOrgGraph) => ResolvedInput;
idPrefix?: 'host' | 'url' | ['host' | 'url', string];
inheritMeta?: (keyof ResolvedMeta | {
key: keyof ResolvedInput;
meta: keyof ResolvedMeta;
})[];
defaults?: Partial<ResolvedInput> | ((ctx: SchemaOrgGraph) => Partial<any>);
required?: (keyof ResolvedInput)[];
resolve?: (node: ResolvedInput, ctx: SchemaOrgGraph) => ResolvedInput;
resolveRootNode?: (node: ResolvedInput, ctx: SchemaOrgGraph) => void;
}
interface Thing {
'@type'?: Arrayable<string>;
'@id'?: Id;
/**
* A reference-by-ID to the WebPage node.
*/
mainEntityOfPage?: Arrayable<IdReference>;
/**
* A reference-by-ID to the WebPage node.
*/
mainEntity?: Arrayable<IdReference>;
/**
* An image object or referenced by ID.
* - Must be at least 696 pixels wide.
* - Must be of the following formats+file extensions: .jpg, .png, .gif ,or .webp.
*/
image?: NodeRelations<ImageObject | string>;
/**
* Allow any arbitrary keys
*/
[key: string]: any;
}
interface SchemaOrgNode extends Thing {
_resolver?: SchemaOrgNodeDefinition<any>;
}
type WithResolver<T> = T & {
_resolver?: SchemaOrgNodeDefinition<T>;
};
interface IdReference {
/** IRI identifying the canonical address of this object. */
'@id': string;
}
type Id = `#${string}` | `https://${string}#${string}`;
declare function defineSchemaOrgResolver<T extends Thing>(schema: SchemaOrgNodeDefinition<T>): SchemaOrgNodeDefinition<T>;
interface SchemaOrgGraph {
nodes: SchemaOrgNode[];
meta: ResolvedMeta;
push: <T extends Arrayable<Thing>>(node: T) => void;
resolveGraph: (meta: MetaInput) => SchemaOrgNode[];
find: <T extends Thing>(id: Id | string) => T | null;
}
declare function createSchemaOrgGraph(): SchemaOrgGraph;
/**

@@ -1553,4 +34,2 @@ * Dedupe, flatten and a collection of nodes. Will also sort node keys and remove meta keys.

declare function SchemaOrgUnheadPlugin(config: MetaInput, meta: () => Record<string, any>): any;
declare function defineAddress<T extends Record<string, any>>(input?: PostalAddress & T): PostalAddress & T;

@@ -1561,3 +40,3 @@ declare function defineAggregateOffer<T extends Record<string, any>>(input?: AggregateOffer & T): AggregateOffer & T;

declare function defineBreadcrumb<T extends Record<string, any>>(input?: BreadcrumbList & T): BreadcrumbList & T;
declare function defineComment<T extends Record<string, any>>(input?: Comment$1 & T): Comment$1 & T;
declare function defineComment<T extends Record<string, any>>(input?: Comment & T): Comment & T;
declare function defineEvent<T extends Record<string, any>>(input?: Event & T): Event & T;

@@ -1593,2 +72,2 @@ declare function defineVirtualLocation<T extends Record<string, any>>(input?: VirtualLocation & T): VirtualLocation & T;

export { AggregateOffer, AggregateOfferSimple, AggregateRating, AggregateRatingSimple, Arrayable, Article, ArticleSimple, Book, BookEdition, BookEditionSimple, BookSimple, BreadcrumbList, BreadcrumbSimple, Comment$1 as Comment, CommentSimple, Course, CourseSimple, Event, EventSimple, HowTo, HowToDirection, HowToId, HowToSimple, HowToStep, HowToStepSimple, Id, IdReference, Identity, ImageObject, ImageSimple, ItemList, ItemListSimple, JobPosting, JobPostingSimple, ListItem, ListItemSimple, LocalBusiness, LocalBusinessSimple, MetaInput, Movie, MovieSimple, NodeRelation, NodeRelations, NutritionInformation, Offer, OfferSimple, OpeningHoursSimple, OpeningHoursSpecification, OptionalSchemaOrgPrefix, Organization, OrganizationSimple, Person, PersonSimple, Place, PlaceSimple, PostalAddress, PostalAddressSimple, PrimaryArticleId, PrimaryBookId, PrimaryBreadcrumbId, PrimaryEventId, PrimaryWebPageId, PrimaryWebSiteId, Product, ProductId, ProductSimple, Question, QuestionSimple, Rating, RatingSimple, ReadAction, ReadActionInput, Recipe, RecipeId, RecipeSimple, ResolvableDate, ResolvedMeta, Review, ReviewSimple, SchemaOrgGraph, SchemaOrgNode, SchemaOrgNodeDefinition, SchemaOrgUnheadPlugin, SearchAction, SearchActionInput, SoftwareApp, SoftwareAppSimple, Thing, UserConfig, VideoObject, VideoSimple, VirtualLocation, VirtualLocationSimple, WebPage, WebPageSimple, WebSite, WebSiteSimple, WithResolver, addressResolver, aggregateOfferResolver, aggregateRatingResolver, articleResolver, bookEditionResolver, bookResolver, breadcrumbResolver, commentResolver, courseResolver, createSchemaOrgGraph, dedupeNodes, defineAddress, defineAggregateOffer, defineAggregateRating, defineArticle, defineBook, defineBookEdition, defineBreadcrumb, defineComment, defineCourse, defineEvent, defineHowTo, defineHowToStep, defineImage, defineItemList, defineJobPosting, defineListItem, defineLocalBusiness, defineMovie, defineOffer, defineOpeningHours, defineOrganization, definePerson, definePlace, defineProduct, defineQuestion, defineReadAction, defineRecipe, defineReview, defineSchemaOrgResolver, defineSearchAction, defineSoftwareApp, defineVideo, defineVirtualLocation, defineWebPage, defineWebSite, eventResolver, howToResolver, howToStepDirectionResolver, howToStepResolver, imageResolver, itemListResolver, jobPostingResolver, listItemResolver, localBusinessResolver, movieResolver, normaliseNodes, offerResolver, openingHoursResolver, organizationResolver, personResolver, placeResolver, productResolver, questionResolver, ratingResolver, readActionResolver, recipeResolver, resolveMeta, resolveNode, resolveNodeId, resolveRelation, reviewResolver, searchActionResolver, softwareAppResolver, useSchemaOrg, videoResolver, virtualLocationResolver, webPageResolver, webSiteResolver };
export { AggregateOffer, AggregateRating, Arrayable, Article, Book, BookEdition, BreadcrumbList, Comment, Course, Event, HowTo, HowToStep, ImageObject, ItemList, JobPosting, ListItem, LocalBusiness, MetaInput, Movie, Offer, OpeningHoursSpecification, Organization, Person, Place, PostalAddress, Product, Question, ReadAction, Recipe, ResolvedMeta, Review, SchemaOrgGraph, SchemaOrgNode, SchemaOrgNodeDefinition, SearchAction, SoftwareApp, Thing, VideoObject, VirtualLocation, WebPage, WebSite, dedupeNodes, defineAddress, defineAggregateOffer, defineAggregateRating, defineArticle, defineBook, defineBookEdition, defineBreadcrumb, defineComment, defineCourse, defineEvent, defineHowTo, defineHowToStep, defineImage, defineItemList, defineJobPosting, defineListItem, defineLocalBusiness, defineMovie, defineOffer, defineOpeningHours, defineOrganization, definePerson, definePlace, defineProduct, defineQuestion, defineReadAction, defineRecipe, defineReview, defineSchemaOrgResolver, defineSearchAction, defineSoftwareApp, defineVideo, defineVirtualLocation, defineWebPage, defineWebSite, normaliseNodes, resolveMeta, resolveNode, resolveNodeId, resolveRelation, useSchemaOrg };
{
"name": "@unhead/schema-org",
"version": "0.6.0",
"description": "Node Schema.org for Simple and Automated Google Rich Results",
"version": "1.3.8",
"description": "Unhead Schema.org for Simple and Automated Google Rich Results",
"author": "Harlan Wilton <harlan@harlanzw.com>",
"license": "MIT",
"funding": "https://github.com/sponsors/harlan-zw",
"homepage": "https://github.com/harlan-zw/@unhead/schema-org#readme",
"homepage": "https://unhead.unjs.io",
"repository": {
"type": "git",
"url": "git+https://github.com/harlan-zw/@unhead/schema-org.git"
"url": "git+https://github.com/unjs/unhead.git",
"directory": "packages/schema-org"
},
"bugs": {
"url": "https://github.com/harlan-zw/@unhead/schema-org/issues"
"url": "https://github.com/unjs/unhead/issues"
},

@@ -25,4 +26,9 @@ "keywords": [

"types": "./dist/index.d.ts",
"require": "./dist/index.cjs",
"import": "./dist/index.mjs"
"import": "./dist/index.mjs",
"require": "./dist/index.cjs"
},
"./vue": {
"types": "./dist/vue.d.ts",
"import": "./dist/vue.mjs",
"require": "./dist/vue.cjs"
}

@@ -37,9 +43,15 @@ },

"peerDependencies": {
"unhead": ">=1.1.9"
"unhead": ">=1.3.5",
"@unhead/shared": "1.3.8"
},
"dependencies": {
"ufo": "^1.1.2"
"ufo": "^1.3.0"
},
"devDependencies": {
"unhead": "^1.1.27"
"unplugin-vue-components": "^0.25.1",
"vue": "^3.3.4",
"@unhead/schema": "1.3.8",
"@unhead/shared": "1.3.8",
"@unhead/vue": "1.3.8",
"unhead": "1.3.8"
},

@@ -46,0 +58,0 @@ "scripts": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc