style-to-object 0.4.4 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,7 +11,8 @@
11
11
  Parses inline style to object:
12
12
 
13
13
  ```js
14
- var parse = require('style-to-object');
14
+ import parse from 'style-to-object';
15
+
15
16
  parse('color: #C0FFEE; background: #BADA55;');
16
17
  ```
17
18
 
@@ -48,16 +49,18 @@ yarn add style-to-object
48
49
 
49
50
  ## Usage
50
51
 
51
- Import the module:
52
+ Import with ES Modules:
52
53
 
53
54
  ```js
54
- // CommonJS
55
- const parse = require('style-to-object');
56
-
57
- // ES Modules
58
55
  import parse from 'style-to-object';
59
56
  ```
60
57
 
58
+ Require with CommonJS:
59
+
60
+ ```js
61
+ const parse = require('style-to-object').default;
62
+ ```
63
+
61
64
  Parse single declaration:
62
65
 
63
66
  ```js
@@ -127,7 +130,7 @@ parse('/*'); // throws Error
127
130
  If the 2nd argument is a function, then the parser will return `null`:
128
131
 
129
132
  ```js
130
- parse('color: #f00', function() {}); // null
133
+ parse('color: #f00', () => {}); // null
131
134
  ```
132
135
 
133
136
  But the function will iterate through each declaration:
@@ -135,7 +138,7 @@ But the function will iterate through each declaration:
135
138
  <!-- prettier-ignore-start -->
136
139
 
137
140
  ```js
