Update checked-in dependencies

This commit is contained in:
github-actions[bot] 2025-02-03 17:20:53 +00:00
parent 3e913ef09d
commit 9660df3fcc
990 changed files with 74805 additions and 60149 deletions

View file

@ -1,5 +1,3 @@
**NOTICE: The API for AXObject Query is very much under development until a major version release. Please be aware that data structures might change in minor version releases before 1.0.0 is released.**
# AXObject Query
![CI](https://github.com/A11yance/axobject-query/workflows/CI/badge.svg)

View file

@ -4,65 +4,45 @@ Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _iterationDecorator = _interopRequireDefault(require("./util/iterationDecorator"));
var _AXObjectsMap = _interopRequireDefault(require("./AXObjectsMap"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
var AXObjectElements = [];
var _iterator = _createForOfIteratorHelper(_AXObjectsMap.default.entries()),
_step;
_step;
try {
var _loop = function _loop() {
var _step$value = _slicedToArray(_step.value, 2),
name = _step$value[0],
def = _step$value[1];
name = _step$value[0],
def = _step$value[1];
var relatedConcepts = def.relatedConcepts;
if (Array.isArray(relatedConcepts)) {
relatedConcepts.forEach(function (relation) {
if (relation.module === 'HTML') {
var concept = relation.concept;
if (concept) {
var index = AXObjectElements.findIndex(function (_ref5) {
var _ref6 = _slicedToArray(_ref5, 1),
key = _ref6[0];
key = _ref6[0];
return key === name;
});
if (index === -1) {
AXObjectElements.push([name, []]);
index = AXObjectElements.length - 1;
}
AXObjectElements[index][1].push(concept);
}
}
});
}
};
for (_iterator.s(); !(_step = _iterator.n()).done;) {
_loop();
}
@ -71,29 +51,17 @@ try {
} finally {
_iterator.f();
}
var AXObjectElementMap = {
entries: function entries() {
return AXObjectElements;
},
forEach: function forEach(fn) {
var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var _iterator2 = _createForOfIteratorHelper(AXObjectElements),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var _step2$value = _slicedToArray(_step2.value, 2),
key = _step2$value[0],
values = _step2$value[1];
fn.call(thisArg, values, key, AXObjectElements);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
for (var _i = 0, _AXObjectElements = AXObjectElements; _i < _AXObjectElements.length; _i++) {
var _AXObjectElements$_i = _slicedToArray(_AXObjectElements[_i], 2),
key = _AXObjectElements$_i[0],
values = _AXObjectElements$_i[1];
fn.call(thisArg, values, key, AXObjectElements);
}
},
get: function get(key) {
@ -103,26 +71,22 @@ var AXObjectElementMap = {
return item && item[1];
},
has: function has(key) {
return !!this.get(key);
return !!AXObjectElementMap.get(key);
},
keys: function keys() {
return AXObjectElements.map(function (_ref) {
var _ref2 = _slicedToArray(_ref, 1),
key = _ref2[0];
key = _ref2[0];
return key;
});
},
values: function values() {
return AXObjectElements.map(function (_ref3) {
var _ref4 = _slicedToArray(_ref3, 2),
values = _ref4[1];
values = _ref4[1];
return values;
});
}
};
var _default = (0, _iterationDecorator.default)(AXObjectElementMap, AXObjectElementMap.entries());
exports.default = _default;

View file

@ -4,65 +4,45 @@ Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _iterationDecorator = _interopRequireDefault(require("./util/iterationDecorator"));
var _AXObjectsMap = _interopRequireDefault(require("./AXObjectsMap"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
var AXObjectRoleElements = [];
var _iterator = _createForOfIteratorHelper(_AXObjectsMap.default.entries()),
_step;
_step;
try {
var _loop = function _loop() {
var _step$value = _slicedToArray(_step.value, 2),
name = _step$value[0],
def = _step$value[1];
name = _step$value[0],
def = _step$value[1];
var relatedConcepts = def.relatedConcepts;
if (Array.isArray(relatedConcepts)) {
relatedConcepts.forEach(function (relation) {
if (relation.module === 'ARIA') {
var concept = relation.concept;
if (concept) {
var index = AXObjectRoleElements.findIndex(function (_ref5) {
var _ref6 = _slicedToArray(_ref5, 1),
key = _ref6[0];
key = _ref6[0];
return key === name;
});
if (index === -1) {
AXObjectRoleElements.push([name, []]);
index = AXObjectRoleElements.length - 1;
}
AXObjectRoleElements[index][1].push(concept);
}
}
});
}
};
for (_iterator.s(); !(_step = _iterator.n()).done;) {
_loop();
}
@ -71,29 +51,17 @@ try {
} finally {
_iterator.f();
}
var AXObjectRoleMap = {
entries: function entries() {
return AXObjectRoleElements;
},
forEach: function forEach(fn) {
var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var _iterator2 = _createForOfIteratorHelper(AXObjectRoleElements),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var _step2$value = _slicedToArray(_step2.value, 2),
key = _step2$value[0],
values = _step2$value[1];
fn.call(thisArg, values, key, AXObjectRoleElements);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
for (var _i = 0, _AXObjectRoleElements = AXObjectRoleElements; _i < _AXObjectRoleElements.length; _i++) {
var _AXObjectRoleElements2 = _slicedToArray(_AXObjectRoleElements[_i], 2),
key = _AXObjectRoleElements2[0],
values = _AXObjectRoleElements2[1];
fn.call(thisArg, values, key, AXObjectRoleElements);
}
},
get: function get(key) {
@ -103,26 +71,22 @@ var AXObjectRoleMap = {
return item && item[1];
},
has: function has(key) {
return !!this.get(key);
return !!AXObjectRoleMap.get(key);
},
keys: function keys() {
return AXObjectRoleElements.map(function (_ref) {
var _ref2 = _slicedToArray(_ref, 1),
key = _ref2[0];
key = _ref2[0];
return key;
});
},
values: function values() {
return AXObjectRoleElements.map(function (_ref3) {
var _ref4 = _slicedToArray(_ref3, 2),
values = _ref4[1];
values = _ref4[1];
return values;
});
}
};
var _default = (0, _iterationDecorator.default)(AXObjectRoleMap, AXObjectRoleMap.entries());
exports.default = _default;

File diff suppressed because one or more lines are too long

View file

@ -4,73 +4,49 @@ Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _AXObjectsMap = _interopRequireDefault(require("./AXObjectsMap"));
var _deepEqual = _interopRequireDefault(require("deep-equal"));
var _iterationDecorator = _interopRequireDefault(require("./util/iterationDecorator"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_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 _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
var elementAXObjects = [];
var _iterator = _createForOfIteratorHelper(_AXObjectsMap.default.entries()),
_step;
_step;
try {
var _loop = function _loop() {
var _step$value = _slicedToArray(_step.value, 2),
name = _step$value[0],
def = _step$value[1];
name = _step$value[0],
def = _step$value[1];
var relatedConcepts = def.relatedConcepts;
if (Array.isArray(relatedConcepts)) {
relatedConcepts.forEach(function (relation) {
if (relation.module === 'HTML') {
var concept = relation.concept;
if (concept != null) {
var conceptStr = JSON.stringify(concept);
var axObjects;
var index = 0;
for (; index < elementAXObjects.length; index++) {
var key = elementAXObjects[index][0];
if (JSON.stringify(key) === conceptStr) {
axObjects = elementAXObjects[index][1];
break;
}
}
if (!Array.isArray(axObjects)) {
axObjects = [];
}
var loc = axObjects.findIndex(function (item) {
return item === name;
});
if (loc === -1) {
axObjects.push(name);
}
if (index < elementAXObjects.length) {
elementAXObjects.splice(index, 1, [concept, axObjects]);
} else {
@ -81,7 +57,6 @@ try {
});
}
};
for (_iterator.s(); !(_step = _iterator.n()).done;) {
_loop();
}
@ -90,58 +65,64 @@ try {
} finally {
_iterator.f();
}
function deepAxObjectModelRelationshipConceptAttributeCheck(a, b) {
if (a === undefined && b !== undefined) {
return false;
}
if (a !== undefined && b === undefined) {
return false;
}
if (a !== undefined && b !== undefined) {
if (a.length != b.length) {
return false;
}
// dequal checks position equality
// https://github.com/lukeed/dequal/blob/5ecd990c4c055c4658c64b4bdfc170f219604eea/src/index.js#L17-L22
for (var i = 0; i < a.length; i++) {
if (b[i].name !== a[i].name || b[i].value !== a[i].value) {
return false;
}
}
}
return true;
}
var elementAXObjectMap = {
entries: function entries() {
return elementAXObjects;
},
forEach: function forEach(fn) {
var thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var _iterator2 = _createForOfIteratorHelper(elementAXObjects),
_step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
var _step2$value = _slicedToArray(_step2.value, 2),
key = _step2$value[0],
values = _step2$value[1];
fn.call(thisArg, values, key, elementAXObjects);
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
for (var _i = 0, _elementAXObjects = elementAXObjects; _i < _elementAXObjects.length; _i++) {
var _elementAXObjects$_i = _slicedToArray(_elementAXObjects[_i], 2),
key = _elementAXObjects$_i[0],
values = _elementAXObjects$_i[1];
fn.call(thisArg, values, key, elementAXObjects);
}
},
get: function get(key) {
var item = elementAXObjects.find(function (tuple) {
return (0, _deepEqual.default)(key, tuple[0]) ? true : false;
return key.name === tuple[0].name && deepAxObjectModelRelationshipConceptAttributeCheck(key.attributes, tuple[0].attributes);
});
return item && item[1];
},
has: function has(key) {
return !!this.get(key);
return !!elementAXObjectMap.get(key);
},
keys: function keys() {
return elementAXObjects.map(function (_ref) {
var _ref2 = _slicedToArray(_ref, 1),
key = _ref2[0];
key = _ref2[0];
return key;
});
},
values: function values() {
return elementAXObjects.map(function (_ref3) {
var _ref4 = _slicedToArray(_ref3, 2),
values = _ref4[1];
values = _ref4[1];
return values;
});
}
};
var _default = (0, _iterationDecorator.default)(elementAXObjectMap, elementAXObjectMap.entries());
exports.default = _default;

View file

@ -8,6 +8,7 @@ var DisclosureTriangleRole = {
relatedConcepts: [{
module: 'HTML',
concept: {
constraints: ['scoped to a details element'],
name: 'summary'
}
}],

View file

@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var TextAreaRole = {
relatedConcepts: [{
module: 'ARIA',
concept: {
attributes: [{
name: 'aria-multiline',
value: 'true'
}],
name: 'textbox'
}
}, {
module: 'HTML',
concept: {
name: 'textarea'
}
}],
type: 'widget'
};
var _default = TextAreaRole;
exports.default = _default;

View file

@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
value: true
});
exports.elementAXObjects = exports.AXObjects = exports.AXObjectRoles = exports.AXObjectElements = void 0;
var _AXObjectElementMap = _interopRequireDefault(require("./AXObjectElementMap"));
var _AXObjectRoleMap = _interopRequireDefault(require("./AXObjectRoleMap"));
var _AXObjectsMap = _interopRequireDefault(require("./AXObjectsMap"));
var _elementAXObjectMap = _interopRequireDefault(require("./elementAXObjectMap"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var AXObjectElements = _AXObjectElementMap.default;
exports.AXObjectElements = AXObjectElements;
var AXObjectRoles = _AXObjectRoleMap.default;

View file

@ -4,19 +4,14 @@ Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = iterationDecorator;
var _iteratorProxy = _interopRequireDefault(require("./iteratorProxy"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function iterationDecorator(collection, entries) {
if (typeof Symbol === 'function' && _typeof(Symbol.iterator) === 'symbol') {
Object.defineProperty(collection, Symbol.iterator, {
value: _iteratorProxy.default.bind(entries)
});
}
return collection;
}

View file

@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
// eslint-disable-next-line no-unused-vars
function iteratorProxy() {
var values = this;
var index = 0;
@ -29,6 +29,5 @@ function iteratorProxy() {
};
return iter;
}
var _default = iteratorProxy;
exports.default = _default;

View file

@ -1,6 +1,6 @@
{
"name": "axobject-query",
"version": "3.1.1",
"version": "4.1.0",
"description": "Programmatic access to information about the AXObject Model",
"main": "lib/index.js",
"files": [
@ -9,12 +9,15 @@
"scripts": {
"build": "rimraf lib && babel src --out-dir lib",
"flow": "flow",
"lint": "eslint --config .eslintrc src __tests__ scripts",
"lint": "eslint --ext=js,mjs .",
"lint:fix": "npm run lint -- --fix",
"prepublishOnly": "npm run build",
"pretest": "npm run lint:fix && npm run flow",
"test": "npm run jest",
"test:ci": "npm run jest -- --ci --runInBand",
"jest": "jest --coverage __tests__/**/*"
"test": "npm run tests-only",
"build:tests": "npm run build && rimraf __tests-built__ && BABEL_ENV=test babel __tests__ --out-dir __tests-built__",
"tests-built": "nyc tape '__tests-built__/**/*.js'",
"tests-only": "nyc tape -r @babel/register '__tests__/**/*.js'",
"prepack": "npm run build"
},
"repository": {
"type": "git",
@ -33,28 +36,26 @@
"@babel/cli": "^7.19.3",
"@babel/core": "^7.19.6",
"@babel/eslint-parser": "^7.19.1",
"@babel/plugin-transform-react-jsx": "^7.24.7",
"@babel/preset-env": "^7.19.4",
"@babel/preset-flow": "^7.18.6",
"babel-jest": "^29.2.1",
"@babel/register": "^7.24.6",
"babel-plugin-module-resolver": "^5.0.2",
"deep-equal-json": "^1.0.0",
"encoding": "^0.1.13",
"eslint": "^8.26.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-flowtype": "^8.0.3",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-jest": "^27.1.3",
"expect": "^29.2.1",
"flow-bin": "^0.190.1",
"flow-typed": "^3.8.0",
"jest": "^29.2.1",
"rimraf": "^3.0.2"
},
"jest": {
"coverageReporters": [
"lcov"
],
"coverageDirectory": "reports",
"roots": [
"<rootDir>/__tests__"
]
"mock-property": "^1.0.3",
"nyc": "^10.3.2",
"object-inspect": "^1.13.2",
"object.values": "^1.2.0",
"rimraf": "^3.0.2",
"tape": "^5.8.1"
},
"browserslist": [
">0.2%",
@ -62,7 +63,7 @@
"not op_mini all",
"ie 11"
],
"dependencies": {
"deep-equal": "^2.0.5"
"engines": {
"node": ">= 0.4"
}
}