This commit is contained in:
83
node_modules/style-to-object/CHANGELOG.md
generated
vendored
Normal file
83
node_modules/style-to-object/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
## [0.3.0](https://github.com/remarkablemark/style-to-object/compare/v0.2.3...v0.3.0) (2019-11-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **index:** update return type of main function (remove `any`) ([c6e8a54](https://github.com/remarkablemark/style-to-object/commit/c6e8a54))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add typescript support ([74a1b83](https://github.com/remarkablemark/style-to-object/commit/74a1b83))
|
||||
|
||||
|
||||
### Tests
|
||||
|
||||
* **index:** add test for TS declaration file ([b029a4b](https://github.com/remarkablemark/style-to-object/commit/b029a4b))
|
||||
|
||||
|
||||
|
||||
### [0.2.3](https://github.com/remarkablemark/style-to-object/compare/v0.2.2...v0.2.3) (2019-06-22)
|
||||
|
||||
|
||||
### Build System
|
||||
|
||||
* **package:** add field "files" and remove `.npmignore` ([fdf3966](https://github.com/remarkablemark/style-to-object/commit/fdf3966))
|
||||
* **package:** update script `build:min` to generate sourcemap ([a13be58](https://github.com/remarkablemark/style-to-object/commit/a13be58))
|
||||
* **package:** upgrade devDependencies ([377bb40](https://github.com/remarkablemark/style-to-object/commit/377bb40))
|
||||
* **rollup:** remove `uglify-es` from config as it's unneeded ([b0951e0](https://github.com/remarkablemark/style-to-object/commit/b0951e0))
|
||||
|
||||
|
||||
### Tests
|
||||
|
||||
* organize and rename describe blocks ([8d4c004](https://github.com/remarkablemark/style-to-object/commit/8d4c004))
|
||||
* organize data (test suites) into cases, errors, and invalids ([513732b](https://github.com/remarkablemark/style-to-object/commit/513732b))
|
||||
* rename `test/cases.js` to `test/data.js` ([75d084d](https://github.com/remarkablemark/style-to-object/commit/75d084d))
|
||||
* **data:** add more test cases and errors ([c9242c7](https://github.com/remarkablemark/style-to-object/commit/c9242c7))
|
||||
* **data:** refactor test data from object to array format ([1a07a38](https://github.com/remarkablemark/style-to-object/commit/1a07a38))
|
||||
|
||||
|
||||
|
||||
<a name="0.2.2"></a>
|
||||
## [0.2.2](https://github.com/remarkablemark/style-to-object/compare/v0.2.1...v0.2.2) (2018-09-13)
|
||||
|
||||
|
||||
|
||||
<a name="0.2.1"></a>
|
||||
## [0.2.1](https://github.com/remarkablemark/style-to-object/compare/v0.2.0...v0.2.1) (2018-05-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **package:** upgrade css@2.2.3 which resolves security vulnerability ([d8b94c0](https://github.com/remarkablemark/style-to-object/commit/d8b94c0))
|
||||
|
||||
|
||||
|
||||
<a name="0.2.0"></a>
|
||||
# [0.2.0](https://github.com/remarkablemark/style-to-object/compare/v0.1.0...v0.2.0) (2017-11-26)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **parser:** add optional argument iterator ([a3deea8](https://github.com/remarkablemark/style-to-object/commit/a3deea8))
|
||||
|
||||
|
||||
|
||||
<a name="0.1.0"></a>
|
||||
# 0.1.0 (2017-11-23)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **parser:** do not add to output if css value is empty ([0759da7](https://github.com/remarkablemark/style-to-object/commit/0759da7))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **parser:** create client parser ([cd85a31](https://github.com/remarkablemark/style-to-object/commit/cd85a31))
|
||||
* **parser:** create parser that returns null for invalid values ([24f4f02](https://github.com/remarkablemark/style-to-object/commit/24f4f02))
|
||||
* **parser:** parse inline style to object with css.parse ([04793b0](https://github.com/remarkablemark/style-to-object/commit/04793b0))
|
||||
22
node_modules/style-to-object/LICENSE
generated
vendored
Normal file
22
node_modules/style-to-object/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2017 Menglin "Mark" Xu <mark@remarkablemark.org>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
213
node_modules/style-to-object/README.md
generated
vendored
Normal file
213
node_modules/style-to-object/README.md
generated
vendored
Normal file
@@ -0,0 +1,213 @@
|
||||
# style-to-object
|
||||
|
||||
[](https://nodei.co/npm/style-to-object/)
|
||||
|
||||
[](https://www.npmjs.com/package/style-to-object)
|
||||
[](https://travis-ci.org/remarkablemark/style-to-object)
|
||||
[](https://coveralls.io/github/remarkablemark/style-to-object?branch=master)
|
||||
[](https://david-dm.org/remarkablemark/style-to-object)
|
||||
[](https://www.npmjs.com/package/style-to-object)
|
||||
|
||||
Parses inline style to object:
|
||||
|
||||
```js
|
||||
var parse = require('style-to-object');
|
||||
parse('color: #C0FFEE; background: #BADA55;');
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```js
|
||||
{ color: '#C0FFEE', background: '#BADA55' }
|
||||
```
|
||||
|
||||
[JSFiddle](https://jsfiddle.net/remarkablemark/ykz2meot/) | [Repl.it](https://repl.it/@remarkablemark/style-to-object) | [Examples](https://github.com/remarkablemark/style-to-object/tree/master/examples)
|
||||
|
||||
## Installation
|
||||
|
||||
[NPM](https://www.npmjs.com/package/style-to-object):
|
||||
|
||||
```sh
|
||||
$ npm install style-to-object --save
|
||||
```
|
||||
|
||||
[Yarn](https://yarn.fyi/style-to-object):
|
||||
|
||||
```sh
|
||||
$ yarn add style-to-object
|
||||
```
|
||||
|
||||
[CDN](https://unpkg.com/style-to-object/):
|
||||
|
||||
```html
|
||||
<script src="https://unpkg.com/style-to-object@latest/dist/style-to-object.min.js"></script>
|
||||
<script>
|
||||
window.StyleToObject(/* string */);
|
||||
</script>
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Import the module:
|
||||
|
||||
```js
|
||||
// CommonJS
|
||||
const parse = require('style-to-object');
|
||||
|
||||
// ES Modules
|
||||
import parse from 'style-to-object';
|
||||
```
|
||||
|
||||
Parse single declaration:
|
||||
|
||||
```js
|
||||
parse('line-height: 42');
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```js
|
||||
{ 'line-height': '42' }
|
||||
```
|
||||
|
||||
Parse multiple declarations:
|
||||
|
||||
```js
|
||||
parse(`
|
||||
border-color: #ACE;
|
||||
z-index: 1337;
|
||||
`);
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```js
|
||||
{ 'border-color': '#ACE', 'z-index': '1337' }
|
||||
```
|
||||
|
||||
Parse unknown declarations:
|
||||
|
||||
```js
|
||||
parse('answer: 42;');
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```js
|
||||
{ 'answer': '42' }
|
||||
```
|
||||
|
||||
Invalid declarations/arguments:
|
||||
|
||||
```js
|
||||
parse(`
|
||||
top: ;
|
||||
right: 1em;
|
||||
`); // { right: '1em' }
|
||||
|
||||
parse(); // null
|
||||
parse(null); // null
|
||||
parse(1); // null
|
||||
parse(true); // null
|
||||
parse('top:'); // null
|
||||
parse(':12px'); // null
|
||||
parse(':'); // null
|
||||
parse(';'); // null
|
||||
|
||||
parse('top'); // throws Error
|
||||
parse('/*'); // throws Error
|
||||
```
|
||||
|
||||
### Iterator
|
||||
|
||||
If the 2nd argument is a function, then the parser will return `null`:
|
||||
|
||||
```js
|
||||
parse('color: #f00', function() {}); // null
|
||||
```
|
||||
|
||||
But the function will iterate through each declaration:
|
||||
|
||||
```js
|
||||
parse('color: #f00', function(name, value, declaration) {
|
||||
console.log(name); // 'color'
|
||||
console.log(value); // '#f00'
|
||||
console.log(declaration); // { type: 'declaration', property: 'color', value: '#f00' }
|
||||
});
|
||||
```
|
||||
|
||||
This makes it easy to customize the output:
|
||||
|
||||
```js
|
||||
const style = `
|
||||
color: red;
|
||||
background: blue;
|
||||
`;
|
||||
const output = [];
|
||||
|
||||
function iterator(name, value) {
|
||||
output.push([name, value]);
|
||||
}
|
||||
|
||||
parse(style, iterator);
|
||||
console.log(output); // [['color', 'red'], ['background', 'blue']]
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
Run tests:
|
||||
|
||||
```sh
|
||||
$ npm test
|
||||
```
|
||||
|
||||
Run tests in watch mode:
|
||||
|
||||
```sh
|
||||
$ npm run test:watch
|
||||
```
|
||||
|
||||
Run tests with coverage:
|
||||
|
||||
```sh
|
||||
$ npm run test:coverage
|
||||
|
||||
# generate html report
|
||||
$ npm run test:coverage:report
|
||||
```
|
||||
|
||||
Lint files:
|
||||
|
||||
```sh
|
||||
$ npm run lint
|
||||
```
|
||||
|
||||
Fix lint errors:
|
||||
|
||||
```sh
|
||||
$ npm run lint:fix
|
||||
```
|
||||
|
||||
Test TypeScript declaration file for style and correctness:
|
||||
|
||||
```sh
|
||||
$ npm run lint:dts
|
||||
```
|
||||
|
||||
## Release
|
||||
|
||||
Only collaborators with credentials can release and publish:
|
||||
|
||||
```sh
|
||||
$ npm run release
|
||||
$ git push --follow-tags && npm publish
|
||||
```
|
||||
|
||||
## Special Thanks
|
||||
|
||||
- [inline-style-parser](https://github.com/remarkablemark/inline-style-parser)
|
||||
- [Contributors](https://github.com/remarkablemark/style-to-object/graphs/contributors)
|
||||
|
||||
## License
|
||||
|
||||
[MIT](https://github.com/remarkablemark/style-to-object/blob/master/LICENSE)
|
||||
308
node_modules/style-to-object/dist/style-to-object.js
generated
vendored
Normal file
308
node_modules/style-to-object/dist/style-to-object.js
generated
vendored
Normal file
@@ -0,0 +1,308 @@
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
||||
typeof define === 'function' && define.amd ? define(factory) :
|
||||
(global = global || self, global.StyleToObject = factory());
|
||||
}(this, (function () { 'use strict';
|
||||
|
||||
// http://www.w3.org/TR/CSS21/grammar.html
|
||||
// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027
|
||||
var COMMENT_REGEX = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;
|
||||
|
||||
var NEWLINE_REGEX = /\n/g;
|
||||
var WHITESPACE_REGEX = /^\s*/;
|
||||
|
||||
// declaration
|
||||
var PROPERTY_REGEX = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/;
|
||||
var COLON_REGEX = /^:\s*/;
|
||||
var VALUE_REGEX = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/;
|
||||
var SEMICOLON_REGEX = /^[;\s]*/;
|
||||
|
||||
// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill
|
||||
var TRIM_REGEX = /^\s+|\s+$/g;
|
||||
|
||||
// strings
|
||||
var NEWLINE = '\n';
|
||||
var FORWARD_SLASH = '/';
|
||||
var ASTERISK = '*';
|
||||
var EMPTY_STRING = '';
|
||||
|
||||
// types
|
||||
var TYPE_COMMENT = 'comment';
|
||||
var TYPE_DECLARATION = 'declaration';
|
||||
|
||||
/**
|
||||
* @param {String} style
|
||||
* @param {Object} [options]
|
||||
* @return {Object[]}
|
||||
* @throws {TypeError}
|
||||
* @throws {Error}
|
||||
*/
|
||||
var inlineStyleParser = function(style, options) {
|
||||
if (typeof style !== 'string') {
|
||||
throw new TypeError('First argument must be a string');
|
||||
}
|
||||
|
||||
if (!style) return [];
|
||||
|
||||
options = options || {};
|
||||
|
||||
/**
|
||||
* Positional.
|
||||
*/
|
||||
var lineno = 1;
|
||||
var column = 1;
|
||||
|
||||
/**
|
||||
* Update lineno and column based on `str`.
|
||||
*
|
||||
* @param {String} str
|
||||
*/
|
||||
function updatePosition(str) {
|
||||
var lines = str.match(NEWLINE_REGEX);
|
||||
if (lines) lineno += lines.length;
|
||||
var i = str.lastIndexOf(NEWLINE);
|
||||
column = ~i ? str.length - i : column + str.length;
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark position and patch `node.position`.
|
||||
*
|
||||
* @return {Function}
|
||||
*/
|
||||
function position() {
|
||||
var start = { line: lineno, column: column };
|
||||
return function(node) {
|
||||
node.position = new Position(start);
|
||||
whitespace();
|
||||
return node;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Store position information for a node.
|
||||
*
|
||||
* @constructor
|
||||
* @property {Object} start
|
||||
* @property {Object} end
|
||||
* @property {undefined|String} source
|
||||
*/
|
||||
function Position(start) {
|
||||
this.start = start;
|
||||
this.end = { line: lineno, column: column };
|
||||
this.source = options.source;
|
||||
}
|
||||
|
||||
/**
|
||||
* Non-enumerable source string.
|
||||
*/
|
||||
Position.prototype.content = style;
|
||||
|
||||
/**
|
||||
* Error `msg`.
|
||||
*
|
||||
* @param {String} msg
|
||||
* @throws {Error}
|
||||
*/
|
||||
function error(msg) {
|
||||
var err = new Error(
|
||||
options.source + ':' + lineno + ':' + column + ': ' + msg
|
||||
);
|
||||
err.reason = msg;
|
||||
err.filename = options.source;
|
||||
err.line = lineno;
|
||||
err.column = column;
|
||||
err.source = style;
|
||||
|
||||
if (options.silent) ; else {
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Match `re` and return captures.
|
||||
*
|
||||
* @param {RegExp} re
|
||||
* @return {undefined|Array}
|
||||
*/
|
||||
function match(re) {
|
||||
var m = re.exec(style);
|
||||
if (!m) return;
|
||||
var str = m[0];
|
||||
updatePosition(str);
|
||||
style = style.slice(str.length);
|
||||
return m;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse whitespace.
|
||||
*/
|
||||
function whitespace() {
|
||||
match(WHITESPACE_REGEX);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse comments.
|
||||
*
|
||||
* @param {Object[]} [rules]
|
||||
* @return {Object[]}
|
||||
*/
|
||||
function comments(rules) {
|
||||
var c;
|
||||
rules = rules || [];
|
||||
while ((c = comment())) {
|
||||
if (c !== false) {
|
||||
rules.push(c);
|
||||
}
|
||||
}
|
||||
return rules;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse comment.
|
||||
*
|
||||
* @return {Object}
|
||||
* @throws {Error}
|
||||
*/
|
||||
function comment() {
|
||||
var pos = position();
|
||||
if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;
|
||||
|
||||
var i = 2;
|
||||
while (
|
||||
EMPTY_STRING != style.charAt(i) &&
|
||||
(ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))
|
||||
) {
|
||||
++i;
|
||||
}
|
||||
i += 2;
|
||||
|
||||
if (EMPTY_STRING === style.charAt(i - 1)) {
|
||||
return error('End of comment missing');
|
||||
}
|
||||
|
||||
var str = style.slice(2, i - 2);
|
||||
column += 2;
|
||||
updatePosition(str);
|
||||
style = style.slice(i);
|
||||
column += 2;
|
||||
|
||||
return pos({
|
||||
type: TYPE_COMMENT,
|
||||
comment: str
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse declaration.
|
||||
*
|
||||
* @return {Object}
|
||||
* @throws {Error}
|
||||
*/
|
||||
function declaration() {
|
||||
var pos = position();
|
||||
|
||||
// prop
|
||||
var prop = match(PROPERTY_REGEX);
|
||||
if (!prop) return;
|
||||
comment();
|
||||
|
||||
// :
|
||||
if (!match(COLON_REGEX)) return error("property missing ':'");
|
||||
|
||||
// val
|
||||
var val = match(VALUE_REGEX);
|
||||
|
||||
var ret = pos({
|
||||
type: TYPE_DECLARATION,
|
||||
property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),
|
||||
value: val
|
||||
? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))
|
||||
: EMPTY_STRING
|
||||
});
|
||||
|
||||
// ;
|
||||
match(SEMICOLON_REGEX);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse declarations.
|
||||
*
|
||||
* @return {Object[]}
|
||||
*/
|
||||
function declarations() {
|
||||
var decls = [];
|
||||
|
||||
comments(decls);
|
||||
|
||||
// declarations
|
||||
var decl;
|
||||
while ((decl = declaration())) {
|
||||
if (decl !== false) {
|
||||
decls.push(decl);
|
||||
comments(decls);
|
||||
}
|
||||
}
|
||||
|
||||
return decls;
|
||||
}
|
||||
|
||||
whitespace();
|
||||
return declarations();
|
||||
};
|
||||
|
||||
/**
|
||||
* Trim `str`.
|
||||
*
|
||||
* @param {String} str
|
||||
* @return {String}
|
||||
*/
|
||||
function trim(str) {
|
||||
return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses inline style to object.
|
||||
*
|
||||
* @example
|
||||
* // returns { 'line-height': '42' }
|
||||
* StyleToObject('line-height: 42;');
|
||||
*
|
||||
* @param {String} style - The inline style.
|
||||
* @param {Function} [iterator] - The iterator function.
|
||||
* @return {null|Object}
|
||||
*/
|
||||
function StyleToObject(style, iterator) {
|
||||
var output = null;
|
||||
if (!style || typeof style !== 'string') {
|
||||
return output;
|
||||
}
|
||||
|
||||
var declaration;
|
||||
var declarations = inlineStyleParser(style);
|
||||
var hasIterator = typeof iterator === 'function';
|
||||
var property;
|
||||
var value;
|
||||
|
||||
for (var i = 0, len = declarations.length; i < len; i++) {
|
||||
declaration = declarations[i];
|
||||
property = declaration.property;
|
||||
value = declaration.value;
|
||||
|
||||
if (hasIterator) {
|
||||
iterator(property, value, declaration);
|
||||
} else if (value) {
|
||||
output || (output = {});
|
||||
output[property] = value;
|
||||
}
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
var styleToObject = StyleToObject;
|
||||
|
||||
return styleToObject;
|
||||
|
||||
})));
|
||||
2
node_modules/style-to-object/dist/style-to-object.min.js
generated
vendored
Normal file
2
node_modules/style-to-object/dist/style-to-object.min.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(n=n||self).StyleToObject=r()}(this,function(){"use strict";function s(e,t){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var o=1,i=1;function u(n){var r=n.match(g);r&&(o+=r.length);var t=n.lastIndexOf("\n");i=~t?n.length-t:i+n.length}function c(){var r={line:o,column:i};return function(n){return n.position=new f(r),l(),n}}function f(n){this.start=n,this.end={line:o,column:i},this.source=t.source}function a(n){var r=new Error(t.source+":"+o+":"+i+": "+n);if(r.reason=n,r.filename=t.source,r.line=o,r.column=i,r.source=e,!t.silent)throw r}function s(n){var r=n.exec(e);if(r){var t=r[0];return u(t),e=e.slice(t.length),r}}function l(){s(n)}function p(n){var r;for(n=n||[];r=h();)!1!==r&&n.push(r);return n}function h(){var n=c();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var r=2;x!=e.charAt(r)&&("*"!=e.charAt(r)||"/"!=e.charAt(r+1));)++r;if(r+=2,x===e.charAt(r-1))return a("End of comment missing");var t=e.slice(2,r-2);return i+=2,u(t),e=e.slice(r),i+=2,n({type:"comment",comment:t})}}function v(){var n=c(),r=s(y);if(r){if(h(),!s(d))return a("property missing ':'");var t=s(w),e=n({type:"declaration",property:b(r[0].replace(m,x)),value:t?b(t[0].replace(m,x)):x});return s(A),e}}return f.prototype.content=e,l(),function(){var n,r=[];for(p(r);n=v();)!1!==n&&(r.push(n),p(r));return r}()}var m=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,g=/\n/g,n=/^\s*/,y=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,d=/^:\s*/,w=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,A=/^[;\s]*/,r=/^\s+|\s+$/g,x="";function b(n){return n?n.replace(r,x):x}return function(n,r){var t,e=null;if(!n||"string"!=typeof n)return e;for(var o,i,u=s(n),c="function"==typeof r,f=0,a=u.length;f<a;f++)o=(t=u[f]).property,i=t.value,c?r(o,i,t):i&&((e=e||{})[o]=i);return e}});
|
||||
//# sourceMappingURL=style-to-object.min.js.map
|
||||
1
node_modules/style-to-object/dist/style-to-object.min.js.map
generated
vendored
Normal file
1
node_modules/style-to-object/dist/style-to-object.min.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
38
node_modules/style-to-object/index.d.ts
generated
vendored
Normal file
38
node_modules/style-to-object/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Parses inline style to object.
|
||||
*
|
||||
* @example
|
||||
* import StyleToObject from 'style-to-object';
|
||||
* StyleToObject('line-height: 42;');
|
||||
*/
|
||||
declare function StyleToObject(
|
||||
style: string,
|
||||
iterator?: StyleToObject.Iterator
|
||||
): { [name: string]: string } | null;
|
||||
|
||||
export = StyleToObject;
|
||||
|
||||
declare namespace StyleToObject {
|
||||
interface DeclarationPos {
|
||||
line: number;
|
||||
column: number;
|
||||
}
|
||||
|
||||
// declaration is an object from module `inline-style-parser`
|
||||
interface Declaration {
|
||||
type: string;
|
||||
property: string;
|
||||
value: string;
|
||||
position: {
|
||||
start: DeclarationPos;
|
||||
end: DeclarationPos;
|
||||
source: any;
|
||||
};
|
||||
}
|
||||
|
||||
type Iterator = (
|
||||
property: string,
|
||||
value: string,
|
||||
declaration: Declaration
|
||||
) => void;
|
||||
}
|
||||
42
node_modules/style-to-object/index.js
generated
vendored
Normal file
42
node_modules/style-to-object/index.js
generated
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
var parse = require('inline-style-parser');
|
||||
|
||||
/**
|
||||
* Parses inline style to object.
|
||||
*
|
||||
* @example
|
||||
* // returns { 'line-height': '42' }
|
||||
* StyleToObject('line-height: 42;');
|
||||
*
|
||||
* @param {String} style - The inline style.
|
||||
* @param {Function} [iterator] - The iterator function.
|
||||
* @return {null|Object}
|
||||
*/
|
||||
function StyleToObject(style, iterator) {
|
||||
var output = null;
|
||||
if (!style || typeof style !== 'string') {
|
||||
return output;
|
||||
}
|
||||
|
||||
var declaration;
|
||||
var declarations = parse(style);
|
||||
var hasIterator = typeof iterator === 'function';
|
||||
var property;
|
||||
var value;
|
||||
|
||||
for (var i = 0, len = declarations.length; i < len; i++) {
|
||||
declaration = declarations[i];
|
||||
property = declaration.property;
|
||||
value = declaration.value;
|
||||
|
||||
if (hasIterator) {
|
||||
iterator(property, value, declaration);
|
||||
} else if (value) {
|
||||
output || (output = {});
|
||||
output[property] = value;
|
||||
}
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
module.exports = StyleToObject;
|
||||
67
node_modules/style-to-object/package.json
generated
vendored
Normal file
67
node_modules/style-to-object/package.json
generated
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"name": "style-to-object",
|
||||
"version": "0.3.0",
|
||||
"description": "Converts inline style to object.",
|
||||
"author": "Mark <mark@remarkablemark.org>",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"scripts": {
|
||||
"build": "run-s build:*",
|
||||
"build:min": "NODE_ENV=production rollup --config --file dist/style-to-object.min.js --sourcemap",
|
||||
"build:unmin": "NODE_ENV=development rollup --config --file dist/style-to-object.js",
|
||||
"clean": "rm -rf dist",
|
||||
"coveralls": "nyc report --reporter=text-lcov | coveralls",
|
||||
"lint": "eslint --ignore-path .gitignore .",
|
||||
"lint:fix": "npm run lint -- --fix",
|
||||
"lint:dts": "dtslint .",
|
||||
"prepublishOnly": "run-s lint lint:dts test clean build",
|
||||
"release": "standard-version --no-verify",
|
||||
"test": "mocha",
|
||||
"test:coverage": "nyc npm test",
|
||||
"test:coverage:report": "nyc report --reporter=html",
|
||||
"test:watch": "mocha --watch"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/remarkablemark/style-to-object"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/remarkablemark/style-to-object/issues"
|
||||
},
|
||||
"keywords": [
|
||||
"style-to-object",
|
||||
"inline",
|
||||
"style",
|
||||
"parser",
|
||||
"css",
|
||||
"object",
|
||||
"pojo"
|
||||
],
|
||||
"dependencies": {
|
||||
"inline-style-parser": "0.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "^8.2.0",
|
||||
"@commitlint/config-conventional": "^8.2.0",
|
||||
"coveralls": "^3.0.7",
|
||||
"dtslint": "^1.0.3",
|
||||
"eslint": "^6.6.0",
|
||||
"eslint-plugin-prettier": "^3.1.1",
|
||||
"husky": "^3.0.9",
|
||||
"lint-staged": "^9.4.2",
|
||||
"mocha": "^6.2.2",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"nyc": "^14.1.1",
|
||||
"prettier": "^1.18.2",
|
||||
"rollup": "^1.26.3",
|
||||
"rollup-plugin-commonjs": "^10.1.0",
|
||||
"rollup-plugin-node-resolve": "^5.2.0",
|
||||
"rollup-plugin-uglify": "^6.0.3",
|
||||
"standard-version": "^6"
|
||||
},
|
||||
"files": [
|
||||
"/dist",
|
||||
"index.d.ts"
|
||||
],
|
||||
"license": "MIT"
|
||||
}
|
||||
Reference in New Issue
Block a user