138
- parse('color: #f00', function(name, value, declaration) {
141
+ parse('color: #f00', (name, value, declaration) => {
139
142
  console.log(name); // 'color'
140
143
  console.log(value); // '#f00'
141
144
  console.log(declaration); // { type: 'declaration', property: 'color', value: '#f00' }
@@ -161,42 +164,14 @@ parse(style, iterator);
161
164
  console.log(output); // [['color', 'red'], ['background', 'blue']]
162
165
  ```
163
166
 
164
- ## Testing
165
-
166
- Run tests:
167
-
168
- ```sh
169
- npm test
170
- ```
171
-
172
- Run tests in watch mode:
173
-
174
- ```sh
175
- npm run test:watch
176
- ```
177
-
178
- Run tests with coverage:
179
-
180
- ```sh
181
- npm run test:coverage
182
- ```
183
-
184
- Lint files:
185
-
186
- ```sh
187
- npm run lint
188
- ```
189
-
190
- Fix lint errors:
167
+ ## Migration
191
168
 
192
- ```sh
193
- npm run lint:fix
194
- ```
169
+ ### v1
195
170
 
196
- Test TypeScript declaration file for style and correctness:
171
+ Migrated to TypeScript. Iterator excludes `Comment`. CommonJS requires the `.default` key:
197
172
 
198
- ```sh
199
- npm run lint:dts
173
+ ```js
174
+ const parse = require('style-to-object').default;
200
175
  ```
201
176
 
202
177
  ## Release
package/cjs/index.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import type { Declaration } from 'inline-style-parser';
2
+ export { Declaration };
3
+ interface StyleObject {
4
+ [name: string]: string;
5
+ }
6
+ type Iterator = (property: string, value: string, declaration: Declaration) => void;
7
+ /**
8
+ * Parses inline style to object.
9
+ *
10
+ * @param style - Inline style.
11
+ * @param iterator - Iterator.
12
+ * @returns - Style object or null.
13
+ *
14
+ * @example Parsing inline style to object:
15
+ *
16
+ * ```js
17
+ * import parse from 'style-to-object';
18
+ * parse('line-height: 42;'); // { 'line-height': '42' }
19
+ * ```
20
+ */
21
+ export default function StyleToObject(style: string, iterator?: Iterator): StyleObject | null;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,UAAU,WAAW;IACnB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,KAAK,QAAQ,GAAG,CACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,WAAW,KACrB,IAAI,CAAC;AAEV;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,QAAQ,GAClB,WAAW,GAAG,IAAI,CA0BpB"}
package/cjs/index.js ADDED
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var inline_style_parser_1 = __importDefault(require("inline-style-parser"));
7
+ /**
8
+ * Parses inline style to object.
9
+ *
10
+ * @param style - Inline style.
11
+ * @param iterator - Iterator.
12
+ * @returns - Style object or null.
13
+ *
14
+ * @example Parsing inline style to object:
15
+ *
16
+ * ```js
17
+ * import parse from 'style-to-object';
18
+ * parse('line-height: 42;'); // { 'line-height': '42' }
19
+ * ```
20
+ */
21
+ function StyleToObject(style, iterator) {
22
+ var styleObject = null;
23
+ if (!style || typeof style !== 'string') {
24
+ return styleObject;
25
+ }
26
+ var declarations = (0, inline_style_parser_1.default)(style);
27
+ var hasIterator = typeof iterator === 'function';
28
+ declarations.forEach(function (declaration) {
29
+ if (declaration.type !== 'declaration') {
30
+ return;
31
+ }
32
+ var property = declaration.property, value = declaration.value;
33
+ if (hasIterator) {
34
+ iterator(property, value, declaration);
35
+ }
36
+ else if (value) {
37
+ styleObject = styleObject || {};
38
+ styleObject[property] = value;
39
+ }
40
+ });
41
+ return styleObject;
42
+ }
43
+ exports.default = StyleToObject;
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,4EAAwC;AAexC;;;;;;;;;;;;;GAaG;AACH,SAAwB,aAAa,CACnC,KAAa,EACb,QAAmB;IAEnB,IAAI,WAAW,GAAuB,IAAI,CAAC;IAE3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACvC,OAAO,WAAW,CAAC;KACpB;IAED,IAAM,YAAY,GAAG,IAAA,6BAAK,EAAC,KAAK,CAAC,CAAC;IAClC,IAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC;IAEnD,YAAY,CAAC,OAAO,CAAC,UAAC,WAAW;QAC/B,IAAI,WAAW,CAAC,IAAI,KAAK,aAAa,EAAE;YACtC,OAAO;SACR;QAEO,IAAA,QAAQ,GAAY,WAAW,SAAvB,EAAE,KAAK,GAAK,WAAW,MAAhB,CAAiB;QAExC,IAAI,WAAW,EAAE;YACf,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;SACxC;aAAM,IAAI,KAAK,EAAE;YAChB,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;YAChC,WAAW,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;SAC/B;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC;AA7BD,gCA6BC"}
@@ -8,8 +8,6 @@
8
8
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
9
9
  }
10
10
 
11
- var styleToObject = {exports: {}};
12
-
13
11
  // http://www.w3.org/TR/CSS21/grammar.html
14
12
  // https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027
15
13
  var COMMENT_REGEX = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g;
@@ -43,7 +41,7 @@
43
41
  * @throws {TypeError}
44
42
  * @throws {Error}
45
43
  */
46
- var inlineStyleParser = function(style, options) {
44
+ var inlineStyleParser = function (style, options) {
47
45
  if (typeof style !== 'string') {
48
46
  throw new TypeError('First argument must be a string');
49
47
  }
@@ -77,7 +75,7 @@
77
75
  */
78
76
  function position() {
79
77
  var start = { line: lineno, column: column };
80
- return function(node) {
78
+ return function (node) {
81
79
  node.position = new Position(start);
82
80
  whitespace();
83
81
  return node;
@@ -268,54 +266,46 @@
268
266
  return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;
269
267
  }
270
268
 
271
- var parse = inlineStyleParser;
269
+ var parse = /*@__PURE__*/getDefaultExportFromCjs(inlineStyleParser);
272
270
 
273
271
  /**
274
272
  * Parses inline style to object.
275
273
  *
276
- * @example
277
- * // returns { 'line-height': '42' }
278
- * StyleToObject('line-height: 42;');
274
+ * @param style - Inline style.
275
+ * @param iterator - Iterator.
276
+ * @returns - Style object or null.
277
+ *
278
+ * @example Parsing inline style to object:
279
279
  *
280
- * @param {String} style - The inline style.
281
- * @param {Function} [iterator] - The iterator function.
282
- * @return {null|Object}
280
+ * ```js
281
+ * import parse from 'style-to-object';
282
+ * parse('line-height: 42;'); // { 'line-height': '42' }
283
+ * ```
283
284
  */
284
285
  function StyleToObject(style, iterator) {
285
- var output = null;
286
- if (!style || typeof style !== 'string') {
287
- return output;
288
- }
289
-
290
- var declaration;
291
- var declarations = parse(style);
292
- var hasIterator = typeof iterator === 'function';
293
- var property;
294
- var value;
295
-
296
- for (var i = 0, len = declarations.length; i < len; i++) {
297
- declaration = declarations[i];
298
- property = declaration.property;
299
- value = declaration.value;
300
-
301
- if (hasIterator) {
302
- iterator(property, value, declaration);
303
- } else if (value) {
304
- output || (output = {});
305
- output[property] = value;
286
+ var styleObject = null;
287
+ if (!style || typeof style !== 'string') {
288
+ return styleObject;
306
289
  }
307
- }
308
-
309
- return output;
290
+ var declarations = parse(style);
291
+ var hasIterator = typeof iterator === 'function';
292
+ declarations.forEach(function (declaration) {
293
+ if (declaration.type !== 'declaration') {
294
+ return;
295
+ }
296
+ var property = declaration.property, value = declaration.value;
297
+ if (hasIterator) {
298
+ iterator(property, value, declaration);
299
+ }
300
+ else if (value) {
301
+ styleObject = styleObject || {};
302
+ styleObject[property] = value;
303
+ }
304
+ });
305
+ return styleObject;
310
306
  }
311
307
 
312
- styleToObject.exports = StyleToObject;
313
- styleToObject.exports.default = StyleToObject; // ESM support
314
-
315
- var styleToObjectExports = styleToObject.exports;
316
- var index = /*@__PURE__*/getDefaultExportFromCjs(styleToObjectExports);
317
-
318
- return index;
308
+ return StyleToObject;
319
309
 
320
310
  }));
321
311
  //# sourceMappingURL=style-to-object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style-to-object.js","sources":["../node_modules/inline-style-parser/index.js","../index.js"],"sourcesContent":["// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\nmodule.exports.default = StyleToObject; // ESM support\n"],"names":["require$$0","styleToObjectModule"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"style-to-object.js","sources":["../node_modules/inline-style-parser/index.js","../src/index.ts"],"sourcesContent":["// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n",null],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).StyleToObject=t()}(this,(function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t={exports:{}},r=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,o=/^\s*/,i=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,u=/^:\s*/,c=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,f=/^[;\s]*/,a=/^\s+|\s+$/g,s="";function l(e){return e?e.replace(a,s):s}var p=function(e,t){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var a=1,p=1;function h(e){var t=e.match(n);t&&(a+=t.length);var r=e.lastIndexOf("\n");p=~r?e.length-r:p+e.length}function v(){var e={line:a,column:p};return function(t){return t.position=new d(e),g(),t}}function d(e){this.start=e,this.end={line:a,column:p},this.source=t.source}function m(r){var n=new Error(t.source+":"+a+":"+p+": "+r);if(n.reason=r,n.filename=t.source,n.line=a,n.column=p,n.source=e,!t.silent)throw n}function y(t){var r=t.exec(e);if(r){var n=r[0];return h(n),e=e.slice(n.length),r}}function g(){y(o)}function x(e){var t;for(e=e||[];t=w();)!1!==t&&e.push(t);return e}function w(){var t=v();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var r=2;s!=e.charAt(r)&&("*"!=e.charAt(r)||"/"!=e.charAt(r+1));)++r;if(r+=2,s===e.charAt(r-1))return m("End of comment missing");var n=e.slice(2,r-2);return p+=2,h(n),e=e.slice(r),p+=2,t({type:"comment",comment:n})}}function b(){var e=v(),t=y(i);if(t){if(w(),!y(u))return m("property missing ':'");var n=y(c),o=e({type:"declaration",property:l(t[0].replace(r,s)),value:n?l(n[0].replace(r,s)):s});return y(f),o}}return d.prototype.content=e,g(),function(){var e,t=[];for(x(t);e=b();)!1!==e&&(t.push(e),x(t));return t}()};function h(e,t){var r,n=null;if(!e||"string"!=typeof e)return n;for(var o,i,u=p(e),c="function"==typeof t,f=0,a=u.length;f<a;f++)o=(r=u[f]).property,i=r.value,c?t(o,i,r):i&&(n||(n={}),n[o]=i);return n}return t.exports=h,t.exports.default=h,e(t.exports)}));
1
+ !function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(n="undefined"!=typeof globalThis?globalThis:n||self).StyleToObject=e()}(this,(function(){"use strict";function n(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,t=/^\s*/,o=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,u=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,f=/^\s+|\s+$/g,a="";function s(n){return n?n.replace(f,a):a}var l=n((function(n,f){if("string"!=typeof n)throw new TypeError("First argument must be a string");if(!n)return[];f=f||{};var l=1,p=1;function h(n){var e=n.match(r);e&&(l+=e.length);var t=n.lastIndexOf("\n");p=~t?n.length-t:p+n.length}function v(){var n={line:l,column:p};return function(e){return e.position=new d(n),g(),e}}function d(n){this.start=n,this.end={line:l,column:p},this.source=f.source}function m(e){var r=new Error(f.source+":"+l+":"+p+": "+e);if(r.reason=e,r.filename=f.source,r.line=l,r.column=p,r.source=n,!f.silent)throw r}function y(e){var r=e.exec(n);if(r){var t=r[0];return h(t),n=n.slice(t.length),r}}function g(){y(t)}function w(n){var e;for(n=n||[];e=b();)!1!==e&&n.push(e);return n}function b(){var e=v();if("/"==n.charAt(0)&&"*"==n.charAt(1)){for(var r=2;a!=n.charAt(r)&&("*"!=n.charAt(r)||"/"!=n.charAt(r+1));)++r;if(r+=2,a===n.charAt(r-1))return m("End of comment missing");var t=n.slice(2,r-2);return p+=2,h(t),n=n.slice(r),p+=2,e({type:"comment",comment:t})}}function A(){var n=v(),r=y(o);if(r){if(b(),!y(i))return m("property missing ':'");var t=y(u),f=n({type:"declaration",property:s(r[0].replace(e,a)),value:t?s(t[0].replace(e,a)):a});return y(c),f}}return d.prototype.content=n,g(),function(){var n,e=[];for(w(e);n=A();)!1!==n&&(e.push(n),w(e));return e}()}));return function(n,e){var r=null;if(!n||"string"!=typeof n)return r;var t=l(n),o="function"==typeof e;return t.forEach((function(n){if("declaration"===n.type){var t=n.property,i=n.value;o?e(t,i,n):i&&((r=r||{})[t]=i)}})),r}}));
2
2
  //# sourceMappingURL=style-to-object.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style-to-object.min.js","sources":["../node_modules/inline-style-parser/index.js","../index.js"],"sourcesContent":["// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\nmodule.exports.default = StyleToObject; // ESM support\n"],"names":["COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","trim","str","replace","parse","style","options","TypeError","lineno","column","updatePosition","lines","match","length","i","lastIndexOf","position","start","line","node","Position","whitespace","this","end","source","error","msg","err","Error","reason","filename","silent","re","m","exec","slice","comments","rules","c","comment","push","pos","charAt","type","declaration","prop","val","ret","property","value","prototype","content","decl","decls","declarations","StyleToObject","iterator","output","hasIterator","len","styleToObjectModule","exports","default"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"style-to-object.min.js","sources":["../node_modules/inline-style-parser/index.js","../src/index.ts"],"sourcesContent":["// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function (style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function (node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n",null],"names":["COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","trim","str","replace","style","options","TypeError","lineno","column","updatePosition","lines","match","length","i","lastIndexOf","position","start","line","node","Position","whitespace","this","end","source","error","msg","err","Error","reason","filename","silent","re","m","exec","slice","comments","rules","c","comment","push","pos","charAt","type","declaration","prop","val","ret","property","value","prototype","content","decl","decls","declarations","iterator","styleObject","parse","hasIterator","forEach"],"mappings":"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","x_google_ignoreList":[0]}
package/esm/index.mjs ADDED
@@ -0,0 +1,3 @@
1
+ import StyleToObject from '../cjs/index.js';
2
+
3
+ export default StyleToObject.default;
package/package.json CHANGED
@@ -1,28 +1,28 @@
1
1
  {
2
2
  "name": "style-to-object",
3
- "version": "0.4.4",
3
+ "version": "1.0.0",
4
4
  "description": "Converts inline style to object.",
5
5
  "author": "Mark <mark@remarkablemark.org>",
6
- "main": "index.js",
7
- "types": "index.d.ts",
8
- "module": "index.mjs",
6
+ "main": "cjs/index.js",
7
+ "module": "esm/index.mjs",
9
8
  "exports": {
10
- "types": "./index.d.ts",
11
- "import": "./index.mjs",
12
- "require": "./index.js"
9
+ "import": "./esm/index.mjs",
10
+ "require": "./cjs/index.js"
13
11
  },
14
12
  "scripts": {
15
- "build": "rollup --config --failAfterWarnings",
16
- "clean": "rm -rf dist",
13
+ "build": "run-s build:*",
14
+ "build:cjs": "tsc --outDir cjs",
15
+ "build:umd": "rollup --config --failAfterWarnings",
16
+ "clean": "rm -rf cjs coverage dist",
17
17
  "lint": "eslint --ignore-path .gitignore .",
18
18
  "lint:fix": "npm run lint -- --fix",
19
- "lint:dts": "dtslint .",
19
+ "lint:tsc": "tsc --noEmit",
20
20
  "_postinstall": "husky install",
21
21
  "postpublish": "pinst --enable",
22
- "prepublishOnly": "pinst --disable && run-s lint lint:dts test clean build",
22
+ "prepublishOnly": "pinst --disable && run-s lint lint:tsc test clean build",
23
23
  "test": "jest",
24
24
  "test:ci": "CI=true jest --ci --colors --coverage",
25
- "test:esm": "node --test __tests__/index.test.mjs",
25
+ "test:esm": "npm run build:cjs && node --test __tests__",
26
26
  "test:watch": "npm run test -- --watch"
27
27
  },
28
28
  "repository": {
@@ -42,16 +42,18 @@
42
42
  "pojo"
43
43
  ],
44
44
  "dependencies": {
45
- "inline-style-parser": "0.1.1"
45
+ "inline-style-parser": "0.2.2"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@commitlint/cli": "17.8.0",
49
49
  "@commitlint/config-conventional": "17.8.0",
50
- "@definitelytyped/dtslint": "0.0.182",
51
- "@rollup/plugin-commonjs": "25.0.5",
50
+ "@rollup/plugin-commonjs": "25.0.7",
52
51
  "@rollup/plugin-node-resolve": "15.2.3",
53
52
  "@rollup/plugin-terser": "0.4.4",
54
- "@typescript-eslint/parser": "5.62.0",
53
+ "@rollup/plugin-typescript": "11.1.5",
54
+ "@types/jest": "29.5.5",
55
+ "@typescript-eslint/eslint-plugin": "6.7.5",
56
+ "@typescript-eslint/parser": "6.7.5",
55
57
  "eslint": "8.51.0",
56
58
  "eslint-plugin-prettier": "5.0.1",
57
59
  "husky": "8.0.3",
@@ -60,14 +62,14 @@
60
62
  "npm-run-all": "4.1.5",
61
63
  "pinst": "3.0.0",
62
64
  "prettier": "3.0.3",
63
- "rollup": "4.1.0",
65
+ "rollup": "4.1.1",
66
+ "ts-jest": "29.1.1",
64
67
  "typescript": "5.2.2"
65
68
  },
66
69
  "files": [
70
+ "/cjs",
67
71
  "/dist",
68
- "index.d.ts",
69
- "index.js",
70
- "index.mjs"
72
+ "/esm"
71
73
  ],
72
74
  "license": "MIT"
73
75
  }
package/index.d.ts DELETED
@@ -1,45 +0,0 @@
1
- /**
2
- * Parses inline style to object.
3
- *
4
- * @example
5
- *
6
- * ```ts
7
- * import parse from 'style-to-object';
8
- * parse('line-height: 42;'); // { 'line-height': '42' }
9
- * ```
10
- */
11
- export default function StyleToObject(
12
- style: string,
13
- iterator?: Iterator
14
- ): { [name: string]: string } | null;
15
-
16
- interface Position {
17
- start: {
18
- line: number;
19
- column: number;
20
- };
21
- end: {
22
- line: number;
23
- column: number;
24
- };
25
- source?: string;
26
- }
27
-
28
- export interface Declaration {
29
- type: 'declaration';
30
- property: string;
31
- value: string;
32
- position: Position;
33
- }
34
-
35
- export interface Comment {
36
- type: 'comment';
37
- comment: string;
38
- position: Position;
39
- }
40
-
41
- type Iterator = (
42
- property: string,
43
- value: string,
44
- declaration: Declaration | Comment
45
- ) => void;
package/index.js DELETED
@@ -1,43 +0,0 @@
1
- var parse = require('inline-style-parser');
2
-
3
- /**
4
- * Parses inline style to object.
5
- *
6
- * @example
7
- * // returns { 'line-height': '42' }
8
- * StyleToObject('line-height: 42;');
9
- *
10
- * @param {String} style - The inline style.
11
- * @param {Function} [iterator] - The iterator function.
12
- * @return {null|Object}
13
- */
14
- function StyleToObject(style, iterator) {
15
- var output = null;
16
- if (!style || typeof style !== 'string') {
17
- return output;
18
- }
19
-
20
- var declaration;
21
- var declarations = parse(style);
22
- var hasIterator = typeof iterator === 'function';
23
- var property;
24
- var value;
25
-
26
- for (var i = 0, len = declarations.length; i < len; i++) {
27
- declaration = declarations[i];
28
- property = declaration.property;
29
- value = declaration.value;
30
-
31
- if (hasIterator) {
32
- iterator(property, value, declaration);
33
- } else if (value) {
34
- output || (output = {});
35
- output[property] = value;
36
- }
37
- }
38
-
39
- return output;
40
- }
41
-
42
- module.exports = StyleToObject;
43
- module.exports.default = StyleToObject; // ESM support
package/index.mjs DELETED
@@ -1,3 +0,0 @@
1
- import StyleToObject from './index.js';
2
-
3
- export default StyleToObject;