1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- var mdnProperties = require('mdn-data/css/properties.json');
- var mdnSyntaxes = require('mdn-data/css/syntaxes.json');
- var patch = require('./patch.json');
- var data = {
- properties: {},
- types: {}
- };
- function normalizeSyntax(syntax) {
- return syntax
- .replace(/</g, '<')
- .replace(/>/g, '>')
- .replace(/ /g, ' ')
- .replace(/&/g, '&');
- }
- function patchDict(dict, patchDict) {
- for (var key in patchDict) {
- if (key in dict) {
- if (patchDict[key].syntax) {
- dict[key].syntax = patchDict[key].syntax;
- } else {
- delete dict[key];
- }
- } else {
- if (patchDict[key].syntax) {
- dict[key] = patchDict[key];
- }
- }
- }
- }
- // apply patch
- patchDict(mdnProperties, patch.properties);
- patchDict(mdnSyntaxes, patch.syntaxes);
- // normalize source mdnProperties syntaxes, since it uses html token
- for (var key in mdnProperties) {
- data.properties[key] = normalizeSyntax(mdnProperties[key].syntax);
- }
- for (var key in mdnSyntaxes) {
- data.types[key] = normalizeSyntax(mdnSyntaxes[key].syntax);
- }
- module.exports = data;
|