- Docs (CHANGES): Add main heading

- npm: Update devDeps (including Jamilih copied into dist files as well as an updated qunit which resolves some security vulnerabilities
master
Brett Zamir 2018-11-04 15:14:53 +08:00
parent f78fb05454
commit 8775528c94
11 changed files with 2196 additions and 1662 deletions

View File

@ -1,4 +1,6 @@
# ?
# SVG-Edit CHANGES
## 3.2.0
- Refactoring: Avoid unnecessary addEventListener `false`; change internal
jPicker function to class (used with `new`)
@ -15,9 +17,9 @@
`jQuery.Function`) and avoid one previously missed instance
- Docs (3.0.0): Clarify
- Docs (ReleaseInstructions): Clarify need for npm permissions to publish
- npm: Update devDeps
- npm: Update devDeps (including some resolving security vulnerabilities)
# 3.1.1
## 3.1.1
- Fix: Save broken on Firefox (since FF version?)
- Docs (ReleaseInstructions): Clarify build instructions for release
@ -33,7 +35,7 @@
- npm: Per convention, switch Node-based (headless browser) testing script to
`npm test` and change the browser tests to "browser-test"
# 3.1.0
## 3.1.0
- Fix (Embedded editor): (Though cross-origin DOM access of iframes apparently
doesn't work now in Chrome or Firefox (which we had been using to disable a
@ -70,7 +72,7 @@
- Build: Add comment not to edit xdomain editor directly
- Build: Remove unused `Makefile`
# 3.0.1
## 3.0.1
- Fix: Revert fix to have extension `mouseup` events run on "zoom" and
"select" modes (#159); breaks polygon selection
@ -78,7 +80,7 @@
other proper results (equal to "all"); prior fix had not covered
original intention
# 3.0.0
## 3.0.0
- See pre-release version notes below for other changes that are a part
of 3.0.0
@ -116,7 +118,7 @@
- Refactoring: array extra/spread operator
- npm: Update devDeps
# 3.0.0-rc.3
## 3.0.0-rc.3
- Security fix: Ensure all apostrophes are escaped for `toXml` utility
- Security fix/Breaking change (Imagelib): Only allow origins within
@ -184,7 +186,7 @@
- npm: Point to official sinon-test package now that ES6 Modules
support landed
# 3.0.0-rc.2
## 3.0.0-rc.2
- Fix: Avoid extension `includeWith` button conflicts/redundancies;
Incorporates #147
@ -220,7 +222,7 @@
- Docs: JSDoc for `setupFlyouts`, `Actions`, `toggleSidePanel`; missing for
ToolbarButton
# 3.0.0-rc.1
## 3.0.0-rc.1
- Security fix: 'extPath', 'imgPath', 'extIconsPath', 'canvgPath',
'langPath', 'jGraduatePath', and 'jspdfPath' were not being prevented
@ -409,7 +411,7 @@
- Linting (ESLint): Avoid linting jsdoc folder
- Testing: Use new Sinon
# 3.0.0-alpha.4
## 3.0.0-alpha.4
- Docs: Convert more docs to JSDoc and add JSDoc script (thanks, tetedacier!)
- Fix `main` on `package.json` to reference UMD distribution and `module`
@ -418,7 +420,7 @@
- Fix (regression): Star tool (radialshift)
- Fix (regression): Favicon setting
# 3.0.0-alpha.3
## 3.0.0-alpha.3
- Change: Default to stylesheet above `editor` directory
- Docs: Installation steps
@ -439,7 +441,7 @@
- Demos: Add svgcanvas demo (Neil Fraser)
- npm: Update devDeps
# 3.0.0-alpha.2
## 3.0.0-alpha.2
- Licensing: Indicate MIT is license type of rgbcolor and rename
file to reflect it; rename/add license file name for jgraduate
@ -604,7 +606,7 @@ also in preparation for future switch to ES6 modules for tests)
was calling it without `new`; refactored now with sufficient mock data
to take into account it is a class
# 3.0.0-alpha.1
## 3.0.0-alpha.1
(Only released on npm for reserving name rather than being intended as a
testable release; the list below, however, does list the fixes it includes.)
@ -681,7 +683,7 @@ testable release; the list below, however, does list the fixes it includes.)
- Build: Provide `package.json` for npm to reserve name (reflecting current
state of `master`)
# 2.8.1 (Ellipse) - December 2nd, 2015
## 2.8.1 (Ellipse) - December 2nd, 2015
For a complete list of changes run:
@ -698,7 +700,7 @@ git log 81afaa9..5986f1e
(<https://github.com/SVG-Edit/svgedit/issues/29>)
- Fix: Updated translations for "page" and "delete" in 57 locales.
# 2.8 (Ellipse) - November 24th, 2015
## 2.8 (Ellipse) - November 24th, 2015
For a complete list of changes run:
@ -754,12 +756,12 @@ git log 4bb15e0..253b4bf
method and the "exported" event to instead be moved to the canvas
"exportPDF" method and "exportedPDF" event respectively.
# 2.7.1 (applied to 2.7 branch) - April 17, 2014
## 2.7.1 (applied to 2.7 branch) - April 17, 2014
- Fix important ID situation with embedded API
- Update functions available to embedded editor
# 2.7 (Deltoid curve) - April 7th, 2014
## 2.7 (Deltoid curve) - April 7th, 2014
- Export to PNG, JPEG, BMP, WEBP (including quality control for JPEG/WEBP)
for default editor and for the server_opensave extension
@ -848,7 +850,7 @@ git log 4bb15e0..253b4bf
`svgEditor.setConfig({allowedOrigins: [origin1, origin2, etc.]})`
in the new `config.js` file.
# 2.6 (Cycloid) - January 15th, 2013
## 2.6 (Cycloid) - January 15th, 2013
- Support for Internet Explorer 9
- Context menu
@ -863,7 +865,7 @@ git log 4bb15e0..253b4bf
- Cut/Copy/Paste
- full list: <http://code.google.com/p/svg-edit/issues/list?can=1&q=label%3ANeededFor-2.6>
# 2.5 - June 15, 2010
## 2.5 - June 15, 2010
- Open Local Files (Firefox 3.6+ only)
- Import SVG into Drawing (Firefox 3.6+ only)
@ -888,7 +890,7 @@ git log 4bb15e0..253b4bf
- Inline text editing
- Line draw snapping with Shift key
# 2.4 - January 11, 2010
## 2.4 - January 11, 2010
- Zoom
- Layers
@ -910,7 +912,7 @@ git log 4bb15e0..253b4bf
- Text fields for all attributes
- Title element
# 2.3 - September 08, 2009
## 2.3 - September 08, 2009
- Align Objects
- Rotate Objects
@ -920,7 +922,7 @@ git log 4bb15e0..253b4bf
- Gradient picking
- Polygon Mode (Path Editing, Phase 1)
# 2.2 - July 08, 2009
## 2.2 - July 08, 2009
- Multiselect Mode
- Undo/Redo Actions
@ -931,7 +933,7 @@ git log 4bb15e0..253b4bf
- Resizing of the SVG canvas
- Upgraded to jPicker 1.0.8
# 2.1 - June 17, 2009
## 2.1 - June 17, 2009
- tooltips added to all UI elements
- fix flyout menus
@ -951,12 +953,12 @@ git log 4bb15e0..253b4bf
- added keystroke shortcuts for all tools
- move to top/bottom
# 2.0 - June 03, 2009
## 2.0 - June 03, 2009
- rewritten SVG-edit, so now it uses OOP
- draw ellipse, square
- created HTML interface similar to Inkscape
# 1.0 - February 06, 2009
## 1.0 - February 06, 2009
- SVG-Edit released

View File

@ -248,134 +248,246 @@
throw new TypeError("Invalid attempt to destructure non-iterable instance");
}
var _typeof$1 = typeof Symbol === "function" && _typeof(Symbol.iterator) === "symbol" ? function (obj) {
return _typeof(obj);
} : function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof(obj);
};
function _typeof$1(obj) {
if (typeof Symbol === "function" && _typeof(Symbol.iterator) === "symbol") {
_typeof$1 = function _typeof$$1(obj) {
return _typeof(obj);
};
} else {
_typeof$1 = function _typeof$$1(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof(obj);
};
}
var classCallCheck = function classCallCheck(instance, Constructor) {
return _typeof$1(obj);
}
function _classCallCheck$1(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
};
}
var createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
function _defineProperties$1(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
}();
function _createClass$1(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties$1(Constructor.prototype, protoProps);
if (staticProps) _defineProperties$1(Constructor, staticProps);
return Constructor;
}
var get = function get(object, property, receiver) {
if (object === null) object = Function.prototype;
var desc = Object.getOwnPropertyDescriptor(object, property);
if (desc === undefined) {
var parent = Object.getPrototypeOf(object);
if (parent === null) {
return undefined;
} else {
return get(parent, property, receiver);
}
} else if ("value" in desc) {
return desc.value;
} else {
var getter = desc.get;
if (getter === undefined) {
return undefined;
}
return getter.call(receiver);
}
};
var inherits = function inherits(subClass, superClass) {
function _inherits$1(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + _typeof(superClass));
throw new TypeError("Super expression must either be null or a function");
}
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
enumerable: false,
writable: true,
configurable: true
}
});
if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
};
if (superClass) _setPrototypeOf$1(subClass, superClass);
}
var possibleConstructorReturn = function possibleConstructorReturn(self, call) {
if (!self) {
function _getPrototypeOf$1(o) {
_getPrototypeOf$1 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf$$1(o) {
return o.__proto__ || Object.getPrototypeOf(o);
};
return _getPrototypeOf$1(o);
}
function _setPrototypeOf$1(o, p) {
_setPrototypeOf$1 = Object.setPrototypeOf || function _setPrototypeOf$$1(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf$1(o, p);
}
function isNativeReflectConstruct$1() {
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
if (Reflect.construct.sham) return false;
if (typeof Proxy === "function") return true;
try {
Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
return true;
} catch (e) {
return false;
}
}
function _construct$1(Parent, args, Class) {
if (isNativeReflectConstruct$1()) {
_construct$1 = Reflect.construct;
} else {
_construct$1 = function _construct$$1(Parent, args, Class) {
var a = [null];
a.push.apply(a, args);
var Constructor = Function.bind.apply(Parent, a);
var instance = new Constructor();
if (Class) _setPrototypeOf$1(instance, Class.prototype);
return instance;
};
}
return _construct$1.apply(null, arguments);
}
function _isNativeFunction$1(fn) {
return Function.toString.call(fn).indexOf("[native code]") !== -1;
}
function _wrapNativeSuper$1(Class) {
var _cache = typeof Map === "function" ? new Map() : undefined;
_wrapNativeSuper$1 = function _wrapNativeSuper$$1(Class) {
if (Class === null || !_isNativeFunction$1(Class)) return Class;
if (typeof Class !== "function") {
throw new TypeError("Super expression must either be null or a function");
}
if (typeof _cache !== "undefined") {
if (_cache.has(Class)) return _cache.get(Class);
_cache.set(Class, Wrapper);
}
function Wrapper() {
return _construct$1(Class, arguments, _getPrototypeOf$1(this).constructor);
}
Wrapper.prototype = Object.create(Class.prototype, {
constructor: {
value: Wrapper,
enumerable: false,
writable: true,
configurable: true
}
});
return _setPrototypeOf$1(Wrapper, Class);
};
return _wrapNativeSuper$1(Class);
}
function _assertThisInitialized$1(self) {
if (self === void 0) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return call && (_typeof(call) === "object" || typeof call === "function") ? call : self;
};
return self;
}
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;
function _possibleConstructorReturn$1(self, call) {
if (call && (_typeof(call) === "object" || typeof call === "function")) {
return call;
}
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");
}
};
}();
return _assertThisInitialized$1(self);
}
var toConsumableArray = function toConsumableArray(arr) {
function _superPropBase$1(object, property) {
while (!Object.prototype.hasOwnProperty.call(object, property)) {
object = _getPrototypeOf$1(object);
if (object === null) break;
}
return object;
}
function _get$1(target, property, receiver) {
if (typeof Reflect !== "undefined" && Reflect.get) {
_get$1 = Reflect.get;
} else {
_get$1 = function _get$$1(target, property, receiver) {
var base = _superPropBase$1(target, property);
if (!base) return;
var desc = Object.getOwnPropertyDescriptor(base, property);
if (desc.get) {
return desc.get.call(receiver);
}
return desc.value;
};
}
return _get$1(target, property, receiver || target);
}
function _slicedToArray$1(arr, i) {
return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _nonIterableRest$1();
}
function _toConsumableArray$1(arr) {
return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _nonIterableSpread$1();
}
function _arrayWithoutHoles$1(arr) {
if (Array.isArray(arr)) {
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {
arr2[i] = arr[i];
}
return arr2;
} else {
return Array.from(arr);
}
};
}
function _arrayWithHoles$1(arr) {
if (Array.isArray(arr)) return arr;
}
function _iterableToArray$1(iter) {
if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
}
function _iterableToArrayLimit$1(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"] != null) _i["return"]();
} finally {
if (_d) throw _e;
}
}
return _arr;
}
function _nonIterableSpread$1() {
throw new TypeError("Invalid attempt to spread non-iterable instance");
}
function _nonIterableRest$1() {
throw new TypeError("Invalid attempt to destructure non-iterable instance");
}
/*
Possible todos:
0. Add XSLT to JML-string stylesheet (or even vice versa)
@ -579,7 +691,7 @@
return 'string';
}
if ((typeof item === 'undefined' ? 'undefined' : _typeof$1(item)) === 'object') {
if (_typeof$1(item) === 'object') {
if (item === null) {
return 'null';
}
@ -636,11 +748,11 @@
}
function _optsOrUndefinedJML() {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return jml.apply(undefined, toConsumableArray(args[0] === undefined ? args.slice(1) : args));
return jml.apply(void 0, _toConsumableArray$1(args[0] === undefined ? args.slice(1) : args));
}
/**
* @private
@ -673,7 +785,7 @@
function _childrenToJML(node) {
return function (childNodeJML, i) {
var cn = node.childNodes[i];
var j = Array.isArray(childNodeJML) ? jml.apply(undefined, toConsumableArray(childNodeJML)) : jml(childNodeJML);
var j = Array.isArray(childNodeJML) ? jml.apply(void 0, _toConsumableArray$1(childNodeJML)) : jml(childNodeJML);
cn.parentNode.replaceChild(j, cn);
};
}
@ -685,7 +797,7 @@
function _appendJML(node) {
return function (childJML) {
node.appendChild(jml.apply(undefined, toConsumableArray(childJML)));
node.appendChild(jml.apply(void 0, _toConsumableArray$1(childJML)));
};
}
/**
@ -699,7 +811,7 @@
if (typeof childJML === 'string') {
node.appendChild(doc.createTextNode(childJML));
} else {
node.appendChild(jml.apply(undefined, toConsumableArray(childJML)));
node.appendChild(jml.apply(void 0, _toConsumableArray$1(childJML)));
}
};
}
@ -735,14 +847,14 @@
var jml = function jml() {
for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
var elem = doc.createDocumentFragment();
function _checkAtts(atts) {
var att = void 0;
var att;
for (att in atts) {
if (!atts.hasOwnProperty(att)) {
@ -795,7 +907,7 @@
if (Array.isArray(template)) {
if (_getType(template[0]) === 'object') {
// Has attributes
template = jml.apply(undefined, ['template'].concat(toConsumableArray(template), [doc.body]));
template = jml.apply(void 0, ['template'].concat(_toConsumableArray$1(template), [doc.body]));
} else {
// Array is for the children
template = jml('template', template, doc.body);
@ -846,30 +958,36 @@
var def = customizedBuiltIn ? elem.getAttribute('is') : localName;
if (customElements.get(def)) {
return 'break';
return "break";
}
var getConstructor = function getConstructor(cb) {
var baseClass = options && options.extends ? doc.createElement(options.extends).constructor : customizedBuiltIn ? doc.createElement(localName).constructor : HTMLElement;
return cb ? function (_baseClass) {
inherits(_class, _baseClass);
return cb ?
/*#__PURE__*/
function (_baseClass) {
_inherits$1(_class, _baseClass);
function _class() {
classCallCheck(this, _class);
var _this;
var _this = possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).call(this));
_classCallCheck$1(this, _class);
cb.call(_this);
_this = _possibleConstructorReturn$1(this, _getPrototypeOf$1(_class).call(this));
cb.call(_assertThisInitialized$1(_assertThisInitialized$1(_this)));
return _this;
}
return _class;
}(baseClass) : function (_baseClass2) {
inherits(_class2, _baseClass2);
}(baseClass) :
/*#__PURE__*/
function (_baseClass2) {
_inherits$1(_class2, _baseClass2);
function _class2() {
classCallCheck(this, _class2);
return possibleConstructorReturn(this, (_class2.__proto__ || Object.getPrototypeOf(_class2)).apply(this, arguments));
_classCallCheck$1(this, _class2);
return _possibleConstructorReturn$1(this, _getPrototypeOf$1(_class2).apply(this, arguments));
}
return _class2;
@ -882,7 +1000,7 @@
if (Array.isArray(attVal)) {
if (attVal.length <= 2) {
var _attVal = slicedToArray(attVal, 2);
var _attVal = _slicedToArray$1(attVal, 2);
constructor = _attVal[0];
options = _attVal[1];
@ -895,12 +1013,12 @@
prototype = options;
}
if ((typeof constructor === 'undefined' ? 'undefined' : _typeof$1(constructor)) === 'object') {
if (_typeof$1(constructor) === 'object') {
prototype = constructor;
constructor = getConstructor();
}
} else {
var _attVal2 = slicedToArray(attVal, 3);
var _attVal2 = _slicedToArray$1(attVal, 3);
constructor = _attVal2[0];
prototype = _attVal2[1];
@ -934,15 +1052,15 @@
}
customElements.define(def, constructor, customizedBuiltIn ? options : undefined);
return 'break';
return "break";
}();
if (_ret === 'break') break;
if (_ret === "break") break;
}
case '$symbol':
{
var _attVal3 = slicedToArray(attVal, 2),
var _attVal3 = _slicedToArray$1(attVal, 2),
symbol = _attVal3[0],
func = _attVal3[1];
@ -1151,7 +1269,7 @@
prop = startProp + key.replace(hyphenForCamelCase, _upperCase);
}
if (value === null || (typeof value === 'undefined' ? 'undefined' : _typeof$1(value)) !== 'object') {
if (value === null || _typeof$1(value) !== 'object') {
if (value != null) {
elem.dataset[prop] = value;
}
@ -1165,7 +1283,7 @@
};
recurse(attVal, '');
return 'break'; // Todo: Disable this by default unless configuration explicitly allows (for security)
return "break"; // Todo: Disable this by default unless configuration explicitly allows (for security)
}();
break;
@ -1210,7 +1328,7 @@
break;
}
if ((typeof attVal === 'undefined' ? 'undefined' : _typeof$1(attVal)) === 'object') {
if (_typeof$1(attVal) === 'object') {
for (var _p in attVal) {
if (attVal.hasOwnProperty(_p) && attVal[_p] != null) {
// Todo: Handle aggregate properties like "border"
@ -1262,8 +1380,8 @@
}
var nodes = [];
var elStr = void 0;
var opts = void 0;
var elStr;
var opts;
var isRoot = false;
if (_getType(args[0]) === 'object' && Object.keys(args[0]).some(function (key) {
@ -1309,11 +1427,10 @@
var defaultMap = opts && opts.$map && opts.$map.root;
var setMap = function setMap(dataVal) {
var map = void 0,
obj = void 0; // Boolean indicating use of default map and object
var map, obj; // Boolean indicating use of default map and object
if (dataVal === true) {
var _defaultMap = slicedToArray(defaultMap, 2);
var _defaultMap = _slicedToArray$1(defaultMap, 2);
map = _defaultMap[0];
obj = _defaultMap[1];
@ -1367,7 +1484,7 @@
var procValue = args[++i];
var val = procValue;
if ((typeof val === 'undefined' ? 'undefined' : _typeof$1(val)) === 'object') {
if (_typeof$1(val) === 'object') {
procValue = [];
for (var p in val) {
@ -1523,7 +1640,8 @@
for (var j = 0; j < cl; j++) {
// Go through children array container to handle elements
var childContent = child[j];
var childContentType = typeof childContent === 'undefined' ? 'undefined' : _typeof$1(childContent);
var childContentType = _typeof$1(childContent);
if (childContent === undefined) {
throw String('Parent array:' + JSON.stringify(args) + '; child: ' + child + '; index:' + j);
@ -1541,7 +1659,7 @@
default:
if (Array.isArray(childContent)) {
// Arrays representing child elements
_appendNode(elem, _optsOrUndefinedJML.apply(undefined, [opts].concat(toConsumableArray(childContent))));
_appendNode(elem, _optsOrUndefinedJML.apply(void 0, [opts].concat(_toConsumableArray$1(childContent))));
} else if (childContent['#']) {
// Fragment
_appendNode(elem, _optsOrUndefinedJML(opts, childContent['#']));
@ -1622,13 +1740,13 @@
}
}
function set$$1(val) {
function set(val) {
parent[parentIdx] = val;
parentIdx++;
}
function setChildren() {
set$$1([]);
set([]);
parent = parent[parentIdx - 1];
parentIdx = 0;
}
@ -1658,10 +1776,7 @@
invalidStateError();
}
var children = void 0,
start = void 0,
tmpParent = void 0,
tmpParentIdx = void 0;
var children, start, tmpParent, tmpParentIdx;
function setTemp() {
tmpParent = parent;
@ -1682,7 +1797,7 @@
setChildren(); // Build child array since elements are, except at the top level, encapsulated in arrays
set$$1(nodeName);
set(nodeName);
start = {};
var hasNamespaceDeclaration = false;
@ -1699,13 +1814,13 @@
}
if (node.attributes.length) {
set$$1(Array.from(node.attributes).reduce(function (obj, att) {
set(Array.from(node.attributes).reduce(function (obj, att) {
obj[att.name] = att.value; // Attr.nodeName and Attr.nodeValue are deprecated as of DOM4 as Attr no longer inherits from Node, so we can safely use name and value
return obj;
}, start));
} else if (hasNamespaceDeclaration) {
set$$1(start);
set(start);
}
children = node.childNodes;
@ -1725,7 +1840,7 @@
case 2:
// ATTRIBUTE (should only get here if passing in an attribute node)
set$$1({
set({
$attribute: [node.namespaceURI, node.name, node.value]
});
break;
@ -1736,7 +1851,7 @@
return;
}
set$$1(node.nodeValue);
set(node.nodeValue);
break;
case 4:
@ -1745,12 +1860,12 @@
invalidStateError();
}
set$$1(['![', node.nodeValue]);
set(['![', node.nodeValue]);
break;
case 5:
// ENTITY REFERENCE (probably not used in browsers since already resolved)
set$$1(['&', node.nodeName]);
set(['&', node.nodeName]);
break;
case 6:
@ -1780,7 +1895,7 @@
}
}
set$$1(start);
set(start);
children = node.childNodes;
if (children.length) {
@ -1813,7 +1928,7 @@
invalidStateError();
}
set$$1(['?', node.target, node.data]); // Todo: Could give option to attempt to convert value back into object if has pseudo-attributes
set(['?', node.target, node.data]); // Todo: Could give option to attempt to convert value back into object if has pseudo-attributes
break;
@ -1823,7 +1938,7 @@
invalidStateError();
}
set$$1(['!', node.nodeValue]);
set(['!', node.nodeValue]);
break;
case 9:
@ -1843,7 +1958,7 @@
};
}
set$$1(docObj); // doc.implementation.createHTMLDocument
set(docObj); // doc.implementation.createHTMLDocument
// Set position to fragment's array children
setObj('$document', 'childNodes');
@ -1884,7 +1999,7 @@
addExternalID(start.$DOCTYPE, node); // Fit in internal subset along with entities?: probably don't need as these would only differ if from DTD, and we're not rebuilding the DTD
set$$1(start); // Auto-generate the internalSubset instead? Avoid entities/notations in favor of array to preserve order?
set(start); // Auto-generate the internalSubset instead? Avoid entities/notations in favor of array to preserve order?
var entities = node.entities; // Currently deprecated
@ -1915,7 +2030,7 @@
case 11:
// DOCUMENT FRAGMENT
setTemp();
set$$1({
set({
'#': []
}); // Set position to fragment's array children
@ -1936,7 +2051,7 @@
}
};
addExternalID(start.$NOTATION, node);
set$$1(start);
set(start);
break;
default:
@ -1961,12 +2076,12 @@
jml.toDOM = function () {
// Alias for jml()
return jml.apply(undefined, arguments);
return jml.apply(void 0, arguments);
};
jml.toHTML = function () {
// Todo: Replace this with version of jml() that directly builds a string
var ret = jml.apply(undefined, arguments); // Todo: deal with serialization of properties like 'selected', 'checked', 'value', 'defaultValue', 'for', 'dataset', 'on*', 'style'! (i.e., need to build a string ourselves)
var ret = jml.apply(void 0, arguments); // Todo: deal with serialization of properties like 'selected', 'checked', 'value', 'defaultValue', 'for', 'dataset', 'on*', 'style'! (i.e., need to build a string ourselves)
return ret.outerHTML;
};
@ -1977,7 +2092,7 @@
};
jml.toXML = function () {
var ret = jml.apply(undefined, arguments);
var ret = jml.apply(void 0, arguments);
return new XmlSerializer().serializeToString(ret);
};
@ -1986,79 +2101,87 @@
return jml.toXML.apply(jml, arguments);
};
var JamilihMap = function (_Map) {
inherits(JamilihMap, _Map);
var JamilihMap =
/*#__PURE__*/
function (_Map) {
_inherits$1(JamilihMap, _Map);
function JamilihMap() {
classCallCheck(this, JamilihMap);
return possibleConstructorReturn(this, (JamilihMap.__proto__ || Object.getPrototypeOf(JamilihMap)).apply(this, arguments));
_classCallCheck$1(this, JamilihMap);
return _possibleConstructorReturn$1(this, _getPrototypeOf$1(JamilihMap).apply(this, arguments));
}
createClass(JamilihMap, [{
key: 'get',
_createClass$1(JamilihMap, [{
key: "get",
value: function get$$1(elem) {
elem = typeof elem === 'string' ? $(elem) : elem;
return get(JamilihMap.prototype.__proto__ || Object.getPrototypeOf(JamilihMap.prototype), 'get', this).call(this, elem);
return _get$1(_getPrototypeOf$1(JamilihMap.prototype), "get", this).call(this, elem);
}
}, {
key: 'set',
value: function set$$1(elem, value) {
key: "set",
value: function set(elem, value) {
elem = typeof elem === 'string' ? $(elem) : elem;
return get(JamilihMap.prototype.__proto__ || Object.getPrototypeOf(JamilihMap.prototype), 'set', this).call(this, elem, value);
return _get$1(_getPrototypeOf$1(JamilihMap.prototype), "set", this).call(this, elem, value);
}
}, {
key: 'invoke',
key: "invoke",
value: function invoke(elem, methodName) {
var _get$$1;
var _this$get;
elem = typeof elem === 'string' ? $(elem) : elem;
for (var _len3 = arguments.length, args = Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
args[_key3 - 2] = arguments[_key3];
}
return (_get$$1 = this.get(elem))[methodName].apply(_get$$1, [elem].concat(args));
return (_this$get = this.get(elem))[methodName].apply(_this$get, [elem].concat(args));
}
}]);
return JamilihMap;
}(Map);
var JamilihWeakMap = function (_WeakMap) {
inherits(JamilihWeakMap, _WeakMap);
return JamilihMap;
}(_wrapNativeSuper$1(Map));
var JamilihWeakMap =
/*#__PURE__*/
function (_WeakMap) {
_inherits$1(JamilihWeakMap, _WeakMap);
function JamilihWeakMap() {
classCallCheck(this, JamilihWeakMap);
return possibleConstructorReturn(this, (JamilihWeakMap.__proto__ || Object.getPrototypeOf(JamilihWeakMap)).apply(this, arguments));
_classCallCheck$1(this, JamilihWeakMap);
return _possibleConstructorReturn$1(this, _getPrototypeOf$1(JamilihWeakMap).apply(this, arguments));
}
createClass(JamilihWeakMap, [{
key: 'get',
_createClass$1(JamilihWeakMap, [{
key: "get",
value: function get$$1(elem) {
elem = typeof elem === 'string' ? $(elem) : elem;
return get(JamilihWeakMap.prototype.__proto__ || Object.getPrototypeOf(JamilihWeakMap.prototype), 'get', this).call(this, elem);
return _get$1(_getPrototypeOf$1(JamilihWeakMap.prototype), "get", this).call(this, elem);
}
}, {
key: 'set',
value: function set$$1(elem, value) {
key: "set",
value: function set(elem, value) {
elem = typeof elem === 'string' ? $(elem) : elem;
return get(JamilihWeakMap.prototype.__proto__ || Object.getPrototypeOf(JamilihWeakMap.prototype), 'set', this).call(this, elem, value);
return _get$1(_getPrototypeOf$1(JamilihWeakMap.prototype), "set", this).call(this, elem, value);
}
}, {
key: 'invoke',
key: "invoke",
value: function invoke(elem, methodName) {
var _get2;
var _this$get2;
elem = typeof elem === 'string' ? $(elem) : elem;
for (var _len4 = arguments.length, args = Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {
for (var _len4 = arguments.length, args = new Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {
args[_key4 - 2] = arguments[_key4];
}
return (_get2 = this.get(elem))[methodName].apply(_get2, [elem].concat(args));
return (_this$get2 = this.get(elem))[methodName].apply(_this$get2, [elem].concat(args));
}
}]);
return JamilihWeakMap;
}(WeakMap);
}(_wrapNativeSuper$1(WeakMap));
jml.Map = JamilihMap;
jml.WeakMap = JamilihWeakMap;
@ -2066,11 +2189,11 @@
jml.weak = function (obj) {
var map = new JamilihWeakMap();
for (var _len5 = arguments.length, args = Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {
for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {
args[_key5 - 1] = arguments[_key5];
}
var elem = jml.apply(undefined, [{
var elem = jml.apply(void 0, [{
$map: [map, obj]
}].concat(args));
return [map, elem];
@ -2079,11 +2202,11 @@
jml.strong = function (obj) {
var map = new JamilihMap();
for (var _len6 = arguments.length, args = Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {
for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {
args[_key6 - 1] = arguments[_key6];
}
var elem = jml.apply(undefined, [{
var elem = jml.apply(void 0, [{
$map: [map, obj]
}].concat(args));
return [map, elem];
@ -2091,24 +2214,24 @@
jml.symbol = jml.sym = jml.for = function (elem, sym) {
elem = typeof elem === 'string' ? $(elem) : elem;
return elem[(typeof sym === 'undefined' ? 'undefined' : _typeof$1(sym)) === 'symbol' ? sym : Symbol.for(sym)];
return elem[_typeof$1(sym) === 'symbol' ? sym : Symbol.for(sym)];
};
jml.command = function (elem, symOrMap, methodName) {
elem = typeof elem === 'string' ? $(elem) : elem;
var func = void 0;
var func;
for (var _len7 = arguments.length, args = Array(_len7 > 3 ? _len7 - 3 : 0), _key7 = 3; _key7 < _len7; _key7++) {
for (var _len7 = arguments.length, args = new Array(_len7 > 3 ? _len7 - 3 : 0), _key7 = 3; _key7 < _len7; _key7++) {
args[_key7 - 3] = arguments[_key7];
}
if (['symbol', 'string'].includes(typeof symOrMap === 'undefined' ? 'undefined' : _typeof$1(symOrMap))) {
if (['symbol', 'string'].includes(_typeof$1(symOrMap))) {
var _func;
func = jml.sym(elem, symOrMap);
if (typeof func === 'function') {
return func.apply(undefined, [methodName].concat(args)); // Already has `this` bound to `elem`
return func.apply(void 0, [methodName].concat(args)); // Already has `this` bound to `elem`
}
return (_func = func)[methodName].apply(_func, args);
@ -2157,7 +2280,7 @@
};
var body = doc && doc.body;
var nbsp = '\xA0'; // Very commonly needed in templates
var nbsp = "\xA0"; // Very commonly needed in templates
var LOAD = 'load';
var DOM_CONTENT_LOADED = 'DOMContentLoaded';
@ -2374,11 +2497,11 @@
return _typeof$2(obj);
}
function _toConsumableArray$1(arr) {
return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _nonIterableSpread$1();
function _toConsumableArray$2(arr) {
return _arrayWithoutHoles$2(arr) || _iterableToArray$2(arr) || _nonIterableSpread$2();
}
function _arrayWithoutHoles$1(arr) {
function _arrayWithoutHoles$2(arr) {
if (Array.isArray(arr)) {
for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {
arr2[i] = arr[i];
@ -2388,11 +2511,11 @@
}
}
function _iterableToArray$1(iter) {
function _iterableToArray$2(iter) {
if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
}
function _nonIterableSpread$1() {
function _nonIterableSpread$2() {
throw new TypeError("Invalid attempt to spread non-iterable instance");
}
@ -2420,7 +2543,7 @@
case 11:
{
// DOCUMENT_FRAGMENT_NODE
return _toConsumableArray$1(content.childNodes).reduce(function (s, node) {
return _toConsumableArray$2(content.childNodes).reduce(function (s, node) {
return s + convertToString(type, node);
}, '');
}
@ -2494,7 +2617,7 @@
default:
{
this.forEach(function (node) {
node[type].apply(node, _toConsumableArray$1(args.map(function (content, i) {
node[type].apply(node, _toConsumableArray$2(args.map(function (content, i) {
return convertToDOM(type, content, i === args.length - 1);
})));
});

4
dist/index-es.js vendored
View File

@ -6728,8 +6728,8 @@ var convertPath = function convertPath(path, toRel) {
* TODO: refactor callers in `convertPath` to use `getPathDFromSegments` instead of this function.
* Legacy code refactored from `svgcanvas.pathActions.convertPath`.
* @param {string} letter - path segment command (letter in potentially either case from {@link module:path.pathMap}; see [SVGPathSeg#pathSegTypeAsLetter]{@link https://www.w3.org/TR/SVG/single-page.html#paths-__svg__SVGPathSeg__pathSegTypeAsLetter})
* @param {GenericArray<Integer>[]} points - x,y points
* @param {GenericArray<Integer>[]} [morePoints] - x,y points
* @param {GenericArray<GenericArray<Integer>>} points - x,y points
* @param {GenericArray<GenericArray<Integer>>} [morePoints] - x,y points
* @param {Integer[]} [lastPoint] - x,y point
* @returns {string}
*/

File diff suppressed because one or more lines are too long

4
dist/index-umd.js vendored
View File

@ -6734,8 +6734,8 @@
* TODO: refactor callers in `convertPath` to use `getPathDFromSegments` instead of this function.
* Legacy code refactored from `svgcanvas.pathActions.convertPath`.
* @param {string} letter - path segment command (letter in potentially either case from {@link module:path.pathMap}; see [SVGPathSeg#pathSegTypeAsLetter]{@link https://www.w3.org/TR/SVG/single-page.html#paths-__svg__SVGPathSeg__pathSegTypeAsLetter})
* @param {GenericArray<Integer>[]} points - x,y points
* @param {GenericArray<Integer>[]} [morePoints] - x,y points
* @param {GenericArray<GenericArray<Integer>>} points - x,y points
* @param {GenericArray<GenericArray<Integer>>} [morePoints] - x,y points
* @param {Integer[]} [lastPoint] - x,y point
* @returns {string}
*/

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -6731,8 +6731,8 @@
* TODO: refactor callers in `convertPath` to use `getPathDFromSegments` instead of this function.
* Legacy code refactored from `svgcanvas.pathActions.convertPath`.
* @param {string} letter - path segment command (letter in potentially either case from {@link module:path.pathMap}; see [SVGPathSeg#pathSegTypeAsLetter]{@link https://www.w3.org/TR/SVG/single-page.html#paths-__svg__SVGPathSeg__pathSegTypeAsLetter})
* @param {GenericArray<Integer>[]} points - x,y points
* @param {GenericArray<Integer>[]} [morePoints] - x,y points
* @param {GenericArray<GenericArray<Integer>>} points - x,y points
* @param {GenericArray<GenericArray<Integer>>} [morePoints] - x,y points
* @param {Integer[]} [lastPoint] - x,y point
* @returns {string}
*/

220
package-lock.json generated
View File

@ -1022,9 +1022,9 @@
}
},
"acorn": {
"version": "5.7.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
"integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.2.tgz",
"integrity": "sha512-GXmKIvbrN3TV7aVqAzVFaMW8F8wzVX7voEBRO3bDA64+EX37YSayggRJP5Xig6HYHBkWKpFg9W5gg6orklubhg==",
"dev": true
},
"acorn-globals": {
@ -1035,14 +1035,6 @@
"requires": {
"acorn": "^6.0.1",
"acorn-walk": "^6.0.1"
},
"dependencies": {
"acorn": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.2.tgz",
"integrity": "sha512-GXmKIvbrN3TV7aVqAzVFaMW8F8wzVX7voEBRO3bDA64+EX37YSayggRJP5Xig6HYHBkWKpFg9W5gg6orklubhg==",
"dev": true
}
}
},
"acorn-jsx": {
@ -1251,7 +1243,7 @@
},
"async": {
"version": "0.2.6",
"resolved": "http://registry.npmjs.org/async/-/async-0.2.6.tgz",
"resolved": "https://registry.npmjs.org/async/-/async-0.2.6.tgz",
"integrity": "sha1-rT83PZJJrjJIgVZVgryQ4VKrvWg=",
"dev": true
},
@ -1991,7 +1983,7 @@
},
"regjsgen": {
"version": "0.2.0",
"resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
"integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
"dev": true
},
@ -2378,7 +2370,6 @@
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dev": true,
"optional": true,
"requires": {
"tweetnacl": "^0.14.3"
}
@ -2701,9 +2692,9 @@
}
},
"caniuse-db": {
"version": "1.0.30000900",
"resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000900.tgz",
"integrity": "sha512-fvicVRDlhHIQpt/bmbLl3hDHKUZb5ZP8O2OuZLz2fSEPlUBbvwwbhhqhGS617ldN6bDoo9A3+MQKQyFq0p7UXA==",
"version": "1.0.30000904",
"resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000904.tgz",
"integrity": "sha512-iZ36AxtEx7ZiCBKhF2qFL8ED6u9zJGPU7Aq6HwZQYUbetBgYkGZfoPHq9z38jahV2kr8BgDYfXvftA35Ng2AaA==",
"dev": true
},
"caniuse-lite": {
@ -3210,13 +3201,13 @@
}
},
"data-urls": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.0.1.tgz",
"integrity": "sha512-0HdcMZzK6ubMUnsMmQmG0AcLQPvbvb47R0+7CCZQCYgcd8OUWG91CG7sM6GoXgjz+WLl4ArFzHtBMy/QqSF4eg==",
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
"integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
"dev": true,
"requires": {
"abab": "^2.0.0",
"whatwg-mimetype": "^2.1.0",
"whatwg-mimetype": "^2.2.0",
"whatwg-url": "^7.0.0"
}
},
@ -3456,7 +3447,6 @@
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"dev": true,
"optional": true,
"requires": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
@ -3744,15 +3734,15 @@
}
},
"eslint-plugin-compat": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-2.6.2.tgz",
"integrity": "sha512-1b6x7bwbs65LEzZITItdkrt2Ua7o6M1zlkcm2PV+FmVrGipwv+hd/kA07vZXFOKvLWK3BxOfGLBvqnZu+N0vrg==",
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/eslint-plugin-compat/-/eslint-plugin-compat-2.6.3.tgz",
"integrity": "sha512-zog1HSEViOhzXNpP6a5T2SjX02A0EYkbYPWemwKupXyOY2hvV4+QbsWlYVzO7Vi36r+zzPwF19T3kaY1x+MrDg==",
"dev": true,
"requires": {
"@babel/runtime": "^7.1.2",
"browserslist": "^4.1.2",
"browserslist": "^4.3.4",
"caniuse-db": "^1.0.30000889",
"mdn-browser-compat-data": "^0.0.53"
"mdn-browser-compat-data": "^0.0.54"
},
"dependencies": {
"browserslist": {
@ -3767,21 +3757,21 @@
}
},
"caniuse-lite": {
"version": "1.0.30000899",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000899.tgz",
"integrity": "sha512-enC3zKfUCJxxwvUIsBkbHd54CtJw1KtIWvrK0JZxWD/fEN2knHaai45lndJ4xXAkyRAPyk60J3yagkKDWhfeMA==",
"version": "1.0.30000904",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000904.tgz",
"integrity": "sha512-M4sXvogCoY5Fp6fuXIaQG/MIexlEFQ3Lgwban+KlqiQUbUIkSmjAB8ZJIP79aj2cdqz2F1Lb+Z+5GwHvCrbLtg==",
"dev": true
},
"electron-to-chromium": {
"version": "1.3.82",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.82.tgz",
"integrity": "sha512-NI4nB2IWGcU4JVT1AE8kBb/dFor4zjLHMLsOROPahppeHrR0FG5uslxMmkp/thO1MvPjM2xhlKoY29/I60s0ew==",
"version": "1.3.83",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.83.tgz",
"integrity": "sha512-DqJoDarxq50dcHsOOlMLNoy+qQitlMNbYb6wwbE0oUw2veHdRkpNrhmngiUYKMErdJ8SJ48rpJsZTQgy5SoEAA==",
"dev": true
},
"node-releases": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.1.tgz",
"integrity": "sha512-/kOv7jA26OBwkBPx6B9xR/FzJzs2OkMtcWjS8uPQRMHE7IELdSfN0QKZvmiWnf5P1QJ8oYq/e9qe0aCZISB1pQ==",
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.3.tgz",
"integrity": "sha512-ZaZWMsbuDcetpHmYeKWPO6e63pSXLb50M7lJgCbcM2nC/nQC3daNifmtp5a2kp7EWwYfhuvH6zLPWkrF8IiDdw==",
"dev": true,
"requires": {
"semver": "^5.3.0"
@ -4443,25 +4433,14 @@
"dev": true
},
"form-data": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "1.0.6",
"combined-stream": "^1.0.6",
"mime-types": "^2.1.12"
},
"dependencies": {
"combined-stream": {
"version": "1.0.6",
"resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"dev": true,
"requires": {
"delayed-stream": "~1.0.0"
}
}
}
},
"format": {
@ -6066,12 +6045,13 @@
"dev": true
},
"jamilih": {
"version": "0.42.0",
"resolved": "https://registry.npmjs.org/jamilih/-/jamilih-0.42.0.tgz",
"integrity": "sha512-/ToTeOHdekMe+8UqsDiPAiud2uKsRZIj9a+LZ7HMIY3L7+ilrslHYG1EYox3Y2JFt8lMcB68SLPmSXLOnwa73Q==",
"version": "0.43.0",
"resolved": "https://registry.npmjs.org/jamilih/-/jamilih-0.43.0.tgz",
"integrity": "sha512-PA6suUSJw/Jk6P78K73lheeD60jZwaaRRbZzjxGgl4b+xPU+JCXJZGtGvRw9ec8Cq0nrlpJtxrzZwDwJNMIdvA==",
"dev": true,
"requires": {
"jsdom": "12.0.0"
"@babel/polyfill": "^7.0.0",
"jsdom": "13.0.0"
}
},
"jest-worker": {
@ -6124,8 +6104,7 @@
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true,
"optional": true
"dev": true
},
"jsdoc": {
"version": "3.5.5",
@ -6156,35 +6135,36 @@
}
},
"jsdom": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-12.0.0.tgz",
"integrity": "sha512-42RgZYXWwyClG0pN6Au7TExAQqRvzbtJhlcIvu58cJj4yr1bIbqZkgxHqn1btxKu80axZXPZLvldeTzg2auKow==",
"version": "13.0.0",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-13.0.0.tgz",
"integrity": "sha512-Kmq4ASMNkgpY+YufE322EnIKoiz0UWY2DRkKlU7d5YrIW4xiVRhWFrZV1fr6w/ZNxQ50wGAH5gGRzydgnmkkvw==",
"dev": true,
"requires": {
"abab": "^2.0.0",
"acorn": "^5.7.1",
"acorn-globals": "^4.1.0",
"acorn": "^6.0.2",
"acorn-globals": "^4.3.0",
"array-equal": "^1.0.0",
"cssom": ">= 0.3.2 < 0.4.0",
"cssstyle": "^1.0.0",
"cssom": "^0.3.4",
"cssstyle": "^1.1.1",
"data-urls": "^1.0.1",
"domexception": "^1.0.1",
"escodegen": "^1.11.0",
"html-encoding-sniffer": "^1.0.2",
"nwsapi": "^2.0.8",
"nwsapi": "^2.0.9",
"parse5": "5.1.0",
"pn": "^1.1.0",
"request": "^2.88.0",
"request-promise-native": "^1.0.5",
"sax": "^1.2.4",
"saxes": "^3.1.3",
"symbol-tree": "^3.2.2",
"tough-cookie": "^2.4.3",
"w3c-hr-time": "^1.0.1",
"w3c-xmlserializer": "^1.0.0",
"webidl-conversions": "^4.0.2",
"whatwg-encoding": "^1.0.4",
"whatwg-mimetype": "^2.1.0",
"whatwg-encoding": "^1.0.5",
"whatwg-mimetype": "^2.2.0",
"whatwg-url": "^7.0.0",
"ws": "^6.0.0",
"ws": "^6.1.0",
"xml-name-validator": "^3.0.0"
}
},
@ -6763,9 +6743,9 @@
}
},
"mdn-browser-compat-data": {
"version": "0.0.53",
"resolved": "https://registry.npmjs.org/mdn-browser-compat-data/-/mdn-browser-compat-data-0.0.53.tgz",
"integrity": "sha512-HQLa/4yE0jNXDgHsFUEuwIobKc+UZvJEFbbmI+w8NsrcrwpxBnS/Jv6+VAxL4Nt1oy8jz97SzAyvZSj1v5fxjQ==",
"version": "0.0.54",
"resolved": "https://registry.npmjs.org/mdn-browser-compat-data/-/mdn-browser-compat-data-0.0.54.tgz",
"integrity": "sha512-eu0g/tlNB3+kqy1O7bzq84OR67Kg1HxRJ6v16P1rjcDsBL7RhJik7aXnzNvuaijNaR1rDana9IO5Lo1b3E4Qxg==",
"dev": true,
"requires": {
"extend": "3.0.2"
@ -6910,18 +6890,18 @@
"dev": true
},
"mime-db": {
"version": "1.36.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.36.0.tgz",
"integrity": "sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw==",
"version": "1.37.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
"integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
"dev": true
},
"mime-types": {
"version": "2.1.20",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz",
"integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==",
"version": "2.1.21",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
"integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
"dev": true,
"requires": {
"mime-db": "~1.36.0"
"mime-db": "~1.37.0"
}
},
"mimic-fn": {
@ -8895,11 +8875,14 @@
"truncate-utf8-bytes": "^1.0.0"
}
},
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true
"saxes": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.3.tgz",
"integrity": "sha512-Nc5DXc5A+m3rUDtkS+vHlBWKT7mCKjJPyia7f8YMW773hsXVv2wEHQZGE0zs4+5PLwz9U5Sbl/94Cnd9vHV7Bg==",
"dev": true,
"requires": {
"xmlchars": "^1.3.1"
}
},
"semver": {
"version": "5.5.0",
@ -9234,9 +9217,9 @@
"dev": true
},
"sshpk": {
"version": "1.14.2",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
"integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
"version": "1.15.2",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
"integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
"dev": true,
"requires": {
"asn1": "~0.2.3",
@ -9581,7 +9564,7 @@
"dependencies": {
"pify": {
"version": "2.3.0",
"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
@ -9763,7 +9746,7 @@
},
"core-js": {
"version": "1.2.7",
"resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
"dev": true
}
@ -9878,7 +9861,7 @@
},
"core-js": {
"version": "1.2.7",
"resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
"dev": true
},
@ -9907,37 +9890,37 @@
},
"testcafe-reporter-json": {
"version": "2.1.0",
"resolved": "http://registry.npmjs.org/testcafe-reporter-json/-/testcafe-reporter-json-2.1.0.tgz",
"resolved": "https://registry.npmjs.org/testcafe-reporter-json/-/testcafe-reporter-json-2.1.0.tgz",
"integrity": "sha1-gLm1pt/y7h3h+R4mcHBsFHLmQAY=",
"dev": true
},
"testcafe-reporter-list": {
"version": "2.1.0",
"resolved": "http://registry.npmjs.org/testcafe-reporter-list/-/testcafe-reporter-list-2.1.0.tgz",
"resolved": "https://registry.npmjs.org/testcafe-reporter-list/-/testcafe-reporter-list-2.1.0.tgz",
"integrity": "sha1-n6ifcbl9Pf5ktDAtXiJ97mmuxrk=",
"dev": true
},
"testcafe-reporter-minimal": {
"version": "2.1.0",
"resolved": "http://registry.npmjs.org/testcafe-reporter-minimal/-/testcafe-reporter-minimal-2.1.0.tgz",
"resolved": "https://registry.npmjs.org/testcafe-reporter-minimal/-/testcafe-reporter-minimal-2.1.0.tgz",
"integrity": "sha1-Z28DVHY0FDxurzq1KGgnOkvr9CE=",
"dev": true
},
"testcafe-reporter-spec": {
"version": "2.1.1",
"resolved": "http://registry.npmjs.org/testcafe-reporter-spec/-/testcafe-reporter-spec-2.1.1.tgz",
"resolved": "https://registry.npmjs.org/testcafe-reporter-spec/-/testcafe-reporter-spec-2.1.1.tgz",
"integrity": "sha1-gVb87Q9RMkhlWa1WC8gGdkaSdew=",
"dev": true
},
"testcafe-reporter-xunit": {
"version": "2.1.0",
"resolved": "http://registry.npmjs.org/testcafe-reporter-xunit/-/testcafe-reporter-xunit-2.1.0.tgz",
"resolved": "https://registry.npmjs.org/testcafe-reporter-xunit/-/testcafe-reporter-xunit-2.1.0.tgz",
"integrity": "sha1-5tZsVyzhWvJmcGrw/WELKoQd1EM=",
"dev": true
},
"text-encoding": {
"version": "0.6.4",
"resolved": "http://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
"resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
"integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=",
"dev": true
},
@ -10161,8 +10144,7 @@
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true,
"optional": true
"dev": true
},
"type-check": {
"version": "0.3.2",
@ -10708,6 +10690,17 @@
"browser-process-hrtime": "^0.1.2"
}
},
"w3c-xmlserializer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.0.0.tgz",
"integrity": "sha512-0et1+9uXYiIRAecx1D5Z1nk60+vimniGdIKl4XjeqkWi6acoHNlXMv1VR5jV+jF4ooeO08oWbYxeAJOcon1oMA==",
"dev": true,
"requires": {
"domexception": "^1.0.1",
"webidl-conversions": "^4.0.2",
"xml-name-validator": "^3.0.0"
}
},
"walk-sync": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.2.tgz",
@ -10758,23 +10751,12 @@
"dev": true
},
"whatwg-encoding": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.4.tgz",
"integrity": "sha512-vM9KWN6MP2mIHZ86ytcyIv7e8Cj3KTfO2nd2c8PFDqcI4bxFmQp83ibq4wadq7rL9l9sZV6o9B0LTt8ygGAAXg==",
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
"integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
"dev": true,
"requires": {
"iconv-lite": "0.4.23"
},
"dependencies": {
"iconv-lite": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
"dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
}
"iconv-lite": "0.4.24"
}
},
"whatwg-mimetype": {
@ -10918,9 +10900,9 @@
}
},
"ws": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-6.0.0.tgz",
"integrity": "sha512-c2UlYcAZp1VS8AORtpq6y4RJIkJ9dQz18W32SpR/qXGfLDZ2jU4y4wKvvZwqbi7U6gxFQTeE+urMbXU/tsDy4w==",
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-6.1.0.tgz",
"integrity": "sha512-H3dGVdGvW2H8bnYpIDc3u3LH8Wue3Qh+Zto6aXXFzvESkTVT6rAfKR6tR/+coaUvxs8yHtmNV0uioBF62ZGSTg==",
"dev": true,
"requires": {
"async-limiter": "~1.0.0"
@ -10938,6 +10920,12 @@
"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
"dev": true
},
"xmlchars": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-1.3.1.tgz",
"integrity": "sha512-tGkGJkN8XqCod7OT+EvGYK5Z4SfDQGD30zAa58OcnAa0RRWgzUEK72tkXhsX1FZd+rgnhRxFtmO+ihkp8LHSkw==",
"dev": true
},
"xmlcreate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz",

View File

@ -54,13 +54,23 @@
},
"homepage": "https://github.com/SVG-Edit/svgedit#readme",
"browserslist": [
"cover 100%",
"last 3 Chrome versions", "last 3 Firefox versions", "last 3 Edge versions",
"last 3 Safari versions", "last 3 ios_saf versions", "last 3 Android versions",
"last 3 Opera versions", "last 3 IE versions", "last 3 op_mini versions",
"last 3 bb versions", "last 3 op_mob versions", "last 3 and_chr versions",
"last 3 and_ff versions", "last 3 ie_mob versions", "last 3 and_uc versions",
"last 3 Samsung versions"
"cover 100%",
"last 3 Chrome versions",
"last 3 Firefox versions",
"last 3 Edge versions",
"last 3 Safari versions",
"last 3 ios_saf versions",
"last 3 Android versions",
"last 3 Opera versions",
"last 3 IE versions",
"last 3 op_mini versions",
"last 3 bb versions",
"last 3 op_mob versions",
"last 3 and_chr versions",
"last 3 and_ff versions",
"last 3 ie_mob versions",
"last 3 and_uc versions",
"last 3 Samsung versions"
],
"dependencies": {},
"devDependencies": {
@ -71,7 +81,7 @@
"babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3",
"eslint": "5.8.0",
"eslint-config-standard": "12.0.0",
"eslint-plugin-compat": "2.6.2",
"eslint-plugin-compat": "2.6.3",
"eslint-plugin-import": "2.14.0",
"eslint-plugin-node": "8.0.0",
"eslint-plugin-promise": "4.0.1",
@ -80,7 +90,7 @@
"eslint-plugin-testcafe": "^0.2.1",
"find-in-files": "^0.5.0",
"imageoptim-cli": "^2.0.3",
"jamilih": "^0.42.0",
"jamilih": "^0.43.0",
"jsdoc": "^3.5.5",
"load-stylesheets": "^0.7.0",
"node-static": "^0.7.11",

View File

@ -6731,8 +6731,8 @@
* TODO: refactor callers in `convertPath` to use `getPathDFromSegments` instead of this function.
* Legacy code refactored from `svgcanvas.pathActions.convertPath`.
* @param {string} letter - path segment command (letter in potentially either case from {@link module:path.pathMap}; see [SVGPathSeg#pathSegTypeAsLetter]{@link https://www.w3.org/TR/SVG/single-page.html#paths-__svg__SVGPathSeg__pathSegTypeAsLetter})
* @param {GenericArray<Integer>[]} points - x,y points
* @param {GenericArray<Integer>[]} [morePoints] - x,y points
* @param {GenericArray<GenericArray<Integer>>} points - x,y points
* @param {GenericArray<GenericArray<Integer>>} [morePoints] - x,y points
* @param {Integer[]} [lastPoint] - x,y point
* @returns {string}
*/