WIP - add extractor, generate snippet_data
This commit is contained in:
67
node_modules/property-information/lib/aria.js
generated
vendored
Normal file
67
node_modules/property-information/lib/aria.js
generated
vendored
Normal file
@ -0,0 +1,67 @@
|
||||
'use strict'
|
||||
|
||||
var types = require('./util/types')
|
||||
var create = require('./util/create')
|
||||
|
||||
var booleanish = types.booleanish
|
||||
var number = types.number
|
||||
var spaceSeparated = types.spaceSeparated
|
||||
|
||||
module.exports = create({
|
||||
transform: ariaTransform,
|
||||
properties: {
|
||||
ariaActiveDescendant: null,
|
||||
ariaAtomic: booleanish,
|
||||
ariaAutoComplete: null,
|
||||
ariaBusy: booleanish,
|
||||
ariaChecked: booleanish,
|
||||
ariaColCount: number,
|
||||
ariaColIndex: number,
|
||||
ariaColSpan: number,
|
||||
ariaControls: spaceSeparated,
|
||||
ariaCurrent: null,
|
||||
ariaDescribedBy: spaceSeparated,
|
||||
ariaDetails: null,
|
||||
ariaDisabled: booleanish,
|
||||
ariaDropEffect: spaceSeparated,
|
||||
ariaErrorMessage: null,
|
||||
ariaExpanded: booleanish,
|
||||
ariaFlowTo: spaceSeparated,
|
||||
ariaGrabbed: booleanish,
|
||||
ariaHasPopup: null,
|
||||
ariaHidden: booleanish,
|
||||
ariaInvalid: null,
|
||||
ariaKeyShortcuts: null,
|
||||
ariaLabel: null,
|
||||
ariaLabelledBy: spaceSeparated,
|
||||
ariaLevel: number,
|
||||
ariaLive: null,
|
||||
ariaModal: booleanish,
|
||||
ariaMultiLine: booleanish,
|
||||
ariaMultiSelectable: booleanish,
|
||||
ariaOrientation: null,
|
||||
ariaOwns: spaceSeparated,
|
||||
ariaPlaceholder: null,
|
||||
ariaPosInSet: number,
|
||||
ariaPressed: booleanish,
|
||||
ariaReadOnly: booleanish,
|
||||
ariaRelevant: null,
|
||||
ariaRequired: booleanish,
|
||||
ariaRoleDescription: spaceSeparated,
|
||||
ariaRowCount: number,
|
||||
ariaRowIndex: number,
|
||||
ariaRowSpan: number,
|
||||
ariaSelected: booleanish,
|
||||
ariaSetSize: number,
|
||||
ariaSort: null,
|
||||
ariaValueMax: number,
|
||||
ariaValueMin: number,
|
||||
ariaValueNow: number,
|
||||
ariaValueText: null,
|
||||
role: null
|
||||
}
|
||||
})
|
||||
|
||||
function ariaTransform(_, prop) {
|
||||
return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()
|
||||
}
|
||||
219
node_modules/property-information/lib/html.js
generated
vendored
Normal file
219
node_modules/property-information/lib/html.js
generated
vendored
Normal file
@ -0,0 +1,219 @@
|
||||
'use strict'
|
||||
|
||||
var types = require('./util/types')
|
||||
var create = require('./util/create')
|
||||
var caseInsensitiveTransform = require('./util/case-insensitive-transform')
|
||||
|
||||
var boolean = types.boolean
|
||||
var overloadedBoolean = types.overloadedBoolean
|
||||
var booleanish = types.booleanish
|
||||
var number = types.number
|
||||
var spaceSeparated = types.spaceSeparated
|
||||
var commaSeparated = types.commaSeparated
|
||||
|
||||
module.exports = create({
|
||||
space: 'html',
|
||||
attributes: {
|
||||
acceptcharset: 'accept-charset',
|
||||
classname: 'class',
|
||||
htmlfor: 'for',
|
||||
httpequiv: 'http-equiv'
|
||||
},
|
||||
transform: caseInsensitiveTransform,
|
||||
mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],
|
||||
properties: {
|
||||
// Standard Properties.
|
||||
abbr: null,
|
||||
accept: commaSeparated,
|
||||
acceptCharset: spaceSeparated,
|
||||
accessKey: spaceSeparated,
|
||||
action: null,
|
||||
allowFullScreen: boolean,
|
||||
allowPaymentRequest: boolean,
|
||||
allowUserMedia: boolean,
|
||||
alt: null,
|
||||
as: null,
|
||||
async: boolean,
|
||||
autoCapitalize: null,
|
||||
autoComplete: spaceSeparated,
|
||||
autoFocus: boolean,
|
||||
autoPlay: boolean,
|
||||
capture: boolean,
|
||||
charSet: null,
|
||||
checked: boolean,
|
||||
cite: null,
|
||||
className: spaceSeparated,
|
||||
cols: number,
|
||||
colSpan: null,
|
||||
content: null,
|
||||
contentEditable: booleanish,
|
||||
controls: boolean,
|
||||
controlsList: spaceSeparated,
|
||||
coords: number | commaSeparated,
|
||||
crossOrigin: null,
|
||||
data: null,
|
||||
dateTime: null,
|
||||
decoding: null,
|
||||
default: boolean,
|
||||
defer: boolean,
|
||||
dir: null,
|
||||
dirName: null,
|
||||
disabled: boolean,
|
||||
download: overloadedBoolean,
|
||||
draggable: booleanish,
|
||||
encType: null,
|
||||
form: null,
|
||||
formAction: null,
|
||||
formEncType: null,
|
||||
formMethod: null,
|
||||
formNoValidate: boolean,
|
||||
formTarget: null,
|
||||
headers: spaceSeparated,
|
||||
height: number,
|
||||
hidden: boolean,
|
||||
high: number,
|
||||
href: null,
|
||||
hrefLang: null,
|
||||
htmlFor: spaceSeparated,
|
||||
httpEquiv: spaceSeparated,
|
||||
id: null,
|
||||
inputMode: null,
|
||||
integrity: null,
|
||||
is: null,
|
||||
isMap: boolean,
|
||||
itemId: null,
|
||||
itemProp: spaceSeparated,
|
||||
itemRef: spaceSeparated,
|
||||
itemScope: boolean,
|
||||
itemType: spaceSeparated,
|
||||
kind: null,
|
||||
label: null,
|
||||
lang: null,
|
||||
language: null,
|
||||
list: null,
|
||||
loop: boolean,
|
||||
low: number,
|
||||
manifest: null,
|
||||
max: null,
|
||||
maxLength: number,
|
||||
media: null,
|
||||
method: null,
|
||||
min: null,
|
||||
minLength: number,
|
||||
multiple: boolean,
|
||||
muted: boolean,
|
||||
name: null,
|
||||
nonce: null,
|
||||
noModule: boolean,
|
||||
noValidate: boolean,
|
||||
open: boolean,
|
||||
optimum: number,
|
||||
pattern: null,
|
||||
ping: spaceSeparated,
|
||||
placeholder: null,
|
||||
playsInline: boolean,
|
||||
poster: null,
|
||||
preload: null,
|
||||
readOnly: boolean,
|
||||
referrerPolicy: null,
|
||||
rel: spaceSeparated,
|
||||
required: boolean,
|
||||
reversed: boolean,
|
||||
rows: number,
|
||||
rowSpan: number,
|
||||
sandbox: spaceSeparated,
|
||||
scope: null,
|
||||
scoped: boolean,
|
||||
seamless: boolean,
|
||||
selected: boolean,
|
||||
shape: null,
|
||||
size: number,
|
||||
sizes: spaceSeparated,
|
||||
slot: null,
|
||||
span: number,
|
||||
spellCheck: booleanish,
|
||||
src: null,
|
||||
srcDoc: null,
|
||||
srcLang: null,
|
||||
srcSet: commaSeparated,
|
||||
start: number,
|
||||
step: null,
|
||||
style: null,
|
||||
tabIndex: number,
|
||||
target: null,
|
||||
title: null,
|
||||
translate: null,
|
||||
type: null,
|
||||
typeMustMatch: boolean,
|
||||
useMap: null,
|
||||
value: booleanish,
|
||||
width: number,
|
||||
wrap: null,
|
||||
|
||||
// Legacy.
|
||||
// See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis
|
||||
align: null, // Several. Use CSS `text-align` instead,
|
||||
aLink: null, // `<body>`. Use CSS `a:active {color}` instead
|
||||
archive: spaceSeparated, // `<object>`. List of URIs to archives
|
||||
axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`
|
||||
background: null, // `<body>`. Use CSS `background-image` instead
|
||||
bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead
|
||||
border: number, // `<table>`. Use CSS `border-width` instead,
|
||||
borderColor: null, // `<table>`. Use CSS `border-color` instead,
|
||||
bottomMargin: number, // `<body>`
|
||||
cellPadding: null, // `<table>`
|
||||
cellSpacing: null, // `<table>`
|
||||
char: null, // Several table elements. When `align=char`, sets the character to align on
|
||||
charOff: null, // Several table elements. When `char`, offsets the alignment
|
||||
classId: null, // `<object>`
|
||||
clear: null, // `<br>`. Use CSS `clear` instead
|
||||
code: null, // `<object>`
|
||||
codeBase: null, // `<object>`
|
||||
codeType: null, // `<object>`
|
||||
color: null, // `<font>` and `<hr>`. Use CSS instead
|
||||
compact: boolean, // Lists. Use CSS to reduce space between items instead
|
||||
declare: boolean, // `<object>`
|
||||
event: null, // `<script>`
|
||||
face: null, // `<font>`. Use CSS instead
|
||||
frame: null, // `<table>`
|
||||
frameBorder: null, // `<iframe>`. Use CSS `border` instead
|
||||
hSpace: number, // `<img>` and `<object>`
|
||||
leftMargin: number, // `<body>`
|
||||
link: null, // `<body>`. Use CSS `a:link {color: *}` instead
|
||||
longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`
|
||||
lowSrc: null, // `<img>`. Use a `<picture>`
|
||||
marginHeight: number, // `<body>`
|
||||
marginWidth: number, // `<body>`
|
||||
noResize: boolean, // `<frame>`
|
||||
noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`
|
||||
noShade: boolean, // `<hr>`. Use background-color and height instead of borders
|
||||
noWrap: boolean, // `<td>` and `<th>`
|
||||
object: null, // `<applet>`
|
||||
profile: null, // `<head>`
|
||||
prompt: null, // `<isindex>`
|
||||
rev: null, // `<link>`
|
||||
rightMargin: number, // `<body>`
|
||||
rules: null, // `<table>`
|
||||
scheme: null, // `<meta>`
|
||||
scrolling: booleanish, // `<frame>`. Use overflow in the child context
|
||||
standby: null, // `<object>`
|
||||
summary: null, // `<table>`
|
||||
text: null, // `<body>`. Use CSS `color` instead
|
||||
topMargin: number, // `<body>`
|
||||
valueType: null, // `<param>`
|
||||
version: null, // `<html>`. Use a doctype.
|
||||
vAlign: null, // Several. Use CSS `vertical-align` instead
|
||||
vLink: null, // `<body>`. Use CSS `a:visited {color}` instead
|
||||
vSpace: number, // `<img>` and `<object>`
|
||||
|
||||
// Non-standard Properties.
|
||||
allowTransparency: null,
|
||||
autoCorrect: null,
|
||||
autoSave: null,
|
||||
prefix: null,
|
||||
property: null,
|
||||
results: number,
|
||||
security: null,
|
||||
unselectable: null
|
||||
}
|
||||
})
|
||||
406
node_modules/property-information/lib/svg.js
generated
vendored
Normal file
406
node_modules/property-information/lib/svg.js
generated
vendored
Normal file
@ -0,0 +1,406 @@
|
||||
'use strict'
|
||||
|
||||
var types = require('./util/types')
|
||||
var create = require('./util/create')
|
||||
var caseSensitiveTransform = require('./util/case-sensitive-transform')
|
||||
|
||||
var boolean = types.boolean
|
||||
var number = types.number
|
||||
var spaceSeparated = types.spaceSeparated
|
||||
var commaSeparated = types.commaSeparated
|
||||
var commaOrSpaceSeparated = types.commaOrSpaceSeparated
|
||||
|
||||
module.exports = create({
|
||||
space: 'svg',
|
||||
attributes: {
|
||||
accentHeight: 'accent-height',
|
||||
alignmentBaseline: 'alignment-baseline',
|
||||
arabicForm: 'arabic-form',
|
||||
baselineShift: 'baseline-shift',
|
||||
capHeight: 'cap-height',
|
||||
className: 'class',
|
||||
clipPath: 'clip-path',
|
||||
clipRule: 'clip-rule',
|
||||
colorInterpolation: 'color-interpolation',
|
||||
colorInterpolationFilters: 'color-interpolation-filters',
|
||||
colorProfile: 'color-profile',
|
||||
colorRendering: 'color-rendering',
|
||||
crossOrigin: 'crossorigin',
|
||||
dataType: 'datatype',
|
||||
dominantBaseline: 'dominant-baseline',
|
||||
enableBackground: 'enable-background',
|
||||
fillOpacity: 'fill-opacity',
|
||||
fillRule: 'fill-rule',
|
||||
floodColor: 'flood-color',
|
||||
floodOpacity: 'flood-opacity',
|
||||
fontFamily: 'font-family',
|
||||
fontSize: 'font-size',
|
||||
fontSizeAdjust: 'font-size-adjust',
|
||||
fontStretch: 'font-stretch',
|
||||
fontStyle: 'font-style',
|
||||
fontVariant: 'font-variant',
|
||||
fontWeight: 'font-weight',
|
||||
glyphName: 'glyph-name',
|
||||
glyphOrientationHorizontal: 'glyph-orientation-horizontal',
|
||||
glyphOrientationVertical: 'glyph-orientation-vertical',
|
||||
hrefLang: 'hreflang',
|
||||
horizAdvX: 'horiz-adv-x',
|
||||
horizOriginX: 'horiz-origin-x',
|
||||
horizOriginY: 'horiz-origin-y',
|
||||
imageRendering: 'image-rendering',
|
||||
letterSpacing: 'letter-spacing',
|
||||
lightingColor: 'lighting-color',
|
||||
markerEnd: 'marker-end',
|
||||
markerMid: 'marker-mid',
|
||||
markerStart: 'marker-start',
|
||||
navDown: 'nav-down',
|
||||
navDownLeft: 'nav-down-left',
|
||||
navDownRight: 'nav-down-right',
|
||||
navLeft: 'nav-left',
|
||||
navNext: 'nav-next',
|
||||
navPrev: 'nav-prev',
|
||||
navRight: 'nav-right',
|
||||
navUp: 'nav-up',
|
||||
navUpLeft: 'nav-up-left',
|
||||
navUpRight: 'nav-up-right',
|
||||
overlinePosition: 'overline-position',
|
||||
overlineThickness: 'overline-thickness',
|
||||
paintOrder: 'paint-order',
|
||||
panose1: 'panose-1',
|
||||
pointerEvents: 'pointer-events',
|
||||
renderingIntent: 'rendering-intent',
|
||||
shapeRendering: 'shape-rendering',
|
||||
stopColor: 'stop-color',
|
||||
stopOpacity: 'stop-opacity',
|
||||
strikethroughPosition: 'strikethrough-position',
|
||||
strikethroughThickness: 'strikethrough-thickness',
|
||||
strokeDashArray: 'stroke-dasharray',
|
||||
strokeDashOffset: 'stroke-dashoffset',
|
||||
strokeLineCap: 'stroke-linecap',
|
||||
strokeLineJoin: 'stroke-linejoin',
|
||||
strokeMiterLimit: 'stroke-miterlimit',
|
||||
strokeOpacity: 'stroke-opacity',
|
||||
strokeWidth: 'stroke-width',
|
||||
tabIndex: 'tabindex',
|
||||
textAnchor: 'text-anchor',
|
||||
textDecoration: 'text-decoration',
|
||||
textRendering: 'text-rendering',
|
||||
typeOf: 'typeof',
|
||||
underlinePosition: 'underline-position',
|
||||
underlineThickness: 'underline-thickness',
|
||||
unicodeBidi: 'unicode-bidi',
|
||||
unicodeRange: 'unicode-range',
|
||||
unitsPerEm: 'units-per-em',
|
||||
vAlphabetic: 'v-alphabetic',
|
||||
vHanging: 'v-hanging',
|
||||
vIdeographic: 'v-ideographic',
|
||||
vMathematical: 'v-mathematical',
|
||||
vectorEffect: 'vector-effect',
|
||||
vertAdvY: 'vert-adv-y',
|
||||
vertOriginX: 'vert-origin-x',
|
||||
vertOriginY: 'vert-origin-y',
|
||||
wordSpacing: 'word-spacing',
|
||||
writingMode: 'writing-mode',
|
||||
xHeight: 'x-height',
|
||||
// These were camelcased in Tiny. Now lowercased in SVG 2
|
||||
playbackOrder: 'playbackorder',
|
||||
timelineBegin: 'timelinebegin'
|
||||
},
|
||||
transform: caseSensitiveTransform,
|
||||
properties: {
|
||||
about: commaOrSpaceSeparated,
|
||||
accentHeight: number,
|
||||
accumulate: null,
|
||||
additive: null,
|
||||
alignmentBaseline: null,
|
||||
alphabetic: number,
|
||||
amplitude: number,
|
||||
arabicForm: null,
|
||||
ascent: number,
|
||||
attributeName: null,
|
||||
attributeType: null,
|
||||
azimuth: number,
|
||||
bandwidth: null,
|
||||
baselineShift: null,
|
||||
baseFrequency: null,
|
||||
baseProfile: null,
|
||||
bbox: null,
|
||||
begin: null,
|
||||
bias: number,
|
||||
by: null,
|
||||
calcMode: null,
|
||||
capHeight: number,
|
||||
className: spaceSeparated,
|
||||
clip: null,
|
||||
clipPath: null,
|
||||
clipPathUnits: null,
|
||||
clipRule: null,
|
||||
color: null,
|
||||
colorInterpolation: null,
|
||||
colorInterpolationFilters: null,
|
||||
colorProfile: null,
|
||||
colorRendering: null,
|
||||
content: null,
|
||||
contentScriptType: null,
|
||||
contentStyleType: null,
|
||||
crossOrigin: null,
|
||||
cursor: null,
|
||||
cx: null,
|
||||
cy: null,
|
||||
d: null,
|
||||
dataType: null,
|
||||
defaultAction: null,
|
||||
descent: number,
|
||||
diffuseConstant: number,
|
||||
direction: null,
|
||||
display: null,
|
||||
dur: null,
|
||||
divisor: number,
|
||||
dominantBaseline: null,
|
||||
download: boolean,
|
||||
dx: null,
|
||||
dy: null,
|
||||
edgeMode: null,
|
||||
editable: null,
|
||||
elevation: number,
|
||||
enableBackground: null,
|
||||
end: null,
|
||||
event: null,
|
||||
exponent: number,
|
||||
externalResourcesRequired: null,
|
||||
fill: null,
|
||||
fillOpacity: number,
|
||||
fillRule: null,
|
||||
filter: null,
|
||||
filterRes: null,
|
||||
filterUnits: null,
|
||||
floodColor: null,
|
||||
floodOpacity: null,
|
||||
focusable: null,
|
||||
focusHighlight: null,
|
||||
fontFamily: null,
|
||||
fontSize: null,
|
||||
fontSizeAdjust: null,
|
||||
fontStretch: null,
|
||||
fontStyle: null,
|
||||
fontVariant: null,
|
||||
fontWeight: null,
|
||||
format: null,
|
||||
fr: null,
|
||||
from: null,
|
||||
fx: null,
|
||||
fy: null,
|
||||
g1: commaSeparated,
|
||||
g2: commaSeparated,
|
||||
glyphName: commaSeparated,
|
||||
glyphOrientationHorizontal: null,
|
||||
glyphOrientationVertical: null,
|
||||
glyphRef: null,
|
||||
gradientTransform: null,
|
||||
gradientUnits: null,
|
||||
handler: null,
|
||||
hanging: number,
|
||||
hatchContentUnits: null,
|
||||
hatchUnits: null,
|
||||
height: null,
|
||||
href: null,
|
||||
hrefLang: null,
|
||||
horizAdvX: number,
|
||||
horizOriginX: number,
|
||||
horizOriginY: number,
|
||||
id: null,
|
||||
ideographic: number,
|
||||
imageRendering: null,
|
||||
initialVisibility: null,
|
||||
in: null,
|
||||
in2: null,
|
||||
intercept: number,
|
||||
k: number,
|
||||
k1: number,
|
||||
k2: number,
|
||||
k3: number,
|
||||
k4: number,
|
||||
kernelMatrix: commaOrSpaceSeparated,
|
||||
kernelUnitLength: null,
|
||||
keyPoints: null, // SEMI_COLON_SEPARATED
|
||||
keySplines: null, // SEMI_COLON_SEPARATED
|
||||
keyTimes: null, // SEMI_COLON_SEPARATED
|
||||
kerning: null,
|
||||
lang: null,
|
||||
lengthAdjust: null,
|
||||
letterSpacing: null,
|
||||
lightingColor: null,
|
||||
limitingConeAngle: number,
|
||||
local: null,
|
||||
markerEnd: null,
|
||||
markerMid: null,
|
||||
markerStart: null,
|
||||
markerHeight: null,
|
||||
markerUnits: null,
|
||||
markerWidth: null,
|
||||
mask: null,
|
||||
maskContentUnits: null,
|
||||
maskUnits: null,
|
||||
mathematical: null,
|
||||
max: null,
|
||||
media: null,
|
||||
mediaCharacterEncoding: null,
|
||||
mediaContentEncodings: null,
|
||||
mediaSize: number,
|
||||
mediaTime: null,
|
||||
method: null,
|
||||
min: null,
|
||||
mode: null,
|
||||
name: null,
|
||||
navDown: null,
|
||||
navDownLeft: null,
|
||||
navDownRight: null,
|
||||
navLeft: null,
|
||||
navNext: null,
|
||||
navPrev: null,
|
||||
navRight: null,
|
||||
navUp: null,
|
||||
navUpLeft: null,
|
||||
navUpRight: null,
|
||||
numOctaves: null,
|
||||
observer: null,
|
||||
offset: null,
|
||||
opacity: null,
|
||||
operator: null,
|
||||
order: null,
|
||||
orient: null,
|
||||
orientation: null,
|
||||
origin: null,
|
||||
overflow: null,
|
||||
overlay: null,
|
||||
overlinePosition: number,
|
||||
overlineThickness: number,
|
||||
paintOrder: null,
|
||||
panose1: null,
|
||||
path: null,
|
||||
pathLength: number,
|
||||
patternContentUnits: null,
|
||||
patternTransform: null,
|
||||
patternUnits: null,
|
||||
phase: null,
|
||||
pitch: null,
|
||||
playbackOrder: null,
|
||||
pointerEvents: null,
|
||||
points: null,
|
||||
pointsAtX: number,
|
||||
pointsAtY: number,
|
||||
pointsAtZ: number,
|
||||
preserveAlpha: null,
|
||||
preserveAspectRatio: null,
|
||||
primitiveUnits: null,
|
||||
propagate: null,
|
||||
property: commaOrSpaceSeparated,
|
||||
r: null,
|
||||
radius: null,
|
||||
refX: null,
|
||||
refY: null,
|
||||
rel: commaOrSpaceSeparated,
|
||||
rev: commaOrSpaceSeparated,
|
||||
renderingIntent: null,
|
||||
repeatCount: null,
|
||||
repeatDur: null,
|
||||
requiredExtensions: commaOrSpaceSeparated,
|
||||
requiredFeatures: commaOrSpaceSeparated,
|
||||
requiredFonts: commaOrSpaceSeparated,
|
||||
requiredFormats: commaOrSpaceSeparated,
|
||||
resource: null,
|
||||
restart: null,
|
||||
result: null,
|
||||
rotate: null,
|
||||
rx: null,
|
||||
ry: null,
|
||||
scale: null,
|
||||
seed: null,
|
||||
shapeRendering: null,
|
||||
side: null,
|
||||
slope: null,
|
||||
snapshotTime: null,
|
||||
specularConstant: number,
|
||||
specularExponent: number,
|
||||
spreadMethod: null,
|
||||
spacing: null,
|
||||
startOffset: null,
|
||||
stdDeviation: null,
|
||||
stemh: null,
|
||||
stemv: null,
|
||||
stitchTiles: null,
|
||||
stopColor: null,
|
||||
stopOpacity: null,
|
||||
strikethroughPosition: number,
|
||||
strikethroughThickness: number,
|
||||
string: null,
|
||||
stroke: null,
|
||||
strokeDashArray: commaOrSpaceSeparated,
|
||||
strokeDashOffset: null,
|
||||
strokeLineCap: null,
|
||||
strokeLineJoin: null,
|
||||
strokeMiterLimit: number,
|
||||
strokeOpacity: number,
|
||||
strokeWidth: null,
|
||||
style: null,
|
||||
surfaceScale: number,
|
||||
syncBehavior: null,
|
||||
syncBehaviorDefault: null,
|
||||
syncMaster: null,
|
||||
syncTolerance: null,
|
||||
syncToleranceDefault: null,
|
||||
systemLanguage: commaOrSpaceSeparated,
|
||||
tabIndex: number,
|
||||
tableValues: null,
|
||||
target: null,
|
||||
targetX: number,
|
||||
targetY: number,
|
||||
textAnchor: null,
|
||||
textDecoration: null,
|
||||
textRendering: null,
|
||||
textLength: null,
|
||||
timelineBegin: null,
|
||||
title: null,
|
||||
transformBehavior: null,
|
||||
type: null,
|
||||
typeOf: commaOrSpaceSeparated,
|
||||
to: null,
|
||||
transform: null,
|
||||
u1: null,
|
||||
u2: null,
|
||||
underlinePosition: number,
|
||||
underlineThickness: number,
|
||||
unicode: null,
|
||||
unicodeBidi: null,
|
||||
unicodeRange: null,
|
||||
unitsPerEm: number,
|
||||
values: null,
|
||||
vAlphabetic: number,
|
||||
vMathematical: number,
|
||||
vectorEffect: null,
|
||||
vHanging: number,
|
||||
vIdeographic: number,
|
||||
version: null,
|
||||
vertAdvY: number,
|
||||
vertOriginX: number,
|
||||
vertOriginY: number,
|
||||
viewBox: null,
|
||||
viewTarget: null,
|
||||
visibility: null,
|
||||
width: null,
|
||||
widths: null,
|
||||
wordSpacing: null,
|
||||
writingMode: null,
|
||||
x: null,
|
||||
x1: null,
|
||||
x2: null,
|
||||
xChannelSelector: null,
|
||||
xHeight: number,
|
||||
y: null,
|
||||
y1: null,
|
||||
y2: null,
|
||||
yChannelSelector: null,
|
||||
z: null,
|
||||
zoomAndPan: null
|
||||
}
|
||||
})
|
||||
9
node_modules/property-information/lib/util/case-insensitive-transform.js
generated
vendored
Normal file
9
node_modules/property-information/lib/util/case-insensitive-transform.js
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
'use strict'
|
||||
|
||||
var caseSensitiveTransform = require('./case-sensitive-transform')
|
||||
|
||||
module.exports = caseInsensitiveTransform
|
||||
|
||||
function caseInsensitiveTransform(attributes, property) {
|
||||
return caseSensitiveTransform(attributes, property.toLowerCase())
|
||||
}
|
||||
7
node_modules/property-information/lib/util/case-sensitive-transform.js
generated
vendored
Normal file
7
node_modules/property-information/lib/util/case-sensitive-transform.js
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = caseSensitiveTransform
|
||||
|
||||
function caseSensitiveTransform(attributes, attribute) {
|
||||
return attribute in attributes ? attributes[attribute] : attribute
|
||||
}
|
||||
39
node_modules/property-information/lib/util/create.js
generated
vendored
Normal file
39
node_modules/property-information/lib/util/create.js
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
'use strict'
|
||||
|
||||
var normalize = require('../../normalize')
|
||||
var Schema = require('./schema')
|
||||
var DefinedInfo = require('./defined-info')
|
||||
|
||||
module.exports = create
|
||||
|
||||
function create(definition) {
|
||||
var space = definition.space
|
||||
var mustUseProperty = definition.mustUseProperty || []
|
||||
var attributes = definition.attributes || {}
|
||||
var props = definition.properties
|
||||
var transform = definition.transform
|
||||
var property = {}
|
||||
var normal = {}
|
||||
var prop
|
||||
var info
|
||||
|
||||
for (prop in props) {
|
||||
info = new DefinedInfo(
|
||||
prop,
|
||||
transform(attributes, prop),
|
||||
props[prop],
|
||||
space
|
||||
)
|
||||
|
||||
if (mustUseProperty.indexOf(prop) !== -1) {
|
||||
info.mustUseProperty = true
|
||||
}
|
||||
|
||||
property[prop] = info
|
||||
|
||||
normal[normalize(prop)] = prop
|
||||
normal[normalize(info.attribute)] = prop
|
||||
}
|
||||
|
||||
return new Schema(property, normal, space)
|
||||
}
|
||||
31
node_modules/property-information/lib/util/defined-info.js
generated
vendored
Normal file
31
node_modules/property-information/lib/util/defined-info.js
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
'use strict'
|
||||
|
||||
var Info = require('./info')
|
||||
var types = require('./types')
|
||||
|
||||
module.exports = DefinedInfo
|
||||
|
||||
DefinedInfo.prototype = new Info()
|
||||
DefinedInfo.prototype.defined = true
|
||||
|
||||
function DefinedInfo(property, attribute, mask, space) {
|
||||
mark(this, 'space', space)
|
||||
Info.call(this, property, attribute)
|
||||
mark(this, 'boolean', check(mask, types.boolean))
|
||||
mark(this, 'booleanish', check(mask, types.booleanish))
|
||||
mark(this, 'overloadedBoolean', check(mask, types.overloadedBoolean))
|
||||
mark(this, 'number', check(mask, types.number))
|
||||
mark(this, 'commaSeparated', check(mask, types.commaSeparated))
|
||||
mark(this, 'spaceSeparated', check(mask, types.spaceSeparated))
|
||||
mark(this, 'commaOrSpaceSeparated', check(mask, types.commaOrSpaceSeparated))
|
||||
}
|
||||
|
||||
function mark(values, key, value) {
|
||||
if (value) {
|
||||
values[key] = value
|
||||
}
|
||||
}
|
||||
|
||||
function check(value, mask) {
|
||||
return (value & mask) === mask
|
||||
}
|
||||
23
node_modules/property-information/lib/util/info.js
generated
vendored
Normal file
23
node_modules/property-information/lib/util/info.js
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = Info
|
||||
|
||||
var proto = Info.prototype
|
||||
|
||||
proto.space = null
|
||||
proto.attribute = null
|
||||
proto.property = null
|
||||
proto.boolean = false
|
||||
proto.booleanish = false
|
||||
proto.overloadedBoolean = false
|
||||
proto.number = false
|
||||
proto.commaSeparated = false
|
||||
proto.spaceSeparated = false
|
||||
proto.commaOrSpaceSeparated = false
|
||||
proto.mustUseProperty = false
|
||||
proto.defined = false
|
||||
|
||||
function Info(property, attribute) {
|
||||
this.property = property
|
||||
this.attribute = attribute
|
||||
}
|
||||
28
node_modules/property-information/lib/util/merge.js
generated
vendored
Normal file
28
node_modules/property-information/lib/util/merge.js
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
'use strict'
|
||||
|
||||
var xtend = require('xtend')
|
||||
var Schema = require('./schema')
|
||||
|
||||
module.exports = merge
|
||||
|
||||
function merge(definitions) {
|
||||
var length = definitions.length
|
||||
var property = []
|
||||
var normal = []
|
||||
var index = -1
|
||||
var info
|
||||
var space
|
||||
|
||||
while (++index < length) {
|
||||
info = definitions[index]
|
||||
property.push(info.property)
|
||||
normal.push(info.normal)
|
||||
space = info.space
|
||||
}
|
||||
|
||||
return new Schema(
|
||||
xtend.apply(null, property),
|
||||
xtend.apply(null, normal),
|
||||
space
|
||||
)
|
||||
}
|
||||
18
node_modules/property-information/lib/util/schema.js
generated
vendored
Normal file
18
node_modules/property-information/lib/util/schema.js
generated
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = Schema
|
||||
|
||||
var proto = Schema.prototype
|
||||
|
||||
proto.space = null
|
||||
proto.normal = {}
|
||||
proto.property = {}
|
||||
|
||||
function Schema(property, normal, space) {
|
||||
this.property = property
|
||||
this.normal = normal
|
||||
|
||||
if (space) {
|
||||
this.space = space
|
||||
}
|
||||
}
|
||||
15
node_modules/property-information/lib/util/types.js
generated
vendored
Normal file
15
node_modules/property-information/lib/util/types.js
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
'use strict'
|
||||
|
||||
var powers = 0
|
||||
|
||||
exports.boolean = increment()
|
||||
exports.booleanish = increment()
|
||||
exports.overloadedBoolean = increment()
|
||||
exports.number = increment()
|
||||
exports.spaceSeparated = increment()
|
||||
exports.commaSeparated = increment()
|
||||
exports.commaOrSpaceSeparated = increment()
|
||||
|
||||
function increment() {
|
||||
return Math.pow(2, ++powers)
|
||||
}
|
||||
21
node_modules/property-information/lib/xlink.js
generated
vendored
Normal file
21
node_modules/property-information/lib/xlink.js
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
'use strict'
|
||||
|
||||
var create = require('./util/create')
|
||||
|
||||
module.exports = create({
|
||||
space: 'xlink',
|
||||
transform: xlinkTransform,
|
||||
properties: {
|
||||
xLinkActuate: null,
|
||||
xLinkArcRole: null,
|
||||
xLinkHref: null,
|
||||
xLinkRole: null,
|
||||
xLinkShow: null,
|
||||
xLinkTitle: null,
|
||||
xLinkType: null
|
||||
}
|
||||
})
|
||||
|
||||
function xlinkTransform(_, prop) {
|
||||
return 'xlink:' + prop.slice(5).toLowerCase()
|
||||
}
|
||||
17
node_modules/property-information/lib/xml.js
generated
vendored
Normal file
17
node_modules/property-information/lib/xml.js
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
'use strict'
|
||||
|
||||
var create = require('./util/create')
|
||||
|
||||
module.exports = create({
|
||||
space: 'xml',
|
||||
transform: xmlTransform,
|
||||
properties: {
|
||||
xmlLang: null,
|
||||
xmlBase: null,
|
||||
xmlSpace: null
|
||||
}
|
||||
})
|
||||
|
||||
function xmlTransform(_, prop) {
|
||||
return 'xml:' + prop.slice(3).toLowerCase()
|
||||
}
|
||||
16
node_modules/property-information/lib/xmlns.js
generated
vendored
Normal file
16
node_modules/property-information/lib/xmlns.js
generated
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
'use strict'
|
||||
|
||||
var create = require('./util/create')
|
||||
var caseInsensitiveTransform = require('./util/case-insensitive-transform')
|
||||
|
||||
module.exports = create({
|
||||
space: 'xmlns',
|
||||
attributes: {
|
||||
xmlnsxlink: 'xmlns:xlink'
|
||||
},
|
||||
transform: caseInsensitiveTransform,
|
||||
properties: {
|
||||
xmlns: null,
|
||||
xmlnsXLink: null
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user