Type declaration and value checker
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,
// }
Identifier | Use on | Spec | Supported |
---|---|---|---|
Any |
Some attributes | ✅ | |
NoEmptyAny |
Some attributes | ✅ | |
OneLineAny |
Some attributes | ✅ | |
Zero |
Some attributes | ✅ | |
Number |
Some attributes | ✅ | |
Uint |
Some attributes | ✅ | |
JSON |
Attributes on some frameworks etc. | ✅ | |
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 |
Use NavigableTargetName instead. |
Obsolated | ✅ |
BrowsingContextNameOrKeyword |
Use NavigableTargetNameOrKeyword instead. |
Obsolated | ✅ |
NavigableTargetName |
iframe[name] and more |
WHATWG | ✅ |
NavigableTargetNameOrKeyword |
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.
$ npm install @markuplint/types
$ yarn add @markuplint/types