@markuplint/types
Type declaration and value checker
Type declaration
API
import { check } from '@markuplint/types';
check('2020-01-01', 'DateTime');
// => { matched: true }
check('2020-02-30', 'DateTime');
// => {
// matched: false,
// reason: { type: 'out-of-range', gte: 1, lte: 29 },
// expects: [],
// partName: 'date',
// ref: 'https://html.spec.whatwg.org/multipage/text-level-semantics.html#datetime-value',
// raw: '30',
// offset: 8,
// length: 2,
// line: 1,
// column: 9,
// }
Type Identifiers
Identifier | Use on | Spec | Supported |
---|---|---|---|
Any |
Some attributes | ||
NoEmptyAny |
Some attributes | ||
OneLineAny |
Some attributes | ||
Zero |
Some attributes | ||
Number |
Some attributes | ||
Uint |
Some attributes | ||
XMLName |
svg|[attributeName] and more |
XML | |
DOMID |
The id attribute and more |
WHATWG | |
FunctionBody |
Event handler attributes | ||
Pattern |
input[pattern] |
WHATWG | |
DateTime |
time[datetime] and more |
WHATWG | |
TabIndex |
The tabindex attribute |
WHATWG | |
BCP47 |
The lang attribute and more |
RFC | |
URL |
Some attributes | WHATWG | |
AbsoluteURL |
The itemtype attribute (as list) |
WHATWG | |
HashName |
img[usemap] |
WHATWG | |
OneCodePointChar |
The accesskey attribute (as list) |
WHATWG | |
CustomElementName |
The is attribute |
WHATWG | |
BrowsingContextName |
iframe[name] and more |
WHATWG | |
BrowsingContextNameOrKeyword |
a[target] and more |
WHATWG | |
HTTPSchemaURL |
a[ping] (as list) and more |
WHATWG | |
MIMEType |
embed[type] and more |
WHATWG | |
ItemProp |
The itemprop attribute (as list) |
WHATWG | |
Srcset |
img[srcset] and more |
WHATWG | |
SourceSizeList |
img[sizes] and more |
WHATWG | |
IconSize |
link[sizes] (as list) |
WHATWG | |
AutoComplete |
input[autocomplete] and more |
WHATWG | |
Accept |
input[accept] |
WHATWG | |
SerializedPermissionsPolicy |
iframe[allow] |
W3C | |
<css-declaration-list> |
The style attribute |
CSS | |
<class-list> |
The class attribute |
SVG | |
<svg-font-size> |
Some attributes for SVG | CSS | |
<svg-font-size-adjust> |
Some attributes for SVG | CSS | |
<'color-profile'> |
Some attributes for SVG | SVG | |
<'color-rendering'> |
Some attributes for SVG | SVG | |
<'enable-background'> |
Some attributes for SVG | SVG | |
<list-of-svg-feature-string> |
Some attributes for SVG | SVG | |
<animatable-value> |
Some attributes for SVG | SVG | |
<begin-value-list> |
Some attributes for SVG | SVG | |
<end-value-list> |
Some attributes for SVG | SVG | |
<list-of-value> |
Some attributes for SVG | SVG | |
<clock-value> |
Some attributes for SVG | SMIL | |
<color-matrix> |
Some attributes for SVG | W3C | |
<dasharray> |
Some attributes for SVG | SVG | |
<key-points> |
Some attributes for SVG | SVG | |
<key-splines> |
Some attributes for SVG | SVG | |
<key-times> |
Some attributes for SVG | SVG | |
<system-language> |
Some attributes for SVG | SVG | |
<origin> |
Some attributes for SVG | SMIL | |
<svg-path> |
Some attributes for SVG | SVG | |
<points> |
Some attributes for SVG | SVG | |
<preserve-aspect-ratio> |
Some attributes for SVG | SVG | |
<view-box> |
Some attributes for SVG | SVG | |
<rotate> |
Some attributes for SVG | SVG | |
<text-coordinate> |
Some attributes for SVG | SVG | |
<list-of-lengths> |
Some attributes for SVG | ||
<list-of-numbers> |
Some attributes for SVG | ||
<list-of-percentages> |
Some attributes for SVG | ||
<number-optional-number> |
Some attributes for SVG |
In addition, you can use types CSSTree defined.
Install
$ npm install @markuplint/types
$ yarn add @markuplint/types