Socket
Socket
Sign inDemoInstall

mjml-chart

Package Overview
Dependencies
167
Maintainers
1
Versions
484
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.1 to 1.0.2

examples/simple-chart.js

240

lib/index.js

@@ -10,10 +10,14 @@ 'use strict';

var _class;
// import Image from 'mjml-image'
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); /**
* GENERATED-CODE
*
* Beware don't edit `index.js` it was automatically generated with `npm run update`, edit `scripts/templates/component.js.tmpl` instead.
*/
var _mjmlCore = require('mjml-core');
var _src = require('../../mjml-image/src');
var _mjmlImage = require('mjml-image');
var _src2 = _interopRequireDefault(_src);
var _mjmlImage2 = _interopRequireDefault(_mjmlImage);

@@ -24,2 +28,22 @@ var _react = require('react');

var _querystring = require('querystring');
var _querystring2 = _interopRequireDefault(_querystring);
var _assert = require('assert');
var _assert2 = _interopRequireDefault(_assert);
var _memoize = require('lodash/memoize');
var _memoize2 = _interopRequireDefault(_memoize);
var _toNumber = require('lodash/toNumber');
var _toNumber2 = _interopRequireDefault(_toNumber);
var _includes = require('lodash/includes');
var _includes2 = _interopRequireDefault(_includes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -35,15 +59,115 @@

var defaultMJMLDefinition = {
attributes: {
'height': 'auto',
'padding': '10px 25px',
'align': 'center',
'alt': '',
'border': 'none',
'border-radius': '',
'href': '',
'src': '',
'target': '_blank',
'title': ''
}
"cht": null,
"chd": null,
"chds": null,
"chof": null,
"chs": null,
"chdl": null,
"chdls": null,
"chg": null,
"chco": null,
"chtt": null,
"chts": null,
"chls": null,
"chl": null,
"chf": null,
"chan": null,
"chli": null,
"icac": null,
"ichm": null,
"padding": "10px 25px",
"align": "center",
"alt": null,
"border": "none",
"border-radius": null,
"title": null
};
var imageChartsParameters = [{
"name": "cht",
"examples": ["bvg", "p"],
"required": true,
"enum": ["bvs", "bhs", "bvg", "bhg", "bvo", "p", "p3", "pc", "pd", "ls", "lc", "lxy", "ls:nda", "lc:nda", "lxy:nda"]
}, {
"name": "chd",
"pattern": "/^((t:(?:(?:[\\-0-9_\\.]+)[,|])+[\\.\\-0-9_]+)|(s:[a-z0-9_,]+)|(e:[a-z0-9_,-\\.]+))$/i",
"examples": ["t:10,20,30|15,25,35"],
"required": true
}, {
"name": "chds",
"pattern": "/a|([0-9\\-],?)+/",
"examples": ["-80,140"]
}, {
"name": "chof",
"examples": [".png"],
"required": false
}, {
"name": "chs",
"pattern": "/^[0-9]{1,3}x[0-9]{1,3}$/",
"examples": ["400x400"],
"required": true
}, {
"name": "chdl",
"pattern": '/^(?:[a-z0-9+\\s\\u00C0-\\u017F_!()&-\xB0.]*\\|?)+$/i',
"examples": ["NASDAQ|FTSE100|DOW"],
"required": false
}, {
"name": "chdls",
"pattern": "/^[0-9A-F]{6}(?:[0-9A-F]{2})?(?:,[0-9]+)?$/i",
"examples": ["9e9e9e,17"],
"required": false
}, {
"name": "chg",
"pattern": "/^[0-9]+(?:,[0-9.]+){0,5}?$/i",
"examples": ["1,1", "0,1,1,5"],
"required": false
}, {
"name": "chco",
"pattern": "/^([0-9A-F]{6}(?:[0-9A-F]{2})?,?\\|?)+$/i",
"examples": ["FFC48C", "FF0000,00FF00,0000FF"],
"required": false
}, {
"name": "chtt",
"pattern": '/^[a-z0-9\\s\\W\\u00C0-\\u017F]+$/i',
"examples": ["My beautiful chart"],
"required": false
}, {
"name": "chts",
"pattern": "/^([A-Z0-9]{6}),[0-9]+(,[lcr])?/i",
"examples": ["00FF00,17"],
"required": false
}, {
"name": "chls",
"pattern": "/^(((?:[0-9]\\.?)+,?){1,3}\\|?)+/i",
"examples": ["10", "3,6,3|5"],
"required": false
}, {
"name": "chl",
"pattern": '/(?:[a-z0-9\\u00C0-\\u017F\\s]+\\|?)+/i',
"examples": ["label1|label2"],
"required": false
}, {
"name": "chf",
"pattern": "/^(?:(?:b(?:[0-9]+|g)|a|c),s,[0-9A-F]{6}(?:[0-9A-F]{2})?|(?:(?:(?:b(?:[0-9]+|g)|c)|ps[0-9]+-[0-9]+),lg,[0-9]{1,2}(?:,[0-9A-F]{6}(?:[0-9A-F]{2})?,[0-9.]+){1,})|(?:(?:b(?:[0-9]+|g)|c),ls,[0-9]{1,2}(?:,[0-9A-F]{6}(?:[0-9A-F]{2})?,[0-9.]+){1,})|\\|?)+$/i",
"examples": ["b0,lg,0,f44336,0.3,03a9f4,0.8"],
"required": false
}, {
"name": "chan",
"pattern": "/^[0-9]{2,4}(?:,(?:easeInQuad|easeOutQuad|easeInOutQuad|easeInCubic|easeOutCubic|easeInOutCubic|easeInQuart|easeOutQuart|easeInOutQuart|easeInQuint|easeOutQuint|easeInOutQuint|easeInSine|easeOutSine|easeInOutSine|easeInExpo|easeOutExpo|easeInOutExpo|easeInCirc|easeOutCirc|easeInOutCirc|easeInElastic|easeOutElastic|easeInOutElastic|easeInBack|easeOutBack|easeInOutBack|easeInBounce|easeOutBounce|easeInOutBounce))?$/",
"examples": ["1200", "1300|easeInOutSine"],
"required": false
}, {
"name": "chli",
"pattern": "/^(?:.*)$/i",
"examples": ["95K€", "45%"],
"required": false
}, {
"name": "icac",
"examples": ["accountId"],
"required": false
}, {
"name": "ichm",
"examples": ["0785cf22a0381c2e0239e27c126de4181f501d117c2c81745611e9db928b0376"],
"required": false
}];
var endingTag = true;

@@ -65,5 +189,45 @@ var baseStyles = {

var Chart = (0, _mjmlCore.MJMLElement)(_class = function (_Image) {
_inherits(Chart, _Image);
var strToRegExp = (0, _memoize2.default)(function (regexp) {
var _$exec = /\/(.*)\/(.*)/.exec(regexp);
var _$exec2 = _slicedToArray(_$exec, 3);
var __ = _$exec2[0];
var pattern = _$exec2[1];
var flags = _$exec2[2]; // eslint-disable-line no-unused-vars
return new RegExp(pattern, flags);
});
function buildURL(mjAttribute) {
function buildQuery() {
return imageChartsParameters.reduce(function (query, attr) {
var val = mjAttribute(attr.name);
(0, _assert2.default)(!(attr.required && val === undefined), attr.name + ' is required. Examples values ' + attr.examples.join(', '));
if (val === undefined) {
return query;
}
if (attr.pattern) {
(0, _assert2.default)(strToRegExp(attr.pattern).test(val), '"' + val + '" is an invalid value for ' + attr.name + '. Examples: ' + attr.examples.join(', '));
}
if (attr.enum) {
(0, _assert2.default)((0, _includes2.default)(attr.enum, val), '"' + val + '" is not an valid value for ' + attr.name + '. Valid values are: ' + JSON.stringify(attr.enum));
}
query[attr.name] = val;
return query;
}, {});
}
return 'https://image-charts.com/chart?' + _querystring2.default.stringify(buildQuery());
}
var Chart = (0, _mjmlCore.MJMLElement)(_class = function (_Component) {
_inherits(Chart, _Component);
function Chart() {

@@ -76,27 +240,25 @@ _classCallCheck(this, Chart);

_createClass(Chart, [{
key: 'renderImage',
value: function renderImage() {
key: 'render',
value: function render() {
var mjAttribute = this.props.mjAttribute;
var _mjAttribute$split$ma = mjAttribute('chs').split('x').map(_toNumber2.default);
var img = _react2.default.createElement('img', {
'data-fg': 'ok',
alt: mjAttribute('alt'),
title: mjAttribute('title'),
height: mjAttribute('height'),
src: mjAttribute('src'),
style: this.styles.img,
width: this.getContentWidth() });
var _mjAttribute$split$ma2 = _slicedToArray(_mjAttribute$split$ma, 2);
if (mjAttribute('href') != '') {
return _react2.default.createElement(
'a',
{
href: mjAttribute('href'),
target: mjAttribute('target') },
img
);
}
var width = _mjAttribute$split$ma2[0];
var height = _mjAttribute$split$ma2[1];
return img;
return _react2.default.createElement(_mjmlImage2.default, {
width: width,
height: height,
src: buildURL(mjAttribute),
padding: mjAttribute('padding'),
align: mjAttribute('align'),
alt: mjAttribute('alt'),
border: mjAttribute('border'),
'border-radius': mjAttribute('border-radius'),
title: mjAttribute('title')
});
}

@@ -106,3 +268,3 @@ }]);

return Chart;
}(_src2.default)) || _class;
}(_react.Component)) || _class;

@@ -114,2 +276,2 @@ Chart.tagName = tagName;

exports.default = Chart;
exports.default = Chart;

6

package.json
{
"name": "mjml-chart",
"description": "mjml-chart",
"version": "1.0.1",
"version": "1.0.2",
"main": "lib/index.js",

@@ -12,3 +12,4 @@ "scripts": {

"update": "node scripts/generateREADME.js > README.md && node scripts/generateComponent.js > src/index.js",
"update-watch": "chokidar 'scripts/**' 'package.json' -c 'npm run update'"
"update-watch": "chokidar 'scripts/**' 'package.json' -c 'npm run update'",
"example-html": "babel-node examples/simple-chart.js"
},

@@ -35,2 +36,3 @@ "repository": {

"devDependencies": {
"babel-cli": "^6.16.0",
"chai": "^3.5.0",

@@ -37,0 +39,0 @@ "chokidar-cli": "^1.2.0",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc