Răsfoiți Sursa

代码提交

zhang song 6 ani în urmă
părinte
comite
53825737ed
100 a modificat fișierele cu 5514 adăugiri și 3982 ștergeri
  1. 1 0
      .gitignore
  2. 1 1
      dist/index.html
  3. 3 1
      node_modules/array-includes/.eslintrc
  4. 0 176
      node_modules/array-includes/.jscs.json
  5. 0 1
      node_modules/array-includes/.npmignore
  6. 6 176
      node_modules/array-includes/.travis.yml
  7. 18 0
      node_modules/array-includes/CHANGELOG.md
  8. 11 20
      node_modules/array-includes/README.md
  9. 16 14
      node_modules/array-includes/implementation.js
  10. 5 4
      node_modules/array-includes/index.js
  11. 34 39
      node_modules/array-includes/package.json
  12. 4 1
      node_modules/array-includes/test/.eslintrc
  13. 2 2
      node_modules/array-includes/test/index.js
  14. 3 3
      node_modules/array-includes/test/shimmed.js
  15. 6 2
      node_modules/array-includes/test/tests.js
  16. 8 3
      node_modules/axios/CHANGELOG.md
  17. 1 1
      node_modules/axios/README.md
  18. 29 99
      node_modules/axios/dist/axios.js
  19. 0 0
      node_modules/axios/dist/axios.map
  20. 0 1
      node_modules/axios/dist/axios.min.js
  21. 0 0
      node_modules/axios/dist/axios.min.map
  22. 1 0
      node_modules/axios/lib/adapters/http.js
  23. 4 22
      node_modules/axios/lib/adapters/xhr.js
  24. 0 36
      node_modules/axios/lib/helpers/btoa.js
  25. 17 20
      node_modules/axios/package.json
  26. 1 1
      node_modules/bonjour/node_modules/array-flatten/array-flatten.d.ts
  27. 16 20
      node_modules/bonjour/node_modules/array-flatten/package.json
  28. 22 0
      node_modules/compressible/HISTORY.md
  29. 9 10
      node_modules/compressible/README.md
  30. 26 29
      node_modules/compressible/package.json
  31. 20 0
      node_modules/compression/HISTORY.md
  32. 3 3
      node_modules/compression/README.md
  33. 13 2
      node_modules/compression/index.js
  34. 0 7
      node_modules/compression/node_modules/safe-buffer/.travis.yml
  35. 0 21
      node_modules/compression/node_modules/safe-buffer/LICENSE
  36. 0 584
      node_modules/compression/node_modules/safe-buffer/README.md
  37. 0 62
      node_modules/compression/node_modules/safe-buffer/index.js
  38. 0 66
      node_modules/compression/node_modules/safe-buffer/package.json
  39. 0 101
      node_modules/compression/node_modules/safe-buffer/test.js
  40. 28 31
      node_modules/compression/package.json
  41. 3 0
      node_modules/connect-history-api-fallback/CHANGELOG.md
  42. 12 1
      node_modules/connect-history-api-fallback/lib/index.js
  43. 15 19
      node_modules/connect-history-api-fallback/package.json
  44. 1 0
      node_modules/define-properties/.eslintrc
  45. 49 5
      node_modules/define-properties/.jscs.json
  46. 0 2
      node_modules/define-properties/.npmignore
  47. 199 26
      node_modules/define-properties/.travis.yml
  48. 9 0
      node_modules/define-properties/CHANGELOG.md
  49. 14 12
      node_modules/define-properties/index.js
  50. 30 31
      node_modules/define-properties/package.json
  51. 1 2
      node_modules/define-properties/test/index.js
  52. 8 1
      node_modules/detect-node/Readme.md
  53. 1 5
      node_modules/detect-node/index.js
  54. 15 18
      node_modules/detect-node/package.json
  55. 57 4
      node_modules/es-abstract/.eslintrc
  56. 0 176
      node_modules/es-abstract/.jscs.json
  57. 6 7
      node_modules/es-abstract/.nycrc
  58. 21 196
      node_modules/es-abstract/.travis.yml
  59. 125 0
      node_modules/es-abstract/CHANGELOG.md
  60. 8 4
      node_modules/es-abstract/README.md
  61. 110 650
      node_modules/es-abstract/es2015.js
  62. 115 12
      node_modules/es-abstract/es2016.js
  63. 116 21
      node_modules/es-abstract/es2017.js
  64. 44 231
      node_modules/es-abstract/es5.js
  65. 14 4
      node_modules/es-abstract/helpers/assign.js
  66. 2 0
      node_modules/es-abstract/helpers/isFinite.js
  67. 2 0
      node_modules/es-abstract/helpers/isNaN.js
  68. 2 0
      node_modules/es-abstract/helpers/isPrimitive.js
  69. 2 0
      node_modules/es-abstract/helpers/mod.js
  70. 2 0
      node_modules/es-abstract/helpers/sign.js
  71. 5 1
      node_modules/es-abstract/index.js
  72. 113 72
      node_modules/es-abstract/operations/2015.js
  73. 272 73
      node_modules/es-abstract/operations/2016.js
  74. 320 74
      node_modules/es-abstract/operations/2017.js
  75. 0 10
      node_modules/es-abstract/operations/es5.js
  76. 56 41
      node_modules/es-abstract/package.json
  77. 0 11
      node_modules/es-abstract/test/.eslintrc
  78. 4 2
      node_modules/es-abstract/test/diffOps.js
  79. 3 3
      node_modules/es-abstract/test/es2015.js
  80. 0 3
      node_modules/es-abstract/test/es2016.js
  81. 0 3
      node_modules/es-abstract/test/es2017.js
  82. 481 112
      node_modules/es-abstract/test/es5.js
  83. 73 5
      node_modules/es-abstract/test/helpers/values.js
  84. 5 1
      node_modules/es-abstract/test/index.js
  85. 2706 197
      node_modules/es-abstract/test/tests.js
  86. 13 4
      node_modules/es-to-primitive/.eslintrc
  87. 0 155
      node_modules/es-to-primitive/.jscs.json
  88. 0 28
      node_modules/es-to-primitive/.npmignore
  89. 12 67
      node_modules/es-to-primitive/.travis.yml
  90. 20 0
      node_modules/es-to-primitive/CHANGELOG.md
  91. 2 6
      node_modules/es-to-primitive/README.md
  92. 14 6
      node_modules/es-to-primitive/es5.js
  93. 1 72
      node_modules/es-to-primitive/es6.js
  94. 2 0
      node_modules/es-to-primitive/helpers/isPrimitive.js
  95. 6 3
      node_modules/es-to-primitive/index.js
  96. 43 36
      node_modules/es-to-primitive/package.json
  97. 41 3
      node_modules/es-to-primitive/test/es5.js
  98. 26 6
      node_modules/es-to-primitive/test/es6.js
  99. 4 1
      node_modules/es-to-primitive/test/index.js
  100. 1 1
      node_modules/eventemitter3/README.md

+ 1 - 0
.gitignore

@@ -1 +1,2 @@
 # Created by .ignore support plugin (hsz.mobi)
+/node_modules/

+ 1 - 1
dist/index.html

@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>经销商管理系统</title><link rel="shortcut icon" href=https://dealer.jetour.com.cn/favicon.ico><link href=./static/css/app.f4c19dac3f0011afe7c14f876ac800ea.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.e6b663e54a83ee863b4a.js></script><script type=text/javascript src=./static/js/app.10ac916f1fe1a96799f8.js></script></body><script src="http://pv.sohu.com/cityjson?ie=utf-8"></script><script type=text/javascript>sessionStorage.setItem('ip', returnCitySN["cip"]);</script><script>var _hmt = _hmt || [];
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>经销商管理系统</title><link rel="shortcut icon" href=https://dealer.jetour.com.cn/favicon.ico><link href=./static/css/app.78c102a52d1558e63ca3a35cbf457a8c.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.e6b663e54a83ee863b4a.js></script><script type=text/javascript src=./static/js/app.1587739b56832ac08c9d.js></script></body><script src="http://pv.sohu.com/cityjson?ie=utf-8"></script><script type=text/javascript>sessionStorage.setItem('ip', returnCitySN["cip"]);</script><script>var _hmt = _hmt || [];
     (function() {
       var hm = document.createElement("script");
       hm.src = "https://hm.baidu.com/hm.js?95c45f55b7586b2c20d8c8b813693103";

+ 3 - 1
node_modules/array-includes/.eslintrc

@@ -4,9 +4,11 @@
 	"extends": "@ljharb",
 
 	"rules": {
+		"func-names": 0,
 		"id-length": [2, { "min": 1, "max": 26 }],
 		"max-statements": [2, 14],
-		"new-cap": [2, { capIsNewExceptions: ["ToObject", "ToInteger", "ToLength", "SameValueZero", "RequireObjectCoercible"] }],
+		"max-lines-per-function": 0,
+		"new-cap": [2, { capIsNewExceptions: ["GetIntrinsic", "ToObject", "ToInteger", "ToLength", "SameValueZero", "RequireObjectCoercible"] }],
 		"no-magic-numbers": [0],
 		"no-useless-call": [1]
 	}

+ 0 - 176
node_modules/array-includes/.jscs.json

@@ -1,176 +0,0 @@
-{
-	"es3": true,
-
-	"additionalRules": [],
-
-	"requireSemicolons": true,
-
-	"disallowMultipleSpaces": true,
-
-	"disallowIdentifierNames": [],
-
-	"requireCurlyBraces": {
-		"allExcept": [],
-		"keywords": ["if", "else", "for", "while", "do", "try", "catch"]
-	},
-
-	"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
-
-	"disallowSpaceAfterKeywords": [],
-
-	"disallowSpaceBeforeComma": true,
-	"disallowSpaceAfterComma": false,
-	"disallowSpaceBeforeSemicolon": true,
-
-	"disallowNodeTypes": [
-		"DebuggerStatement",
-		"ForInStatement",
-		"LabeledStatement",
-		"SwitchCase",
-		"SwitchStatement",
-		"WithStatement"
-	],
-
-	"requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
-
-	"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
-	"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
-	"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
-	"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
-	"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
-
-	"requireSpaceBetweenArguments": true,
-
-	"disallowSpacesInsideParentheses": true,
-
-	"disallowSpacesInsideArrayBrackets": true,
-
-	"disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
-
-	"disallowSpaceAfterObjectKeys": true,
-
-	"requireCommaBeforeLineBreak": true,
-
-	"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
-	"requireSpaceAfterPrefixUnaryOperators": [],
-
-	"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
-	"requireSpaceBeforePostfixUnaryOperators": [],
-
-	"disallowSpaceBeforeBinaryOperators": [],
-	"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
-
-	"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
-	"disallowSpaceAfterBinaryOperators": [],
-
-	"disallowImplicitTypeConversion": ["binary", "string"],
-
-	"disallowKeywords": ["with", "eval"],
-
-	"requireKeywordsOnNewLine": [],
-	"disallowKeywordsOnNewLine": ["else"],
-
-	"requireLineFeedAtFileEnd": true,
-
-	"disallowTrailingWhitespace": true,
-
-	"disallowTrailingComma": true,
-
-	"excludeFiles": ["node_modules/**", "vendor/**"],
-
-	"disallowMultipleLineStrings": true,
-
-	"requireDotNotation": { "allExcept": ["keywords"] },
-
-	"requireParenthesesAroundIIFE": true,
-
-	"validateLineBreaks": "LF",
-
-	"validateQuoteMarks": {
-		"escape": true,
-		"mark": "'"
-	},
-
-	"disallowOperatorBeforeLineBreak": [],
-
-	"requireSpaceBeforeKeywords": [
-		"do",
-		"for",
-		"if",
-		"else",
-		"switch",
-		"case",
-		"try",
-		"catch",
-		"finally",
-		"while",
-		"with",
-		"return"
-	],
-
-	"validateAlignedFunctionParameters": {
-		"lineBreakAfterOpeningBraces": true,
-		"lineBreakBeforeClosingBraces": true
-	},
-
-	"requirePaddingNewLinesBeforeExport": true,
-
-	"validateNewlineAfterArrayElements": {
-		"maximum": 3
-	},
-
-	"requirePaddingNewLinesAfterUseStrict": true,
-
-	"disallowArrowFunctions": true,
-
-	"disallowMultiLineTernary": true,
-
-	"validateOrderInObjectKeys": false,
-
-	"disallowIdenticalDestructuringNames": true,
-
-	"disallowNestedTernaries": { "maxLevel": 1 },
-
-	"requireSpaceAfterComma": { "allExcept": ["trailing"] },
-	"requireAlignedMultilineParams": false,
-
-	"requireSpacesInGenerator": {
-		"afterStar": true
-	},
-
-	"disallowSpacesInGenerator": {
-		"beforeStar": true
-	},
-
-	"disallowVar": false,
-
-	"requireArrayDestructuring": false,
-
-	"requireEnhancedObjectLiterals": false,
-
-	"requireObjectDestructuring": false,
-
-	"requireEarlyReturn": false,
-
-	"requireCapitalizedConstructorsNew": {
-		"allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
-	},
-
-	"requireImportAlphabetized": false,
-
-    "requireSpaceBeforeObjectValues": true,
-    "requireSpaceBeforeDestructuredValues": true,
-
-	"disallowSpacesInsideTemplateStringPlaceholders": true,
-
-    "disallowArrayDestructuringReturn": false,
-
-    "requireNewlineBeforeSingleStatementsInIf": false,
-
-	"disallowUnusedVariables": true,
-
-	"requireSpacesInsideImportedObjectBraces": true,
-
-	"requireUseStrict": true
-}
-

+ 0 - 1
node_modules/array-includes/.npmignore

@@ -1 +0,0 @@
-node_modules

+ 6 - 176
node_modules/array-includes/.travis.yml

@@ -1,182 +1,12 @@
+version: ~> 1.0
 language: node_js
 os:
  - linux
-node_js:
-  - "7.9"
-  - "6.10"
-  - "5.12"
-  - "4.8"
-  - "iojs-v3.3"
-  - "iojs-v2.5"
-  - "iojs-v1.8"
-  - "0.12"
-  - "0.10"
-  - "0.8"
-before_install:
-  - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then npm install -g npm@1.3 ; elif [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
-  - 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then npm install -g npm; fi'
-install:
-  - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ]; then nvm install 0.8 && npm install -g npm@1.3 && npm install -g npm@1.4.28 && npm install -g npm@2 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;'
-script:
-  - 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi'
-  - 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi'
-  - 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi'
-  - 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi'
-sudo: false
-env:
-  - TEST=true
+import:
+ - ljharb/travis-ci:node/all.yml
+ - ljharb/travis-ci:node/pretest.yml
+ - ljharb/travis-ci:node/posttest.yml
+ - ljharb/travis-ci:node/coverage.yml
 matrix:
-  fast_finish: true
-  include:
-    - node_js: "node"
-      env: PRETEST=true
-    - node_js: "node"
-      env: POSTTEST=true
-    - node_js: "4"
-      env: COVERAGE=true
-    - node_js: "7.8"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.7"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.5"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.9"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.8"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.7"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.5"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.11"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.10"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.9"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.8"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.7"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.5"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.7"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.5"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v3.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v3.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v3.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v2.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v2.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v2.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v2.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v2.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.7"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.5"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "0.11"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "0.9"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "0.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "0.4"
-      env: TEST=true ALLOW_FAILURE=true
-    ##- node_js: "7"
-      #env: TEST=true
-      #os: osx
-    #- node_js: "6"
-      #env: TEST=true
-      #os: osx
-    #- node_js: "5"
-      #env: TEST=true
-      #os: osx
-    #- node_js: "4"
-      #env: TEST=true
-      #os: osx
-    #- node_js: "iojs"
-      #env: TEST=true
-      #os: osx
-    #- node_js: "0.12"
-      #env: TEST=true
-      #os: osx
-    #- node_js: "0.10"
-      #env: TEST=true
-      #os: osx
-    #- node_js: "0.8"
-      #env: TEST=true
-      #os: osx
   allow_failures:
-    - os: osx
-    - env: TEST=true ALLOW_FAILURE=true
     - env: COVERAGE=true

+ 18 - 0
node_modules/array-includes/CHANGELOG.md

@@ -1,3 +1,21 @@
+3.1.0 / 2019-12-11
+=================
+  * [New] add `auto` entry point
+  * [Refactor] use split-up `es-abstract` (68% bundle size decrease)
+  * [readme] fix repo URLs, remove testling, fix readme parsing
+  * [Deps] update `es-abstract`, `define-properties`
+  * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `evalmd`, `covert`, `functions-have-names`, `replace`, `semver`, `tape`, `@es-shims/api`, `function-bind`
+  * [meta] add `funding` field, FUNDING.yml
+  * [meta] Only apps should have lockfiles
+  * [Tests] add more `fromIndex` tests
+  * [Tests] use shared travis-ci configs
+  * [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops
+  * [Tests] remove `jscs`
+  * [Tests] use `functions-have-names`
+  * [Tests] use `npm audit` instead of `nsp`
+  * [Tests] remove `jscs`
+  * [actions] add automatic rebasing / merge commit blocking
+
 3.0.3 / 2017-04-18
 =================
   * [Fix] ensure that `shim.js` actually shims when the polyfill differs from native

+ 11 - 20
node_modules/array-includes/README.md

@@ -1,4 +1,4 @@
-#array-includes <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
+# array-includes <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
 
 [![Build Status][travis-svg]][travis-url]
 [![dependency status][deps-svg]][deps-url]
@@ -8,8 +8,6 @@
 
 [![npm badge][npm-badge-png]][package-url]
 
-[![browser support][testling-svg]][testling-url]
-
 An ES7/ES2016 spec-compliant `Array.prototype.includes` shim/polyfill/replacement that works as far down as ES3.
 
 This package implements the [es-shim API](https://github.com/es-shims/api) interface. It works in an ES3-supported environment and complies with the proposed [spec](http://www.ecma-international.org/ecma-262/6.0/).
@@ -28,6 +26,7 @@ Basic usage: **includes(array, value[, fromIndex=0])**
 
 ```js
 var includes = require('array-includes');
+var assert = require('assert');
 var arr = [ 'one', 'two' ];
 
 includes(arr, 'one'); // true
@@ -40,8 +39,6 @@ includes(arr, 'one', 1); // false
 ## Example
 
 ```js
-var includes = require('array-includes');
-var assert = require('assert');
 var arr = [
 	1,
 	'foo',
@@ -63,39 +60,33 @@ assert.equal(includes(arr, 'foo', 2), false);
 ```
 
 ```js
-var includes = require('array-includes');
-var assert = require('assert');
 /* when Array#includes is not present */
 delete Array.prototype.includes;
 var shimmedIncludes = includes.shim();
 
 assert.equal(shimmedIncludes, includes.getPolyfill());
-assert.deepEqual(arr.includes('foo', 1), includes(arr, 'foo', 1));
+assert.equal(arr.includes('foo', 1), includes(arr, 'foo', 1));
 ```
 
 ```js
-var includes = require('array-includes');
-var assert = require('assert');
 /* when Array#includes is present */
 var shimmedIncludes = includes.shim();
 
 assert.equal(shimmedIncludes, Array.prototype.includes);
-assert.deepEqual(arr.includes(1, 'foo'), includes(arr, 1, 'foo'));
+assert.equal(arr.includes(1, 'foo'), includes(arr, 1, 'foo'));
 ```
 
 ## Tests
 Simply clone the repo, `npm install`, and run `npm test`
 
 [package-url]: https://npmjs.org/package/array-includes
-[npm-version-svg]: http://versionbadg.es/ljharb/array-includes.svg
-[travis-svg]: https://travis-ci.org/ljharb/array-includes.svg
-[travis-url]: https://travis-ci.org/ljharb/array-includes
-[deps-svg]: https://david-dm.org/ljharb/array-includes.svg
-[deps-url]: https://david-dm.org/ljharb/array-includes
-[dev-deps-svg]: https://david-dm.org/ljharb/array-includes/dev-status.svg
-[dev-deps-url]: https://david-dm.org/ljharb/array-includes#info=devDependencies
-[testling-svg]: https://ci.testling.com/ljharb/array-includes.png
-[testling-url]: https://ci.testling.com/ljharb/array-includes
+[npm-version-svg]: http://versionbadg.es/es-shims/array-includes.svg
+[travis-svg]: https://travis-ci.org/es-shims/array-includes.svg
+[travis-url]: https://travis-ci.org/es-shims/array-includes
+[deps-svg]: https://david-dm.org/es-shims/array-includes.svg
+[deps-url]: https://david-dm.org/es-shims/array-includes
+[dev-deps-svg]: https://david-dm.org/es-shims/array-includes/dev-status.svg
+[dev-deps-url]: https://david-dm.org/es-shims/array-includes#info=devDependencies
 [npm-badge-png]: https://nodei.co/npm/array-includes.png?downloads=true&stars=true
 [license-image]: http://img.shields.io/npm/l/array-includes.svg
 [license-url]: LICENSE

+ 16 - 14
node_modules/array-includes/implementation.js

@@ -1,28 +1,30 @@
 'use strict';
 
-var ES = require('es-abstract/es6');
-var $isNaN = Number.isNaN || function isNaN(a) {
-	return a !== a;
-};
-var $isFinite = Number.isFinite || function isFinite(n) {
-	return typeof n === 'number' && global.isFinite(n);
-};
-var indexOf = Array.prototype.indexOf;
+var ToInteger = require('es-abstract/2018/ToInteger');
+var ToLength = require('es-abstract/2018/ToLength');
+var ToObject = require('es-abstract/2018/ToObject');
+var SameValueZero = require('es-abstract/2018/SameValueZero');
+var $isNaN = require('es-abstract/helpers/isNaN');
+var $isFinite = require('es-abstract/helpers/isFinite');
+var GetIntrinsic = require('es-abstract/GetIntrinsic');
+var callBind = require('es-abstract/helpers/callBind');
+
+var $indexOf = callBind.apply(GetIntrinsic('%Array.prototype.indexOf%'));
 
 module.exports = function includes(searchElement) {
-	var fromIndex = arguments.length > 1 ? ES.ToInteger(arguments[1]) : 0;
-	if (indexOf && !$isNaN(searchElement) && $isFinite(fromIndex) && typeof searchElement !== 'undefined') {
-		return indexOf.apply(this, arguments) > -1;
+	var fromIndex = arguments.length > 1 ? ToInteger(arguments[1]) : 0;
+	if ($indexOf && !$isNaN(searchElement) && $isFinite(fromIndex) && typeof searchElement !== 'undefined') {
+		return $indexOf(this, arguments) > -1;
 	}
 
-	var O = ES.ToObject(this);
-	var length = ES.ToLength(O.length);
+	var O = ToObject(this);
+	var length = ToLength(O.length);
 	if (length === 0) {
 		return false;
 	}
 	var k = fromIndex >= 0 ? fromIndex : Math.max(0, length + fromIndex);
 	while (k < length) {
-		if (ES.SameValueZero(searchElement, O[k])) {
+		if (SameValueZero(searchElement, O[k])) {
 			return true;
 		}
 		k += 1;

+ 5 - 4
node_modules/array-includes/index.js

@@ -1,20 +1,21 @@
 'use strict';
 
 var define = require('define-properties');
-var ES = require('es-abstract/es6');
+var RequireObjectCoercible = require('es-abstract/2018/RequireObjectCoercible');
+var callBound = require('es-abstract/helpers/callBound');
 
 var implementation = require('./implementation');
 var getPolyfill = require('./polyfill');
 var polyfill = getPolyfill();
 var shim = require('./shim');
 
-var slice = Array.prototype.slice;
+var $slice = callBound('Array.prototype.slice');
 
 /* eslint-disable no-unused-vars */
 var boundIncludesShim = function includes(array, searchElement) {
 /* eslint-enable no-unused-vars */
-	ES.RequireObjectCoercible(array);
-	return polyfill.apply(array, slice.call(arguments, 1));
+	RequireObjectCoercible(array);
+	return polyfill.apply(array, $slice(arguments, 1));
 };
 define(boundIncludesShim, {
 	getPolyfill: getPolyfill,

+ 34 - 39
node_modules/array-includes/package.json

@@ -1,41 +1,36 @@
 {
-  "_args": [
-    [
-      "array-includes@3.0.3",
-      "C:\\Users\\Administrator\\Desktop\\dealer_front"
-    ]
-  ],
-  "_development": true,
-  "_from": "array-includes@3.0.3",
-  "_id": "array-includes@3.0.3",
+  "_from": "array-includes@^3.0.3",
+  "_id": "array-includes@3.1.0",
   "_inBundle": false,
-  "_integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+  "_integrity": "sha512-ONOEQoKrvXPKk7Su92Co0YMqYO32FfqJTzkKU9u2UpIXyYZIzLSvpdg4AwvSw4mSUW0czu6inK+zby6Oj6gDjQ==",
   "_location": "/array-includes",
   "_phantomChildren": {},
   "_requested": {
-    "type": "version",
+    "type": "range",
     "registry": true,
-    "raw": "array-includes@3.0.3",
+    "raw": "array-includes@^3.0.3",
     "name": "array-includes",
     "escapedName": "array-includes",
-    "rawSpec": "3.0.3",
+    "rawSpec": "^3.0.3",
     "saveSpec": null,
-    "fetchSpec": "3.0.3"
+    "fetchSpec": "^3.0.3"
   },
   "_requiredBy": [
     "/webpack-dev-server"
   ],
-  "_resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
-  "_spec": "3.0.3",
-  "_where": "C:\\Users\\Administrator\\Desktop\\dealer_front",
+  "_resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.0.tgz",
+  "_shasum": "48a929ef4c6bb1fa6dc4a92c9b023a261b0ca404",
+  "_spec": "array-includes@^3.0.3",
+  "_where": "D:\\workSpace\\dealer_front\\node_modules\\webpack-dev-server",
   "author": {
     "name": "Jordan Harband",
     "email": "ljharb@gmail.com",
     "url": "http://ljharb.codes"
   },
   "bugs": {
-    "url": "https://github.com/ljharb/array-includes/issues"
+    "url": "https://github.com/es-shims/array-includes/issues"
   },
+  "bundleDependencies": false,
   "contributors": [
     {
       "name": "Jordan Harband",
@@ -44,29 +39,32 @@
     }
   ],
   "dependencies": {
-    "define-properties": "^1.1.2",
-    "es-abstract": "^1.7.0"
+    "define-properties": "^1.1.3",
+    "es-abstract": "^1.17.0-next.0"
   },
+  "deprecated": false,
   "description": "An ES7/ES2016 spec-compliant `Array.prototype.includes` shim/polyfill/replacement that works as far down as ES3.",
   "devDependencies": {
-    "@es-shims/api": "^1.2.0",
-    "@ljharb/eslint-config": "^11.0.0",
-    "covert": "^1.1.0",
-    "eslint": "^3.19.0",
-    "evalmd": "^0.0.17",
+    "@es-shims/api": "^2.1.2",
+    "@ljharb/eslint-config": "^15.0.2",
+    "covert": "^1.1.1",
+    "eslint": "^6.7.2",
+    "evalmd": "0.0.19",
     "foreach": "^2.0.5",
-    "function-bind": "^1.1.0",
+    "function-bind": "^1.1.1",
+    "functions-have-names": "^1.2.0",
     "indexof": "^0.0.1",
-    "jscs": "^3.0.7",
-    "nsp": "^2.6.3",
-    "replace": "^0.3.0",
-    "semver": "^5.3.0",
-    "tape": "^4.6.3"
+    "replace": "^1.1.1",
+    "semver": "^6.3.0",
+    "tape": "^4.11.0"
   },
   "engines": {
     "node": ">= 0.4"
   },
-  "homepage": "https://github.com/ljharb/array-includes#readme",
+  "funding": {
+    "url": "https://github.com/sponsors/ljharb"
+  },
+  "homepage": "https://github.com/es-shims/array-includes#readme",
   "keywords": [
     "Array.prototype.includes",
     "includes",
@@ -83,17 +81,14 @@
   "name": "array-includes",
   "repository": {
     "type": "git",
-    "url": "git://github.com/ljharb/array-includes.git"
+    "url": "git://github.com/es-shims/array-includes.git"
   },
   "scripts": {
     "coverage": "covert test/*.js",
     "coverage:quiet": "covert test/*.js --quiet",
-    "eslint": "eslint test/*.js *.js",
-    "jscs": "jscs test/*.js *.js",
-    "lint": "npm run --silent jscs && npm run --silent eslint",
-    "posttest": "npm run --silent security",
+    "lint": "eslint .",
+    "posttest": "npx aud",
     "pretest": "npm run --silent lint && evalmd README.md",
-    "security": "nsp check",
     "test": "npm run --silent tests-only",
     "test:module": "node test/index.js",
     "test:shimmed": "node test/shimmed.js",
@@ -120,5 +115,5 @@
       "android-browser/4.2"
     ]
   },
-  "version": "3.0.3"
+  "version": "3.1.0"
 }

+ 4 - 1
node_modules/array-includes/test/.eslintrc

@@ -3,6 +3,9 @@
 		"max-nested-callbacks": [2, 3],
 		"max-statements-per-line": [2, { "max": 2 }],
 		"no-invalid-this": [1],
-		"sort-keys": [0]
+		"sort-keys": 0,
+		"array-bracket-newline": 0,
+		"array-element-newline": 0,
+		"object-curly-newline": 0,
 	}
 }

+ 2 - 2
node_modules/array-includes/test/index.js

@@ -6,8 +6,8 @@ var runTests = require('./tests');
 
 test('as a function', function (t) {
 	t.test('bad array/this value', function (st) {
-		st.throws(includes.bind(null, undefined, 'a'), TypeError, 'undefined is not an object');
-		st.throws(includes.bind(null, null, 'a'), TypeError, 'null is not an object');
+		st['throws'](includes.bind(null, undefined, 'a'), TypeError, 'undefined is not an object');
+		st['throws'](includes.bind(null, null, 'a'), TypeError, 'null is not an object');
 		st.end();
 	});
 

+ 3 - 3
node_modules/array-includes/test/shimmed.js

@@ -6,7 +6,7 @@ var test = require('tape');
 var defineProperties = require('define-properties');
 var bind = require('function-bind');
 var isEnumerable = Object.prototype.propertyIsEnumerable;
-var functionsHaveNames = function f() {}.name === 'f';
+var functionsHaveNames = require('functions-have-names')();
 
 var runTests = require('./tests');
 
@@ -25,8 +25,8 @@ test('shimmed', function (t) {
 	var supportsStrictMode = (function () { return typeof this === 'undefined'; }());
 
 	t.test('bad array/this value', { skip: !supportsStrictMode }, function (st) {
-		st.throws(function () { return Array.prototype.includes.call(undefined, 'a'); }, TypeError, 'undefined is not an object');
-		st.throws(function () { return Array.prototype.includes.call(null, 'a'); }, TypeError, 'null is not an object');
+		st['throws'](function () { return Array.prototype.includes.call(undefined, 'a'); }, TypeError, 'undefined is not an object');
+		st['throws'](function () { return Array.prototype.includes.call(null, 'a'); }, TypeError, 'null is not an object');
 		st.end();
 	});
 

+ 6 - 2
node_modules/array-includes/test/tests.js

@@ -20,12 +20,12 @@ module.exports = function (includes, t) {
 
 	t.test('exceptions', function (et) {
 		et.test('fromIndex conversion', function (st) {
-			st.throws(includes.bind(null, [0], 0, thrower), RangeError, 'fromIndex conversion throws');
+			st['throws'](includes.bind(null, [0], 0, thrower), RangeError, 'fromIndex conversion throws');
 			st.end();
 		});
 
 		et.test('ToLength', function (st) {
-			st.throws(includes.bind(null, { length: thrower, 0: true }, true), RangeError, 'ToLength conversion throws');
+			st['throws'](includes.bind(null, { length: thrower, 0: true }, true), RangeError, 'ToLength conversion throws');
 			st.end();
 		});
 
@@ -44,6 +44,10 @@ module.exports = function (includes, t) {
 	t.test('fromIndex', function (ft) {
 		ft.equal(true, includes([1], 1, NaN), 'NaN fromIndex -> 0 fromIndex');
 
+		ft.equal(true, includes([0, 1, 2], 1, 0), 'starting from 0 finds index 1');
+		ft.equal(true, includes([0, 1, 2], 1, 1), 'starting from 1 finds index 1');
+		ft.equal(false, includes([0, 1, 2], 1, 2), 'starting from 2 does not find index 1');
+
 		ft.test('number coercion', function (st) {
 			st.equal(false, includes(['a', 'b', 'c'], 'a', numberish), 'does not find "a" with object fromIndex coercing to 2');
 			st.equal(false, includes(['a', 'b', 'c'], 'a', '2'), 'does not find "a" with string fromIndex coercing to 2');

+ 8 - 3
node_modules/axios/CHANGELOG.md

@@ -1,16 +1,21 @@
 # Changelog
 
+### 0.18.1 (May 31, 2019)
+
+Security Fix:
+
+- Destroy stream on exceeding maxContentLength (fixes [#1098](https://github.com/axios/axios/issues/1098)) ([#1485](https://github.com/axios/axios/pull/1485)) - Gadzhi Gadzhiev
+
 ### 0.18.0 (Feb 19, 2018)
 
 - Adding support for UNIX Sockets when running with Node.js ([#1070](https://github.com/axios/axios/pull/1070))
 - Fixing typings ([#1177](https://github.com/axios/axios/pull/1177)):
-    - AxiosRequestConfig.proxy: allows type false
-    - AxiosProxyConfig: added auth field
+  - AxiosRequestConfig.proxy: allows type false
+  - AxiosProxyConfig: added auth field
 - Adding function signature in AxiosInstance interface so AxiosInstance can be invoked ([#1192](https://github.com/axios/axios/pull/1192), [#1254](https://github.com/axios/axios/pull/1254))
 - Allowing maxContentLength to pass through to redirected calls as maxBodyLength in follow-redirects config ([#1287](https://github.com/axios/axios/pull/1287))
 - Fixing configuration when using an instance - method can now be set ([#1342](https://github.com/axios/axios/pull/1342))
 
-
 ### 0.17.1 (Nov 11, 2017)
 
 - Fixing issue with web workers ([#1160](https://github.com/axios/axios/pull/1160))

+ 1 - 1
node_modules/axios/README.md

@@ -24,7 +24,7 @@ Promise based HTTP client for the browser and node.js
 
 ![Chrome](https://raw.github.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png) | ![Firefox](https://raw.github.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png) | ![Safari](https://raw.github.com/alrra/browser-logos/master/src/safari/safari_48x48.png) | ![Opera](https://raw.github.com/alrra/browser-logos/master/src/opera/opera_48x48.png) | ![Edge](https://raw.github.com/alrra/browser-logos/master/src/edge/edge_48x48.png) | ![IE](https://raw.github.com/alrra/browser-logos/master/src/archive/internet-explorer_9-11/internet-explorer_9-11_48x48.png) |
 --- | --- | --- | --- | --- | --- |
-Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 8+ ✔ |
+Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 11 ✔ |
 
 [![Browser Matrix](https://saucelabs.com/open_sauce/build_matrix/axios.svg)](https://saucelabs.com/u/axios)
 

+ 29 - 99
node_modules/axios/dist/axios.js

@@ -1,4 +1,4 @@
-/* axios v0.18.0 | (c) 2018 by Matt Zabriskie */
+/* axios v0.18.1 | (c) 2019 by Matt Zabriskie */
 (function webpackUniversalModuleDefinition(root, factory) {
 	if(typeof exports === 'object' && typeof module === 'object')
 		module.exports = factory();
@@ -99,15 +99,15 @@ return /******/ (function(modules) { // webpackBootstrap
 	};
 	
 	// Expose Cancel & CancelToken
-	axios.Cancel = __webpack_require__(23);
-	axios.CancelToken = __webpack_require__(24);
-	axios.isCancel = __webpack_require__(20);
+	axios.Cancel = __webpack_require__(22);
+	axios.CancelToken = __webpack_require__(23);
+	axios.isCancel = __webpack_require__(19);
 	
 	// Expose all/spread
 	axios.all = function all(promises) {
 	  return Promise.all(promises);
 	};
-	axios.spread = __webpack_require__(25);
+	axios.spread = __webpack_require__(24);
 	
 	module.exports = axios;
 	
@@ -452,19 +452,9 @@ return /******/ (function(modules) { // webpackBootstrap
 	 * @license  MIT
 	 */
 	
-	// The _isBuffer check is for Safari 5-7 support, because it's missing
-	// Object.prototype.constructor. Remove this eventually
-	module.exports = function (obj) {
-	  return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)
-	}
-	
-	function isBuffer (obj) {
-	  return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
-	}
-	
-	// For Node v0.10 support. Remove this eventually.
-	function isSlowBuffer (obj) {
-	  return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))
+	module.exports = function isBuffer (obj) {
+	  return obj != null && obj.constructor != null &&
+	    typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
 	}
 
 
@@ -476,8 +466,8 @@ return /******/ (function(modules) { // webpackBootstrap
 	
 	var defaults = __webpack_require__(6);
 	var utils = __webpack_require__(2);
-	var InterceptorManager = __webpack_require__(17);
-	var dispatchRequest = __webpack_require__(18);
+	var InterceptorManager = __webpack_require__(16);
+	var dispatchRequest = __webpack_require__(17);
 	
 	/**
 	 * Create a new instance of Axios
@@ -685,7 +675,6 @@ return /******/ (function(modules) { // webpackBootstrap
 	var parseHeaders = __webpack_require__(13);
 	var isURLSameOrigin = __webpack_require__(14);
 	var createError = __webpack_require__(10);
-	var btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(15);
 	
 	module.exports = function xhrAdapter(config) {
 	  return new Promise(function dispatchXhrRequest(resolve, reject) {
@@ -697,22 +686,6 @@ return /******/ (function(modules) { // webpackBootstrap
 	    }
 	
 	    var request = new XMLHttpRequest();
-	    var loadEvent = 'onreadystatechange';
-	    var xDomain = false;
-	
-	    // For IE 8/9 CORS support
-	    // Only supports POST and GET calls and doesn't returns the response headers.
-	    // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.
-	    if (("production") !== 'test' &&
-	        typeof window !== 'undefined' &&
-	        window.XDomainRequest && !('withCredentials' in request) &&
-	        !isURLSameOrigin(config.url)) {
-	      request = new window.XDomainRequest();
-	      loadEvent = 'onload';
-	      xDomain = true;
-	      request.onprogress = function handleProgress() {};
-	      request.ontimeout = function handleTimeout() {};
-	    }
 	
 	    // HTTP basic authentication
 	    if (config.auth) {
@@ -727,8 +700,8 @@ return /******/ (function(modules) { // webpackBootstrap
 	    request.timeout = config.timeout;
 	
 	    // Listen for ready state
-	    request[loadEvent] = function handleLoad() {
-	      if (!request || (request.readyState !== 4 && !xDomain)) {
+	    request.onreadystatechange = function handleLoad() {
+	      if (!request || request.readyState !== 4) {
 	        return;
 	      }
 	
@@ -745,9 +718,8 @@ return /******/ (function(modules) { // webpackBootstrap
 	      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
 	      var response = {
 	        data: responseData,
-	        // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)
-	        status: request.status === 1223 ? 204 : request.status,
-	        statusText: request.status === 1223 ? 'No Content' : request.statusText,
+	        status: request.status,
+	        statusText: request.statusText,
 	        headers: responseHeaders,
 	        config: config,
 	        request: request
@@ -782,7 +754,7 @@ return /******/ (function(modules) { // webpackBootstrap
 	    // This is only done if running in a standard browser environment.
 	    // Specifically not if we're in a web worker, or react-native.
 	    if (utils.isStandardBrowserEnv()) {
-	      var cookies = __webpack_require__(16);
+	      var cookies = __webpack_require__(15);
 	
 	      // Add xsrf header
 	      var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?
@@ -1149,48 +1121,6 @@ return /******/ (function(modules) { // webpackBootstrap
 
 /***/ }),
 /* 15 */
-/***/ (function(module, exports) {
-
-	'use strict';
-	
-	// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js
-	
-	var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
-	
-	function E() {
-	  this.message = 'String contains an invalid character';
-	}
-	E.prototype = new Error;
-	E.prototype.code = 5;
-	E.prototype.name = 'InvalidCharacterError';
-	
-	function btoa(input) {
-	  var str = String(input);
-	  var output = '';
-	  for (
-	    // initialize result and counter
-	    var block, charCode, idx = 0, map = chars;
-	    // if the next str index does not exist:
-	    //   change the mapping table to "="
-	    //   check if d has no fractional digits
-	    str.charAt(idx | 0) || (map = '=', idx % 1);
-	    // "8 - idx % 1 * 8" generates the sequence 2, 4, 6, 8
-	    output += map.charAt(63 & block >> 8 - idx % 1 * 8)
-	  ) {
-	    charCode = str.charCodeAt(idx += 3 / 4);
-	    if (charCode > 0xFF) {
-	      throw new E();
-	    }
-	    block = block << 8 | charCode;
-	  }
-	  return output;
-	}
-	
-	module.exports = btoa;
-
-
-/***/ }),
-/* 16 */
 /***/ (function(module, exports, __webpack_require__) {
 
 	'use strict';
@@ -1249,7 +1179,7 @@ return /******/ (function(modules) { // webpackBootstrap
 
 
 /***/ }),
-/* 17 */
+/* 16 */
 /***/ (function(module, exports, __webpack_require__) {
 
 	'use strict';
@@ -1307,17 +1237,17 @@ return /******/ (function(modules) { // webpackBootstrap
 
 
 /***/ }),
-/* 18 */
+/* 17 */
 /***/ (function(module, exports, __webpack_require__) {
 
 	'use strict';
 	
 	var utils = __webpack_require__(2);
-	var transformData = __webpack_require__(19);
-	var isCancel = __webpack_require__(20);
+	var transformData = __webpack_require__(18);
+	var isCancel = __webpack_require__(19);
 	var defaults = __webpack_require__(6);
-	var isAbsoluteURL = __webpack_require__(21);
-	var combineURLs = __webpack_require__(22);
+	var isAbsoluteURL = __webpack_require__(20);
+	var combineURLs = __webpack_require__(21);
 	
 	/**
 	 * Throws a `Cancel` if cancellation has been requested.
@@ -1399,7 +1329,7 @@ return /******/ (function(modules) { // webpackBootstrap
 
 
 /***/ }),
-/* 19 */
+/* 18 */
 /***/ (function(module, exports, __webpack_require__) {
 
 	'use strict';
@@ -1425,7 +1355,7 @@ return /******/ (function(modules) { // webpackBootstrap
 
 
 /***/ }),
-/* 20 */
+/* 19 */
 /***/ (function(module, exports) {
 
 	'use strict';
@@ -1436,7 +1366,7 @@ return /******/ (function(modules) { // webpackBootstrap
 
 
 /***/ }),
-/* 21 */
+/* 20 */
 /***/ (function(module, exports) {
 
 	'use strict';
@@ -1456,7 +1386,7 @@ return /******/ (function(modules) { // webpackBootstrap
 
 
 /***/ }),
-/* 22 */
+/* 21 */
 /***/ (function(module, exports) {
 
 	'use strict';
@@ -1476,7 +1406,7 @@ return /******/ (function(modules) { // webpackBootstrap
 
 
 /***/ }),
-/* 23 */
+/* 22 */
 /***/ (function(module, exports) {
 
 	'use strict';
@@ -1501,12 +1431,12 @@ return /******/ (function(modules) { // webpackBootstrap
 
 
 /***/ }),
-/* 24 */
+/* 23 */
 /***/ (function(module, exports, __webpack_require__) {
 
 	'use strict';
 	
-	var Cancel = __webpack_require__(23);
+	var Cancel = __webpack_require__(22);
 	
 	/**
 	 * A `CancelToken` is an object that can be used to request cancellation of an operation.
@@ -1564,7 +1494,7 @@ return /******/ (function(modules) { // webpackBootstrap
 
 
 /***/ }),
-/* 25 */
+/* 24 */
 /***/ (function(module, exports) {
 
 	'use strict';

Fișier diff suprimat deoarece este prea mare
+ 0 - 0
node_modules/axios/dist/axios.map


Fișier diff suprimat deoarece este prea mare
+ 0 - 1
node_modules/axios/dist/axios.min.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 0
node_modules/axios/dist/axios.min.map


+ 1 - 0
node_modules/axios/lib/adapters/http.js

@@ -181,6 +181,7 @@ module.exports = function httpAdapter(config) {
 
           // make sure the content length is not over the maxContentLength if specified
           if (config.maxContentLength > -1 && Buffer.concat(responseBuffer).length > config.maxContentLength) {
+            stream.destroy();
             reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded',
               config, null, lastRequest));
           }

+ 4 - 22
node_modules/axios/lib/adapters/xhr.js

@@ -6,7 +6,6 @@ var buildURL = require('./../helpers/buildURL');
 var parseHeaders = require('./../helpers/parseHeaders');
 var isURLSameOrigin = require('./../helpers/isURLSameOrigin');
 var createError = require('../core/createError');
-var btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');
 
 module.exports = function xhrAdapter(config) {
   return new Promise(function dispatchXhrRequest(resolve, reject) {
@@ -18,22 +17,6 @@ module.exports = function xhrAdapter(config) {
     }
 
     var request = new XMLHttpRequest();
-    var loadEvent = 'onreadystatechange';
-    var xDomain = false;
-
-    // For IE 8/9 CORS support
-    // Only supports POST and GET calls and doesn't returns the response headers.
-    // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.
-    if (process.env.NODE_ENV !== 'test' &&
-        typeof window !== 'undefined' &&
-        window.XDomainRequest && !('withCredentials' in request) &&
-        !isURLSameOrigin(config.url)) {
-      request = new window.XDomainRequest();
-      loadEvent = 'onload';
-      xDomain = true;
-      request.onprogress = function handleProgress() {};
-      request.ontimeout = function handleTimeout() {};
-    }
 
     // HTTP basic authentication
     if (config.auth) {
@@ -48,8 +31,8 @@ module.exports = function xhrAdapter(config) {
     request.timeout = config.timeout;
 
     // Listen for ready state
-    request[loadEvent] = function handleLoad() {
-      if (!request || (request.readyState !== 4 && !xDomain)) {
+    request.onreadystatechange = function handleLoad() {
+      if (!request || request.readyState !== 4) {
         return;
       }
 
@@ -66,9 +49,8 @@ module.exports = function xhrAdapter(config) {
       var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
       var response = {
         data: responseData,
-        // IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)
-        status: request.status === 1223 ? 204 : request.status,
-        statusText: request.status === 1223 ? 'No Content' : request.statusText,
+        status: request.status,
+        statusText: request.statusText,
         headers: responseHeaders,
         config: config,
         request: request

+ 0 - 36
node_modules/axios/lib/helpers/btoa.js

@@ -1,36 +0,0 @@
-'use strict';
-
-// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js
-
-var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
-
-function E() {
-  this.message = 'String contains an invalid character';
-}
-E.prototype = new Error;
-E.prototype.code = 5;
-E.prototype.name = 'InvalidCharacterError';
-
-function btoa(input) {
-  var str = String(input);
-  var output = '';
-  for (
-    // initialize result and counter
-    var block, charCode, idx = 0, map = chars;
-    // if the next str index does not exist:
-    //   change the mapping table to "="
-    //   check if d has no fractional digits
-    str.charAt(idx | 0) || (map = '=', idx % 1);
-    // "8 - idx % 1 * 8" generates the sequence 2, 4, 6, 8
-    output += map.charAt(63 & block >> 8 - idx % 1 * 8)
-  ) {
-    charCode = str.charCodeAt(idx += 3 / 4);
-    if (charCode > 0xFF) {
-      throw new E();
-    }
-    block = block << 8 | charCode;
-  }
-  return output;
-}
-
-module.exports = btoa;

+ 17 - 20
node_modules/axios/package.json

@@ -1,33 +1,28 @@
 {
-  "_args": [
-    [
-      "axios@0.18.0",
-      "C:\\Users\\Administrator\\Desktop\\dealer_front"
-    ]
-  ],
-  "_development": true,
-  "_from": "axios@0.18.0",
-  "_id": "axios@0.18.0",
+  "_from": "axios@0.18.1",
+  "_id": "axios@0.18.1",
   "_inBundle": false,
-  "_integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
+  "_integrity": "sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==",
   "_location": "/axios",
   "_phantomChildren": {},
   "_requested": {
     "type": "version",
     "registry": true,
-    "raw": "axios@0.18.0",
+    "raw": "axios@0.18.1",
     "name": "axios",
     "escapedName": "axios",
-    "rawSpec": "0.18.0",
+    "rawSpec": "0.18.1",
     "saveSpec": null,
-    "fetchSpec": "0.18.0"
+    "fetchSpec": "0.18.1"
   },
   "_requiredBy": [
-    "#DEV:/"
+    "#DEV:/",
+    "#USER"
   ],
-  "_resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz",
-  "_spec": "0.18.0",
-  "_where": "C:\\Users\\Administrator\\Desktop\\dealer_front",
+  "_resolved": "https://registry.npmjs.org/axios/-/axios-0.18.1.tgz",
+  "_shasum": "ff3f0de2e7b5d180e757ad98000f1081b87bcea3",
+  "_spec": "axios@0.18.1",
+  "_where": "D:\\workSpace\\dealer_front",
   "author": {
     "name": "Matt Zabriskie"
   },
@@ -37,6 +32,7 @@
   "bugs": {
     "url": "https://github.com/axios/axios/issues"
   },
+  "bundleDependencies": false,
   "bundlesize": [
     {
       "path": "./dist/axios.min.js",
@@ -44,9 +40,10 @@
     }
   ],
   "dependencies": {
-    "follow-redirects": "^1.3.0",
-    "is-buffer": "^1.1.5"
+    "follow-redirects": "1.5.10",
+    "is-buffer": "^2.0.2"
   },
+  "deprecated": false,
   "description": "Promise based HTTP client for the browser and node.js",
   "devDependencies": {
     "bundlesize": "^0.5.7",
@@ -110,5 +107,5 @@
     "version": "npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json"
   },
   "typings": "./index.d.ts",
-  "version": "0.18.0"
+  "version": "0.18.1"
 }

+ 1 - 1
node_modules/bonjour/node_modules/array-flatten/array-flatten.d.ts

@@ -1,7 +1,7 @@
 declare function flatten <T> (array: flatten.NestedArray<T>): T[];
 
 declare namespace flatten {
-  export interface NestedArray <T> extends Array<T | NestedArray<T>> {}
+  export interface NestedArray <T> extends ReadonlyArray<T | NestedArray<T>> {}
 
   export interface NestedList <T> {
     [index: number]: T | NestedList<T>;

+ 16 - 20
node_modules/bonjour/node_modules/array-flatten/package.json

@@ -1,33 +1,27 @@
 {
-  "_args": [
-    [
-      "array-flatten@2.1.1",
-      "C:\\Users\\Administrator\\Desktop\\dealer_front"
-    ]
-  ],
-  "_development": true,
-  "_from": "array-flatten@2.1.1",
-  "_id": "array-flatten@2.1.1",
+  "_from": "array-flatten@^2.1.0",
+  "_id": "array-flatten@2.1.2",
   "_inBundle": false,
-  "_integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=",
+  "_integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
   "_location": "/bonjour/array-flatten",
   "_phantomChildren": {},
   "_requested": {
-    "type": "version",
+    "type": "range",
     "registry": true,
-    "raw": "array-flatten@2.1.1",
+    "raw": "array-flatten@^2.1.0",
     "name": "array-flatten",
     "escapedName": "array-flatten",
-    "rawSpec": "2.1.1",
+    "rawSpec": "^2.1.0",
     "saveSpec": null,
-    "fetchSpec": "2.1.1"
+    "fetchSpec": "^2.1.0"
   },
   "_requiredBy": [
     "/bonjour"
   ],
-  "_resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz",
-  "_spec": "2.1.1",
-  "_where": "C:\\Users\\Administrator\\Desktop\\dealer_front",
+  "_resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
+  "_shasum": "24ef80a28c1a893617e2149b0c6d0d788293b099",
+  "_spec": "array-flatten@^2.1.0",
+  "_where": "D:\\workSpace\\dealer_front\\node_modules\\bonjour",
   "author": {
     "name": "Blake Embrey",
     "email": "hello@blakeembrey.com",
@@ -36,12 +30,14 @@
   "bugs": {
     "url": "https://github.com/blakeembrey/array-flatten/issues"
   },
+  "bundleDependencies": false,
+  "deprecated": false,
   "description": "Flatten nested arrays",
   "devDependencies": {
-    "benchmarked": "^0.2.5",
+    "benchmarked": "^2.0.0",
     "istanbul": "^0.4.0",
     "mocha": "^3.1.2",
-    "standard": "^8.5.0"
+    "standard": "^10.0.0"
   },
   "files": [
     "array-flatten.js",
@@ -72,5 +68,5 @@
     "test-spec": "mocha -R spec --bail"
   },
   "typings": "array-flatten.d.ts",
-  "version": "2.1.1"
+  "version": "2.1.2"
 }

+ 22 - 0
node_modules/compressible/HISTORY.md

@@ -1,3 +1,25 @@
+2.0.17 / 2019-04-24
+===================
+
+  * deps: mime-db@'>= 1.40.0 < 2'
+
+2.0.16 / 2019-02-18
+===================
+
+  * deps: mime-db@'>= 1.38.0 < 2'
+    - Mark `text/less` as compressible
+
+2.0.15 / 2018-09-17
+===================
+
+  * deps: mime-db@'>= 1.36.0 < 2'
+
+2.0.14 / 2018-06-05
+===================
+
+  * deps: mime-db@'>= 1.34.0 < 2'
+    - Mark all XML-derived types as compressible
+
 2.0.13 / 2018-02-17
 ===================
 

+ 9 - 10
node_modules/compressible/README.md

@@ -1,7 +1,7 @@
 # compressible
 
-[![NPM Version][npm-image]][npm-url]
-[![NPM Downloads][downloads-image]][downloads-url]
+[![NPM Version][npm-version-image]][npm-url]
+[![NPM Downloads][npm-downloads-image]][npm-url]
 [![Node.js Version][node-version-image]][node-version-url]
 [![Build Status][travis-image]][travis-url]
 [![Test Coverage][coveralls-image]][coveralls-url]
@@ -50,13 +50,12 @@ compressible('image/png') // => false
 
 [MIT](LICENSE)
 
-[npm-image]: https://img.shields.io/npm/v/compressible.svg
+[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/compressible/master
+[coveralls-url]: https://coveralls.io/r/jshttp/compressible?branch=master
+[node-version-image]: https://badgen.net/npm/node/compressible
+[node-version-url]: https://nodejs.org/en/download
+[npm-downloads-image]: https://badgen.net/npm/dm/compressible
 [npm-url]: https://npmjs.org/package/compressible
-[node-version-image]: https://img.shields.io/node/v/compressible.svg
-[node-version-url]: https://nodejs.org/en/download/
-[travis-image]: https://img.shields.io/travis/jshttp/compressible/master.svg
+[npm-version-image]: https://badgen.net/npm/v/compressible
+[travis-image]: https://badgen.net/travis/jshttp/compressible/master
 [travis-url]: https://travis-ci.org/jshttp/compressible
-[coveralls-image]: https://img.shields.io/coveralls/jshttp/compressible/master.svg
-[coveralls-url]: https://coveralls.io/r/jshttp/compressible?branch=master
-[downloads-image]: https://img.shields.io/npm/dm/compressible.svg
-[downloads-url]: https://npmjs.org/package/compressible

+ 26 - 29
node_modules/compressible/package.json

@@ -1,36 +1,31 @@
 {
-  "_args": [
-    [
-      "compressible@2.0.13",
-      "C:\\Users\\Administrator\\Desktop\\dealer_front"
-    ]
-  ],
-  "_development": true,
-  "_from": "compressible@2.0.13",
-  "_id": "compressible@2.0.13",
+  "_from": "compressible@~2.0.16",
+  "_id": "compressible@2.0.17",
   "_inBundle": false,
-  "_integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=",
+  "_integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==",
   "_location": "/compressible",
   "_phantomChildren": {},
   "_requested": {
-    "type": "version",
+    "type": "range",
     "registry": true,
-    "raw": "compressible@2.0.13",
+    "raw": "compressible@~2.0.16",
     "name": "compressible",
     "escapedName": "compressible",
-    "rawSpec": "2.0.13",
+    "rawSpec": "~2.0.16",
     "saveSpec": null,
-    "fetchSpec": "2.0.13"
+    "fetchSpec": "~2.0.16"
   },
   "_requiredBy": [
     "/compression"
   ],
-  "_resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz",
-  "_spec": "2.0.13",
-  "_where": "C:\\Users\\Administrator\\Desktop\\dealer_front",
+  "_resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
+  "_shasum": "6e8c108a16ad58384a977f3a482ca20bff2f38c1",
+  "_spec": "compressible@~2.0.16",
+  "_where": "D:\\workSpace\\dealer_front\\node_modules\\compression",
   "bugs": {
     "url": "https://github.com/jshttp/compressible/issues"
   },
+  "bundleDependencies": false,
   "contributors": [
     {
       "name": "Douglas Christopher Wilson",
@@ -48,19 +43,20 @@
     }
   ],
   "dependencies": {
-    "mime-db": ">= 1.33.0 < 2"
+    "mime-db": ">= 1.40.0 < 2"
   },
+  "deprecated": false,
   "description": "Compressible Content-Type / mime checking",
   "devDependencies": {
-    "eslint": "3.19.0",
-    "eslint-config-standard": "10.2.1",
-    "eslint-plugin-import": "2.8.0",
-    "eslint-plugin-markdown": "1.0.0-beta.6",
-    "eslint-plugin-node": "5.2.1",
-    "eslint-plugin-promise": "3.6.0",
-    "eslint-plugin-standard": "3.0.1",
-    "mocha": "~1.21.5",
-    "nyc": "11.3.0"
+    "eslint": "5.15.2",
+    "eslint-config-standard": "12.0.0",
+    "eslint-plugin-import": "2.16.0",
+    "eslint-plugin-markdown": "1.0.0",
+    "eslint-plugin-node": "8.0.1",
+    "eslint-plugin-promise": "4.0.1",
+    "eslint-plugin-standard": "4.0.0",
+    "mocha": "6.1.4",
+    "nyc": "14.0.0"
   },
   "engines": {
     "node": ">= 0.6"
@@ -88,7 +84,8 @@
     "lint": "eslint --plugin markdown --ext js,md .",
     "test": "mocha --reporter spec --bail --check-leaks test/",
     "test-cov": "nyc --reporter=html --reporter=text npm test",
-    "test-travis": "nyc --reporter=text npm test"
+    "test-travis": "nyc --reporter=text npm test",
+    "version": "node scripts/version-history.js && git add HISTORY.md"
   },
-  "version": "2.0.13"
+  "version": "2.0.17"
 }

+ 20 - 0
node_modules/compression/HISTORY.md

@@ -1,3 +1,23 @@
+1.7.4 / 2019-03-18
+==================
+
+  * deps: compressible@~2.0.16
+    - Mark `text/less` as compressible
+    - deps: mime-db@'>= 1.38.0 < 2'
+  * deps: on-headers@~1.0.2
+    - Fix `res.writeHead` patch missing return value
+  * perf: prevent unnecessary buffer copy
+
+1.7.3 / 2018-07-15
+==================
+
+  * deps: accepts@~1.3.5
+    - deps: mime-types@~2.1.18
+  * deps: compressible@~2.0.14
+    - Mark all XML-derived types as compressible
+    - deps: mime-db@'>= 1.34.0 < 2'
+  * deps: safe-buffer@5.1.2
+
 1.7.2 / 2018-02-18
 ==================
 

+ 3 - 3
node_modules/compression/README.md

@@ -126,8 +126,8 @@ is not set appropriately.
 ##### threshold
 
 The byte threshold for the response body size before compression is considered
-for the response, defaults to `1kb`. This is a number of bytes, any string
-accepted by the [bytes](https://www.npmjs.com/package/bytes) module, or `false`.
+for the response, defaults to `1kb`. This is a number of bytes or any string
+accepted by the [bytes](https://www.npmjs.com/package/bytes) module.
 
 **Note** this is only an advisory setting; if the response size cannot be determined
 at the time the response headers are written, then it is assumed the response is
@@ -151,7 +151,7 @@ var compression = require('compression')
 var express = require('express')
 
 var app = express()
-app.use(compression({filter: shouldCompress}))
+app.use(compression({ filter: shouldCompress }))
 
 function shouldCompress (req, res) {
   if (req.headers['x-no-compression']) {

+ 13 - 2
node_modules/compression/index.js

@@ -85,7 +85,7 @@ function compression (options) {
       }
 
       return stream
-        ? stream.write(Buffer.from(chunk, encoding))
+        ? stream.write(toBuffer(chunk, encoding))
         : _write.call(this, chunk, encoding)
     }
 
@@ -112,7 +112,7 @@ function compression (options) {
 
       // write Buffer for Node.js 0.8
       return chunk
-        ? stream.end(Buffer.from(chunk, encoding))
+        ? stream.end(toBuffer(chunk, encoding))
         : stream.end()
     }
 
@@ -275,3 +275,14 @@ function shouldTransform (req, res) {
   return !cacheControl ||
     !cacheControlNoTransformRegExp.test(cacheControl)
 }
+
+/**
+ * Coerce arguments to Buffer
+ * @private
+ */
+
+function toBuffer (chunk, encoding) {
+  return !Buffer.isBuffer(chunk)
+    ? Buffer.from(chunk, encoding)
+    : chunk
+}

+ 0 - 7
node_modules/compression/node_modules/safe-buffer/.travis.yml

@@ -1,7 +0,0 @@
-language: node_js
-node_js:
-  - 'node'
-  - '5'
-  - '4'
-  - '0.12'
-  - '0.10'

+ 0 - 21
node_modules/compression/node_modules/safe-buffer/LICENSE

@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Feross Aboukhadijeh
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.

+ 0 - 584
node_modules/compression/node_modules/safe-buffer/README.md

@@ -1,584 +0,0 @@
-# safe-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
-
-[travis-image]: https://img.shields.io/travis/feross/safe-buffer/master.svg
-[travis-url]: https://travis-ci.org/feross/safe-buffer
-[npm-image]: https://img.shields.io/npm/v/safe-buffer.svg
-[npm-url]: https://npmjs.org/package/safe-buffer
-[downloads-image]: https://img.shields.io/npm/dm/safe-buffer.svg
-[downloads-url]: https://npmjs.org/package/safe-buffer
-[standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
-[standard-url]: https://standardjs.com
-
-#### Safer Node.js Buffer API
-
-**Use the new Node.js Buffer APIs (`Buffer.from`, `Buffer.alloc`,
-`Buffer.allocUnsafe`, `Buffer.allocUnsafeSlow`) in all versions of Node.js.**
-
-**Uses the built-in implementation when available.**
-
-## install
-
-```
-npm install safe-buffer
-```
-
-## usage
-
-The goal of this package is to provide a safe replacement for the node.js `Buffer`.
-
-It's a drop-in replacement for `Buffer`. You can use it by adding one `require` line to
-the top of your node.js modules:
-
-```js
-var Buffer = require('safe-buffer').Buffer
-
-// Existing buffer code will continue to work without issues:
-
-new Buffer('hey', 'utf8')
-new Buffer([1, 2, 3], 'utf8')
-new Buffer(obj)
-new Buffer(16) // create an uninitialized buffer (potentially unsafe)
-
-// But you can use these new explicit APIs to make clear what you want:
-
-Buffer.from('hey', 'utf8') // convert from many types to a Buffer
-Buffer.alloc(16) // create a zero-filled buffer (safe)
-Buffer.allocUnsafe(16) // create an uninitialized buffer (potentially unsafe)
-```
-
-## api
-
-### Class Method: Buffer.from(array)
-<!-- YAML
-added: v3.0.0
--->
-
-* `array` {Array}
-
-Allocates a new `Buffer` using an `array` of octets.
-
-```js
-const buf = Buffer.from([0x62,0x75,0x66,0x66,0x65,0x72]);
-  // creates a new Buffer containing ASCII bytes
-  // ['b','u','f','f','e','r']
-```
-
-A `TypeError` will be thrown if `array` is not an `Array`.
-
-### Class Method: Buffer.from(arrayBuffer[, byteOffset[, length]])
-<!-- YAML
-added: v5.10.0
--->
-
-* `arrayBuffer` {ArrayBuffer} The `.buffer` property of a `TypedArray` or
-  a `new ArrayBuffer()`
-* `byteOffset` {Number} Default: `0`
-* `length` {Number} Default: `arrayBuffer.length - byteOffset`
-
-When passed a reference to the `.buffer` property of a `TypedArray` instance,
-the newly created `Buffer` will share the same allocated memory as the
-TypedArray.
-
-```js
-const arr = new Uint16Array(2);
-arr[0] = 5000;
-arr[1] = 4000;
-
-const buf = Buffer.from(arr.buffer); // shares the memory with arr;
-
-console.log(buf);
-  // Prints: <Buffer 88 13 a0 0f>
-
-// changing the TypedArray changes the Buffer also
-arr[1] = 6000;
-
-console.log(buf);
-  // Prints: <Buffer 88 13 70 17>
-```
-
-The optional `byteOffset` and `length` arguments specify a memory range within
-the `arrayBuffer` that will be shared by the `Buffer`.
-
-```js
-const ab = new ArrayBuffer(10);
-const buf = Buffer.from(ab, 0, 2);
-console.log(buf.length);
-  // Prints: 2
-```
-
-A `TypeError` will be thrown if `arrayBuffer` is not an `ArrayBuffer`.
-
-### Class Method: Buffer.from(buffer)
-<!-- YAML
-added: v3.0.0
--->
-
-* `buffer` {Buffer}
-
-Copies the passed `buffer` data onto a new `Buffer` instance.
-
-```js
-const buf1 = Buffer.from('buffer');
-const buf2 = Buffer.from(buf1);
-
-buf1[0] = 0x61;
-console.log(buf1.toString());
-  // 'auffer'
-console.log(buf2.toString());
-  // 'buffer' (copy is not changed)
-```
-
-A `TypeError` will be thrown if `buffer` is not a `Buffer`.
-
-### Class Method: Buffer.from(str[, encoding])
-<!-- YAML
-added: v5.10.0
--->
-
-* `str` {String} String to encode.
-* `encoding` {String} Encoding to use, Default: `'utf8'`
-
-Creates a new `Buffer` containing the given JavaScript string `str`. If
-provided, the `encoding` parameter identifies the character encoding.
-If not provided, `encoding` defaults to `'utf8'`.
-
-```js
-const buf1 = Buffer.from('this is a tést');
-console.log(buf1.toString());
-  // prints: this is a tést
-console.log(buf1.toString('ascii'));
-  // prints: this is a tC)st
-
-const buf2 = Buffer.from('7468697320697320612074c3a97374', 'hex');
-console.log(buf2.toString());
-  // prints: this is a tést
-```
-
-A `TypeError` will be thrown if `str` is not a string.
-
-### Class Method: Buffer.alloc(size[, fill[, encoding]])
-<!-- YAML
-added: v5.10.0
--->
-
-* `size` {Number}
-* `fill` {Value} Default: `undefined`
-* `encoding` {String} Default: `utf8`
-
-Allocates a new `Buffer` of `size` bytes. If `fill` is `undefined`, the
-`Buffer` will be *zero-filled*.
-
-```js
-const buf = Buffer.alloc(5);
-console.log(buf);
-  // <Buffer 00 00 00 00 00>
-```
-
-The `size` must be less than or equal to the value of
-`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is
-`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will
-be created if a `size` less than or equal to 0 is specified.
-
-If `fill` is specified, the allocated `Buffer` will be initialized by calling
-`buf.fill(fill)`. See [`buf.fill()`][] for more information.
-
-```js
-const buf = Buffer.alloc(5, 'a');
-console.log(buf);
-  // <Buffer 61 61 61 61 61>
-```
-
-If both `fill` and `encoding` are specified, the allocated `Buffer` will be
-initialized by calling `buf.fill(fill, encoding)`. For example:
-
-```js
-const buf = Buffer.alloc(11, 'aGVsbG8gd29ybGQ=', 'base64');
-console.log(buf);
-  // <Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>
-```
-
-Calling `Buffer.alloc(size)` can be significantly slower than the alternative
-`Buffer.allocUnsafe(size)` but ensures that the newly created `Buffer` instance
-contents will *never contain sensitive data*.
-
-A `TypeError` will be thrown if `size` is not a number.
-
-### Class Method: Buffer.allocUnsafe(size)
-<!-- YAML
-added: v5.10.0
--->
-
-* `size` {Number}
-
-Allocates a new *non-zero-filled* `Buffer` of `size` bytes.  The `size` must
-be less than or equal to the value of `require('buffer').kMaxLength` (on 64-bit
-architectures, `kMaxLength` is `(2^31)-1`). Otherwise, a [`RangeError`][] is
-thrown. A zero-length Buffer will be created if a `size` less than or equal to
-0 is specified.
-
-The underlying memory for `Buffer` instances created in this way is *not
-initialized*. The contents of the newly created `Buffer` are unknown and
-*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such
-`Buffer` instances to zeroes.
-
-```js
-const buf = Buffer.allocUnsafe(5);
-console.log(buf);
-  // <Buffer 78 e0 82 02 01>
-  // (octets will be different, every time)
-buf.fill(0);
-console.log(buf);
-  // <Buffer 00 00 00 00 00>
-```
-
-A `TypeError` will be thrown if `size` is not a number.
-
-Note that the `Buffer` module pre-allocates an internal `Buffer` instance of
-size `Buffer.poolSize` that is used as a pool for the fast allocation of new
-`Buffer` instances created using `Buffer.allocUnsafe(size)` (and the deprecated
-`new Buffer(size)` constructor) only when `size` is less than or equal to
-`Buffer.poolSize >> 1` (floor of `Buffer.poolSize` divided by two). The default
-value of `Buffer.poolSize` is `8192` but can be modified.
-
-Use of this pre-allocated internal memory pool is a key difference between
-calling `Buffer.alloc(size, fill)` vs. `Buffer.allocUnsafe(size).fill(fill)`.
-Specifically, `Buffer.alloc(size, fill)` will *never* use the internal Buffer
-pool, while `Buffer.allocUnsafe(size).fill(fill)` *will* use the internal
-Buffer pool if `size` is less than or equal to half `Buffer.poolSize`. The
-difference is subtle but can be important when an application requires the
-additional performance that `Buffer.allocUnsafe(size)` provides.
-
-### Class Method: Buffer.allocUnsafeSlow(size)
-<!-- YAML
-added: v5.10.0
--->
-
-* `size` {Number}
-
-Allocates a new *non-zero-filled* and non-pooled `Buffer` of `size` bytes.  The
-`size` must be less than or equal to the value of
-`require('buffer').kMaxLength` (on 64-bit architectures, `kMaxLength` is
-`(2^31)-1`). Otherwise, a [`RangeError`][] is thrown. A zero-length Buffer will
-be created if a `size` less than or equal to 0 is specified.
-
-The underlying memory for `Buffer` instances created in this way is *not
-initialized*. The contents of the newly created `Buffer` are unknown and
-*may contain sensitive data*. Use [`buf.fill(0)`][] to initialize such
-`Buffer` instances to zeroes.
-
-When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances,
-allocations under 4KB are, by default, sliced from a single pre-allocated
-`Buffer`. This allows applications to avoid the garbage collection overhead of
-creating many individually allocated Buffers. This approach improves both
-performance and memory usage by eliminating the need to track and cleanup as
-many `Persistent` objects.
-
-However, in the case where a developer may need to retain a small chunk of
-memory from a pool for an indeterminate amount of time, it may be appropriate
-to create an un-pooled Buffer instance using `Buffer.allocUnsafeSlow()` then
-copy out the relevant bits.
-
-```js
-// need to keep around a few small chunks of memory
-const store = [];
-
-socket.on('readable', () => {
-  const data = socket.read();
-  // allocate for retained data
-  const sb = Buffer.allocUnsafeSlow(10);
-  // copy the data into the new allocation
-  data.copy(sb, 0, 0, 10);
-  store.push(sb);
-});
-```
-
-Use of `Buffer.allocUnsafeSlow()` should be used only as a last resort *after*
-a developer has observed undue memory retention in their applications.
-
-A `TypeError` will be thrown if `size` is not a number.
-
-### All the Rest
-
-The rest of the `Buffer` API is exactly the same as in node.js.
-[See the docs](https://nodejs.org/api/buffer.html).
-
-
-## Related links
-
-- [Node.js issue: Buffer(number) is unsafe](https://github.com/nodejs/node/issues/4660)
-- [Node.js Enhancement Proposal: Buffer.from/Buffer.alloc/Buffer.zalloc/Buffer() soft-deprecate](https://github.com/nodejs/node-eps/pull/4)
-
-## Why is `Buffer` unsafe?
-
-Today, the node.js `Buffer` constructor is overloaded to handle many different argument
-types like `String`, `Array`, `Object`, `TypedArrayView` (`Uint8Array`, etc.),
-`ArrayBuffer`, and also `Number`.
-
-The API is optimized for convenience: you can throw any type at it, and it will try to do
-what you want.
-
-Because the Buffer constructor is so powerful, you often see code like this:
-
-```js
-// Convert UTF-8 strings to hex
-function toHex (str) {
-  return new Buffer(str).toString('hex')
-}
-```
-
-***But what happens if `toHex` is called with a `Number` argument?***
-
-### Remote Memory Disclosure
-
-If an attacker can make your program call the `Buffer` constructor with a `Number`
-argument, then they can make it allocate uninitialized memory from the node.js process.
-This could potentially disclose TLS private keys, user data, or database passwords.
-
-When the `Buffer` constructor is passed a `Number` argument, it returns an
-**UNINITIALIZED** block of memory of the specified `size`. When you create a `Buffer` like
-this, you **MUST** overwrite the contents before returning it to the user.
-
-From the [node.js docs](https://nodejs.org/api/buffer.html#buffer_new_buffer_size):
-
-> `new Buffer(size)`
->
-> - `size` Number
->
-> The underlying memory for `Buffer` instances created in this way is not initialized.
-> **The contents of a newly created `Buffer` are unknown and could contain sensitive
-> data.** Use `buf.fill(0)` to initialize a Buffer to zeroes.
-
-(Emphasis our own.)
-
-Whenever the programmer intended to create an uninitialized `Buffer` you often see code
-like this:
-
-```js
-var buf = new Buffer(16)
-
-// Immediately overwrite the uninitialized buffer with data from another buffer
-for (var i = 0; i < buf.length; i++) {
-  buf[i] = otherBuf[i]
-}
-```
-
-
-### Would this ever be a problem in real code?
-
-Yes. It's surprisingly common to forget to check the type of your variables in a
-dynamically-typed language like JavaScript.
-
-Usually the consequences of assuming the wrong type is that your program crashes with an
-uncaught exception. But the failure mode for forgetting to check the type of arguments to
-the `Buffer` constructor is more catastrophic.
-
-Here's an example of a vulnerable service that takes a JSON payload and converts it to
-hex:
-
-```js
-// Take a JSON payload {str: "some string"} and convert it to hex
-var server = http.createServer(function (req, res) {
-  var data = ''
-  req.setEncoding('utf8')
-  req.on('data', function (chunk) {
-    data += chunk
-  })
-  req.on('end', function () {
-    var body = JSON.parse(data)
-    res.end(new Buffer(body.str).toString('hex'))
-  })
-})
-
-server.listen(8080)
-```
-
-In this example, an http client just has to send:
-
-```json
-{
-  "str": 1000
-}
-```
-
-and it will get back 1,000 bytes of uninitialized memory from the server.
-
-This is a very serious bug. It's similar in severity to the
-[the Heartbleed bug](http://heartbleed.com/) that allowed disclosure of OpenSSL process
-memory by remote attackers.
-
-
-### Which real-world packages were vulnerable?
-
-#### [`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht)
-
-[Mathias Buus](https://github.com/mafintosh) and I
-([Feross Aboukhadijeh](http://feross.org/)) found this issue in one of our own packages,
-[`bittorrent-dht`](https://www.npmjs.com/package/bittorrent-dht). The bug would allow
-anyone on the internet to send a series of messages to a user of `bittorrent-dht` and get
-them to reveal 20 bytes at a time of uninitialized memory from the node.js process.
-
-Here's
-[the commit](https://github.com/feross/bittorrent-dht/commit/6c7da04025d5633699800a99ec3fbadf70ad35b8)
-that fixed it. We released a new fixed version, created a
-[Node Security Project disclosure](https://nodesecurity.io/advisories/68), and deprecated all
-vulnerable versions on npm so users will get a warning to upgrade to a newer version.
-
-#### [`ws`](https://www.npmjs.com/package/ws)
-
-That got us wondering if there were other vulnerable packages. Sure enough, within a short
-period of time, we found the same issue in [`ws`](https://www.npmjs.com/package/ws), the
-most popular WebSocket implementation in node.js.
-
-If certain APIs were called with `Number` parameters instead of `String` or `Buffer` as
-expected, then uninitialized server memory would be disclosed to the remote peer.
-
-These were the vulnerable methods:
-
-```js
-socket.send(number)
-socket.ping(number)
-socket.pong(number)
-```
-
-Here's a vulnerable socket server with some echo functionality:
-
-```js
-server.on('connection', function (socket) {
-  socket.on('message', function (message) {
-    message = JSON.parse(message)
-    if (message.type === 'echo') {
-      socket.send(message.data) // send back the user's message
-    }
-  })
-})
-```
-
-`socket.send(number)` called on the server, will disclose server memory.
-
-Here's [the release](https://github.com/websockets/ws/releases/tag/1.0.1) where the issue
-was fixed, with a more detailed explanation. Props to
-[Arnout Kazemier](https://github.com/3rd-Eden) for the quick fix. Here's the
-[Node Security Project disclosure](https://nodesecurity.io/advisories/67).
-
-
-### What's the solution?
-
-It's important that node.js offers a fast way to get memory otherwise performance-critical
-applications would needlessly get a lot slower.
-
-But we need a better way to *signal our intent* as programmers. **When we want
-uninitialized memory, we should request it explicitly.**
-
-Sensitive functionality should not be packed into a developer-friendly API that loosely
-accepts many different types. This type of API encourages the lazy practice of passing
-variables in without checking the type very carefully.
-
-#### A new API: `Buffer.allocUnsafe(number)`
-
-The functionality of creating buffers with uninitialized memory should be part of another
-API. We propose `Buffer.allocUnsafe(number)`. This way, it's not part of an API that
-frequently gets user input of all sorts of different types passed into it.
-
-```js
-var buf = Buffer.allocUnsafe(16) // careful, uninitialized memory!
-
-// Immediately overwrite the uninitialized buffer with data from another buffer
-for (var i = 0; i < buf.length; i++) {
-  buf[i] = otherBuf[i]
-}
-```
-
-
-### How do we fix node.js core?
-
-We sent [a PR to node.js core](https://github.com/nodejs/node/pull/4514) (merged as
-`semver-major`) which defends against one case:
-
-```js
-var str = 16
-new Buffer(str, 'utf8')
-```
-
-In this situation, it's implied that the programmer intended the first argument to be a
-string, since they passed an encoding as a second argument. Today, node.js will allocate
-uninitialized memory in the case of `new Buffer(number, encoding)`, which is probably not
-what the programmer intended.
-
-But this is only a partial solution, since if the programmer does `new Buffer(variable)`
-(without an `encoding` parameter) there's no way to know what they intended. If `variable`
-is sometimes a number, then uninitialized memory will sometimes be returned.
-
-### What's the real long-term fix?
-
-We could deprecate and remove `new Buffer(number)` and use `Buffer.allocUnsafe(number)` when
-we need uninitialized memory. But that would break 1000s of packages.
-
-~~We believe the best solution is to:~~
-
-~~1. Change `new Buffer(number)` to return safe, zeroed-out memory~~
-
-~~2. Create a new API for creating uninitialized Buffers. We propose: `Buffer.allocUnsafe(number)`~~
-
-#### Update
-
-We now support adding three new APIs:
-
-- `Buffer.from(value)` - convert from any type to a buffer
-- `Buffer.alloc(size)` - create a zero-filled buffer
-- `Buffer.allocUnsafe(size)` - create an uninitialized buffer with given size
-
-This solves the core problem that affected `ws` and `bittorrent-dht` which is
-`Buffer(variable)` getting tricked into taking a number argument.
-
-This way, existing code continues working and the impact on the npm ecosystem will be
-minimal. Over time, npm maintainers can migrate performance-critical code to use
-`Buffer.allocUnsafe(number)` instead of `new Buffer(number)`.
-
-
-### Conclusion
-
-We think there's a serious design issue with the `Buffer` API as it exists today. It
-promotes insecure software by putting high-risk functionality into a convenient API
-with friendly "developer ergonomics".
-
-This wasn't merely a theoretical exercise because we found the issue in some of the
-most popular npm packages.
-
-Fortunately, there's an easy fix that can be applied today. Use `safe-buffer` in place of
-`buffer`.
-
-```js
-var Buffer = require('safe-buffer').Buffer
-```
-
-Eventually, we hope that node.js core can switch to this new, safer behavior. We believe
-the impact on the ecosystem would be minimal since it's not a breaking change.
-Well-maintained, popular packages would be updated to use `Buffer.alloc` quickly, while
-older, insecure packages would magically become safe from this attack vector.
-
-
-## links
-
-- [Node.js PR: buffer: throw if both length and enc are passed](https://github.com/nodejs/node/pull/4514)
-- [Node Security Project disclosure for `ws`](https://nodesecurity.io/advisories/67)
-- [Node Security Project disclosure for`bittorrent-dht`](https://nodesecurity.io/advisories/68)
-
-
-## credit
-
-The original issues in `bittorrent-dht`
-([disclosure](https://nodesecurity.io/advisories/68)) and
-`ws` ([disclosure](https://nodesecurity.io/advisories/67)) were discovered by
-[Mathias Buus](https://github.com/mafintosh) and
-[Feross Aboukhadijeh](http://feross.org/).
-
-Thanks to [Adam Baldwin](https://github.com/evilpacket) for helping disclose these issues
-and for his work running the [Node Security Project](https://nodesecurity.io/).
-
-Thanks to [John Hiesey](https://github.com/jhiesey) for proofreading this README and
-auditing the code.
-
-
-## license
-
-MIT. Copyright (C) [Feross Aboukhadijeh](http://feross.org)

+ 0 - 62
node_modules/compression/node_modules/safe-buffer/index.js

@@ -1,62 +0,0 @@
-/* eslint-disable node/no-deprecated-api */
-var buffer = require('buffer')
-var Buffer = buffer.Buffer
-
-// alternative to using Object.keys for old browsers
-function copyProps (src, dst) {
-  for (var key in src) {
-    dst[key] = src[key]
-  }
-}
-if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {
-  module.exports = buffer
-} else {
-  // Copy properties from require('buffer')
-  copyProps(buffer, exports)
-  exports.Buffer = SafeBuffer
-}
-
-function SafeBuffer (arg, encodingOrOffset, length) {
-  return Buffer(arg, encodingOrOffset, length)
-}
-
-// Copy static methods from Buffer
-copyProps(Buffer, SafeBuffer)
-
-SafeBuffer.from = function (arg, encodingOrOffset, length) {
-  if (typeof arg === 'number') {
-    throw new TypeError('Argument must not be a number')
-  }
-  return Buffer(arg, encodingOrOffset, length)
-}
-
-SafeBuffer.alloc = function (size, fill, encoding) {
-  if (typeof size !== 'number') {
-    throw new TypeError('Argument must be a number')
-  }
-  var buf = Buffer(size)
-  if (fill !== undefined) {
-    if (typeof encoding === 'string') {
-      buf.fill(fill, encoding)
-    } else {
-      buf.fill(fill)
-    }
-  } else {
-    buf.fill(0)
-  }
-  return buf
-}
-
-SafeBuffer.allocUnsafe = function (size) {
-  if (typeof size !== 'number') {
-    throw new TypeError('Argument must be a number')
-  }
-  return Buffer(size)
-}
-
-SafeBuffer.allocUnsafeSlow = function (size) {
-  if (typeof size !== 'number') {
-    throw new TypeError('Argument must be a number')
-  }
-  return buffer.SlowBuffer(size)
-}

+ 0 - 66
node_modules/compression/node_modules/safe-buffer/package.json

@@ -1,66 +0,0 @@
-{
-  "_args": [
-    [
-      "safe-buffer@5.1.1",
-      "C:\\Users\\Administrator\\Desktop\\dealer_front"
-    ]
-  ],
-  "_development": true,
-  "_from": "safe-buffer@5.1.1",
-  "_id": "safe-buffer@5.1.1",
-  "_inBundle": false,
-  "_integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
-  "_location": "/compression/safe-buffer",
-  "_phantomChildren": {},
-  "_requested": {
-    "type": "version",
-    "registry": true,
-    "raw": "safe-buffer@5.1.1",
-    "name": "safe-buffer",
-    "escapedName": "safe-buffer",
-    "rawSpec": "5.1.1",
-    "saveSpec": null,
-    "fetchSpec": "5.1.1"
-  },
-  "_requiredBy": [
-    "/compression"
-  ],
-  "_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
-  "_spec": "5.1.1",
-  "_where": "C:\\Users\\Administrator\\Desktop\\dealer_front",
-  "author": {
-    "name": "Feross Aboukhadijeh",
-    "email": "feross@feross.org",
-    "url": "http://feross.org"
-  },
-  "bugs": {
-    "url": "https://github.com/feross/safe-buffer/issues"
-  },
-  "description": "Safer Node.js Buffer API",
-  "devDependencies": {
-    "standard": "*",
-    "tape": "^4.0.0",
-    "zuul": "^3.0.0"
-  },
-  "homepage": "https://github.com/feross/safe-buffer",
-  "keywords": [
-    "buffer",
-    "buffer allocate",
-    "node security",
-    "safe",
-    "safe-buffer",
-    "security",
-    "uninitialized"
-  ],
-  "license": "MIT",
-  "main": "index.js",
-  "name": "safe-buffer",
-  "repository": {
-    "type": "git",
-    "url": "git://github.com/feross/safe-buffer.git"
-  },
-  "scripts": {
-    "test": "standard && tape test.js"
-  },
-  "version": "5.1.1"
-}

+ 0 - 101
node_modules/compression/node_modules/safe-buffer/test.js

@@ -1,101 +0,0 @@
-/* eslint-disable node/no-deprecated-api */
-
-var test = require('tape')
-var SafeBuffer = require('./').Buffer
-
-test('new SafeBuffer(value) works just like Buffer', function (t) {
-  t.deepEqual(new SafeBuffer('hey'), new Buffer('hey'))
-  t.deepEqual(new SafeBuffer('hey', 'utf8'), new Buffer('hey', 'utf8'))
-  t.deepEqual(new SafeBuffer('686579', 'hex'), new Buffer('686579', 'hex'))
-  t.deepEqual(new SafeBuffer([1, 2, 3]), new Buffer([1, 2, 3]))
-  t.deepEqual(new SafeBuffer(new Uint8Array([1, 2, 3])), new Buffer(new Uint8Array([1, 2, 3])))
-
-  t.equal(typeof SafeBuffer.isBuffer, 'function')
-  t.equal(SafeBuffer.isBuffer(new SafeBuffer('hey')), true)
-  t.equal(Buffer.isBuffer(new SafeBuffer('hey')), true)
-  t.notOk(SafeBuffer.isBuffer({}))
-
-  t.end()
-})
-
-test('SafeBuffer.from(value) converts to a Buffer', function (t) {
-  t.deepEqual(SafeBuffer.from('hey'), new Buffer('hey'))
-  t.deepEqual(SafeBuffer.from('hey', 'utf8'), new Buffer('hey', 'utf8'))
-  t.deepEqual(SafeBuffer.from('686579', 'hex'), new Buffer('686579', 'hex'))
-  t.deepEqual(SafeBuffer.from([1, 2, 3]), new Buffer([1, 2, 3]))
-  t.deepEqual(SafeBuffer.from(new Uint8Array([1, 2, 3])), new Buffer(new Uint8Array([1, 2, 3])))
-
-  t.end()
-})
-
-test('SafeBuffer.alloc(number) returns zeroed-out memory', function (t) {
-  for (var i = 0; i < 10; i++) {
-    var expected1 = new Buffer(1000)
-    expected1.fill(0)
-    t.deepEqual(SafeBuffer.alloc(1000), expected1)
-
-    var expected2 = new Buffer(1000 * 1000)
-    expected2.fill(0)
-    t.deepEqual(SafeBuffer.alloc(1000 * 1000), expected2)
-  }
-  t.end()
-})
-
-test('SafeBuffer.allocUnsafe(number)', function (t) {
-  var buf = SafeBuffer.allocUnsafe(100) // unitialized memory
-  t.equal(buf.length, 100)
-  t.equal(SafeBuffer.isBuffer(buf), true)
-  t.equal(Buffer.isBuffer(buf), true)
-  t.end()
-})
-
-test('SafeBuffer.from() throws with number types', function (t) {
-  t.plan(5)
-  t.throws(function () {
-    SafeBuffer.from(0)
-  })
-  t.throws(function () {
-    SafeBuffer.from(-1)
-  })
-  t.throws(function () {
-    SafeBuffer.from(NaN)
-  })
-  t.throws(function () {
-    SafeBuffer.from(Infinity)
-  })
-  t.throws(function () {
-    SafeBuffer.from(99)
-  })
-})
-
-test('SafeBuffer.allocUnsafe() throws with non-number types', function (t) {
-  t.plan(4)
-  t.throws(function () {
-    SafeBuffer.allocUnsafe('hey')
-  })
-  t.throws(function () {
-    SafeBuffer.allocUnsafe('hey', 'utf8')
-  })
-  t.throws(function () {
-    SafeBuffer.allocUnsafe([1, 2, 3])
-  })
-  t.throws(function () {
-    SafeBuffer.allocUnsafe({})
-  })
-})
-
-test('SafeBuffer.alloc() throws with non-number types', function (t) {
-  t.plan(4)
-  t.throws(function () {
-    SafeBuffer.alloc('hey')
-  })
-  t.throws(function () {
-    SafeBuffer.alloc('hey', 'utf8')
-  })
-  t.throws(function () {
-    SafeBuffer.alloc([1, 2, 3])
-  })
-  t.throws(function () {
-    SafeBuffer.alloc({})
-  })
-})

+ 28 - 31
node_modules/compression/package.json

@@ -1,36 +1,31 @@
 {
-  "_args": [
-    [
-      "compression@1.7.2",
-      "C:\\Users\\Administrator\\Desktop\\dealer_front"
-    ]
-  ],
-  "_development": true,
-  "_from": "compression@1.7.2",
-  "_id": "compression@1.7.2",
+  "_from": "compression@^1.7.3",
+  "_id": "compression@1.7.4",
   "_inBundle": false,
-  "_integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=",
+  "_integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
   "_location": "/compression",
   "_phantomChildren": {},
   "_requested": {
-    "type": "version",
+    "type": "range",
     "registry": true,
-    "raw": "compression@1.7.2",
+    "raw": "compression@^1.7.3",
     "name": "compression",
     "escapedName": "compression",
-    "rawSpec": "1.7.2",
+    "rawSpec": "^1.7.3",
     "saveSpec": null,
-    "fetchSpec": "1.7.2"
+    "fetchSpec": "^1.7.3"
   },
   "_requiredBy": [
     "/webpack-dev-server"
   ],
-  "_resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz",
-  "_spec": "1.7.2",
-  "_where": "C:\\Users\\Administrator\\Desktop\\dealer_front",
+  "_resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
+  "_shasum": "95523eff170ca57c29a0ca41e6fe131f41e5bb8f",
+  "_spec": "compression@^1.7.3",
+  "_where": "D:\\workSpace\\dealer_front\\node_modules\\webpack-dev-server",
   "bugs": {
     "url": "https://github.com/expressjs/compression/issues"
   },
+  "bundleDependencies": false,
   "contributors": [
     {
       "name": "Douglas Christopher Wilson",
@@ -43,26 +38,28 @@
     }
   ],
   "dependencies": {
-    "accepts": "~1.3.4",
+    "accepts": "~1.3.5",
     "bytes": "3.0.0",
-    "compressible": "~2.0.13",
+    "compressible": "~2.0.16",
     "debug": "2.6.9",
-    "on-headers": "~1.0.1",
-    "safe-buffer": "5.1.1",
+    "on-headers": "~1.0.2",
+    "safe-buffer": "5.1.2",
     "vary": "~1.1.2"
   },
+  "deprecated": false,
   "description": "Node.js compression middleware",
   "devDependencies": {
-    "eslint": "4.18.0",
-    "eslint-config-standard": "11.0.0",
-    "eslint-plugin-import": "2.8.0",
-    "eslint-plugin-markdown": "1.0.0-beta.6",
-    "eslint-plugin-node": "6.0.0",
-    "eslint-plugin-promise": "3.6.0",
-    "eslint-plugin-standard": "3.0.1",
+    "after": "0.8.2",
+    "eslint": "5.15.1",
+    "eslint-config-standard": "12.0.0",
+    "eslint-plugin-import": "2.16.0",
+    "eslint-plugin-markdown": "1.0.0",
+    "eslint-plugin-node": "7.0.1",
+    "eslint-plugin-promise": "4.0.1",
+    "eslint-plugin-standard": "4.0.0",
     "istanbul": "0.4.5",
-    "mocha": "2.5.3",
-    "supertest": "1.1.0"
+    "mocha": "6.0.2",
+    "supertest": "4.0.0"
   },
   "engines": {
     "node": ">= 0.8.0"
@@ -85,5 +82,5 @@
     "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --check-leaks --reporter dot",
     "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --check-leaks --reporter spec"
   },
-  "version": "1.7.2"
+  "version": "1.7.4"
 }

+ 3 - 0
node_modules/connect-history-api-fallback/CHANGELOG.md

@@ -1,5 +1,8 @@
 # Changelog
 
+## v1.6.0
+ - Recommend absolute paths for rewrite targets. Contributed by @helfi92.
+
 ## v1.5.0
  - Expose the HTTP request object in rewrite rules. Contributed by @VladShcherbin.
 

+ 12 - 1
node_modules/connect-history-api-fallback/lib/index.js

@@ -50,6 +50,17 @@ exports = module.exports = function historyApiFallback(options) {
       var match = parsedUrl.pathname.match(rewrite.from);
       if (match !== null) {
         rewriteTarget = evaluateRewriteRule(parsedUrl, match, rewrite.to, req);
+
+        if(rewriteTarget.charAt(0) !== '/') {
+          logger(
+            'We recommend using an absolute path for the rewrite target.',
+            'Received a non-absolute rewrite target',
+            rewriteTarget,
+            'for URL',
+            req.url
+          );
+        }
+
         logger('Rewriting', req.method, req.url, 'to', rewriteTarget);
         req.url = rewriteTarget;
         return next();
@@ -79,7 +90,7 @@ function evaluateRewriteRule(parsedUrl, match, rule, req) {
   if (typeof rule === 'string') {
     return rule;
   } else if (typeof rule !== 'function') {
-    throw new Error('Rewrite rule can only be of type string of function.');
+    throw new Error('Rewrite rule can only be of type string or function.');
   }
 
   return rule({

+ 15 - 19
node_modules/connect-history-api-fallback/package.json

@@ -1,33 +1,27 @@
 {
-  "_args": [
-    [
-      "connect-history-api-fallback@1.5.0",
-      "C:\\Users\\Administrator\\Desktop\\dealer_front"
-    ]
-  ],
-  "_development": true,
-  "_from": "connect-history-api-fallback@1.5.0",
-  "_id": "connect-history-api-fallback@1.5.0",
+  "_from": "connect-history-api-fallback@^1.3.0",
+  "_id": "connect-history-api-fallback@1.6.0",
   "_inBundle": false,
-  "_integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=",
+  "_integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
   "_location": "/connect-history-api-fallback",
   "_phantomChildren": {},
   "_requested": {
-    "type": "version",
+    "type": "range",
     "registry": true,
-    "raw": "connect-history-api-fallback@1.5.0",
+    "raw": "connect-history-api-fallback@^1.3.0",
     "name": "connect-history-api-fallback",
     "escapedName": "connect-history-api-fallback",
-    "rawSpec": "1.5.0",
+    "rawSpec": "^1.3.0",
     "saveSpec": null,
-    "fetchSpec": "1.5.0"
+    "fetchSpec": "^1.3.0"
   },
   "_requiredBy": [
     "/webpack-dev-server"
   ],
-  "_resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz",
-  "_spec": "1.5.0",
-  "_where": "C:\\Users\\Administrator\\Desktop\\dealer_front",
+  "_resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
+  "_shasum": "8b32089359308d111115d81cad3fceab888f97bc",
+  "_spec": "connect-history-api-fallback@^1.3.0",
+  "_where": "D:\\workSpace\\dealer_front\\node_modules\\webpack-dev-server",
   "author": {
     "name": "Ben Ripkens",
     "email": "bripkens.dev@gmail.com",
@@ -36,6 +30,7 @@
   "bugs": {
     "url": "https://github.com/bripkens/connect-history-api-fallback/issues"
   },
+  "bundleDependencies": false,
   "contributors": [
     {
       "name": "Craig Myles",
@@ -43,10 +38,11 @@
       "url": "http://www.craigmyles.com"
     }
   ],
+  "deprecated": false,
   "description": "Provides a fallback for non-existing directories so that the HTML 5 history API can be used.",
   "devDependencies": {
     "eslint": "^0.18.0",
-    "nodeunit": "^0.9.1",
+    "nodeunit": "^0.11.3",
     "sinon": "^1.14.1"
   },
   "engines": {
@@ -73,5 +69,5 @@
   "scripts": {
     "test": "eslint lib/index.js test/index_test.js && nodeunit test/index_test.js"
   },
-  "version": "1.5.0"
+  "version": "1.6.0"
 }

+ 1 - 0
node_modules/define-properties/.eslintrc

@@ -5,6 +5,7 @@
 
 	"rules": {
 		"id-length": [2, { "min": 1, "max": 35 }],
+		"max-lines-per-function": [2, 100],
 		"max-params": [2, 4],
 		"max-statements": [2, 13]
 	}

+ 49 - 5
node_modules/define-properties/.jscs.json

@@ -9,13 +9,17 @@
 
 	"disallowIdentifierNames": [],
 
-	"requireCurlyBraces": ["if", "else", "for", "while", "do", "try", "catch"],
+	"requireCurlyBraces": {
+		"allExcept": [],
+		"keywords": ["if", "else", "for", "while", "do", "try", "catch"]
+	},
 
 	"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
 
 	"disallowSpaceAfterKeywords": [],
 
 	"disallowSpaceBeforeComma": true,
+	"disallowSpaceAfterComma": false,
 	"disallowSpaceBeforeSemicolon": true,
 
 	"disallowNodeTypes": [
@@ -26,7 +30,7 @@
 		"WithStatement"
 	],
 
-	"requireObjectKeysOnNewLine": false,
+	"requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
 
 	"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
 	"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
@@ -40,7 +44,7 @@
 
 	"disallowSpacesInsideArrayBrackets": true,
 
-	"disallowQuotedKeysInObjects": "allButReserved",
+	"disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
 
 	"disallowSpaceAfterObjectKeys": true,
 
@@ -75,7 +79,7 @@
 
 	"disallowMultipleLineStrings": true,
 
-	"requireDotNotation": true,
+	"requireDotNotation": { "allExcept": ["keywords"] },
 
 	"requireParenthesesAroundIIFE": true,
 
@@ -126,6 +130,46 @@
 
 	"disallowNestedTernaries": { "maxLevel": 1 },
 
-	"requireSpaceAfterComma": true
+	"requireSpaceAfterComma": { "allExcept": ["trailing"] },
+	"requireAlignedMultilineParams": false,
+
+	"requireSpacesInGenerator": {
+		"afterStar": true
+	},
+
+	"disallowSpacesInGenerator": {
+		"beforeStar": true
+	},
+
+	"disallowVar": false,
+
+	"requireArrayDestructuring": false,
+
+	"requireEnhancedObjectLiterals": false,
+
+	"requireObjectDestructuring": false,
+
+	"requireEarlyReturn": false,
+
+	"requireCapitalizedConstructorsNew": {
+		"allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
+	},
+
+	"requireImportAlphabetized": false,
+
+	"requireSpaceBeforeObjectValues": true,
+	"requireSpaceBeforeDestructuredValues": true,
+
+	"disallowSpacesInsideTemplateStringPlaceholders": true,
+
+	"disallowArrayDestructuringReturn": false,
+
+	"requireNewlineBeforeSingleStatementsInIf": false,
+
+	"disallowUnusedVariables": true,
+
+	"requireSpacesInsideImportedObjectBraces": true,
+
+	"requireUseStrict": true
 }
 

+ 0 - 2
node_modules/define-properties/.npmignore

@@ -1,2 +0,0 @@
-test/*
-

+ 199 - 26
node_modules/define-properties/.travis.yml

@@ -1,60 +1,233 @@
 language: node_js
+os:
+ - linux
 node_js:
-  - "4.2"
-  - "4.1"
-  - "4.0"
+  - "10.8"
+  - "9.11"
+  - "8.11"
+  - "7.10"
+  - "6.14"
+  - "5.12"
+  - "4.9"
   - "iojs-v3.3"
-  - "iojs-v3.2"
-  - "iojs-v3.1"
-  - "iojs-v3.0"
   - "iojs-v2.5"
-  - "iojs-v2.4"
-  - "iojs-v2.3"
-  - "iojs-v2.2"
-  - "iojs-v2.1"
-  - "iojs-v2.0"
   - "iojs-v1.8"
-  - "iojs-v1.7"
-  - "iojs-v1.6"
-  - "iojs-v1.5"
-  - "iojs-v1.4"
-  - "iojs-v1.3"
-  - "iojs-v1.2"
-  - "iojs-v1.1"
-  - "iojs-v1.0"
   - "0.12"
-  - "0.11"
   - "0.10"
-  - "0.9"
   - "0.8"
-  - "0.6"
-  - "0.4"
 before_install:
-  - '[ "${TRAVIS_NODE_VERSION}" = "0.6" ] || npm install -g npm@1.4.28 && npm install -g npm'
+  - 'case "${TRAVIS_NODE_VERSION}" in 0.*) export NPM_CONFIG_STRICT_SSL=false ;; esac'
+  - 'nvm install-latest-npm'
+install:
+  - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ] || [ "${TRAVIS_NODE_VERSION}" = "0.9" ]; then nvm install --latest-npm 0.8 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;'
+script:
+  - 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi'
+  - 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi'
+  - 'if [ -n "${COVERAGE-}" ]; then npm run coverage ; fi'
+  - 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi'
 sudo: false
+env:
+  - TEST=true
 matrix:
   fast_finish: true
-  allow_failures:
+  include:
+    - node_js: "lts/*"
+      env: PRETEST=true
+    - node_js: "lts/*"
+      env: POSTTEST=true
+    - node_js: "4"
+      env: COVERAGE=true
+    - node_js: "10.7"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "10.6"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "10.5"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "10.4"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "10.3"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "10.2"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "10.1"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "10.0"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "9.10"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "9.9"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "9.8"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "9.7"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "9.6"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "9.5"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "9.4"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "9.3"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "9.2"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "9.1"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "9.0"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "8.10"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "8.9"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "8.8"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "8.7"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "8.6"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "8.5"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "8.4"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "8.3"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "8.2"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "8.1"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "8.0"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "7.9"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "7.8"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "7.7"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "7.6"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "7.5"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "7.4"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "7.3"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "7.2"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "7.1"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "7.0"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.13"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.12"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.11"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.10"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.9"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.8"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.7"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.6"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.5"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.4"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.3"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.2"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.1"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "6.0"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "5.11"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "5.10"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "5.9"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "5.8"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "5.7"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "5.6"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "5.5"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "5.4"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "5.3"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "5.2"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "5.1"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "5.0"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "4.8"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "4.7"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "4.6"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "4.5"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "4.4"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "4.3"
+      env: TEST=true ALLOW_FAILURE=true
+    - node_js: "4.2"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "4.1"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "4.0"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v3.2"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v3.1"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v3.0"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v2.4"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v2.3"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v2.2"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v2.1"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v2.0"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v1.7"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v1.6"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v1.5"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v1.4"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v1.3"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v1.2"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v1.1"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "iojs-v1.0"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "0.11"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "0.9"
-    - node_js: "0.8"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "0.6"
+      env: TEST=true ALLOW_FAILURE=true
     - node_js: "0.4"
+      env: TEST=true ALLOW_FAILURE=true
+  allow_failures:
+    - os: osx
+    - env: TEST=true ALLOW_FAILURE=true
+    - env: COVERAGE=true

+ 9 - 0
node_modules/define-properties/CHANGELOG.md

@@ -1,3 +1,12 @@
+1.1.3 / 2018-08-14
+=================
+ * [Refactor] use a for loop instead of `foreach` to make for smaller bundle sizes
+ * [Robustness] cache `Array.prototype.concat` and `Object.defineProperty`
+ * [Deps] update `object-keys`
+ * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `nsp`, `tape`, `jscs`; remove unused eccheck script + dep
+ * [Tests] use pretest/posttest for linting/security
+ * [Tests] fix npm upgrades on older nodes
+
 1.1.2 / 2015-10-14
 =================
  * [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG

+ 14 - 12
node_modules/define-properties/index.js

@@ -1,10 +1,11 @@
 'use strict';
 
 var keys = require('object-keys');
-var foreach = require('foreach');
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';
+var hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
 
 var toStr = Object.prototype.toString;
+var concat = Array.prototype.concat;
+var origDefineProperty = Object.defineProperty;
 
 var isFunction = function (fn) {
 	return typeof fn === 'function' && toStr.call(fn) === '[object Function]';
@@ -13,23 +14,24 @@ var isFunction = function (fn) {
 var arePropertyDescriptorsSupported = function () {
 	var obj = {};
 	try {
-		Object.defineProperty(obj, 'x', { enumerable: false, value: obj });
-        /* eslint-disable no-unused-vars, no-restricted-syntax */
-        for (var _ in obj) { return false; }
-        /* eslint-enable no-unused-vars, no-restricted-syntax */
+		origDefineProperty(obj, 'x', { enumerable: false, value: obj });
+		// eslint-disable-next-line no-unused-vars, no-restricted-syntax
+		for (var _ in obj) { // jscs:ignore disallowUnusedVariables
+			return false;
+		}
 		return obj.x === obj;
 	} catch (e) { /* this is IE 8. */
 		return false;
 	}
 };
-var supportsDescriptors = Object.defineProperty && arePropertyDescriptorsSupported();
+var supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();
 
 var defineProperty = function (object, name, value, predicate) {
 	if (name in object && (!isFunction(predicate) || !predicate())) {
 		return;
 	}
 	if (supportsDescriptors) {
-		Object.defineProperty(object, name, {
+		origDefineProperty(object, name, {
 			configurable: true,
 			enumerable: false,
 			value: value,
@@ -44,11 +46,11 @@ var defineProperties = function (object, map) {
 	var predicates = arguments.length > 2 ? arguments[2] : {};
 	var props = keys(map);
 	if (hasSymbols) {
-		props = props.concat(Object.getOwnPropertySymbols(map));
+		props = concat.call(props, Object.getOwnPropertySymbols(map));
+	}
+	for (var i = 0; i < props.length; i += 1) {
+		defineProperty(object, props[i], map[props[i]], predicates[props[i]]);
 	}
-	foreach(props, function (name) {
-		defineProperty(object, name, map[name], predicates[name]);
-	});
 };
 
 defineProperties.supportsDescriptors = !!supportsDescriptors;

+ 30 - 31
node_modules/define-properties/package.json

@@ -1,52 +1,49 @@
 {
-  "_args": [
-    [
-      "define-properties@1.1.2",
-      "D:\\projects\\dealer_front"
-    ]
-  ],
-  "_development": true,
-  "_from": "define-properties@1.1.2",
-  "_id": "define-properties@1.1.2",
+  "_from": "define-properties@^1.1.3",
+  "_id": "define-properties@1.1.3",
   "_inBundle": false,
-  "_integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
+  "_integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
   "_location": "/define-properties",
   "_phantomChildren": {},
   "_requested": {
-    "type": "version",
+    "type": "range",
     "registry": true,
-    "raw": "define-properties@1.1.2",
+    "raw": "define-properties@^1.1.3",
     "name": "define-properties",
     "escapedName": "define-properties",
-    "rawSpec": "1.1.2",
+    "rawSpec": "^1.1.3",
     "saveSpec": null,
-    "fetchSpec": "1.1.2"
+    "fetchSpec": "^1.1.3"
   },
   "_requiredBy": [
-    "/array-includes"
+    "/array-includes",
+    "/object.assign",
+    "/string.prototype.trimleft",
+    "/string.prototype.trimright"
   ],
-  "_resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
-  "_spec": "1.1.2",
-  "_where": "D:\\projects\\dealer_front",
+  "_resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+  "_shasum": "cf88da6cbee26fe6db7094f61d870cbd84cee9f1",
+  "_spec": "define-properties@^1.1.3",
+  "_where": "D:\\workSpace\\dealer_front\\node_modules\\array-includes",
   "author": {
     "name": "Jordan Harband"
   },
   "bugs": {
     "url": "https://github.com/ljharb/define-properties/issues"
   },
+  "bundleDependencies": false,
   "dependencies": {
-    "foreach": "^2.0.5",
-    "object-keys": "^1.0.8"
+    "object-keys": "^1.0.12"
   },
+  "deprecated": false,
   "description": "Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.",
   "devDependencies": {
-    "@ljharb/eslint-config": "^1.3.0",
+    "@ljharb/eslint-config": "^13.0.0",
     "covert": "^1.1.0",
-    "editorconfig-tools": "^0.1.1",
-    "eslint": "^1.6.0",
-    "jscs": "^2.3.1",
-    "nsp": "^1.1.0",
-    "tape": "^4.2.1"
+    "eslint": "^5.3.0",
+    "jscs": "^3.0.7",
+    "nsp": "^3.2.1",
+    "tape": "^4.9.0"
   },
   "engines": {
     "node": ">= 0.4"
@@ -71,12 +68,14 @@
   "scripts": {
     "coverage": "covert test/*.js",
     "coverage-quiet": "covert test/*.js --quiet",
-    "eccheck": "editorconfig-tools check *.js **/*.js > /dev/null",
     "eslint": "eslint test/*.js *.js",
     "jscs": "jscs test/*.js *.js",
-    "lint": "npm run jscs && npm run eslint",
-    "security": "nsp package",
-    "test": "npm run lint && node test/index.js && npm run security"
+    "lint": "npm run --silent jscs && npm run --silent eslint",
+    "posttest": "npm run --silent security",
+    "pretest": "npm run --silent lint",
+    "security": "nsp check",
+    "test": "npm run --silent tests-only",
+    "tests-only": "node test/index.js"
   },
   "testling": {
     "files": "test/index.js",
@@ -96,5 +95,5 @@
       "android-browser/4.2"
     ]
   },
-  "version": "1.1.2"
+  "version": "1.1.3"
 }

+ 1 - 2
node_modules/define-properties/test/index.js

@@ -15,10 +15,9 @@ var arePropertyDescriptorsSupported = function () {
 };
 var descriptorsSupported = !!Object.defineProperty && arePropertyDescriptorsSupported();
 
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';
+var hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
 
 test('defineProperties', function (dt) {
-
 	dt.test('with descriptor support', { skip: !descriptorsSupported }, function (t) {
 		var getDescriptor = function (value) {
 			return {

+ 8 - 1
node_modules/detect-node/Readme.md

@@ -1,4 +1,11 @@
-Usage:
+### Install
+
+```shell
+npm install --save detect-node
+```
+
+### Usage:
+
 ```js
 var isNode = require('detect-node');
 

+ 1 - 5
node_modules/detect-node/index.js

@@ -1,6 +1,2 @@
-module.exports = false;
-
 // Only Node.JS has a process variable that is of [[Class]] process
-try {
- module.exports = Object.prototype.toString.call(global.process) === '[object process]' 
-} catch(e) {}
+module.exports = Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';

+ 15 - 18
node_modules/detect-node/package.json

@@ -1,39 +1,36 @@
 {
-  "_args": [
-    [
-      "detect-node@2.0.3",
-      "D:\\projects\\dealer_front"
-    ]
-  ],
-  "_development": true,
-  "_from": "detect-node@2.0.3",
-  "_id": "detect-node@2.0.3",
+  "_from": "detect-node@^2.0.4",
+  "_id": "detect-node@2.0.4",
   "_inBundle": false,
-  "_integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=",
+  "_integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
   "_location": "/detect-node",
   "_phantomChildren": {},
   "_requested": {
-    "type": "version",
+    "type": "range",
     "registry": true,
-    "raw": "detect-node@2.0.3",
+    "raw": "detect-node@^2.0.4",
     "name": "detect-node",
     "escapedName": "detect-node",
-    "rawSpec": "2.0.3",
+    "rawSpec": "^2.0.4",
     "saveSpec": null,
-    "fetchSpec": "2.0.3"
+    "fetchSpec": "^2.0.4"
   },
   "_requiredBy": [
     "/spdy-transport"
   ],
-  "_resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz",
-  "_spec": "2.0.3",
-  "_where": "D:\\projects\\dealer_front",
+  "_resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
+  "_shasum": "014ee8f8f669c5c58023da64b8179c083a28c46c",
+  "_spec": "detect-node@^2.0.4",
+  "_where": "D:\\workSpace\\dealer_front\\node_modules\\spdy-transport",
   "author": {
     "name": "Ilya Kantor"
   },
+  "browser": "browser.js",
   "bugs": {
     "url": "https://github.com/iliakan/detect-node/issues"
   },
+  "bundleDependencies": false,
+  "deprecated": false,
   "description": "Detect Node.JS (as opposite to browser environment) (reliable)",
   "homepage": "https://github.com/iliakan/detect-node",
   "keywords": [
@@ -50,5 +47,5 @@
   "scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
   },
-  "version": "2.0.3"
+  "version": "2.0.4"
 }

+ 57 - 4
node_modules/es-abstract/.eslintrc

@@ -3,20 +3,73 @@
 
 	"extends": "@ljharb",
 
+	"env": {
+		"es6": true,
+	},
+
 	"rules": {
+		"arrow-parens": [2, "always"],
 		"array-bracket-newline": 0,
 		"array-element-newline": 0,
 		"complexity": 0,
 		"eqeqeq": [2, "allow-null"],
 		"func-name-matching": 0,
-		"id-length": [2, { "min": 1, "max": 30 }],
-		"max-lines": [2, 700],
+		"id-length": [2, { "min": 1, "max": 40 }],
 		"max-params": [2, 4],
 		"max-statements": [2, 24],
 		"max-statements-per-line": [2, { "max": 2 }],
+		"multiline-comment-style": 0,
 		"no-magic-numbers": 0,
 		"new-cap": 0,
 		"no-extra-parens": 1,
-		"sort-keys": 0
-	}
+		"operator-linebreak": [2, "before"],
+		"sort-keys": 0,
+	},
+
+	"overrides": [
+		{
+			"files": "./*/{Date,Month}FromTime.js",
+			"rules": {
+				"max-statements": [2, 30],
+			},
+		},
+		{
+			"files": "operations/*",
+			"rules": {
+				"max-lines": 0,
+			},
+		},
+		{
+			"files": "operations/*.js",
+			"parserOptions": {
+				"ecmaVersion": 2018,
+			},
+			"rules": {
+				"no-console": 0,
+				"no-multi-str": 0,
+			},
+		},
+		{
+			"files": "operations/getOps.js",
+			"rules": {
+				"no-console": 0,
+				"no-process-exit": 0,
+			},
+		},
+		{
+			"files": "test/**",
+			"rules": {
+				"id-length": 0,
+				"max-lines": 0,
+				"max-lines-per-function": 0,
+				"max-statements-per-line": [2, { "max": 3 }],
+				"max-nested-callbacks": [2, 4],
+				"max-statements": 0,
+				"no-implicit-coercion": 0,
+				"no-invalid-this": 1,
+				"object-curly-newline": 0,
+				"prefer-regex-literals": 0,
+			},
+		},
+	],
 }

+ 0 - 176
node_modules/es-abstract/.jscs.json

@@ -1,176 +0,0 @@
-{
-	"es3": true,
-
-	"additionalRules": [],
-
-	"requireSemicolons": true,
-
-	"disallowMultipleSpaces": true,
-
-	"disallowIdentifierNames": [],
-
-	"requireCurlyBraces": {
-		"allExcept": [],
-		"keywords": ["if", "else", "for", "while", "do", "try", "catch"]
-	},
-
-	"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
-
-	"disallowSpaceAfterKeywords": [],
-
-	"disallowSpaceBeforeComma": true,
-	"disallowSpaceAfterComma": false,
-	"disallowSpaceBeforeSemicolon": true,
-
-	"disallowNodeTypes": [
-		"DebuggerStatement",
-		"ForInStatement",
-		"LabeledStatement",
-		"SwitchCase",
-		"SwitchStatement",
-		"WithStatement"
-	],
-
-	"requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
-
-	"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
-	"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
-	"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
-	"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
-	"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
-
-	"requireSpaceBetweenArguments": true,
-
-	"disallowSpacesInsideParentheses": true,
-
-	"disallowSpacesInsideArrayBrackets": true,
-
-	"disallowQuotedKeysInObjects": { "allExcept": ["reserved"] },
-
-	"disallowSpaceAfterObjectKeys": true,
-
-	"requireCommaBeforeLineBreak": true,
-
-	"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
-	"requireSpaceAfterPrefixUnaryOperators": [],
-
-	"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
-	"requireSpaceBeforePostfixUnaryOperators": [],
-
-	"disallowSpaceBeforeBinaryOperators": [],
-	"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
-
-	"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
-	"disallowSpaceAfterBinaryOperators": [],
-
-	"disallowImplicitTypeConversion": ["binary", "string"],
-
-	"disallowKeywords": ["with", "eval"],
-
-	"requireKeywordsOnNewLine": [],
-	"disallowKeywordsOnNewLine": ["else"],
-
-	"requireLineFeedAtFileEnd": true,
-
-	"disallowTrailingWhitespace": true,
-
-	"disallowTrailingComma": true,
-
-	"excludeFiles": ["node_modules/**", "vendor/**"],
-
-	"disallowMultipleLineStrings": true,
-
-	"requireDotNotation": { "allExcept": ["keywords"] },
-
-	"requireParenthesesAroundIIFE": true,
-
-	"validateLineBreaks": "LF",
-
-	"validateQuoteMarks": {
-		"escape": true,
-		"mark": "'"
-	},
-
-	"disallowOperatorBeforeLineBreak": [],
-
-	"requireSpaceBeforeKeywords": [
-		"do",
-		"for",
-		"if",
-		"else",
-		"switch",
-		"case",
-		"try",
-		"catch",
-		"finally",
-		"while",
-		"with",
-		"return"
-	],
-
-	"validateAlignedFunctionParameters": {
-		"lineBreakAfterOpeningBraces": true,
-		"lineBreakBeforeClosingBraces": true
-	},
-
-	"requirePaddingNewLinesBeforeExport": true,
-
-	"validateNewlineAfterArrayElements": {
-		"maximum": 9
-	},
-
-	"requirePaddingNewLinesAfterUseStrict": true,
-
-	"disallowArrowFunctions": true,
-
-	"disallowMultiLineTernary": true,
-
-	"validateOrderInObjectKeys": false,
-
-	"disallowIdenticalDestructuringNames": true,
-
-	"disallowNestedTernaries": { "maxLevel": 1 },
-
-	"requireSpaceAfterComma": { "allExcept": ["trailing"] },
-	"requireAlignedMultilineParams": false,
-
-	"requireSpacesInGenerator": {
-		"afterStar": true
-	},
-
-	"disallowSpacesInGenerator": {
-		"beforeStar": true
-	},
-
-	"disallowVar": false,
-
-	"requireArrayDestructuring": false,
-
-	"requireEnhancedObjectLiterals": false,
-
-	"requireObjectDestructuring": false,
-
-	"requireEarlyReturn": false,
-
-	"requireCapitalizedConstructorsNew": {
-		"allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"]
-	},
-
-	"requireImportAlphabetized": false,
-
-	"requireSpaceBeforeObjectValues": true,
-	"requireSpaceBeforeDestructuredValues": true,
-
-	"disallowSpacesInsideTemplateStringPlaceholders": true,
-
-	"disallowArrayDestructuringReturn": false,
-
-	"requireNewlineBeforeSingleStatementsInIf": false,
-
-	"disallowUnusedVariables": true,
-
-	"requireSpacesInsideImportedObjectBraces": true,
-
-	"requireUseStrict": true
-}
-

+ 6 - 7
node_modules/es-abstract/.nycrc

@@ -1,15 +1,14 @@
 {
 	"all": true,
-	"check": true,
+	"check-coverage": false,
 	"reporter": ["text-summary", "text", "html", "json"],
-	"lines": 98,
-	"statements": 97,
-	"functions": 93,
-	"branches": 94,
+	"lines": 86,
+	"statements": 85.93,
+	"functions": 82.43,
+	"branches": 76.06,
 	"exclude": [
 		"coverage",
 		"operations",
 		"test"
-	],
-	"xreport-coverage": "nyc report --reporter=lcov > coverage.lcov && codecov"
+	]
 }

+ 21 - 196
node_modules/es-abstract/.travis.yml

@@ -1,207 +1,32 @@
+version: ~> 1.0
 language: node_js
 os:
  - linux
-node_js:
-  - "9.8"
-  - "8.10"
-  - "7.10"
-  - "6.13"
-  - "5.12"
-  - "4.8"
-  - "iojs-v3.3"
-  - "iojs-v2.5"
-  - "iojs-v1.8"
-  - "0.12"
-  - "0.10"
-  - "0.8"
-  - "0.6"
-before_install:
-  - 'nvm install-latest-npm'
-install:
-  - 'if [ "${TRAVIS_NODE_VERSION}" = "0.6" ] || [ "${TRAVIS_NODE_VERSION}" = "0.9" ]; then nvm install --latest-npm 0.8 && npm install && nvm use "${TRAVIS_NODE_VERSION}"; else npm install; fi;'
+cache:
+  directories:
+    - "$HOME/.npm"
+    - "$(nvm cache dir)"
+    - "$(nvm_version_path $(nvm_version_remote 0.4))"
+    - "$(nvm_version_path $(nvm_version_remote 0.6))"
+    - "$(nvm_version_path $(nvm_version_remote 0.10))"
+import:
+ - ljharb/travis-ci:node/all.yml
+ - ljharb/travis-ci:node/pretest.yml
+ - ljharb/travis-ci:node/posttest.yml
 script:
-  - 'if [ -n "${PRETEST-}" ]; then npm run pretest ; fi'
-  - 'if [ -n "${POSTTEST-}" ]; then npm run posttest ; fi'
   - 'if [ -n "${COVERAGE-}" ]; then npm run coverage && bash <(curl -s https://codecov.io/bash) -f coverage/*.json; fi'
-  - 'if [ -n "${TEST-}" ]; then npm run tests-only ; fi'
-sudo: false
-env:
-  - TEST=true
 matrix:
-  fast_finish: true
   include:
-    - node_js: "lts/*"
-      env: PRETEST=true
-    - node_js: "lts/*"
-      env: POSTTEST=true
-    - node_js: "0.8"
-      env: COVERAGE=true
-    - node_js: "0.12"
+    - node_js: "8"
       env: COVERAGE=true
     - node_js: "4"
       env: COVERAGE=true
-    - node_js: "8"
+    - node_js: "0.12"
+      env: COVERAGE=true
+    - node_js: "0.8"
       env: COVERAGE=true
-    - node_js: "9.7"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "9.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "9.5"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "9.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "9.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "9.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "9.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "9.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "8.9"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "8.8"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "8.7"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "8.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "8.5"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "8.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "8.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "8.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "8.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "8.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.9"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.8"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.7"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.5"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "7.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.12"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.11"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.10"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.9"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.8"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.7"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.5"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "6.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.11"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.10"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.9"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.8"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.7"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.5"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "5.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.7"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.5"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "4.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v3.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v3.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v3.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v2.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v2.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v2.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v2.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v2.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.7"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.6"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.5"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.4"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.3"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.2"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.1"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "iojs-v1.0"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "0.11"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "0.9"
-      env: TEST=true ALLOW_FAILURE=true
-    - node_js: "0.4"
-      env: TEST=true ALLOW_FAILURE=true
-  allow_failures:
-    - os: osx
-    - env: TEST=true ALLOW_FAILURE=true
+  exclude:
+    - node_js: "0.12"
+      env: TEST=true
+    - node_js: "0.8"
+      env: TEST=true

+ 125 - 0
node_modules/es-abstract/CHANGELOG.md

@@ -1,3 +1,128 @@
+1.17.0-next.1 / 2019-12-11
+=================
+  * [Fix] `object.assign` is a runtime dep
+  * [meta] only run spackle script in publish (#78)
+
+1.17.0-next.0 / 2019-12-11
+=================
+  * [New] Split up each operation into its own file
+
+1.16.3 / 2019-12-04
+=================
+  * [Fix] `GetIntrinsic`: when given a path to a getter, return the actual getter
+  * [Dev Deps] update `eslint`
+
+1.16.2 / 2019-11-24
+=================
+  * [Fix] IE 6-7 lack JSON
+  * [Fix] IE 6-8 strings can’t use array slice, they need string slice
+  * [Dev Deps] update `eslint`
+
+1.16.1 / 2019-11-24
+=================
+  * [Fix] `GetIntrinsics`: turns out IE 8 throws when `Object.getOwnPropertyDescriptor(arguments);`, and does not throw on `callee` anyways
+  * [Deps] update `es-to-primitive`, `has-symbols`, `object-inspect`
+  * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`
+  * [meta] re-include year files inside `operations`
+  * [meta] add `funding` field
+  * [actions] add Automatic Rebase github action
+  * [Tests] use shared travis-ci config
+  * [Tests] disable `check-coverage`, and let codecov do it
+
+1.16.0 / 2019-10-18
+=================
+  * [New] `ES2015+`: add `SetFunctionName`
+  * [New] `ES2015+`: add `GetPrototypeFromConstructor`, with caveats
+  * [New] `ES2015+`: add `CreateListFromArrayLike`
+  * [New] `ES2016+`: add `OrdinarySetPrototypeOf`
+  * [New] `ES2016+`: add `OrdinaryGetPrototypeOf`
+  * [New] add `getSymbolDescription` and `getInferredName` helpers
+  * [Fix] `GetIterator`: add fallback for pre-Symbol environments, tests
+  * [Dev Deps] update `object.fromentries`
+  * [Tests] add `node` `v12.2`
+
+1.15.0 / 2019-10-02
+=================
+  * [New] `ES2018`+: add `DateString`, `TimeString`
+  * [New] `ES2015`+: add `ToDateString`
+  * [New] `ES5`+: add `msFromTime`, `SecFromTime`, `MinFromTime`, `HourFromTime`, `TimeWithinDay`, `Day`, `DayFromYear`, `TimeFromYear`, `YearFromTime`, `WeekDay`, `DaysInYear`, `InLeapYear`, `DayWithinYear`, `MonthFromTime`, `DateFromTime`, `MakeDay`, `MakeDate`, `MakeTime`, `TimeClip`, `modulo`
+  * [New] add `regexTester` helper
+  * [New] add `callBound` helper
+  * [New] add ES2020’s intrinsic dot notation
+  * [New] add `isPrefixOf` helper
+  * [New] add `maxSafeInteger` helper
+  * [Deps] update `string.prototype.trimleft`, `string.prototype.trimright`
+  * [Dev Deps] update `eslint`
+  * [Tests] on `node` `v12.11`
+  * [meta] npmignore operations scripts; add "deltas"
+
+1.14.2 / 2019-09-08
+=================
+  * [Fix] `ES2016`: `IterableToArrayLike`: add proper fallback for strings, pre-Symbols
+  * [Tests] on `node` `v12.10`
+
+1.14.1 / 2019-09-03
+=================
+  * [meta] republish with some extra files removed
+
+1.14.0 / 2019-09-02
+=================
+  * [New] add ES2019
+  * [New] `ES2017+`: add `IterableToList`
+  * [New] `ES2016`: add `IterableToArrayLike`
+  * [New] `ES2015+`: add `ArrayCreate`, `ArraySetLength`, `OrdinaryDefineOwnProperty`, `OrdinaryGetOwnProperty`, `OrdinaryHasProperty`, `CreateHTML`, `GetOwnPropertyKeys`, `InstanceofOperator`, `SymbolDescriptiveString`, `GetSubstitution`, `ValidateAndApplyPropertyDescriptor`, `IsPromise`, `OrdinaryHasInstance`, `TestIntegrityLevel`, `SetIntegrityLevel`
+  * [New] add `callBind` helper, and use it
+  * [New] add helpers: `isPropertyDescriptor`, `every`
+  * [New] ES5+: add `Abstract Relational Comparison`
+  * [New] ES5+: add `Abstract Equality Comparison`, `Strict Equality Comparison`
+  * [Fix] `ES2015+`: `GetIterator`: only require native Symbols when `method` is omitted
+  * [Fix] `ES2015`: `Call`: error message now properly displays Symbols using `object-inspect`
+  * [Fix] `ES2015+`: `ValidateAndApplyPropertyDescriptor`: use ES2017 logic to bypass spec bugs
+  * [Fix] `ES2015+`: `CreateDataProperty`, `DefinePropertyOrThrow`, `ValidateAndApplyPropertyDescriptor`: add fallbacks for ES3
+  * [Fix] `ES2015+`: `FromPropertyDescriptor`: no longer requires a fully complete Property Descriptor
+  * [Fix] `ES5`: `IsPropertyDescriptor`: call into `IsDataDescriptor` and `IsAccessorDescriptor`
+  * [Refactor] use `has-symbols` for Symbol detection
+  * [Fix] `helpers/assertRecord`: remove `console.log`
+  * [Deps] update `object-keys`
+  * [readme] add security note
+  * [meta] change http URLs to https
+  * [meta] linter cleanup
+  * [meta] fix getOps script
+  * [meta] add FUNDING.yml
+  * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `semver`, `replace`, `cheerio`, `tape`
+  * [Tests] up to `node` `v12.9`, `v11.15`, `v10.16`, `v8.16`, `v6.17`
+  * [Tests] temporarily allow node 0.6 to fail; segfaulting in travis
+  * [Tests] use the values helper more in es5 tests
+  * [Tests] fix linting to apply to all files
+  * [Tests] run `npx aud` only on prod deps
+  * [Tests] add v.descriptors helpers
+  * [Tests] use `npx aud` instead of `npm audit` with hoops
+  * [Tests] use `eclint` instead of `editorconfig-tools`
+  * [Tests] some intrinsic cleanup
+  * [Tests] migrate es5 tests to use values helper
+  * [Tests] add some missing ES2015 ops
+
+1.13.0 / 2019-01-02
+=================
+  * [New] add ES2018
+  * [New] add ES2015/ES2016: EnumerableOwnNames; ES2017: EnumerableOwnProperties
+  * [New] `ES2015+`: add `thisBooleanValue`, `thisNumberValue`, `thisStringValue`, `thisTimeValue`
+  * [New] `ES2015+`: add `DefinePropertyOrThrow`, `DeletePropertyOrThrow`, `CreateMethodProperty`
+  * [New] add `assertRecord` helper
+  * [Deps] update `is-callable`, `has`, `object-keys`, `es-to-primitive`
+  * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`, `semver`, `safe-publish-latest`, `replace`
+  * [Tests] use `npm audit` instead of `nsp`
+  * [Tests] remove `jscs`
+  * [Tests] up to `node` `v11.6`, `v10.15`, `v8.15`, `v6.16`
+  * [Tests] move descriptor factories to `values` helper
+  * [Tests] add `getOps` to programmatically fetch abstract operation names
+
+1.12.0 / 2018-05-31
+=================
+  * [New] add `GetIntrinsic` entry point
+  * [New] `ES2015`+: add `ObjectCreate`
+  * [Robustness]: `ES2015+`: ensure `Math.{abs,floor}` and `Function.call` are cached
+
 1.11.0 / 2018-03-21
 =================
   * [New] `ES2015+`: add iterator abstract ops

+ 8 - 4
node_modules/es-abstract/README.md

@@ -12,7 +12,7 @@
 
 ECMAScript spec abstract operations.
 When different versions of the spec conflict, the default export will be the latest version of the abstract operation.
-All abstract operations will also be available under an `es5`/`es2015`/`es2016` entry point, and exported property, if you require a specific version.
+All abstract operations will also be available under an `es5`/`es2015`/`es2016`/`es2017`/`es2018`/`es2019` entry point, and exported property, if you require a specific version.
 
 ## Example
 
@@ -27,6 +27,10 @@ assert(!ES.isCallable(/a/g));
 ## Tests
 Simply clone the repo, `npm install`, and run `npm test`
 
+## Security
+
+Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report.
+
 [package-url]: https://npmjs.org/package/es-abstract
 [npm-version-svg]: http://versionbadg.es/ljharb/es-abstract.svg
 [travis-svg]: https://travis-ci.org/ljharb/es-abstract.svg
@@ -38,7 +42,7 @@ Simply clone the repo, `npm install`, and run `npm test`
 [testling-svg]: https://ci.testling.com/ljharb/es-abstract.png
 [testling-url]: https://ci.testling.com/ljharb/es-abstract
 [npm-badge-png]: https://nodei.co/npm/es-abstract.png?downloads=true&stars=true
-[license-image]: http://img.shields.io/npm/l/es-abstract.svg
+[license-image]: https://img.shields.io/npm/l/es-abstract.svg
 [license-url]: LICENSE
-[downloads-image]: http://img.shields.io/npm/dm/es-abstract.svg
-[downloads-url]: http://npm-stat.com/charts.html?package=es-abstract
+[downloads-image]: https://img.shields.io/npm/dm/es-abstract.svg
+[downloads-url]: https://npm-stat.com/charts.html?package=es-abstract

+ 110 - 650
node_modules/es-abstract/es2015.js

@@ -1,655 +1,115 @@
 'use strict';
 
-var has = require('has');
-var toPrimitive = require('es-to-primitive/es6');
-
-var toStr = Object.prototype.toString;
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
-var SymbolIterator = hasSymbols ? Symbol.iterator : null;
-
-var $isNaN = require('./helpers/isNaN');
-var $isFinite = require('./helpers/isFinite');
-var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;
-
-var assign = require('./helpers/assign');
-var sign = require('./helpers/sign');
-var mod = require('./helpers/mod');
-var isPrimitive = require('./helpers/isPrimitive');
-var parseInteger = parseInt;
-var bind = require('function-bind');
-var arraySlice = bind.call(Function.call, Array.prototype.slice);
-var strSlice = bind.call(Function.call, String.prototype.slice);
-var isBinary = bind.call(Function.call, RegExp.prototype.test, /^0b[01]+$/i);
-var isOctal = bind.call(Function.call, RegExp.prototype.test, /^0o[0-7]+$/i);
-var regexExec = bind.call(Function.call, RegExp.prototype.exec);
-var nonWS = ['\u0085', '\u200b', '\ufffe'].join('');
-var nonWSregex = new RegExp('[' + nonWS + ']', 'g');
-var hasNonWS = bind.call(Function.call, RegExp.prototype.test, nonWSregex);
-var invalidHexLiteral = /^[-+]0x[0-9a-f]+$/i;
-var isInvalidHexLiteral = bind.call(Function.call, RegExp.prototype.test, invalidHexLiteral);
-
-// whitespace from: http://es5.github.io/#x15.5.4.20
-// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324
-var ws = [
-	'\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003',
-	'\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028',
-	'\u2029\uFEFF'
-].join('');
-var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');
-var replace = bind.call(Function.call, String.prototype.replace);
-var trim = function (value) {
-	return replace(value, trimRegex, '');
+/* eslint global-require: 0 */
+// https://www.ecma-international.org/ecma-262/6.0/#sec-abstract-operations
+var ES6 = {
+	'Abstract Equality Comparison': require('./2015/AbstractEqualityComparison'),
+	'Abstract Relational Comparison': require('./2015/AbstractRelationalComparison'),
+	'Strict Equality Comparison': require('./2015/StrictEqualityComparison'),
+	AdvanceStringIndex: require('./2015/AdvanceStringIndex'),
+	ArrayCreate: require('./2015/ArrayCreate'),
+	ArraySetLength: require('./2015/ArraySetLength'),
+	ArraySpeciesCreate: require('./2015/ArraySpeciesCreate'),
+	Call: require('./2015/Call'),
+	CanonicalNumericIndexString: require('./2015/CanonicalNumericIndexString'),
+	CompletePropertyDescriptor: require('./2015/CompletePropertyDescriptor'),
+	CreateDataProperty: require('./2015/CreateDataProperty'),
+	CreateDataPropertyOrThrow: require('./2015/CreateDataPropertyOrThrow'),
+	CreateHTML: require('./2015/CreateHTML'),
+	CreateIterResultObject: require('./2015/CreateIterResultObject'),
+	CreateListFromArrayLike: require('./2015/CreateListFromArrayLike'),
+	CreateMethodProperty: require('./2015/CreateMethodProperty'),
+	DateFromTime: require('./2015/DateFromTime'),
+	Day: require('./2015/Day'),
+	DayFromYear: require('./2015/DayFromYear'),
+	DaysInYear: require('./2015/DaysInYear'),
+	DayWithinYear: require('./2015/DayWithinYear'),
+	DefinePropertyOrThrow: require('./2015/DefinePropertyOrThrow'),
+	DeletePropertyOrThrow: require('./2015/DeletePropertyOrThrow'),
+	EnumerableOwnNames: require('./2015/EnumerableOwnNames'),
+	FromPropertyDescriptor: require('./2015/FromPropertyDescriptor'),
+	Get: require('./2015/Get'),
+	GetIterator: require('./2015/GetIterator'),
+	GetMethod: require('./2015/GetMethod'),
+	GetOwnPropertyKeys: require('./2015/GetOwnPropertyKeys'),
+	GetPrototypeFromConstructor: require('./2015/GetPrototypeFromConstructor'),
+	GetSubstitution: require('./2015/GetSubstitution'),
+	GetV: require('./2015/GetV'),
+	HasOwnProperty: require('./2015/HasOwnProperty'),
+	HasProperty: require('./2015/HasProperty'),
+	HourFromTime: require('./2015/HourFromTime'),
+	InLeapYear: require('./2015/InLeapYear'),
+	InstanceofOperator: require('./2015/InstanceofOperator'),
+	Invoke: require('./2015/Invoke'),
+	IsAccessorDescriptor: require('./2015/IsAccessorDescriptor'),
+	IsArray: require('./2015/IsArray'),
+	IsCallable: require('./2015/IsCallable'),
+	IsConcatSpreadable: require('./2015/IsConcatSpreadable'),
+	IsConstructor: require('./2015/IsConstructor'),
+	IsDataDescriptor: require('./2015/IsDataDescriptor'),
+	IsExtensible: require('./2015/IsExtensible'),
+	IsGenericDescriptor: require('./2015/IsGenericDescriptor'),
+	IsInteger: require('./2015/IsInteger'),
+	IsPromise: require('./2015/IsPromise'),
+	IsPropertyDescriptor: require('./2015/IsPropertyDescriptor'),
+	IsPropertyKey: require('./2015/IsPropertyKey'),
+	IsRegExp: require('./2015/IsRegExp'),
+	IteratorClose: require('./2015/IteratorClose'),
+	IteratorComplete: require('./2015/IteratorComplete'),
+	IteratorNext: require('./2015/IteratorNext'),
+	IteratorStep: require('./2015/IteratorStep'),
+	IteratorValue: require('./2015/IteratorValue'),
+	MakeDate: require('./2015/MakeDate'),
+	MakeDay: require('./2015/MakeDay'),
+	MakeTime: require('./2015/MakeTime'),
+	MinFromTime: require('./2015/MinFromTime'),
+	modulo: require('./2015/modulo'),
+	MonthFromTime: require('./2015/MonthFromTime'),
+	msFromTime: require('./2015/msFromTime'),
+	ObjectCreate: require('./2015/ObjectCreate'),
+	OrdinaryDefineOwnProperty: require('./2015/OrdinaryDefineOwnProperty'),
+	OrdinaryGetOwnProperty: require('./2015/OrdinaryGetOwnProperty'),
+	OrdinaryHasInstance: require('./2015/OrdinaryHasInstance'),
+	OrdinaryHasProperty: require('./2015/OrdinaryHasProperty'),
+	RegExpExec: require('./2015/RegExpExec'),
+	RequireObjectCoercible: require('./2015/RequireObjectCoercible'),
+	SameValue: require('./2015/SameValue'),
+	SameValueZero: require('./2015/SameValueZero'),
+	SecFromTime: require('./2015/SecFromTime'),
+	Set: require('./2015/Set'),
+	SetFunctionName: require('./2015/SetFunctionName'),
+	SetIntegrityLevel: require('./2015/SetIntegrityLevel'),
+	SpeciesConstructor: require('./2015/SpeciesConstructor'),
+	SymbolDescriptiveString: require('./2015/SymbolDescriptiveString'),
+	TestIntegrityLevel: require('./2015/TestIntegrityLevel'),
+	thisBooleanValue: require('./2015/thisBooleanValue'),
+	thisNumberValue: require('./2015/thisNumberValue'),
+	thisStringValue: require('./2015/thisStringValue'),
+	thisTimeValue: require('./2015/thisTimeValue'),
+	TimeClip: require('./2015/TimeClip'),
+	TimeFromYear: require('./2015/TimeFromYear'),
+	TimeWithinDay: require('./2015/TimeWithinDay'),
+	ToBoolean: require('./2015/ToBoolean'),
+	ToDateString: require('./2015/ToDateString'),
+	ToInt16: require('./2015/ToInt16'),
+	ToInt32: require('./2015/ToInt32'),
+	ToInt8: require('./2015/ToInt8'),
+	ToInteger: require('./2015/ToInteger'),
+	ToLength: require('./2015/ToLength'),
+	ToNumber: require('./2015/ToNumber'),
+	ToObject: require('./2015/ToObject'),
+	ToPrimitive: require('./2015/ToPrimitive'),
+	ToPropertyDescriptor: require('./2015/ToPropertyDescriptor'),
+	ToPropertyKey: require('./2015/ToPropertyKey'),
+	ToString: require('./2015/ToString'),
+	ToUint16: require('./2015/ToUint16'),
+	ToUint32: require('./2015/ToUint32'),
+	ToUint8: require('./2015/ToUint8'),
+	ToUint8Clamp: require('./2015/ToUint8Clamp'),
+	Type: require('./2015/Type'),
+	ValidateAndApplyPropertyDescriptor: require('./2015/ValidateAndApplyPropertyDescriptor'),
+	WeekDay: require('./2015/WeekDay'),
+	YearFromTime: require('./2015/YearFromTime')
 };
 
-var ES5 = require('./es5');
-
-var hasRegExpMatcher = require('is-regex');
-
-// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-abstract-operations
-var ES6 = assign(assign({}, ES5), {
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-call-f-v-args
-	Call: function Call(F, V) {
-		var args = arguments.length > 2 ? arguments[2] : [];
-		if (!this.IsCallable(F)) {
-			throw new TypeError(F + ' is not a function');
-		}
-		return F.apply(V, args);
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toprimitive
-	ToPrimitive: toPrimitive,
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toboolean
-	// ToBoolean: ES5.ToBoolean,
-
-	// http://www.ecma-international.org/ecma-262/6.0/#sec-tonumber
-	ToNumber: function ToNumber(argument) {
-		var value = isPrimitive(argument) ? argument : toPrimitive(argument, Number);
-		if (typeof value === 'symbol') {
-			throw new TypeError('Cannot convert a Symbol value to a number');
-		}
-		if (typeof value === 'string') {
-			if (isBinary(value)) {
-				return this.ToNumber(parseInteger(strSlice(value, 2), 2));
-			} else if (isOctal(value)) {
-				return this.ToNumber(parseInteger(strSlice(value, 2), 8));
-			} else if (hasNonWS(value) || isInvalidHexLiteral(value)) {
-				return NaN;
-			} else {
-				var trimmed = trim(value);
-				if (trimmed !== value) {
-					return this.ToNumber(trimmed);
-				}
-			}
-		}
-		return Number(value);
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tointeger
-	// ToInteger: ES5.ToNumber,
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint32
-	// ToInt32: ES5.ToInt32,
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint32
-	// ToUint32: ES5.ToUint32,
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint16
-	ToInt16: function ToInt16(argument) {
-		var int16bit = this.ToUint16(argument);
-		return int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit;
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint16
-	// ToUint16: ES5.ToUint16,
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint8
-	ToInt8: function ToInt8(argument) {
-		var int8bit = this.ToUint8(argument);
-		return int8bit >= 0x80 ? int8bit - 0x100 : int8bit;
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8
-	ToUint8: function ToUint8(argument) {
-		var number = this.ToNumber(argument);
-		if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }
-		var posInt = sign(number) * Math.floor(Math.abs(number));
-		return mod(posInt, 0x100);
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8clamp
-	ToUint8Clamp: function ToUint8Clamp(argument) {
-		var number = this.ToNumber(argument);
-		if ($isNaN(number) || number <= 0) { return 0; }
-		if (number >= 0xFF) { return 0xFF; }
-		var f = Math.floor(argument);
-		if (f + 0.5 < number) { return f + 1; }
-		if (number < f + 0.5) { return f; }
-		if (f % 2 !== 0) { return f + 1; }
-		return f;
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tostring
-	ToString: function ToString(argument) {
-		if (typeof argument === 'symbol') {
-			throw new TypeError('Cannot convert a Symbol value to a string');
-		}
-		return String(argument);
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toobject
-	ToObject: function ToObject(value) {
-		this.RequireObjectCoercible(value);
-		return Object(value);
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-topropertykey
-	ToPropertyKey: function ToPropertyKey(argument) {
-		var key = this.ToPrimitive(argument, String);
-		return typeof key === 'symbol' ? key : this.ToString(key);
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
-	ToLength: function ToLength(argument) {
-		var len = this.ToInteger(argument);
-		if (len <= 0) { return 0; } // includes converting -0 to +0
-		if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; }
-		return len;
-	},
-
-	// http://www.ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring
-	CanonicalNumericIndexString: function CanonicalNumericIndexString(argument) {
-		if (toStr.call(argument) !== '[object String]') {
-			throw new TypeError('must be a string');
-		}
-		if (argument === '-0') { return -0; }
-		var n = this.ToNumber(argument);
-		if (this.SameValue(this.ToString(n), argument)) { return n; }
-		return void 0;
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-requireobjectcoercible
-	RequireObjectCoercible: ES5.CheckObjectCoercible,
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isarray
-	IsArray: Array.isArray || function IsArray(argument) {
-		return toStr.call(argument) === '[object Array]';
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-iscallable
-	// IsCallable: ES5.IsCallable,
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isconstructor
-	IsConstructor: function IsConstructor(argument) {
-		return typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isextensible-o
-	IsExtensible: function IsExtensible(obj) {
-		if (!Object.preventExtensions) { return true; }
-		if (isPrimitive(obj)) {
-			return false;
-		}
-		return Object.isExtensible(obj);
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isinteger
-	IsInteger: function IsInteger(argument) {
-		if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) {
-			return false;
-		}
-		var abs = Math.abs(argument);
-		return Math.floor(abs) === abs;
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ispropertykey
-	IsPropertyKey: function IsPropertyKey(argument) {
-		return typeof argument === 'string' || typeof argument === 'symbol';
-	},
-
-	// http://www.ecma-international.org/ecma-262/6.0/#sec-isregexp
-	IsRegExp: function IsRegExp(argument) {
-		if (!argument || typeof argument !== 'object') {
-			return false;
-		}
-		if (hasSymbols) {
-			var isRegExp = argument[Symbol.match];
-			if (typeof isRegExp !== 'undefined') {
-				return ES5.ToBoolean(isRegExp);
-			}
-		}
-		return hasRegExpMatcher(argument);
-	},
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevalue
-	// SameValue: ES5.SameValue,
-
-	// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero
-	SameValueZero: function SameValueZero(x, y) {
-		return (x === y) || ($isNaN(x) && $isNaN(y));
-	},
-
-	/**
-	 * 7.3.2 GetV (V, P)
-	 * 1. Assert: IsPropertyKey(P) is true.
-	 * 2. Let O be ToObject(V).
-	 * 3. ReturnIfAbrupt(O).
-	 * 4. Return O.[[Get]](P, V).
-	 */
-	GetV: function GetV(V, P) {
-		// 7.3.2.1
-		if (!this.IsPropertyKey(P)) {
-			throw new TypeError('Assertion failed: IsPropertyKey(P) is not true');
-		}
-
-		// 7.3.2.2-3
-		var O = this.ToObject(V);
-
-		// 7.3.2.4
-		return O[P];
-	},
-
-	/**
-	 * 7.3.9 - http://www.ecma-international.org/ecma-262/6.0/#sec-getmethod
-	 * 1. Assert: IsPropertyKey(P) is true.
-	 * 2. Let func be GetV(O, P).
-	 * 3. ReturnIfAbrupt(func).
-	 * 4. If func is either undefined or null, return undefined.
-	 * 5. If IsCallable(func) is false, throw a TypeError exception.
-	 * 6. Return func.
-	 */
-	GetMethod: function GetMethod(O, P) {
-		// 7.3.9.1
-		if (!this.IsPropertyKey(P)) {
-			throw new TypeError('Assertion failed: IsPropertyKey(P) is not true');
-		}
-
-		// 7.3.9.2
-		var func = this.GetV(O, P);
-
-		// 7.3.9.4
-		if (func == null) {
-			return void 0;
-		}
-
-		// 7.3.9.5
-		if (!this.IsCallable(func)) {
-			throw new TypeError(P + 'is not a function');
-		}
-
-		// 7.3.9.6
-		return func;
-	},
-
-	/**
-	 * 7.3.1 Get (O, P) - http://www.ecma-international.org/ecma-262/6.0/#sec-get-o-p
-	 * 1. Assert: Type(O) is Object.
-	 * 2. Assert: IsPropertyKey(P) is true.
-	 * 3. Return O.[[Get]](P, O).
-	 */
-	Get: function Get(O, P) {
-		// 7.3.1.1
-		if (this.Type(O) !== 'Object') {
-			throw new TypeError('Assertion failed: Type(O) is not Object');
-		}
-		// 7.3.1.2
-		if (!this.IsPropertyKey(P)) {
-			throw new TypeError('Assertion failed: IsPropertyKey(P) is not true');
-		}
-		// 7.3.1.3
-		return O[P];
-	},
-
-	Type: function Type(x) {
-		if (typeof x === 'symbol') {
-			return 'Symbol';
-		}
-		return ES5.Type(x);
-	},
-
-	// http://www.ecma-international.org/ecma-262/6.0/#sec-speciesconstructor
-	SpeciesConstructor: function SpeciesConstructor(O, defaultConstructor) {
-		if (this.Type(O) !== 'Object') {
-			throw new TypeError('Assertion failed: Type(O) is not Object');
-		}
-		var C = O.constructor;
-		if (typeof C === 'undefined') {
-			return defaultConstructor;
-		}
-		if (this.Type(C) !== 'Object') {
-			throw new TypeError('O.constructor is not an Object');
-		}
-		var S = hasSymbols && Symbol.species ? C[Symbol.species] : void 0;
-		if (S == null) {
-			return defaultConstructor;
-		}
-		if (this.IsConstructor(S)) {
-			return S;
-		}
-		throw new TypeError('no constructor found');
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor
-	CompletePropertyDescriptor: function CompletePropertyDescriptor(Desc) {
-		if (!this.IsPropertyDescriptor(Desc)) {
-			throw new TypeError('Desc must be a Property Descriptor');
-		}
-
-		if (this.IsGenericDescriptor(Desc) || this.IsDataDescriptor(Desc)) {
-			if (!has(Desc, '[[Value]]')) {
-				Desc['[[Value]]'] = void 0;
-			}
-			if (!has(Desc, '[[Writable]]')) {
-				Desc['[[Writable]]'] = false;
-			}
-		} else {
-			if (!has(Desc, '[[Get]]')) {
-				Desc['[[Get]]'] = void 0;
-			}
-			if (!has(Desc, '[[Set]]')) {
-				Desc['[[Set]]'] = void 0;
-			}
-		}
-		if (!has(Desc, '[[Enumerable]]')) {
-			Desc['[[Enumerable]]'] = false;
-		}
-		if (!has(Desc, '[[Configurable]]')) {
-			Desc['[[Configurable]]'] = false;
-		}
-		return Desc;
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw
-	Set: function Set(O, P, V, Throw) {
-		if (this.Type(O) !== 'Object') {
-			throw new TypeError('O must be an Object');
-		}
-		if (!this.IsPropertyKey(P)) {
-			throw new TypeError('P must be a Property Key');
-		}
-		if (this.Type(Throw) !== 'Boolean') {
-			throw new TypeError('Throw must be a Boolean');
-		}
-		if (Throw) {
-			O[P] = V;
-			return true;
-		} else {
-			try {
-				O[P] = V;
-			} catch (e) {
-				return false;
-			}
-		}
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-hasownproperty
-	HasOwnProperty: function HasOwnProperty(O, P) {
-		if (this.Type(O) !== 'Object') {
-			throw new TypeError('O must be an Object');
-		}
-		if (!this.IsPropertyKey(P)) {
-			throw new TypeError('P must be a Property Key');
-		}
-		return has(O, P);
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-hasproperty
-	HasProperty: function HasProperty(O, P) {
-		if (this.Type(O) !== 'Object') {
-			throw new TypeError('O must be an Object');
-		}
-		if (!this.IsPropertyKey(P)) {
-			throw new TypeError('P must be a Property Key');
-		}
-		return P in O;
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable
-	IsConcatSpreadable: function IsConcatSpreadable(O) {
-		if (this.Type(O) !== 'Object') {
-			return false;
-		}
-		if (hasSymbols && typeof Symbol.isConcatSpreadable === 'symbol') {
-			var spreadable = this.Get(O, Symbol.isConcatSpreadable);
-			if (typeof spreadable !== 'undefined') {
-				return this.ToBoolean(spreadable);
-			}
-		}
-		return this.IsArray(O);
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-invoke
-	Invoke: function Invoke(O, P) {
-		if (!this.IsPropertyKey(P)) {
-			throw new TypeError('P must be a Property Key');
-		}
-		var argumentsList = arraySlice(arguments, 2);
-		var func = this.GetV(O, P);
-		return this.Call(func, O, argumentsList);
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-getiterator
-	GetIterator: function GetIterator(obj, method) {
-		if (!hasSymbols) {
-			throw new SyntaxError('ES.GetIterator depends on native iterator support.');
-		}
-
-		var actualMethod = method;
-		if (arguments.length < 2) {
-			actualMethod = this.GetMethod(obj, SymbolIterator);
-		}
-		var iterator = this.Call(actualMethod, obj);
-		if (this.Type(iterator) !== 'Object') {
-			throw new TypeError('iterator must return an object');
-		}
-
-		return iterator;
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-iteratornext
-	IteratorNext: function IteratorNext(iterator, value) {
-		var result = this.Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);
-		if (this.Type(result) !== 'Object') {
-			throw new TypeError('iterator next must return an object');
-		}
-		return result;
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete
-	IteratorComplete: function IteratorComplete(iterResult) {
-		if (this.Type(iterResult) !== 'Object') {
-			throw new TypeError('Assertion failed: Type(iterResult) is not Object');
-		}
-		return this.ToBoolean(this.Get(iterResult, 'done'));
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue
-	IteratorValue: function IteratorValue(iterResult) {
-		if (this.Type(iterResult) !== 'Object') {
-			throw new TypeError('Assertion failed: Type(iterResult) is not Object');
-		}
-		return this.Get(iterResult, 'value');
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-iteratorstep
-	IteratorStep: function IteratorStep(iterator) {
-		var result = this.IteratorNext(iterator);
-		var done = this.IteratorComplete(result);
-		return done === true ? false : result;
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-iteratorclose
-	IteratorClose: function IteratorClose(iterator, completion) {
-		if (this.Type(iterator) !== 'Object') {
-			throw new TypeError('Assertion failed: Type(iterator) is not Object');
-		}
-		if (!this.IsCallable(completion)) {
-			throw new TypeError('Assertion failed: completion is not a thunk for a Completion Record');
-		}
-		var completionThunk = completion;
-
-		var iteratorReturn = this.GetMethod(iterator, 'return');
-
-		if (typeof iteratorReturn === 'undefined') {
-			return completionThunk();
-		}
-
-		var completionRecord;
-		try {
-			var innerResult = this.Call(iteratorReturn, iterator, []);
-		} catch (e) {
-			// if we hit here, then "e" is the innerResult completion that needs re-throwing
-
-			// if the completion is of type "throw", this will throw.
-			completionRecord = completionThunk();
-			completionThunk = null; // ensure it's not called twice.
-
-			// if not, then return the innerResult completion
-			throw e;
-		}
-		completionRecord = completionThunk(); // if innerResult worked, then throw if the completion does
-		completionThunk = null; // ensure it's not called twice.
-
-		if (this.Type(innerResult) !== 'Object') {
-			throw new TypeError('iterator .return must return an object');
-		}
-
-		return completionRecord;
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject
-	CreateIterResultObject: function CreateIterResultObject(value, done) {
-		if (this.Type(done) !== 'Boolean') {
-			throw new TypeError('Assertion failed: Type(done) is not Boolean');
-		}
-		return {
-			value: value,
-			done: done
-		};
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-regexpexec
-	RegExpExec: function RegExpExec(R, S) {
-		if (this.Type(R) !== 'Object') {
-			throw new TypeError('R must be an Object');
-		}
-		if (this.Type(S) !== 'String') {
-			throw new TypeError('S must be a String');
-		}
-		var exec = this.Get(R, 'exec');
-		if (this.IsCallable(exec)) {
-			var result = this.Call(exec, R, [S]);
-			if (result === null || this.Type(result) === 'Object') {
-				return result;
-			}
-			throw new TypeError('"exec" method must return `null` or an Object');
-		}
-		return regexExec(R, S);
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate
-	ArraySpeciesCreate: function ArraySpeciesCreate(originalArray, length) {
-		if (!this.IsInteger(length) || length < 0) {
-			throw new TypeError('Assertion failed: length must be an integer >= 0');
-		}
-		var len = length === 0 ? 0 : length;
-		var C;
-		var isArray = this.IsArray(originalArray);
-		if (isArray) {
-			C = this.Get(originalArray, 'constructor');
-			// TODO: figure out how to make a cross-realm normal Array, a same-realm Array
-			// if (this.IsConstructor(C)) {
-			// 	if C is another realm's Array, C = undefined
-			// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
-			// }
-			if (this.Type(C) === 'Object' && hasSymbols && Symbol.species) {
-				C = this.Get(C, Symbol.species);
-				if (C === null) {
-					C = void 0;
-				}
-			}
-		}
-		if (typeof C === 'undefined') {
-			return Array(len);
-		}
-		if (!this.IsConstructor(C)) {
-			throw new TypeError('C must be a constructor');
-		}
-		return new C(len); // this.Construct(C, len);
-	},
-
-	CreateDataProperty: function CreateDataProperty(O, P, V) {
-		if (this.Type(O) !== 'Object') {
-			throw new TypeError('Assertion failed: Type(O) is not Object');
-		}
-		if (!this.IsPropertyKey(P)) {
-			throw new TypeError('Assertion failed: IsPropertyKey(P) is not true');
-		}
-		var oldDesc = Object.getOwnPropertyDescriptor(O, P);
-		var extensible = oldDesc || (typeof Object.isExtensible !== 'function' || Object.isExtensible(O));
-		var immutable = oldDesc && (!oldDesc.writable || !oldDesc.configurable);
-		if (immutable || !extensible) {
-			return false;
-		}
-		var newDesc = {
-			configurable: true,
-			enumerable: true,
-			value: V,
-			writable: true
-		};
-		Object.defineProperty(O, P, newDesc);
-		return true;
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow
-	CreateDataPropertyOrThrow: function CreateDataPropertyOrThrow(O, P, V) {
-		if (this.Type(O) !== 'Object') {
-			throw new TypeError('Assertion failed: Type(O) is not Object');
-		}
-		if (!this.IsPropertyKey(P)) {
-			throw new TypeError('Assertion failed: IsPropertyKey(P) is not true');
-		}
-		var success = this.CreateDataProperty(O, P, V);
-		if (!success) {
-			throw new TypeError('unable to create data property');
-		}
-		return success;
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-advancestringindex
-	AdvanceStringIndex: function AdvanceStringIndex(S, index, unicode) {
-		if (this.Type(S) !== 'String') {
-			throw new TypeError('Assertion failed: Type(S) is not String');
-		}
-		if (!this.IsInteger(index)) {
-			throw new TypeError('Assertion failed: length must be an integer >= 0 and <= (2**53 - 1)');
-		}
-		if (index < 0 || index > MAX_SAFE_INTEGER) {
-			throw new RangeError('Assertion failed: length must be an integer >= 0 and <= (2**53 - 1)');
-		}
-		if (this.Type(unicode) !== 'Boolean') {
-			throw new TypeError('Assertion failed: Type(unicode) is not Boolean');
-		}
-		if (!unicode) {
-			return index + 1;
-		}
-		var length = S.length;
-		if ((index + 1) >= length) {
-			return index + 1;
-		}
-		var first = S.charCodeAt(index);
-		if (first < 0xD800 || first > 0xDBFF) {
-			return index + 1;
-		}
-		var second = S.charCodeAt(index + 1);
-		if (second < 0xDC00 || second > 0xDFFF) {
-			return index + 1;
-		}
-		return index + 2;
-	}
-});
-
-delete ES6.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible
-
 module.exports = ES6;

+ 115 - 12
node_modules/es-abstract/es2016.js

@@ -1,16 +1,119 @@
 'use strict';
 
-var ES2015 = require('./es2015');
-var assign = require('./helpers/assign');
-
-var ES2016 = assign(assign({}, ES2015), {
-	// https://github.com/tc39/ecma262/pull/60
-	SameValueNonNumber: function SameValueNonNumber(x, y) {
-		if (typeof x === 'number' || typeof x !== typeof y) {
-			throw new TypeError('SameValueNonNumber requires two non-number values of the same type.');
-		}
-		return this.SameValue(x, y);
-	}
-});
+/* eslint global-require: 0 */
+// https://www.ecma-international.org/ecma-262/7.0/#sec-abstract-operations
+var ES2016 = {
+	'Abstract Equality Comparison': require('./2016/AbstractEqualityComparison'),
+	'Abstract Relational Comparison': require('./2016/AbstractRelationalComparison'),
+	'Strict Equality Comparison': require('./2016/StrictEqualityComparison'),
+	AdvanceStringIndex: require('./2016/AdvanceStringIndex'),
+	ArrayCreate: require('./2016/ArrayCreate'),
+	ArraySetLength: require('./2016/ArraySetLength'),
+	ArraySpeciesCreate: require('./2016/ArraySpeciesCreate'),
+	Call: require('./2016/Call'),
+	CanonicalNumericIndexString: require('./2016/CanonicalNumericIndexString'),
+	CompletePropertyDescriptor: require('./2016/CompletePropertyDescriptor'),
+	CreateDataProperty: require('./2016/CreateDataProperty'),
+	CreateDataPropertyOrThrow: require('./2016/CreateDataPropertyOrThrow'),
+	CreateHTML: require('./2016/CreateHTML'),
+	CreateIterResultObject: require('./2016/CreateIterResultObject'),
+	CreateListFromArrayLike: require('./2016/CreateListFromArrayLike'),
+	CreateMethodProperty: require('./2016/CreateMethodProperty'),
+	DateFromTime: require('./2016/DateFromTime'),
+	Day: require('./2016/Day'),
+	DayFromYear: require('./2016/DayFromYear'),
+	DaysInYear: require('./2016/DaysInYear'),
+	DayWithinYear: require('./2016/DayWithinYear'),
+	DefinePropertyOrThrow: require('./2016/DefinePropertyOrThrow'),
+	DeletePropertyOrThrow: require('./2016/DeletePropertyOrThrow'),
+	EnumerableOwnNames: require('./2016/EnumerableOwnNames'),
+	FromPropertyDescriptor: require('./2016/FromPropertyDescriptor'),
+	Get: require('./2016/Get'),
+	GetIterator: require('./2016/GetIterator'),
+	GetMethod: require('./2016/GetMethod'),
+	GetOwnPropertyKeys: require('./2016/GetOwnPropertyKeys'),
+	GetPrototypeFromConstructor: require('./2016/GetPrototypeFromConstructor'),
+	GetSubstitution: require('./2016/GetSubstitution'),
+	GetV: require('./2016/GetV'),
+	HasOwnProperty: require('./2016/HasOwnProperty'),
+	HasProperty: require('./2016/HasProperty'),
+	HourFromTime: require('./2016/HourFromTime'),
+	InLeapYear: require('./2016/InLeapYear'),
+	InstanceofOperator: require('./2016/InstanceofOperator'),
+	Invoke: require('./2016/Invoke'),
+	IsAccessorDescriptor: require('./2016/IsAccessorDescriptor'),
+	IsArray: require('./2016/IsArray'),
+	IsCallable: require('./2016/IsCallable'),
+	IsConcatSpreadable: require('./2016/IsConcatSpreadable'),
+	IsConstructor: require('./2016/IsConstructor'),
+	IsDataDescriptor: require('./2016/IsDataDescriptor'),
+	IsExtensible: require('./2016/IsExtensible'),
+	IsGenericDescriptor: require('./2016/IsGenericDescriptor'),
+	IsInteger: require('./2016/IsInteger'),
+	IsPromise: require('./2016/IsPromise'),
+	IsPropertyDescriptor: require('./2016/IsPropertyDescriptor'),
+	IsPropertyKey: require('./2016/IsPropertyKey'),
+	IsRegExp: require('./2016/IsRegExp'),
+	IterableToArrayLike: require('./2016/IterableToArrayLike'),
+	IteratorClose: require('./2016/IteratorClose'),
+	IteratorComplete: require('./2016/IteratorComplete'),
+	IteratorNext: require('./2016/IteratorNext'),
+	IteratorStep: require('./2016/IteratorStep'),
+	IteratorValue: require('./2016/IteratorValue'),
+	MakeDate: require('./2016/MakeDate'),
+	MakeDay: require('./2016/MakeDay'),
+	MakeTime: require('./2016/MakeTime'),
+	MinFromTime: require('./2016/MinFromTime'),
+	modulo: require('./2016/modulo'),
+	MonthFromTime: require('./2016/MonthFromTime'),
+	msFromTime: require('./2016/msFromTime'),
+	ObjectCreate: require('./2016/ObjectCreate'),
+	OrdinaryDefineOwnProperty: require('./2016/OrdinaryDefineOwnProperty'),
+	OrdinaryGetOwnProperty: require('./2016/OrdinaryGetOwnProperty'),
+	OrdinaryGetPrototypeOf: require('./2016/OrdinaryGetPrototypeOf'),
+	OrdinarySetPrototypeOf: require('./2016/OrdinarySetPrototypeOf'),
+	OrdinaryHasInstance: require('./2016/OrdinaryHasInstance'),
+	OrdinaryHasProperty: require('./2016/OrdinaryHasProperty'),
+	RegExpExec: require('./2016/RegExpExec'),
+	RequireObjectCoercible: require('./2016/RequireObjectCoercible'),
+	SameValue: require('./2016/SameValue'),
+	SameValueNonNumber: require('./2016/SameValueNonNumber'),
+	SameValueZero: require('./2016/SameValueZero'),
+	SecFromTime: require('./2016/SecFromTime'),
+	Set: require('./2016/Set'),
+	SetFunctionName: require('./2016/SetFunctionName'),
+	SetIntegrityLevel: require('./2016/SetIntegrityLevel'),
+	SpeciesConstructor: require('./2016/SpeciesConstructor'),
+	SymbolDescriptiveString: require('./2016/SymbolDescriptiveString'),
+	TestIntegrityLevel: require('./2016/TestIntegrityLevel'),
+	thisBooleanValue: require('./2016/thisBooleanValue'),
+	thisNumberValue: require('./2016/thisNumberValue'),
+	thisStringValue: require('./2016/thisStringValue'),
+	thisTimeValue: require('./2016/thisTimeValue'),
+	TimeClip: require('./2016/TimeClip'),
+	TimeFromYear: require('./2016/TimeFromYear'),
+	TimeWithinDay: require('./2016/TimeWithinDay'),
+	ToBoolean: require('./2016/ToBoolean'),
+	ToDateString: require('./2016/ToDateString'),
+	ToInt16: require('./2016/ToInt16'),
+	ToInt32: require('./2016/ToInt32'),
+	ToInt8: require('./2016/ToInt8'),
+	ToInteger: require('./2016/ToInteger'),
+	ToLength: require('./2016/ToLength'),
+	ToNumber: require('./2016/ToNumber'),
+	ToObject: require('./2016/ToObject'),
+	ToPrimitive: require('./2016/ToPrimitive'),
+	ToPropertyDescriptor: require('./2016/ToPropertyDescriptor'),
+	ToPropertyKey: require('./2016/ToPropertyKey'),
+	ToString: require('./2016/ToString'),
+	ToUint16: require('./2016/ToUint16'),
+	ToUint32: require('./2016/ToUint32'),
+	ToUint8: require('./2016/ToUint8'),
+	ToUint8Clamp: require('./2016/ToUint8Clamp'),
+	Type: require('./2016/Type'),
+	ValidateAndApplyPropertyDescriptor: require('./2016/ValidateAndApplyPropertyDescriptor'),
+	WeekDay: require('./2016/WeekDay'),
+	YearFromTime: require('./2016/YearFromTime')
+};
 
 module.exports = ES2016;

+ 116 - 21
node_modules/es-abstract/es2017.js

@@ -1,25 +1,120 @@
 'use strict';
 
-var ES2016 = require('./es2016');
-var assign = require('./helpers/assign');
-
-var ES2017 = assign(assign({}, ES2016), {
-	ToIndex: function ToIndex(value) {
-		if (typeof value === 'undefined') {
-			return 0;
-		}
-		var integerIndex = this.ToInteger(value);
-		if (integerIndex < 0) {
-			throw new RangeError('index must be >= 0');
-		}
-		var index = this.ToLength(integerIndex);
-		if (!this.SameValueZero(integerIndex, index)) {
-			throw new RangeError('index must be >= 0 and < 2 ** 53 - 1');
-		}
-		return index;
-	}
-});
-
-delete ES2017.EnumerableOwnNames; // replaced with EnumerableOwnProperties
+/* eslint global-require: 0 */
+// https://www.ecma-international.org/ecma-262/8.0/#sec-abstract-operations
+var ES2017 = {
+	'Abstract Equality Comparison': require('./2017/AbstractEqualityComparison'),
+	'Abstract Relational Comparison': require('./2017/AbstractRelationalComparison'),
+	'Strict Equality Comparison': require('./2017/StrictEqualityComparison'),
+	AdvanceStringIndex: require('./2017/AdvanceStringIndex'),
+	ArrayCreate: require('./2017/ArrayCreate'),
+	ArraySetLength: require('./2017/ArraySetLength'),
+	ArraySpeciesCreate: require('./2017/ArraySpeciesCreate'),
+	Call: require('./2017/Call'),
+	CanonicalNumericIndexString: require('./2017/CanonicalNumericIndexString'),
+	CompletePropertyDescriptor: require('./2017/CompletePropertyDescriptor'),
+	CreateDataProperty: require('./2017/CreateDataProperty'),
+	CreateDataPropertyOrThrow: require('./2017/CreateDataPropertyOrThrow'),
+	CreateHTML: require('./2017/CreateHTML'),
+	CreateIterResultObject: require('./2017/CreateIterResultObject'),
+	CreateListFromArrayLike: require('./2017/CreateListFromArrayLike'),
+	CreateMethodProperty: require('./2017/CreateMethodProperty'),
+	DateFromTime: require('./2017/DateFromTime'),
+	Day: require('./2017/Day'),
+	DayFromYear: require('./2017/DayFromYear'),
+	DaysInYear: require('./2017/DaysInYear'),
+	DayWithinYear: require('./2017/DayWithinYear'),
+	DefinePropertyOrThrow: require('./2017/DefinePropertyOrThrow'),
+	DeletePropertyOrThrow: require('./2017/DeletePropertyOrThrow'),
+	EnumerableOwnProperties: require('./2017/EnumerableOwnProperties'),
+	FromPropertyDescriptor: require('./2017/FromPropertyDescriptor'),
+	Get: require('./2017/Get'),
+	GetIterator: require('./2017/GetIterator'),
+	GetMethod: require('./2017/GetMethod'),
+	GetOwnPropertyKeys: require('./2017/GetOwnPropertyKeys'),
+	GetPrototypeFromConstructor: require('./2017/GetPrototypeFromConstructor'),
+	GetSubstitution: require('./2017/GetSubstitution'),
+	GetV: require('./2017/GetV'),
+	HasOwnProperty: require('./2017/HasOwnProperty'),
+	HasProperty: require('./2017/HasProperty'),
+	HourFromTime: require('./2017/HourFromTime'),
+	InLeapYear: require('./2017/InLeapYear'),
+	InstanceofOperator: require('./2017/InstanceofOperator'),
+	Invoke: require('./2017/Invoke'),
+	IsAccessorDescriptor: require('./2017/IsAccessorDescriptor'),
+	IsArray: require('./2017/IsArray'),
+	IsCallable: require('./2017/IsCallable'),
+	IsConcatSpreadable: require('./2017/IsConcatSpreadable'),
+	IsConstructor: require('./2017/IsConstructor'),
+	IsDataDescriptor: require('./2017/IsDataDescriptor'),
+	IsExtensible: require('./2017/IsExtensible'),
+	IsGenericDescriptor: require('./2017/IsGenericDescriptor'),
+	IsInteger: require('./2017/IsInteger'),
+	IsPromise: require('./2017/IsPromise'),
+	IsPropertyDescriptor: require('./2017/IsPropertyDescriptor'),
+	IsPropertyKey: require('./2017/IsPropertyKey'),
+	IsRegExp: require('./2017/IsRegExp'),
+	IterableToList: require('./2017/IterableToList'),
+	IteratorClose: require('./2017/IteratorClose'),
+	IteratorComplete: require('./2017/IteratorComplete'),
+	IteratorNext: require('./2017/IteratorNext'),
+	IteratorStep: require('./2017/IteratorStep'),
+	IteratorValue: require('./2017/IteratorValue'),
+	MakeDate: require('./2017/MakeDate'),
+	MakeDay: require('./2017/MakeDay'),
+	MakeTime: require('./2017/MakeTime'),
+	MinFromTime: require('./2017/MinFromTime'),
+	modulo: require('./2017/modulo'),
+	MonthFromTime: require('./2017/MonthFromTime'),
+	msFromTime: require('./2017/msFromTime'),
+	ObjectCreate: require('./2017/ObjectCreate'),
+	OrdinaryDefineOwnProperty: require('./2017/OrdinaryDefineOwnProperty'),
+	OrdinaryGetOwnProperty: require('./2017/OrdinaryGetOwnProperty'),
+	OrdinarySetPrototypeOf: require('./2017/OrdinarySetPrototypeOf'),
+	OrdinaryGetPrototypeOf: require('./2017/OrdinaryGetPrototypeOf'),
+	OrdinaryHasInstance: require('./2017/OrdinaryHasInstance'),
+	OrdinaryHasProperty: require('./2017/OrdinaryHasProperty'),
+	RegExpExec: require('./2017/RegExpExec'),
+	RequireObjectCoercible: require('./2017/RequireObjectCoercible'),
+	SameValue: require('./2017/SameValue'),
+	SameValueNonNumber: require('./2017/SameValueNonNumber'),
+	SameValueZero: require('./2017/SameValueZero'),
+	SecFromTime: require('./2017/SecFromTime'),
+	Set: require('./2017/Set'),
+	SetFunctionName: require('./2017/SetFunctionName'),
+	SetIntegrityLevel: require('./2017/SetIntegrityLevel'),
+	SpeciesConstructor: require('./2017/SpeciesConstructor'),
+	SymbolDescriptiveString: require('./2017/SymbolDescriptiveString'),
+	TestIntegrityLevel: require('./2017/TestIntegrityLevel'),
+	thisBooleanValue: require('./2017/thisBooleanValue'),
+	thisNumberValue: require('./2017/thisNumberValue'),
+	thisStringValue: require('./2017/thisStringValue'),
+	thisTimeValue: require('./2017/thisTimeValue'),
+	TimeClip: require('./2017/TimeClip'),
+	TimeFromYear: require('./2017/TimeFromYear'),
+	TimeWithinDay: require('./2017/TimeWithinDay'),
+	ToBoolean: require('./2017/ToBoolean'),
+	ToDateString: require('./2017/ToDateString'),
+	ToIndex: require('./2017/ToIndex'),
+	ToInt16: require('./2017/ToInt16'),
+	ToInt32: require('./2017/ToInt32'),
+	ToInt8: require('./2017/ToInt8'),
+	ToInteger: require('./2017/ToInteger'),
+	ToLength: require('./2017/ToLength'),
+	ToNumber: require('./2017/ToNumber'),
+	ToObject: require('./2017/ToObject'),
+	ToPrimitive: require('./2017/ToPrimitive'),
+	ToPropertyDescriptor: require('./2017/ToPropertyDescriptor'),
+	ToPropertyKey: require('./2017/ToPropertyKey'),
+	ToString: require('./2017/ToString'),
+	ToUint16: require('./2017/ToUint16'),
+	ToUint32: require('./2017/ToUint32'),
+	ToUint8: require('./2017/ToUint8'),
+	ToUint8Clamp: require('./2017/ToUint8Clamp'),
+	Type: require('./2017/Type'),
+	ValidateAndApplyPropertyDescriptor: require('./2017/ValidateAndApplyPropertyDescriptor'),
+	WeekDay: require('./2017/WeekDay'),
+	YearFromTime: require('./2017/YearFromTime')
+};
 
 module.exports = ES2017;

+ 44 - 231
node_modules/es-abstract/es5.js

@@ -1,236 +1,49 @@
 'use strict';
 
-var $isNaN = require('./helpers/isNaN');
-var $isFinite = require('./helpers/isFinite');
-
-var sign = require('./helpers/sign');
-var mod = require('./helpers/mod');
-
-var IsCallable = require('is-callable');
-var toPrimitive = require('es-to-primitive/es5');
-
-var has = require('has');
+/* eslint global-require: 0 */
 
 // https://es5.github.io/#x9
-var ES5 = {
-	ToPrimitive: toPrimitive,
-
-	ToBoolean: function ToBoolean(value) {
-		return !!value;
-	},
-	ToNumber: function ToNumber(value) {
-		return Number(value);
-	},
-	ToInteger: function ToInteger(value) {
-		var number = this.ToNumber(value);
-		if ($isNaN(number)) { return 0; }
-		if (number === 0 || !$isFinite(number)) { return number; }
-		return sign(number) * Math.floor(Math.abs(number));
-	},
-	ToInt32: function ToInt32(x) {
-		return this.ToNumber(x) >> 0;
-	},
-	ToUint32: function ToUint32(x) {
-		return this.ToNumber(x) >>> 0;
-	},
-	ToUint16: function ToUint16(value) {
-		var number = this.ToNumber(value);
-		if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }
-		var posInt = sign(number) * Math.floor(Math.abs(number));
-		return mod(posInt, 0x10000);
-	},
-	ToString: function ToString(value) {
-		return String(value);
-	},
-	ToObject: function ToObject(value) {
-		this.CheckObjectCoercible(value);
-		return Object(value);
-	},
-	CheckObjectCoercible: function CheckObjectCoercible(value, optMessage) {
-		/* jshint eqnull:true */
-		if (value == null) {
-			throw new TypeError(optMessage || 'Cannot call method on ' + value);
-		}
-		return value;
-	},
-	IsCallable: IsCallable,
-	SameValue: function SameValue(x, y) {
-		if (x === y) { // 0 === -0, but they are not identical.
-			if (x === 0) { return 1 / x === 1 / y; }
-			return true;
-		}
-		return $isNaN(x) && $isNaN(y);
-	},
-
-	// http://www.ecma-international.org/ecma-262/5.1/#sec-8
-	Type: function Type(x) {
-		if (x === null) {
-			return 'Null';
-		}
-		if (typeof x === 'undefined') {
-			return 'Undefined';
-		}
-		if (typeof x === 'function' || typeof x === 'object') {
-			return 'Object';
-		}
-		if (typeof x === 'number') {
-			return 'Number';
-		}
-		if (typeof x === 'boolean') {
-			return 'Boolean';
-		}
-		if (typeof x === 'string') {
-			return 'String';
-		}
-	},
-
-	// http://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type
-	IsPropertyDescriptor: function IsPropertyDescriptor(Desc) {
-		if (this.Type(Desc) !== 'Object') {
-			return false;
-		}
-		var allowed = {
-			'[[Configurable]]': true,
-			'[[Enumerable]]': true,
-			'[[Get]]': true,
-			'[[Set]]': true,
-			'[[Value]]': true,
-			'[[Writable]]': true
-		};
-		// jscs:disable
-		for (var key in Desc) { // eslint-disable-line
-			if (has(Desc, key) && !allowed[key]) {
-				return false;
-			}
-		}
-		// jscs:enable
-		var isData = has(Desc, '[[Value]]');
-		var IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');
-		if (isData && IsAccessor) {
-			throw new TypeError('Property Descriptors may not be both accessor and data descriptors');
-		}
-		return true;
-	},
-
-	// http://ecma-international.org/ecma-262/5.1/#sec-8.10.1
-	IsAccessorDescriptor: function IsAccessorDescriptor(Desc) {
-		if (typeof Desc === 'undefined') {
-			return false;
-		}
-
-		if (!this.IsPropertyDescriptor(Desc)) {
-			throw new TypeError('Desc must be a Property Descriptor');
-		}
-
-		if (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) {
-			return false;
-		}
-
-		return true;
-	},
-
-	// http://ecma-international.org/ecma-262/5.1/#sec-8.10.2
-	IsDataDescriptor: function IsDataDescriptor(Desc) {
-		if (typeof Desc === 'undefined') {
-			return false;
-		}
-
-		if (!this.IsPropertyDescriptor(Desc)) {
-			throw new TypeError('Desc must be a Property Descriptor');
-		}
-
-		if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) {
-			return false;
-		}
-
-		return true;
-	},
-
-	// http://ecma-international.org/ecma-262/5.1/#sec-8.10.3
-	IsGenericDescriptor: function IsGenericDescriptor(Desc) {
-		if (typeof Desc === 'undefined') {
-			return false;
-		}
-
-		if (!this.IsPropertyDescriptor(Desc)) {
-			throw new TypeError('Desc must be a Property Descriptor');
-		}
-
-		if (!this.IsAccessorDescriptor(Desc) && !this.IsDataDescriptor(Desc)) {
-			return true;
-		}
-
-		return false;
-	},
-
-	// http://ecma-international.org/ecma-262/5.1/#sec-8.10.4
-	FromPropertyDescriptor: function FromPropertyDescriptor(Desc) {
-		if (typeof Desc === 'undefined') {
-			return Desc;
-		}
-
-		if (!this.IsPropertyDescriptor(Desc)) {
-			throw new TypeError('Desc must be a Property Descriptor');
-		}
-
-		if (this.IsDataDescriptor(Desc)) {
-			return {
-				value: Desc['[[Value]]'],
-				writable: !!Desc['[[Writable]]'],
-				enumerable: !!Desc['[[Enumerable]]'],
-				configurable: !!Desc['[[Configurable]]']
-			};
-		} else if (this.IsAccessorDescriptor(Desc)) {
-			return {
-				get: Desc['[[Get]]'],
-				set: Desc['[[Set]]'],
-				enumerable: !!Desc['[[Enumerable]]'],
-				configurable: !!Desc['[[Configurable]]']
-			};
-		} else {
-			throw new TypeError('FromPropertyDescriptor must be called with a fully populated Property Descriptor');
-		}
-	},
-
-	// http://ecma-international.org/ecma-262/5.1/#sec-8.10.5
-	ToPropertyDescriptor: function ToPropertyDescriptor(Obj) {
-		if (this.Type(Obj) !== 'Object') {
-			throw new TypeError('ToPropertyDescriptor requires an object');
-		}
-
-		var desc = {};
-		if (has(Obj, 'enumerable')) {
-			desc['[[Enumerable]]'] = this.ToBoolean(Obj.enumerable);
-		}
-		if (has(Obj, 'configurable')) {
-			desc['[[Configurable]]'] = this.ToBoolean(Obj.configurable);
-		}
-		if (has(Obj, 'value')) {
-			desc['[[Value]]'] = Obj.value;
-		}
-		if (has(Obj, 'writable')) {
-			desc['[[Writable]]'] = this.ToBoolean(Obj.writable);
-		}
-		if (has(Obj, 'get')) {
-			var getter = Obj.get;
-			if (typeof getter !== 'undefined' && !this.IsCallable(getter)) {
-				throw new TypeError('getter must be a function');
-			}
-			desc['[[Get]]'] = getter;
-		}
-		if (has(Obj, 'set')) {
-			var setter = Obj.set;
-			if (typeof setter !== 'undefined' && !this.IsCallable(setter)) {
-				throw new TypeError('setter must be a function');
-			}
-			desc['[[Set]]'] = setter;
-		}
-
-		if ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) {
-			throw new TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute');
-		}
-		return desc;
-	}
+module.exports = {
+	'Abstract Equality Comparison': require('./5/AbstractEqualityComparison'),
+	'Abstract Relational Comparison': require('./5/AbstractRelationalComparison'),
+	'Strict Equality Comparison': require('./5/StrictEqualityComparison'),
+	CheckObjectCoercible: require('./5/CheckObjectCoercible'),
+	DateFromTime: require('./5/DateFromTime'),
+	Day: require('./5/Day'),
+	DayFromYear: require('./5/DayFromYear'),
+	DaysInYear: require('./5/DaysInYear'),
+	DayWithinYear: require('./5/DayWithinYear'),
+	FromPropertyDescriptor: require('./5/FromPropertyDescriptor'),
+	HourFromTime: require('./5/HourFromTime'),
+	InLeapYear: require('./5/InLeapYear'),
+	IsAccessorDescriptor: require('./5/IsAccessorDescriptor'),
+	IsCallable: require('./5/IsCallable'),
+	IsDataDescriptor: require('./5/IsDataDescriptor'),
+	IsGenericDescriptor: require('./5/IsGenericDescriptor'),
+	IsPropertyDescriptor: require('./5/IsPropertyDescriptor'),
+	MakeDate: require('./5/MakeDate'),
+	MakeDay: require('./5/MakeDay'),
+	MakeTime: require('./5/MakeTime'),
+	MinFromTime: require('./5/MinFromTime'),
+	modulo: require('./5/modulo'),
+	MonthFromTime: require('./5/MonthFromTime'),
+	msFromTime: require('./5/msFromTime'),
+	SameValue: require('./5/SameValue'),
+	SecFromTime: require('./5/SecFromTime'),
+	TimeClip: require('./5/TimeClip'),
+	TimeFromYear: require('./5/TimeFromYear'),
+	TimeWithinDay: require('./5/TimeWithinDay'),
+	ToBoolean: require('./5/ToBoolean'),
+	ToInt32: require('./5/ToInt32'),
+	ToInteger: require('./5/ToInteger'),
+	ToNumber: require('./5/ToNumber'),
+	ToObject: require('./5/ToObject'),
+	ToPrimitive: require('./5/ToPrimitive'),
+	ToPropertyDescriptor: require('./5/ToPropertyDescriptor'),
+	ToString: require('./5/ToString'),
+	ToUint16: require('./5/ToUint16'),
+	ToUint32: require('./5/ToUint32'),
+	Type: require('./5/Type'),
+	WeekDay: require('./5/WeekDay'),
+	YearFromTime: require('./5/YearFromTime')
 };
-
-module.exports = ES5;

+ 14 - 4
node_modules/es-abstract/helpers/assign.js

@@ -1,10 +1,20 @@
-var has = Object.prototype.hasOwnProperty;
+'use strict';
+
+var GetIntrinsic = require('../GetIntrinsic');
+
+var has = require('has');
+
+var $assign = GetIntrinsic('%Object%').assign;
+
 module.exports = function assign(target, source) {
-	if (Object.assign) {
-		return Object.assign(target, source);
+	if ($assign) {
+		return $assign(target, source);
 	}
+
+	// eslint-disable-next-line no-restricted-syntax
 	for (var key in source) {
-		if (has.call(source, key)) {
+		if (has(source, key)) {
+			// eslint-disable-next-line no-param-reassign
 			target[key] = source[key];
 		}
 	}

+ 2 - 0
node_modules/es-abstract/helpers/isFinite.js

@@ -1,3 +1,5 @@
+'use strict';
+
 var $isNaN = Number.isNaN || function (a) { return a !== a; };
 
 module.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };

+ 2 - 0
node_modules/es-abstract/helpers/isNaN.js

@@ -1,3 +1,5 @@
+'use strict';
+
 module.exports = Number.isNaN || function isNaN(a) {
 	return a !== a;
 };

+ 2 - 0
node_modules/es-abstract/helpers/isPrimitive.js

@@ -1,3 +1,5 @@
+'use strict';
+
 module.exports = function isPrimitive(value) {
 	return value === null || (typeof value !== 'function' && typeof value !== 'object');
 };

+ 2 - 0
node_modules/es-abstract/helpers/mod.js

@@ -1,3 +1,5 @@
+'use strict';
+
 module.exports = function mod(number, modulo) {
 	var remain = number % modulo;
 	return Math.floor(remain >= 0 ? remain : remain + modulo);

+ 2 - 0
node_modules/es-abstract/helpers/sign.js

@@ -1,3 +1,5 @@
+'use strict';
+
 module.exports = function sign(number) {
 	return number >= 0 ? 1 : -1;
 };

+ 5 - 1
node_modules/es-abstract/index.js

@@ -6,6 +6,8 @@ var ES5 = require('./es5');
 var ES2015 = require('./es2015');
 var ES2016 = require('./es2016');
 var ES2017 = require('./es2017');
+var ES2018 = require('./es2018');
+var ES2019 = require('./es2019');
 
 var ES = {
 	ES5: ES5,
@@ -13,7 +15,9 @@ var ES = {
 	ES2015: ES2015,
 	ES7: ES2016,
 	ES2016: ES2016,
-	ES2017: ES2017
+	ES2017: ES2017,
+	ES2018: ES2018,
+	ES2019: ES2019
 };
 assign(ES, ES5);
 delete ES.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible

+ 113 - 72
node_modules/es-abstract/operations/2015.js

@@ -1,76 +1,117 @@
 'use strict';
 
 module.exports = {
-	IsPropertyDescriptor: 'http://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type',
-	IsAccessorDescriptor: 'http://ecma-international.org/ecma-262/6.0/#sec-isaccessordescriptor',
-	IsDataDescriptor: 'http://ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor',
-	IsGenericDescriptor: 'http://ecma-international.org/ecma-262/6.0/#sec-isgenericdescriptor',
-	FromPropertyDescriptor: 'http://ecma-international.org/ecma-262/6.0/#sec-frompropertydescriptor',
-	ToPropertyDescriptor: 'http://ecma-international.org/ecma-262/6.0/#sec-topropertydescriptor',
-	CompletePropertyDescriptor: 'http://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor',
-	ToPrimitive: 'http://ecma-international.org/ecma-262/6.0/#sec-toprimitive',
-	ToBoolean: 'http://ecma-international.org/ecma-262/6.0/#sec-toboolean',
-	ToNumber: 'http://ecma-international.org/ecma-262/6.0/#sec-tonumber',
-	ToInteger: 'http://ecma-international.org/ecma-262/6.0/#sec-tointeger',
-	ToInt32: 'http://ecma-international.org/ecma-262/6.0/#sec-toint32',
-	ToUint32: 'http://ecma-international.org/ecma-262/6.0/#sec-touint32',
-	ToInt16: 'http://ecma-international.org/ecma-262/6.0/#sec-toint16',
-	ToUint16: 'http://ecma-international.org/ecma-262/6.0/#sec-touint16',
-	ToInt8: 'http://ecma-international.org/ecma-262/6.0/#sec-toint8',
-	ToUint8: 'http://ecma-international.org/ecma-262/6.0/#sec-touint8',
-	ToUint8Clamp: 'http://ecma-international.org/ecma-262/6.0/#sec-touint8clamp',
-	ToString: 'http://ecma-international.org/ecma-262/6.0/#sec-tostring',
-	ToObject: 'http://ecma-international.org/ecma-262/6.0/#sec-toobject',
-	ToPropertyKey: 'http://ecma-international.org/ecma-262/6.0/#sec-topropertykey',
-	ToLength: 'http://ecma-international.org/ecma-262/6.0/#sec-tolength',
-	CanonicalNumericIndexString: 'http://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring',
-	RequireObjectCoercible: 'http://ecma-international.org/ecma-262/6.0/#sec-requireobjectcoercible',
-	IsArray: 'http://ecma-international.org/ecma-262/6.0/#sec-isarray',
-	IsCallable: 'http://ecma-international.org/ecma-262/6.0/#sec-iscallable',
-	IsConstructor: 'http://ecma-international.org/ecma-262/6.0/#sec-isconstructor',
-	IsExtensible: 'http://ecma-international.org/ecma-262/6.0/#sec-isextensible-o',
-	IsInteger: 'http://ecma-international.org/ecma-262/6.0/#sec-isinteger',
-	IsPropertyKey: 'http://ecma-international.org/ecma-262/6.0/#sec-ispropertykey',
-	IsRegExp: 'http://ecma-international.org/ecma-262/6.0/#sec-isregexp',
-	SameValue: 'http://ecma-international.org/ecma-262/6.0/#sec-samevalue',
-	SameValueZero: 'http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero',
-	Get: 'http://ecma-international.org/ecma-262/6.0/#sec-get-o-p',
-	GetV: 'http://ecma-international.org/ecma-262/6.0/#sec-getv',
-	Set: 'http://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw',
-	CreateDataProperty: 'http://ecma-international.org/ecma-262/6.0/#sec-createdataproperty',
-	CreateMethodProperty: 'http://ecma-international.org/ecma-262/6.0/#sec-createmethodproperty',
-	CreateDataPropertyOrThrow: 'http://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow',
-	DefinePropertyOrThrow: 'http://ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow',
-	DeletePropertyOrThrow: 'http://ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow',
-	GetMethod: 'http://ecma-international.org/ecma-262/6.0/#sec-getmethod',
-	HasProperty: 'http://ecma-international.org/ecma-262/6.0/#sec-hasproperty',
-	HasOwnProperty: 'http://ecma-international.org/ecma-262/6.0/#sec-hasownproperty',
-	Call: 'http://ecma-international.org/ecma-262/6.0/#sec-call',
-	Construct: 'http://ecma-international.org/ecma-262/6.0/#sec-construct',
-	SetIntegrityLevel: 'http://ecma-international.org/ecma-262/6.0/#sec-setintegritylevel',
-	TestIntegrityLevel: 'http://ecma-international.org/ecma-262/6.0/#sec-testintegritylevel',
-	CreateArrayFromList: 'http://ecma-international.org/ecma-262/6.0/#sec-createarrayfromlist',
-	CreateListFromArrayLike: 'http://ecma-international.org/ecma-262/6.0/#sec-createlistfromarraylike',
-	Invoke: 'http://ecma-international.org/ecma-262/6.0/#sec-invoke',
-	OrdinaryHasInstance: 'http://ecma-international.org/ecma-262/6.0/#sec-ordinaryhasinstance',
-	SpeciesConstructor: 'http://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor',
-	EnumerableOwnNames: 'http://ecma-international.org/ecma-262/6.0/#sec-enumerableownnames',
-	GetIterator: 'http://ecma-international.org/ecma-262/6.0/#sec-getiterator',
-	IteratorNext: 'http://ecma-international.org/ecma-262/6.0/#sec-iteratornext',
-	IteratorComplete: 'http://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete',
-	IteratorValue: 'http://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue',
-	IteratorStep: 'http://ecma-international.org/ecma-262/6.0/#sec-iteratorstep',
-	IteratorClose: 'http://ecma-international.org/ecma-262/6.0/#sec-iteratorclose',
-	CreateIterResultObject: 'http://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject',
-	CreateListIterator: 'http://ecma-international.org/ecma-262/6.0/#sec-createlistiterator',
-	Type: 'http://ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types',
-	thisNumberValue: 'http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object',
-	thisTimeValue: 'http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-date-prototype-object',
-	thisStringValue: 'http://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object',
-	RegExpExec: 'http://ecma-international.org/ecma-262/6.0/#sec-regexpexec',
-	RegExpBuiltinExec: 'http://ecma-international.org/ecma-262/6.0/#sec-regexpbuiltinexec',
-	IsConcatSpreadable: 'http://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable',
-	IsPromise: 'http://ecma-international.org/ecma-262/6.0/#sec-ispromise',
-	ArraySpeciesCreate: 'http://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate',
-	AdvanceStringIndex: 'http://ecma-international.org/ecma-262/6.0/#sec-advancestringindex'
+	IsPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type', // not actually an abstract op
+
+	'Abstract Equality Comparison': 'https://ecma-international.org/ecma-262/6.0/#sec-abstract-equality-comparison',
+	'Abstract Relational Comparison': 'https://ecma-international.org/ecma-262/6.0/#sec-abstract-relational-comparison',
+	'Strict Equality Comparison': 'https://ecma-international.org/ecma-262/6.0/#sec-strict-equality-comparison',
+	AdvanceStringIndex: 'https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex',
+	ArrayCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-arraycreate',
+	ArraySetLength: 'https://ecma-international.org/ecma-262/6.0/#sec-arraysetlength',
+	ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate',
+	Call: 'https://ecma-international.org/ecma-262/6.0/#sec-call',
+	CanonicalNumericIndexString: 'https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring',
+	CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor',
+	Construct: 'https://ecma-international.org/ecma-262/6.0/#sec-construct',
+	CreateArrayFromList: 'https://ecma-international.org/ecma-262/6.0/#sec-createarrayfromlist',
+	CreateDataProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-createdataproperty',
+	CreateDataPropertyOrThrow: 'https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow',
+	CreateHTML: 'https://ecma-international.org/ecma-262/6.0/#sec-createhtml',
+	CreateIterResultObject: 'https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject',
+	CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/6.0/#sec-createlistfromarraylike',
+	CreateListIterator: 'https://ecma-international.org/ecma-262/6.0/#sec-createlistiterator',
+	CreateMethodProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-createmethodproperty',
+	DateFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-date-number',
+	Day: 'https://ecma-international.org/ecma-262/6.0/#sec-day-number-and-time-within-day',
+	DayFromYear: 'https://ecma-international.org/ecma-262/6.0/#sec-year-number',
+	DaysInYear: 'https://ecma-international.org/ecma-262/6.0/#sec-year-number',
+	DayWithinYear: 'https://ecma-international.org/ecma-262/6.0/#sec-month-number',
+	DefinePropertyOrThrow: 'https://ecma-international.org/ecma-262/6.0/#sec-definepropertyorthrow',
+	DeletePropertyOrThrow: 'https://ecma-international.org/ecma-262/6.0/#sec-deletepropertyorthrow',
+	EnumerableOwnNames: 'https://ecma-international.org/ecma-262/6.0/#sec-enumerableownnames',
+	FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-frompropertydescriptor',
+	Get: 'https://ecma-international.org/ecma-262/6.0/#sec-get-o-p',
+	GetIterator: 'https://ecma-international.org/ecma-262/6.0/#sec-getiterator',
+	GetMethod: 'https://ecma-international.org/ecma-262/6.0/#sec-getmethod',
+	GetOwnPropertyKeys: 'https://ecma-international.org/ecma-262/6.0/#sec-getownpropertykeys',
+	GetPrototypeFromConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-getprototypefromconstructor',
+	GetSubstitution: 'https://ecma-international.org/ecma-262/6.0/#sec-getsubstitution',
+	GetV: 'https://ecma-international.org/ecma-262/6.0/#sec-getv',
+	HasOwnProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty',
+	HasProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-hasproperty',
+	HourFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-hours-minutes-second-and-milliseconds',
+	InLeapYear: 'https://ecma-international.org/ecma-262/6.0/#sec-year-number',
+	InstanceofOperator: 'https://ecma-international.org/ecma-262/6.0/#sec-instanceofoperator',
+	Invoke: 'https://ecma-international.org/ecma-262/6.0/#sec-invoke',
+	IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-isaccessordescriptor',
+	IsArray: 'https://ecma-international.org/ecma-262/6.0/#sec-isarray',
+	IsCallable: 'https://ecma-international.org/ecma-262/6.0/#sec-iscallable',
+	IsConcatSpreadable: 'https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable',
+	IsConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-isconstructor',
+	IsDataDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor',
+	IsExtensible: 'https://ecma-international.org/ecma-262/6.0/#sec-isextensible-o',
+	IsGenericDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-isgenericdescriptor',
+	IsInteger: 'https://ecma-international.org/ecma-262/6.0/#sec-isinteger',
+	IsPromise: 'https://ecma-international.org/ecma-262/6.0/#sec-ispromise',
+	IsPropertyKey: 'https://ecma-international.org/ecma-262/6.0/#sec-ispropertykey',
+	IsRegExp: 'https://ecma-international.org/ecma-262/6.0/#sec-isregexp',
+	IteratorClose: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose',
+	IteratorComplete: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete',
+	IteratorNext: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratornext',
+	IteratorStep: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratorstep',
+	IteratorValue: 'https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue',
+	MakeDate: 'https://ecma-international.org/ecma-262/6.0/#sec-makedate',
+	MakeDay: 'https://ecma-international.org/ecma-262/6.0/#sec-makeday',
+	MakeTime: 'https://ecma-international.org/ecma-262/6.0/#sec-maketime',
+	MinFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-hours-minutes-second-and-milliseconds',
+	modulo: 'https://ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions',
+	MonthFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-month-number',
+	msFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-hours-minutes-second-and-milliseconds',
+	NormalCompletion: 'https://ecma-international.org/ecma-262/6.0/#sec-normalcompletion',
+	ObjectCreate: 'https://ecma-international.org/ecma-262/6.0/#sec-objectcreate',
+	OrdinaryDefineOwnProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinarydefineownproperty',
+	OrdinaryGetOwnProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinarygetownproperty',
+	OrdinaryHasInstance: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinaryhasinstance',
+	OrdinaryHasProperty: 'https://ecma-international.org/ecma-262/6.0/#sec-ordinaryhasproperty',
+	RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/6.0/#sec-regexpbuiltinexec',
+	RegExpExec: 'https://ecma-international.org/ecma-262/6.0/#sec-regexpexec',
+	RequireObjectCoercible: 'https://ecma-international.org/ecma-262/6.0/#sec-requireobjectcoercible',
+	SameValue: 'https://ecma-international.org/ecma-262/6.0/#sec-samevalue',
+	SameValueZero: 'https://ecma-international.org/ecma-262/6.0/#sec-samevaluezero',
+	SecFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-hours-minutes-second-and-milliseconds',
+	Set: 'https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw',
+	SetFunctionName: 'https://ecma-international.org/ecma-262/6.0/#sec-setfunctionname',
+	SetIntegrityLevel: 'https://ecma-international.org/ecma-262/6.0/#sec-setintegritylevel',
+	SpeciesConstructor: 'https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor',
+	SymbolDescriptiveString: 'https://ecma-international.org/ecma-262/6.0/#sec-symboldescriptivestring',
+	TestIntegrityLevel: 'https://ecma-international.org/ecma-262/6.0/#sec-testintegritylevel',
+	thisBooleanValue: 'https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-boolean-prototype-object',
+	thisNumberValue: 'https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-number-prototype-object',
+	thisStringValue: 'https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object',
+	thisTimeValue: 'https://ecma-international.org/ecma-262/6.0/#sec-properties-of-the-date-prototype-object',
+	TimeClip: 'https://ecma-international.org/ecma-262/6.0/#sec-timeclip',
+	TimeFromYear: 'https://ecma-international.org/ecma-262/6.0/#sec-year-number',
+	TimeWithinDay: 'https://ecma-international.org/ecma-262/6.0/#sec-day-number-and-time-within-day',
+	ToBoolean: 'https://ecma-international.org/ecma-262/6.0/#sec-toboolean',
+	ToDateString: 'https://ecma-international.org/ecma-262/6.0/#sec-todatestring',
+	ToInt16: 'https://ecma-international.org/ecma-262/6.0/#sec-toint16',
+	ToInt32: 'https://ecma-international.org/ecma-262/6.0/#sec-toint32',
+	ToInt8: 'https://ecma-international.org/ecma-262/6.0/#sec-toint8',
+	ToInteger: 'https://ecma-international.org/ecma-262/6.0/#sec-tointeger',
+	ToLength: 'https://ecma-international.org/ecma-262/6.0/#sec-tolength',
+	ToNumber: 'https://ecma-international.org/ecma-262/6.0/#sec-tonumber',
+	ToObject: 'https://ecma-international.org/ecma-262/6.0/#sec-toobject',
+	ToPrimitive: 'https://ecma-international.org/ecma-262/6.0/#sec-toprimitive',
+	ToPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-topropertydescriptor',
+	ToPropertyKey: 'https://ecma-international.org/ecma-262/6.0/#sec-topropertykey',
+	ToString: 'https://ecma-international.org/ecma-262/6.0/#sec-tostring',
+	ToUint16: 'https://ecma-international.org/ecma-262/6.0/#sec-touint16',
+	ToUint32: 'https://ecma-international.org/ecma-262/6.0/#sec-touint32',
+	ToUint8: 'https://ecma-international.org/ecma-262/6.0/#sec-touint8',
+	ToUint8Clamp: 'https://ecma-international.org/ecma-262/6.0/#sec-touint8clamp',
+	Type: 'https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types',
+	ValidateAndApplyPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-validateandapplypropertydescriptor',
+	WeekDay: 'https://ecma-international.org/ecma-262/6.0/#sec-week-day',
+	YearFromTime: 'https://ecma-international.org/ecma-262/6.0/#sec-year-number'
 };

+ 272 - 73
node_modules/es-abstract/operations/2016.js

@@ -1,77 +1,276 @@
 'use strict';
 
 module.exports = {
-	IsPropertyDescriptor: 'http://ecma-international.org/ecma-262/7.0/#sec-property-descriptor-specification-type',
-	IsAccessorDescriptor: 'http://ecma-international.org/ecma-262/7.0/#sec-isaccessordescriptor',
-	IsDataDescriptor: 'http://ecma-international.org/ecma-262/7.0/#sec-isdatadescriptor',
-	IsGenericDescriptor: 'http://ecma-international.org/ecma-262/7.0/#sec-isgenericdescriptor',
-	FromPropertyDescriptor: 'http://ecma-international.org/ecma-262/7.0/#sec-frompropertydescriptor',
-	ToPropertyDescriptor: 'http://ecma-international.org/ecma-262/7.0/#sec-topropertydescriptor',
-	CompletePropertyDescriptor: 'http://ecma-international.org/ecma-262/7.0/#sec-completepropertydescriptor',
-	ToPrimitive: 'http://ecma-international.org/ecma-262/7.0/#sec-toprimitive',
-	ToBoolean: 'http://ecma-international.org/ecma-262/7.0/#sec-toboolean',
-	ToNumber: 'http://ecma-international.org/ecma-262/7.0/#sec-tonumber',
-	ToInteger: 'http://ecma-international.org/ecma-262/7.0/#sec-tointeger',
-	ToInt32: 'http://ecma-international.org/ecma-262/7.0/#sec-toint32',
-	ToUint32: 'http://ecma-international.org/ecma-262/7.0/#sec-touint32',
-	ToInt16: 'http://ecma-international.org/ecma-262/7.0/#sec-toint16',
-	ToUint16: 'http://ecma-international.org/ecma-262/7.0/#sec-touint16',
-	ToInt8: 'http://ecma-international.org/ecma-262/7.0/#sec-toint8',
-	ToUint8: 'http://ecma-international.org/ecma-262/7.0/#sec-touint8',
-	ToUint8Clamp: 'http://ecma-international.org/ecma-262/7.0/#sec-touint8clamp',
-	ToString: 'http://ecma-international.org/ecma-262/7.0/#sec-tostring',
-	ToObject: 'http://ecma-international.org/ecma-262/7.0/#sec-toobject',
-	ToPropertyKey: 'http://ecma-international.org/ecma-262/7.0/#sec-topropertykey',
-	ToLength: 'http://ecma-international.org/ecma-262/7.0/#sec-tolength',
-	CanonicalNumericIndexString: 'http://ecma-international.org/ecma-262/7.0/#sec-canonicalnumericindexstring',
-	RequireObjectCoercible: 'http://ecma-international.org/ecma-262/7.0/#sec-requireobjectcoercible',
-	IsArray: 'http://ecma-international.org/ecma-262/7.0/#sec-isarray',
-	IsCallable: 'http://ecma-international.org/ecma-262/7.0/#sec-iscallable',
-	IsConstructor: 'http://ecma-international.org/ecma-262/7.0/#sec-isconstructor',
-	IsExtensible: 'http://ecma-international.org/ecma-262/7.0/#sec-isextensible-o',
-	IsInteger: 'http://ecma-international.org/ecma-262/7.0/#sec-isinteger',
-	IsPropertyKey: 'http://ecma-international.org/ecma-262/7.0/#sec-ispropertykey',
-	IsRegExp: 'http://ecma-international.org/ecma-262/7.0/#sec-isregexp',
-	SameValue: 'http://ecma-international.org/ecma-262/7.0/#sec-samevalue',
-	SameValueZero: 'http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero',
-	SameValueNonNumber: 'http://ecma-international.org/ecma-262/7.0/#sec-samevaluenonnumber',
-	Get: 'http://ecma-international.org/ecma-262/7.0/#sec-get-o-p',
-	GetV: 'http://ecma-international.org/ecma-262/7.0/#sec-getv',
-	Set: 'http://ecma-international.org/ecma-262/7.0/#sec-set-o-p-v-throw',
-	CreateDataProperty: 'http://ecma-international.org/ecma-262/7.0/#sec-createdataproperty',
-	CreateMethodProperty: 'http://ecma-international.org/ecma-262/7.0/#sec-createmethodproperty',
-	CreateDataPropertyOrThrow: 'http://ecma-international.org/ecma-262/7.0/#sec-createdatapropertyorthrow',
-	DefinePropertyOrThrow: 'http://ecma-international.org/ecma-262/7.0/#sec-definepropertyorthrow',
-	DeletePropertyOrThrow: 'http://ecma-international.org/ecma-262/7.0/#sec-deletepropertyorthrow',
-	GetMethod: 'http://ecma-international.org/ecma-262/7.0/#sec-getmethod',
-	HasProperty: 'http://ecma-international.org/ecma-262/7.0/#sec-hasproperty',
-	HasOwnProperty: 'http://ecma-international.org/ecma-262/7.0/#sec-hasownproperty',
-	Call: 'http://ecma-international.org/ecma-262/7.0/#sec-call',
-	Construct: 'http://ecma-international.org/ecma-262/7.0/#sec-construct',
-	SetIntegrityLevel: 'http://ecma-international.org/ecma-262/7.0/#sec-setintegritylevel',
-	TestIntegrityLevel: 'http://ecma-international.org/ecma-262/7.0/#sec-testintegritylevel',
-	CreateArrayFromList: 'http://ecma-international.org/ecma-262/7.0/#sec-createarrayfromlist',
-	CreateListFromArrayLike: 'http://ecma-international.org/ecma-262/7.0/#sec-createlistfromarraylike',
-	Invoke: 'http://ecma-international.org/ecma-262/7.0/#sec-invoke',
-	OrdinaryHasInstance: 'http://ecma-international.org/ecma-262/7.0/#sec-ordinaryhasinstance',
-	SpeciesConstructor: 'http://ecma-international.org/ecma-262/7.0/#sec-speciesconstructor',
-	EnumerableOwnNames: 'http://ecma-international.org/ecma-262/7.0/#sec-enumerableownnames',
-	GetIterator: 'http://ecma-international.org/ecma-262/7.0/#sec-getiterator',
-	IteratorNext: 'http://ecma-international.org/ecma-262/7.0/#sec-iteratornext',
-	IteratorComplete: 'http://ecma-international.org/ecma-262/7.0/#sec-iteratorcomplete',
-	IteratorValue: 'http://ecma-international.org/ecma-262/7.0/#sec-iteratorvalue',
-	IteratorStep: 'http://ecma-international.org/ecma-262/7.0/#sec-iteratorstep',
-	IteratorClose: 'http://ecma-international.org/ecma-262/7.0/#sec-iteratorclose',
-	CreateIterResultObject: 'http://ecma-international.org/ecma-262/7.0/#sec-createiterresultobject',
-	CreateListIterator: 'http://ecma-international.org/ecma-262/7.0/#sec-createlistiterator',
-	Type: 'http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types',
-	thisNumberValue: 'http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-number-prototype-object',
-	thisTimeValue: 'http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-date-prototype-object',
-	thisStringValue: 'http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-string-prototype-object',
-	RegExpExec: 'http://ecma-international.org/ecma-262/7.0/#sec-regexpexec',
-	RegExpBuiltinExec: 'http://ecma-international.org/ecma-262/7.0/#sec-regexpbuiltinexec',
-	IsConcatSpreadable: 'http://ecma-international.org/ecma-262/7.0/#sec-isconcatspreadable',
-	IsPromise: 'http://ecma-international.org/ecma-262/7.0/#sec-ispromise',
-	ArraySpeciesCreate: 'http://ecma-international.org/ecma-262/7.0/#sec-arrayspeciescreate',
-	AdvanceStringIndex: 'http://ecma-international.org/ecma-262/6.0/#sec-advancestringindex'
+	IsPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type', // not actually an abstract op
+
+	abs: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions',
+	'Abstract Equality Comparison': 'https://ecma-international.org/ecma-262/7.0/#sec-abstract-equality-comparison',
+	'Abstract Relational Comparison': 'https://ecma-international.org/ecma-262/7.0/#sec-abstract-relational-comparison',
+	AddRestrictedFunctionProperties: 'https://ecma-international.org/ecma-262/7.0/#sec-addrestrictedfunctionproperties',
+	AdvanceStringIndex: 'https://ecma-international.org/ecma-262/7.0/#sec-advancestringindex',
+	AllocateArrayBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-allocatearraybuffer',
+	AllocateTypedArray: 'https://ecma-international.org/ecma-262/7.0/#sec-allocatetypedarray',
+	AllocateTypedArrayBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-allocatetypedarraybuffer',
+	ArrayCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-arraycreate',
+	ArraySetLength: 'https://ecma-international.org/ecma-262/7.0/#sec-arraysetlength',
+	ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-arrayspeciescreate',
+	BlockDeclarationInstantiation: 'https://ecma-international.org/ecma-262/7.0/#sec-blockdeclarationinstantiation',
+	BoundFunctionCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-boundfunctioncreate',
+	Call: 'https://ecma-international.org/ecma-262/7.0/#sec-call',
+	Canonicalize: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-canonicalize-ch',
+	CanonicalNumericIndexString: 'https://ecma-international.org/ecma-262/7.0/#sec-canonicalnumericindexstring',
+	CharacterRange: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-characterrange-abstract-operation',
+	CharacterRangeOrUnion: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-characterrangeorunion-abstract-operation',
+	CharacterSetMatcher: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-charactersetmatcher-abstract-operation',
+	CloneArrayBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-clonearraybuffer',
+	CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-completepropertydescriptor',
+	Completion: 'https://ecma-international.org/ecma-262/7.0/#sec-completion-record-specification-type',
+	Construct: 'https://ecma-international.org/ecma-262/7.0/#sec-construct',
+	CopyDataBlockBytes: 'https://ecma-international.org/ecma-262/7.0/#sec-copydatablockbytes',
+	CreateArrayFromList: 'https://ecma-international.org/ecma-262/7.0/#sec-createarrayfromlist',
+	CreateArrayIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createarrayiterator',
+	CreateBuiltinFunction: 'https://ecma-international.org/ecma-262/7.0/#sec-createbuiltinfunction',
+	CreateByteDataBlock: 'https://ecma-international.org/ecma-262/7.0/#sec-createbytedatablock',
+	CreateDataProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-createdataproperty',
+	CreateDataPropertyOrThrow: 'https://ecma-international.org/ecma-262/7.0/#sec-createdatapropertyorthrow',
+	CreateDynamicFunction: 'https://ecma-international.org/ecma-262/7.0/#sec-createdynamicfunction',
+	CreateHTML: 'https://ecma-international.org/ecma-262/7.0/#sec-createhtml',
+	CreateIntrinsics: 'https://ecma-international.org/ecma-262/7.0/#sec-createintrinsics',
+	CreateIterResultObject: 'https://ecma-international.org/ecma-262/7.0/#sec-createiterresultobject',
+	CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/7.0/#sec-createlistfromarraylike',
+	CreateListIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createlistiterator',
+	CreateMapIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createmapiterator',
+	CreateMappedArgumentsObject: 'https://ecma-international.org/ecma-262/7.0/#sec-createmappedargumentsobject',
+	CreateMethodProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-createmethodproperty',
+	CreatePerIterationEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-createperiterationenvironment',
+	CreateRealm: 'https://ecma-international.org/ecma-262/7.0/#sec-createrealm',
+	CreateResolvingFunctions: 'https://ecma-international.org/ecma-262/7.0/#sec-createresolvingfunctions',
+	CreateSetIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createsetiterator',
+	CreateStringIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-createstringiterator',
+	CreateUnmappedArgumentsObject: 'https://ecma-international.org/ecma-262/7.0/#sec-createunmappedargumentsobject',
+	DateFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-date-number',
+	Day: 'https://ecma-international.org/ecma-262/7.0/#sec-day-number-and-time-within-day',
+	DayFromYear: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number',
+	DaysInYear: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number',
+	DayWithinYear: 'https://ecma-international.org/ecma-262/7.0/#sec-month-number',
+	Decode: 'https://ecma-international.org/ecma-262/7.0/#sec-decode',
+	DefinePropertyOrThrow: 'https://ecma-international.org/ecma-262/7.0/#sec-definepropertyorthrow',
+	DeletePropertyOrThrow: 'https://ecma-international.org/ecma-262/7.0/#sec-deletepropertyorthrow',
+	DetachArrayBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-detacharraybuffer',
+	Encode: 'https://ecma-international.org/ecma-262/7.0/#sec-encode',
+	EnqueueJob: 'https://ecma-international.org/ecma-262/7.0/#sec-enqueuejob',
+	EnumerableOwnNames: 'https://ecma-international.org/ecma-262/7.0/#sec-enumerableownnames',
+	EnumerateObjectProperties: 'https://ecma-international.org/ecma-262/7.0/#sec-enumerate-object-properties',
+	EscapeRegExpPattern: 'https://ecma-international.org/ecma-262/7.0/#sec-escaperegexppattern',
+	EvalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/7.0/#sec-evaldeclarationinstantiation',
+	EvaluateCall: 'https://ecma-international.org/ecma-262/7.0/#sec-evaluatecall',
+	EvaluateDirectCall: 'https://ecma-international.org/ecma-262/7.0/#sec-evaluatedirectcall',
+	EvaluateNew: 'https://ecma-international.org/ecma-262/7.0/#sec-evaluatenew',
+	floor: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions',
+	ForBodyEvaluation: 'https://ecma-international.org/ecma-262/7.0/#sec-forbodyevaluation',
+	'ForIn/OfBodyEvaluation': 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset',
+	'ForIn/OfHeadEvaluation': 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-forin-div-ofheadevaluation-tdznames-expr-iterationkind',
+	FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-frompropertydescriptor',
+	FulfillPromise: 'https://ecma-international.org/ecma-262/7.0/#sec-fulfillpromise',
+	FunctionAllocate: 'https://ecma-international.org/ecma-262/7.0/#sec-functionallocate',
+	FunctionCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-functioncreate',
+	FunctionDeclarationInstantiation: 'https://ecma-international.org/ecma-262/7.0/#sec-functiondeclarationinstantiation',
+	FunctionInitialize: 'https://ecma-international.org/ecma-262/7.0/#sec-functioninitialize',
+	GeneratorFunctionCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorfunctioncreate',
+	GeneratorResume: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorresume',
+	GeneratorResumeAbrupt: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorresumeabrupt',
+	GeneratorStart: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorstart',
+	GeneratorValidate: 'https://ecma-international.org/ecma-262/7.0/#sec-generatorvalidate',
+	GeneratorYield: 'https://ecma-international.org/ecma-262/7.0/#sec-generatoryield',
+	Get: 'https://ecma-international.org/ecma-262/7.0/#sec-get-o-p',
+	GetActiveScriptOrModule: 'https://ecma-international.org/ecma-262/7.0/#sec-getactivescriptormodule',
+	GetFunctionRealm: 'https://ecma-international.org/ecma-262/7.0/#sec-getfunctionrealm',
+	GetGlobalObject: 'https://ecma-international.org/ecma-262/7.0/#sec-getglobalobject',
+	GetIdentifierReference: 'https://ecma-international.org/ecma-262/7.0/#sec-getidentifierreference',
+	GetIterator: 'https://ecma-international.org/ecma-262/7.0/#sec-getiterator',
+	GetMethod: 'https://ecma-international.org/ecma-262/7.0/#sec-getmethod',
+	GetModuleNamespace: 'https://ecma-international.org/ecma-262/7.0/#sec-getmodulenamespace',
+	GetNewTarget: 'https://ecma-international.org/ecma-262/7.0/#sec-getnewtarget',
+	GetOwnPropertyKeys: 'https://ecma-international.org/ecma-262/7.0/#sec-getownpropertykeys',
+	GetPrototypeFromConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-getprototypefromconstructor',
+	GetSubstitution: 'https://ecma-international.org/ecma-262/7.0/#sec-getsubstitution',
+	GetSuperConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-getsuperconstructor',
+	GetTemplateObject: 'https://ecma-international.org/ecma-262/7.0/#sec-gettemplateobject',
+	GetThisEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-getthisenvironment',
+	GetThisValue: 'https://ecma-international.org/ecma-262/7.0/#sec-getthisvalue',
+	GetV: 'https://ecma-international.org/ecma-262/7.0/#sec-getv',
+	GetValue: 'https://ecma-international.org/ecma-262/7.0/#sec-getvalue',
+	GetValueFromBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-getvaluefrombuffer',
+	GetViewValue: 'https://ecma-international.org/ecma-262/7.0/#sec-getviewvalue',
+	GlobalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/7.0/#sec-globaldeclarationinstantiation',
+	HasOwnProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-hasownproperty',
+	HasProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-hasproperty',
+	HostPromiseRejectionTracker: 'https://ecma-international.org/ecma-262/7.0/#sec-host-promise-rejection-tracker',
+	HostReportErrors: 'https://ecma-international.org/ecma-262/7.0/#sec-host-report-errors',
+	HostResolveImportedModule: 'https://ecma-international.org/ecma-262/7.0/#sec-hostresolveimportedmodule',
+	HourFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
+	IfAbruptRejectPromise: 'https://ecma-international.org/ecma-262/7.0/#sec-ifabruptrejectpromise',
+	ImportedLocalNames: 'https://ecma-international.org/ecma-262/7.0/#sec-importedlocalnames',
+	InitializeBoundName: 'https://ecma-international.org/ecma-262/7.0/#sec-initializeboundname',
+	InitializeHostDefinedRealm: 'https://ecma-international.org/ecma-262/7.0/#sec-initializehostdefinedrealm',
+	InitializeReferencedBinding: 'https://ecma-international.org/ecma-262/7.0/#sec-initializereferencedbinding',
+	InLeapYear: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number',
+	InstanceofOperator: 'https://ecma-international.org/ecma-262/7.0/#sec-instanceofoperator',
+	IntegerIndexedElementGet: 'https://ecma-international.org/ecma-262/7.0/#sec-integerindexedelementget',
+	IntegerIndexedElementSet: 'https://ecma-international.org/ecma-262/7.0/#sec-integerindexedelementset',
+	IntegerIndexedObjectCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-integerindexedobjectcreate',
+	InternalizeJSONProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-internalizejsonproperty',
+	Invoke: 'https://ecma-international.org/ecma-262/7.0/#sec-invoke',
+	IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-isaccessordescriptor',
+	IsAnonymousFunctionDefinition: 'https://ecma-international.org/ecma-262/7.0/#sec-isanonymousfunctiondefinition',
+	IsArray: 'https://ecma-international.org/ecma-262/7.0/#sec-isarray',
+	IsCallable: 'https://ecma-international.org/ecma-262/7.0/#sec-iscallable',
+	IsCompatiblePropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-iscompatiblepropertydescriptor',
+	IsConcatSpreadable: 'https://ecma-international.org/ecma-262/7.0/#sec-isconcatspreadable',
+	IsConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-isconstructor',
+	IsDataDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-isdatadescriptor',
+	IsDetachedBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-isdetachedbuffer',
+	IsExtensible: 'https://ecma-international.org/ecma-262/7.0/#sec-isextensible-o',
+	IsGenericDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-isgenericdescriptor',
+	IsInTailPosition: 'https://ecma-international.org/ecma-262/7.0/#sec-isintailposition',
+	IsInteger: 'https://ecma-international.org/ecma-262/7.0/#sec-isinteger',
+	IsLabelledFunction: 'https://ecma-international.org/ecma-262/7.0/#sec-islabelledfunction',
+	IsPromise: 'https://ecma-international.org/ecma-262/7.0/#sec-ispromise',
+	IsPropertyKey: 'https://ecma-international.org/ecma-262/7.0/#sec-ispropertykey',
+	IsRegExp: 'https://ecma-international.org/ecma-262/7.0/#sec-isregexp',
+	IsWordChar: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-iswordchar-abstract-operation',
+	IterableToArrayLike: 'https://ecma-international.org/ecma-262/7.0/#sec-iterabletoarraylike',
+	IteratorClose: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorclose',
+	IteratorComplete: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorcomplete',
+	IteratorNext: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratornext',
+	IteratorStep: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorstep',
+	IteratorValue: 'https://ecma-international.org/ecma-262/7.0/#sec-iteratorvalue',
+	LocalTime: 'https://ecma-international.org/ecma-262/7.0/#sec-localtime',
+	LoopContinues: 'https://ecma-international.org/ecma-262/7.0/#sec-loopcontinues',
+	MakeArgGetter: 'https://ecma-international.org/ecma-262/7.0/#sec-makearggetter',
+	MakeArgSetter: 'https://ecma-international.org/ecma-262/7.0/#sec-makeargsetter',
+	MakeClassConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-makeclassconstructor',
+	MakeConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-makeconstructor',
+	MakeDate: 'https://ecma-international.org/ecma-262/7.0/#sec-makedate',
+	MakeDay: 'https://ecma-international.org/ecma-262/7.0/#sec-makeday',
+	MakeMethod: 'https://ecma-international.org/ecma-262/7.0/#sec-makemethod',
+	MakeSuperPropertyReference: 'https://ecma-international.org/ecma-262/7.0/#sec-makesuperpropertyreference',
+	MakeTime: 'https://ecma-international.org/ecma-262/7.0/#sec-maketime',
+	max: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions',
+	min: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions',
+	MinFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
+	ModuleNamespaceCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-modulenamespacecreate',
+	modulo: 'https://ecma-international.org/ecma-262/7.0/#sec-algorithm-conventions',
+	MonthFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-month-number',
+	msFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
+	NewDeclarativeEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newdeclarativeenvironment',
+	NewFunctionEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newfunctionenvironment',
+	NewGlobalEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newglobalenvironment',
+	NewModuleEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newmoduleenvironment',
+	NewObjectEnvironment: 'https://ecma-international.org/ecma-262/7.0/#sec-newobjectenvironment',
+	NewPromiseCapability: 'https://ecma-international.org/ecma-262/7.0/#sec-newpromisecapability',
+	NextJob: 'https://ecma-international.org/ecma-262/7.0/#sec-nextjob-result',
+	NormalCompletion: 'https://ecma-international.org/ecma-262/7.0/#sec-normalcompletion',
+	ObjectCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-objectcreate',
+	ObjectDefineProperties: 'https://ecma-international.org/ecma-262/7.0/#sec-objectdefineproperties',
+	OrdinaryCallBindThis: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarycallbindthis',
+	OrdinaryCallEvaluateBody: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarycallevaluatebody',
+	OrdinaryCreateFromConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarycreatefromconstructor',
+	OrdinaryDefineOwnProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarydefineownproperty',
+	OrdinaryDelete: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarydelete',
+	OrdinaryGet: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryget',
+	OrdinaryGetOwnProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarygetownproperty',
+	OrdinaryGetPrototypeOf: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarygetprototypeof',
+	OrdinaryHasInstance: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryhasinstance',
+	OrdinaryHasProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryhasproperty',
+	OrdinaryIsExtensible: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryisextensible',
+	OrdinaryOwnPropertyKeys: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryownpropertykeys',
+	OrdinaryPreventExtensions: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarypreventextensions',
+	OrdinarySet: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinaryset',
+	OrdinarySetPrototypeOf: 'https://ecma-international.org/ecma-262/7.0/#sec-ordinarysetprototypeof',
+	ParseModule: 'https://ecma-international.org/ecma-262/7.0/#sec-parsemodule',
+	ParseScript: 'https://ecma-international.org/ecma-262/7.0/#sec-parse-script',
+	PerformEval: 'https://ecma-international.org/ecma-262/7.0/#sec-performeval',
+	PerformPromiseAll: 'https://ecma-international.org/ecma-262/7.0/#sec-performpromiseall',
+	PerformPromiseRace: 'https://ecma-international.org/ecma-262/7.0/#sec-performpromiserace',
+	PerformPromiseThen: 'https://ecma-international.org/ecma-262/7.0/#sec-performpromisethen',
+	PrepareForOrdinaryCall: 'https://ecma-international.org/ecma-262/7.0/#sec-prepareforordinarycall',
+	PrepareForTailCall: 'https://ecma-international.org/ecma-262/7.0/#sec-preparefortailcall',
+	PromiseReactionJob: 'https://ecma-international.org/ecma-262/7.0/#sec-promisereactionjob',
+	PromiseResolveThenableJob: 'https://ecma-international.org/ecma-262/7.0/#sec-promiseresolvethenablejob',
+	ProxyCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-proxycreate',
+	PutValue: 'https://ecma-international.org/ecma-262/7.0/#sec-putvalue',
+	QuoteJSONString: 'https://ecma-international.org/ecma-262/7.0/#sec-quotejsonstring',
+	RegExpAlloc: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpalloc',
+	RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpbuiltinexec',
+	RegExpCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpcreate',
+	RegExpExec: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpexec',
+	RegExpInitialize: 'https://ecma-international.org/ecma-262/7.0/#sec-regexpinitialize',
+	RejectPromise: 'https://ecma-international.org/ecma-262/7.0/#sec-rejectpromise',
+	RepeatMatcher: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-repeatmatcher-abstract-operation',
+	RequireObjectCoercible: 'https://ecma-international.org/ecma-262/7.0/#sec-requireobjectcoercible',
+	ResolveBinding: 'https://ecma-international.org/ecma-262/7.0/#sec-resolvebinding',
+	ResolveThisBinding: 'https://ecma-international.org/ecma-262/7.0/#sec-resolvethisbinding',
+	ReturnIfAbrupt: 'https://ecma-international.org/ecma-262/7.0/#sec-returnifabrupt',
+	SameValue: 'https://ecma-international.org/ecma-262/7.0/#sec-samevalue',
+	SameValueNonNumber: 'https://ecma-international.org/ecma-262/7.0/#sec-samevaluenonnumber',
+	SameValueZero: 'https://ecma-international.org/ecma-262/7.0/#sec-samevaluezero',
+	ScriptEvaluation: 'https://ecma-international.org/ecma-262/7.0/#sec-runtime-semantics-scriptevaluation',
+	ScriptEvaluationJob: 'https://ecma-international.org/ecma-262/7.0/#sec-scriptevaluationjob',
+	SecFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-hours-minutes-second-and-milliseconds',
+	SerializeJSONArray: 'https://ecma-international.org/ecma-262/7.0/#sec-serializejsonarray',
+	SerializeJSONObject: 'https://ecma-international.org/ecma-262/7.0/#sec-serializejsonobject',
+	SerializeJSONProperty: 'https://ecma-international.org/ecma-262/7.0/#sec-serializejsonproperty',
+	Set: 'https://ecma-international.org/ecma-262/7.0/#sec-set-o-p-v-throw',
+	SetDefaultGlobalBindings: 'https://ecma-international.org/ecma-262/7.0/#sec-setdefaultglobalbindings',
+	SetFunctionName: 'https://ecma-international.org/ecma-262/7.0/#sec-setfunctionname',
+	SetIntegrityLevel: 'https://ecma-international.org/ecma-262/7.0/#sec-setintegritylevel',
+	SetRealmGlobalObject: 'https://ecma-international.org/ecma-262/7.0/#sec-setrealmglobalobject',
+	SetValueInBuffer: 'https://ecma-international.org/ecma-262/7.0/#sec-setvalueinbuffer',
+	SetViewValue: 'https://ecma-international.org/ecma-262/7.0/#sec-setviewvalue',
+	SortCompare: 'https://ecma-international.org/ecma-262/7.0/#sec-sortcompare',
+	SpeciesConstructor: 'https://ecma-international.org/ecma-262/7.0/#sec-speciesconstructor',
+	SplitMatch: 'https://ecma-international.org/ecma-262/7.0/#sec-splitmatch',
+	'Strict Equality Comparison': 'https://ecma-international.org/ecma-262/7.0/#sec-strict-equality-comparison',
+	StringCreate: 'https://ecma-international.org/ecma-262/7.0/#sec-stringcreate',
+	SymbolDescriptiveString: 'https://ecma-international.org/ecma-262/7.0/#sec-symboldescriptivestring',
+	TestIntegrityLevel: 'https://ecma-international.org/ecma-262/7.0/#sec-testintegritylevel',
+	thisBooleanValue: 'https://ecma-international.org/ecma-262/7.0/#sec-thisbooleanvalue',
+	thisNumberValue: 'https://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-number-prototype-object',
+	thisStringValue: 'https://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-string-prototype-object',
+	thisTimeValue: 'https://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-date-prototype-object',
+	TimeClip: 'https://ecma-international.org/ecma-262/7.0/#sec-timeclip',
+	TimeFromYear: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number',
+	TimeWithinDay: 'https://ecma-international.org/ecma-262/7.0/#sec-day-number-and-time-within-day',
+	ToBoolean: 'https://ecma-international.org/ecma-262/7.0/#sec-toboolean',
+	ToDateString: 'https://ecma-international.org/ecma-262/7.0/#sec-todatestring',
+	ToInt16: 'https://ecma-international.org/ecma-262/7.0/#sec-toint16',
+	ToInt32: 'https://ecma-international.org/ecma-262/7.0/#sec-toint32',
+	ToInt8: 'https://ecma-international.org/ecma-262/7.0/#sec-toint8',
+	ToInteger: 'https://ecma-international.org/ecma-262/7.0/#sec-tointeger',
+	ToLength: 'https://ecma-international.org/ecma-262/7.0/#sec-tolength',
+	ToNumber: 'https://ecma-international.org/ecma-262/7.0/#sec-tonumber',
+	ToObject: 'https://ecma-international.org/ecma-262/7.0/#sec-toobject',
+	TopLevelModuleEvaluationJob: 'https://ecma-international.org/ecma-262/7.0/#sec-toplevelmoduleevaluationjob',
+	ToPrimitive: 'https://ecma-international.org/ecma-262/7.0/#sec-toprimitive',
+	ToPropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-topropertydescriptor',
+	ToPropertyKey: 'https://ecma-international.org/ecma-262/7.0/#sec-topropertykey',
+	ToString: 'https://ecma-international.org/ecma-262/7.0/#sec-tostring',
+	'ToString Applied to the Number Type': 'https://ecma-international.org/ecma-262/7.0/#sec-tostring-applied-to-the-number-type',
+	ToUint16: 'https://ecma-international.org/ecma-262/7.0/#sec-touint16',
+	ToUint32: 'https://ecma-international.org/ecma-262/7.0/#sec-touint32',
+	ToUint8: 'https://ecma-international.org/ecma-262/7.0/#sec-touint8',
+	ToUint8Clamp: 'https://ecma-international.org/ecma-262/7.0/#sec-touint8clamp',
+	TriggerPromiseReactions: 'https://ecma-international.org/ecma-262/7.0/#sec-triggerpromisereactions',
+	Type: 'https://ecma-international.org/ecma-262/7.0/#sec-ecmascript-data-types-and-values',
+	TypedArrayCreate: 'https://ecma-international.org/ecma-262/7.0/#typedarray-create',
+	TypedArraySpeciesCreate: 'https://ecma-international.org/ecma-262/7.0/#typedarray-species-create',
+	UpdateEmpty: 'https://ecma-international.org/ecma-262/7.0/#sec-updateempty',
+	UTC: 'https://ecma-international.org/ecma-262/7.0/#sec-utc-t',
+	UTF16Decode: 'https://ecma-international.org/ecma-262/7.0/#sec-utf16decode',
+	UTF16Encoding: 'https://ecma-international.org/ecma-262/7.0/#sec-utf16encoding',
+	ValidateAndApplyPropertyDescriptor: 'https://ecma-international.org/ecma-262/7.0/#sec-validateandapplypropertydescriptor',
+	ValidateTypedArray: 'https://ecma-international.org/ecma-262/7.0/#sec-validatetypedarray',
+	WeekDay: 'https://ecma-international.org/ecma-262/7.0/#sec-week-day',
+	YearFromTime: 'https://ecma-international.org/ecma-262/7.0/#sec-year-number'
 };

+ 320 - 74
node_modules/es-abstract/operations/2017.js

@@ -1,78 +1,324 @@
 'use strict';
 
 module.exports = {
-	IsPropertyDescriptor: 'http://ecma-international.org/ecma-262/8.0/#sec-property-descriptor-specification-type',
-	IsAccessorDescriptor: 'http://ecma-international.org/ecma-262/8.0/#sec-isaccessordescriptor',
-	IsDataDescriptor: 'http://ecma-international.org/ecma-262/8.0/#sec-isdatadescriptor',
-	IsGenericDescriptor: 'http://ecma-international.org/ecma-262/8.0/#sec-isgenericdescriptor',
-	FromPropertyDescriptor: 'http://ecma-international.org/ecma-262/8.0/#sec-frompropertydescriptor',
-	ToPropertyDescriptor: 'http://ecma-international.org/ecma-262/8.0/#sec-topropertydescriptor',
-	CompletePropertyDescriptor: 'http://ecma-international.org/ecma-262/8.0/#sec-completepropertydescriptor',
-	ToPrimitive: 'http://ecma-international.org/ecma-262/8.0/#sec-toprimitive',
-	ToBoolean: 'http://ecma-international.org/ecma-262/8.0/#sec-toboolean',
-	ToNumber: 'http://ecma-international.org/ecma-262/8.0/#sec-tonumber',
-	ToInteger: 'http://ecma-international.org/ecma-262/8.0/#sec-tointeger',
-	ToInt32: 'http://ecma-international.org/ecma-262/8.0/#sec-toint32',
-	ToUint32: 'http://ecma-international.org/ecma-262/8.0/#sec-touint32',
-	ToInt16: 'http://ecma-international.org/ecma-262/8.0/#sec-toint16',
-	ToUint16: 'http://ecma-international.org/ecma-262/8.0/#sec-touint16',
-	ToInt8: 'http://ecma-international.org/ecma-262/8.0/#sec-toint8',
-	ToUint8: 'http://ecma-international.org/ecma-262/8.0/#sec-touint8',
-	ToUint8Clamp: 'http://ecma-international.org/ecma-262/8.0/#sec-touint8clamp',
-	ToString: 'http://ecma-international.org/ecma-262/8.0/#sec-tostring',
-	ToObject: 'http://ecma-international.org/ecma-262/8.0/#sec-toobject',
-	ToPropertyKey: 'http://ecma-international.org/ecma-262/8.0/#sec-topropertykey',
-	ToLength: 'http://ecma-international.org/ecma-262/8.0/#sec-tolength',
-	CanonicalNumericIndexString: 'http://ecma-international.org/ecma-262/8.0/#sec-canonicalnumericindexstring',
-	ToIndex: 'http://ecma-international.org/ecma-262/8.0/#sec-toindex',
-	RequireObjectCoercible: 'http://ecma-international.org/ecma-262/8.0/#sec-requireobjectcoercible',
-	IsArray: 'http://ecma-international.org/ecma-262/8.0/#sec-isarray',
-	IsCallable: 'http://ecma-international.org/ecma-262/8.0/#sec-iscallable',
-	IsConstructor: 'http://ecma-international.org/ecma-262/8.0/#sec-isconstructor',
-	IsExtensible: 'http://ecma-international.org/ecma-262/8.0/#sec-isextensible-o',
-	IsInteger: 'http://ecma-international.org/ecma-262/8.0/#sec-isinteger',
-	IsPropertyKey: 'http://ecma-international.org/ecma-262/8.0/#sec-ispropertykey',
-	IsRegExp: 'http://ecma-international.org/ecma-262/8.0/#sec-isregexp',
-	SameValue: 'http://ecma-international.org/ecma-262/8.0/#sec-samevalue',
-	SameValueZero: 'http://ecma-international.org/ecma-262/8.0/#sec-samevaluezero',
-	SameValueNonNumber: 'http://ecma-international.org/ecma-262/8.0/#sec-samevaluenonnumber',
-	Get: 'http://ecma-international.org/ecma-262/8.0/#sec-get-o-p',
-	GetV: 'http://ecma-international.org/ecma-262/8.0/#sec-getv',
-	Set: 'http://ecma-international.org/ecma-262/8.0/#sec-set-o-p-v-throw',
-	CreateDataProperty: 'http://ecma-international.org/ecma-262/8.0/#sec-createdataproperty',
-	CreateMethodProperty: 'http://ecma-international.org/ecma-262/8.0/#sec-createmethodproperty',
-	CreateDataPropertyOrThrow: 'http://ecma-international.org/ecma-262/8.0/#sec-createdatapropertyorthrow',
-	DefinePropertyOrThrow: 'http://ecma-international.org/ecma-262/8.0/#sec-definepropertyorthrow',
-	DeletePropertyOrThrow: 'http://ecma-international.org/ecma-262/8.0/#sec-deletepropertyorthrow',
-	GetMethod: 'http://ecma-international.org/ecma-262/8.0/#sec-getmethod',
-	HasProperty: 'http://ecma-international.org/ecma-262/8.0/#sec-hasproperty',
-	HasOwnProperty: 'http://ecma-international.org/ecma-262/8.0/#sec-hasownproperty',
-	Call: 'http://ecma-international.org/ecma-262/8.0/#sec-call',
-	Construct: 'http://ecma-international.org/ecma-262/8.0/#sec-construct',
-	SetIntegrityLevel: 'http://ecma-international.org/ecma-262/8.0/#sec-setintegritylevel',
-	TestIntegrityLevel: 'http://ecma-international.org/ecma-262/8.0/#sec-testintegritylevel',
-	CreateArrayFromList: 'http://ecma-international.org/ecma-262/8.0/#sec-createarrayfromlist',
-	CreateListFromArrayLike: 'http://ecma-international.org/ecma-262/8.0/#sec-createlistfromarraylike',
-	Invoke: 'http://ecma-international.org/ecma-262/8.0/#sec-invoke',
-	OrdinaryHasInstance: 'http://ecma-international.org/ecma-262/8.0/#sec-ordinaryhasinstance',
-	SpeciesConstructor: 'http://ecma-international.org/ecma-262/8.0/#sec-speciesconstructor',
-	EnumerableOwnProperties: 'http://ecma-international.org/ecma-262/8.0/#sec-enumerableownproperties',
-	GetIterator: 'http://ecma-international.org/ecma-262/8.0/#sec-getiterator',
-	IteratorNext: 'http://ecma-international.org/ecma-262/8.0/#sec-iteratornext',
-	IteratorComplete: 'http://ecma-international.org/ecma-262/8.0/#sec-iteratorcomplete',
-	IteratorValue: 'http://ecma-international.org/ecma-262/8.0/#sec-iteratorvalue',
-	IteratorStep: 'http://ecma-international.org/ecma-262/8.0/#sec-iteratorstep',
-	IteratorClose: 'http://ecma-international.org/ecma-262/8.0/#sec-iteratorclose',
-	CreateIterResultObject: 'http://ecma-international.org/ecma-262/8.0/#sec-createiterresultobject',
-	CreateListIterator: 'http://ecma-international.org/ecma-262/8.0/#sec-createlistiterator',
-	Type: 'http://ecma-international.org/ecma-262/8.0/#sec-ecmascript-language-types',
-	thisNumberValue: 'http://ecma-international.org/ecma-262/8.0/#sec-properties-of-the-number-prototype-object',
-	thisTimeValue: 'http://ecma-international.org/ecma-262/8.0/#sec-properties-of-the-date-prototype-object',
-	thisStringValue: 'http://ecma-international.org/ecma-262/8.0/#sec-properties-of-the-string-prototype-object',
-	RegExpExec: 'http://ecma-international.org/ecma-262/8.0/#sec-regexpexec',
-	RegExpBuiltinExec: 'http://ecma-international.org/ecma-262/8.0/#sec-regexpbuiltinexec',
-	IsConcatSpreadable: 'http://ecma-international.org/ecma-262/8.0/#sec-isconcatspreadable',
-	IsPromise: 'http://ecma-international.org/ecma-262/8.0/#sec-ispromise',
-	ArraySpeciesCreate: 'http://ecma-international.org/ecma-262/8.0/#sec-arrayspeciescreate',
-	AdvanceStringIndex: 'http://ecma-international.org/ecma-262/6.0/#sec-advancestringindex'
+	IsPropertyDescriptor: 'https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type', // not actually an abstract op
+
+	abs: 'https://ecma-international.org/ecma-262/8.0/#eqn-abs',
+	'Abstract Equality Comparison': 'https://ecma-international.org/ecma-262/8.0/#sec-abstract-equality-comparison',
+	'Abstract Relational Comparison': 'https://ecma-international.org/ecma-262/8.0/#sec-abstract-relational-comparison',
+	AddRestrictedFunctionProperties: 'https://ecma-international.org/ecma-262/8.0/#sec-addrestrictedfunctionproperties',
+	AddWaiter: 'https://ecma-international.org/ecma-262/8.0/#sec-addwaiter',
+	AdvanceStringIndex: 'https://ecma-international.org/ecma-262/8.0/#sec-advancestringindex',
+	'agent-order': 'https://ecma-international.org/ecma-262/8.0/#sec-agent-order',
+	AgentCanSuspend: 'https://ecma-international.org/ecma-262/8.0/#sec-agentcansuspend',
+	AgentSignifier: 'https://ecma-international.org/ecma-262/8.0/#sec-agentsignifier',
+	AllocateArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-allocatearraybuffer',
+	AllocateSharedArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-allocatesharedarraybuffer',
+	AllocateTypedArray: 'https://ecma-international.org/ecma-262/8.0/#sec-allocatetypedarray',
+	AllocateTypedArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-allocatetypedarraybuffer',
+	ArrayCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-arraycreate',
+	ArraySetLength: 'https://ecma-international.org/ecma-262/8.0/#sec-arraysetlength',
+	ArraySpeciesCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-arrayspeciescreate',
+	AsyncFunctionAwait: 'https://ecma-international.org/ecma-262/8.0/#sec-async-functions-abstract-operations-async-function-await',
+	AsyncFunctionCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-async-functions-abstract-operations-async-function-create',
+	AsyncFunctionStart: 'https://ecma-international.org/ecma-262/8.0/#sec-async-functions-abstract-operations-async-function-start',
+	AtomicLoad: 'https://ecma-international.org/ecma-262/8.0/#sec-atomicload',
+	AtomicReadModifyWrite: 'https://ecma-international.org/ecma-262/8.0/#sec-atomicreadmodifywrite',
+	BlockDeclarationInstantiation: 'https://ecma-international.org/ecma-262/8.0/#sec-blockdeclarationinstantiation',
+	BoundFunctionCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-boundfunctioncreate',
+	Call: 'https://ecma-international.org/ecma-262/8.0/#sec-call',
+	Canonicalize: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-canonicalize-ch',
+	CanonicalNumericIndexString: 'https://ecma-international.org/ecma-262/8.0/#sec-canonicalnumericindexstring',
+	CharacterRange: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-characterrange-abstract-operation',
+	CharacterRangeOrUnion: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-characterrangeorunion-abstract-operation',
+	CharacterSetMatcher: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-charactersetmatcher-abstract-operation',
+	CloneArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-clonearraybuffer',
+	CompletePropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-completepropertydescriptor',
+	Completion: 'https://ecma-international.org/ecma-262/8.0/#sec-completion-record-specification-type',
+	ComposeWriteEventBytes: 'https://ecma-international.org/ecma-262/8.0/#sec-composewriteeventbytes',
+	Construct: 'https://ecma-international.org/ecma-262/8.0/#sec-construct',
+	CopyDataBlockBytes: 'https://ecma-international.org/ecma-262/8.0/#sec-copydatablockbytes',
+	CreateArrayFromList: 'https://ecma-international.org/ecma-262/8.0/#sec-createarrayfromlist',
+	CreateArrayIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createarrayiterator',
+	CreateBuiltinFunction: 'https://ecma-international.org/ecma-262/8.0/#sec-createbuiltinfunction',
+	CreateByteDataBlock: 'https://ecma-international.org/ecma-262/8.0/#sec-createbytedatablock',
+	CreateDataProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-createdataproperty',
+	CreateDataPropertyOrThrow: 'https://ecma-international.org/ecma-262/8.0/#sec-createdatapropertyorthrow',
+	CreateDynamicFunction: 'https://ecma-international.org/ecma-262/8.0/#sec-createdynamicfunction',
+	CreateHTML: 'https://ecma-international.org/ecma-262/8.0/#sec-createhtml',
+	CreateIntrinsics: 'https://ecma-international.org/ecma-262/8.0/#sec-createintrinsics',
+	CreateIterResultObject: 'https://ecma-international.org/ecma-262/8.0/#sec-createiterresultobject',
+	CreateListFromArrayLike: 'https://ecma-international.org/ecma-262/8.0/#sec-createlistfromarraylike',
+	CreateListIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createlistiterator',
+	CreateMapIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createmapiterator',
+	CreateMappedArgumentsObject: 'https://ecma-international.org/ecma-262/8.0/#sec-createmappedargumentsobject',
+	CreateMethodProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-createmethodproperty',
+	CreatePerIterationEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-createperiterationenvironment',
+	CreateRealm: 'https://ecma-international.org/ecma-262/8.0/#sec-createrealm',
+	CreateResolvingFunctions: 'https://ecma-international.org/ecma-262/8.0/#sec-createresolvingfunctions',
+	CreateSetIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createsetiterator',
+	CreateSharedByteDataBlock: 'https://ecma-international.org/ecma-262/8.0/#sec-createsharedbytedatablock',
+	CreateStringIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-createstringiterator',
+	CreateUnmappedArgumentsObject: 'https://ecma-international.org/ecma-262/8.0/#sec-createunmappedargumentsobject',
+	DateFromTime: 'https://ecma-international.org/ecma-262/8.0/#sec-date-number',
+	Day: 'https://ecma-international.org/ecma-262/8.0/#eqn-Day',
+	DayFromYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-DaysFromYear',
+	DaysInYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-DaysInYear',
+	DayWithinYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-DayWithinYear',
+	Decode: 'https://ecma-international.org/ecma-262/8.0/#sec-decode',
+	DefinePropertyOrThrow: 'https://ecma-international.org/ecma-262/8.0/#sec-definepropertyorthrow',
+	DeletePropertyOrThrow: 'https://ecma-international.org/ecma-262/8.0/#sec-deletepropertyorthrow',
+	DetachArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-detacharraybuffer',
+	Encode: 'https://ecma-international.org/ecma-262/8.0/#sec-encode',
+	EnqueueJob: 'https://ecma-international.org/ecma-262/8.0/#sec-enqueuejob',
+	EnterCriticalSection: 'https://ecma-international.org/ecma-262/8.0/#sec-entercriticalsection',
+	EnumerableOwnProperties: 'https://ecma-international.org/ecma-262/8.0/#sec-enumerableownproperties',
+	EnumerateObjectProperties: 'https://ecma-international.org/ecma-262/8.0/#sec-enumerate-object-properties',
+	EscapeRegExpPattern: 'https://ecma-international.org/ecma-262/8.0/#sec-escaperegexppattern',
+	EvalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/8.0/#sec-evaldeclarationinstantiation',
+	EvaluateCall: 'https://ecma-international.org/ecma-262/8.0/#sec-evaluatecall',
+	EvaluateDirectCall: 'https://ecma-international.org/ecma-262/8.0/#sec-evaluatedirectcall',
+	EvaluateNew: 'https://ecma-international.org/ecma-262/8.0/#sec-evaluatenew',
+	EventSet: 'https://ecma-international.org/ecma-262/8.0/#sec-event-set',
+	floor: 'https://ecma-international.org/ecma-262/8.0/#eqn-floor',
+	ForBodyEvaluation: 'https://ecma-international.org/ecma-262/8.0/#sec-forbodyevaluation',
+	'ForIn/OfBodyEvaluation': 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset',
+	'ForIn/OfHeadEvaluation': 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-forin-div-ofheadevaluation-tdznames-expr-iterationkind',
+	FromPropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-frompropertydescriptor',
+	FulfillPromise: 'https://ecma-international.org/ecma-262/8.0/#sec-fulfillpromise',
+	FunctionAllocate: 'https://ecma-international.org/ecma-262/8.0/#sec-functionallocate',
+	FunctionCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-functioncreate',
+	FunctionDeclarationInstantiation: 'https://ecma-international.org/ecma-262/8.0/#sec-functiondeclarationinstantiation',
+	FunctionInitialize: 'https://ecma-international.org/ecma-262/8.0/#sec-functioninitialize',
+	GeneratorFunctionCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorfunctioncreate',
+	GeneratorResume: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorresume',
+	GeneratorResumeAbrupt: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorresumeabrupt',
+	GeneratorStart: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorstart',
+	GeneratorValidate: 'https://ecma-international.org/ecma-262/8.0/#sec-generatorvalidate',
+	GeneratorYield: 'https://ecma-international.org/ecma-262/8.0/#sec-generatoryield',
+	Get: 'https://ecma-international.org/ecma-262/8.0/#sec-get-o-p',
+	GetActiveScriptOrModule: 'https://ecma-international.org/ecma-262/8.0/#sec-getactivescriptormodule',
+	GetBase: 'https://ecma-international.org/ecma-262/8.0/#ao-getbase',
+	GetFunctionRealm: 'https://ecma-international.org/ecma-262/8.0/#sec-getfunctionrealm',
+	GetGlobalObject: 'https://ecma-international.org/ecma-262/8.0/#sec-getglobalobject',
+	GetIdentifierReference: 'https://ecma-international.org/ecma-262/8.0/#sec-getidentifierreference',
+	GetIterator: 'https://ecma-international.org/ecma-262/8.0/#sec-getiterator',
+	GetMethod: 'https://ecma-international.org/ecma-262/8.0/#sec-getmethod',
+	GetModifySetValueInBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-getmodifysetvalueinbuffer',
+	GetModuleNamespace: 'https://ecma-international.org/ecma-262/8.0/#sec-getmodulenamespace',
+	GetNewTarget: 'https://ecma-international.org/ecma-262/8.0/#sec-getnewtarget',
+	GetOwnPropertyKeys: 'https://ecma-international.org/ecma-262/8.0/#sec-getownpropertykeys',
+	GetPrototypeFromConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-getprototypefromconstructor',
+	GetReferencedName: 'https://ecma-international.org/ecma-262/8.0/#ao-getreferencedname',
+	GetSubstitution: 'https://ecma-international.org/ecma-262/8.0/#sec-getsubstitution',
+	GetSuperConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-getsuperconstructor',
+	GetTemplateObject: 'https://ecma-international.org/ecma-262/8.0/#sec-gettemplateobject',
+	GetThisEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-getthisenvironment',
+	GetThisValue: 'https://ecma-international.org/ecma-262/8.0/#sec-getthisvalue',
+	GetV: 'https://ecma-international.org/ecma-262/8.0/#sec-getv',
+	GetValue: 'https://ecma-international.org/ecma-262/8.0/#sec-getvalue',
+	GetValueFromBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-getvaluefrombuffer',
+	GetViewValue: 'https://ecma-international.org/ecma-262/8.0/#sec-getviewvalue',
+	GetWaiterList: 'https://ecma-international.org/ecma-262/8.0/#sec-getwaiterlist',
+	GlobalDeclarationInstantiation: 'https://ecma-international.org/ecma-262/8.0/#sec-globaldeclarationinstantiation',
+	'happens-before': 'https://ecma-international.org/ecma-262/8.0/#sec-happens-before',
+	HasOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-hasownproperty',
+	HasPrimitiveBase: 'https://ecma-international.org/ecma-262/8.0/#ao-hasprimitivebase',
+	HasProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-hasproperty',
+	'host-synchronizes-with': 'https://ecma-international.org/ecma-262/8.0/#sec-host-synchronizes-with',
+	HostEnsureCanCompileStrings: 'https://ecma-international.org/ecma-262/8.0/#sec-hostensurecancompilestrings',
+	HostEventSet: 'https://ecma-international.org/ecma-262/8.0/#sec-hosteventset',
+	HostPromiseRejectionTracker: 'https://ecma-international.org/ecma-262/8.0/#sec-host-promise-rejection-tracker',
+	HostReportErrors: 'https://ecma-international.org/ecma-262/8.0/#sec-host-report-errors',
+	HostResolveImportedModule: 'https://ecma-international.org/ecma-262/8.0/#sec-hostresolveimportedmodule',
+	HourFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-HourFromTime',
+	IfAbruptRejectPromise: 'https://ecma-international.org/ecma-262/8.0/#sec-ifabruptrejectpromise',
+	ImportedLocalNames: 'https://ecma-international.org/ecma-262/8.0/#sec-importedlocalnames',
+	InitializeBoundName: 'https://ecma-international.org/ecma-262/8.0/#sec-initializeboundname',
+	InitializeHostDefinedRealm: 'https://ecma-international.org/ecma-262/8.0/#sec-initializehostdefinedrealm',
+	InitializeReferencedBinding: 'https://ecma-international.org/ecma-262/8.0/#sec-initializereferencedbinding',
+	InLeapYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-InLeapYear',
+	InstanceofOperator: 'https://ecma-international.org/ecma-262/8.0/#sec-instanceofoperator',
+	IntegerIndexedElementGet: 'https://ecma-international.org/ecma-262/8.0/#sec-integerindexedelementget',
+	IntegerIndexedElementSet: 'https://ecma-international.org/ecma-262/8.0/#sec-integerindexedelementset',
+	IntegerIndexedObjectCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-integerindexedobjectcreate',
+	InternalizeJSONProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-internalizejsonproperty',
+	Invoke: 'https://ecma-international.org/ecma-262/8.0/#sec-invoke',
+	IsAccessorDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-isaccessordescriptor',
+	IsAnonymousFunctionDefinition: 'https://ecma-international.org/ecma-262/8.0/#sec-isanonymousfunctiondefinition',
+	IsArray: 'https://ecma-international.org/ecma-262/8.0/#sec-isarray',
+	IsCallable: 'https://ecma-international.org/ecma-262/8.0/#sec-iscallable',
+	IsCompatiblePropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-iscompatiblepropertydescriptor',
+	IsConcatSpreadable: 'https://ecma-international.org/ecma-262/8.0/#sec-isconcatspreadable',
+	IsConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-isconstructor',
+	IsDataDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-isdatadescriptor',
+	IsDetachedBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-isdetachedbuffer',
+	IsExtensible: 'https://ecma-international.org/ecma-262/8.0/#sec-isextensible-o',
+	IsGenericDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-isgenericdescriptor',
+	IsInTailPosition: 'https://ecma-international.org/ecma-262/8.0/#sec-isintailposition',
+	IsInteger: 'https://ecma-international.org/ecma-262/8.0/#sec-isinteger',
+	IsLabelledFunction: 'https://ecma-international.org/ecma-262/8.0/#sec-islabelledfunction',
+	IsPromise: 'https://ecma-international.org/ecma-262/8.0/#sec-ispromise',
+	IsPropertyKey: 'https://ecma-international.org/ecma-262/8.0/#sec-ispropertykey',
+	IsPropertyReference: 'https://ecma-international.org/ecma-262/8.0/#ao-ispropertyreference',
+	IsRegExp: 'https://ecma-international.org/ecma-262/8.0/#sec-isregexp',
+	IsSharedArrayBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-issharedarraybuffer',
+	IsStrictReference: 'https://ecma-international.org/ecma-262/8.0/#ao-isstrictreference',
+	IsSuperReference: 'https://ecma-international.org/ecma-262/8.0/#ao-issuperreference',
+	IsUnresolvableReference: 'https://ecma-international.org/ecma-262/8.0/#ao-isunresolvablereference',
+	IsWordChar: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-iswordchar-abstract-operation',
+	IterableToList: 'https://ecma-international.org/ecma-262/8.0/#sec-iterabletolist',
+	IteratorClose: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorclose',
+	IteratorComplete: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorcomplete',
+	IteratorNext: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratornext',
+	IteratorStep: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorstep',
+	IteratorValue: 'https://ecma-international.org/ecma-262/8.0/#sec-iteratorvalue',
+	LeaveCriticalSection: 'https://ecma-international.org/ecma-262/8.0/#sec-leavecriticalsection',
+	LocalTime: 'https://ecma-international.org/ecma-262/8.0/#sec-localtime',
+	LoopContinues: 'https://ecma-international.org/ecma-262/8.0/#sec-loopcontinues',
+	MakeArgGetter: 'https://ecma-international.org/ecma-262/8.0/#sec-makearggetter',
+	MakeArgSetter: 'https://ecma-international.org/ecma-262/8.0/#sec-makeargsetter',
+	MakeClassConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-makeclassconstructor',
+	MakeConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-makeconstructor',
+	MakeDate: 'https://ecma-international.org/ecma-262/8.0/#sec-makedate',
+	MakeDay: 'https://ecma-international.org/ecma-262/8.0/#sec-makeday',
+	MakeMethod: 'https://ecma-international.org/ecma-262/8.0/#sec-makemethod',
+	MakeSuperPropertyReference: 'https://ecma-international.org/ecma-262/8.0/#sec-makesuperpropertyreference',
+	MakeTime: 'https://ecma-international.org/ecma-262/8.0/#sec-maketime',
+	max: 'https://ecma-international.org/ecma-262/8.0/#eqn-max',
+	'memory-order': 'https://ecma-international.org/ecma-262/8.0/#sec-memory-order',
+	min: 'https://ecma-international.org/ecma-262/8.0/#eqn-min',
+	MinFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-MinFromTime',
+	ModuleNamespaceCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-modulenamespacecreate',
+	modulo: 'https://ecma-international.org/ecma-262/8.0/#eqn-modulo',
+	MonthFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-MonthFromTime',
+	msFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-msFromTime',
+	NewDeclarativeEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newdeclarativeenvironment',
+	NewFunctionEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newfunctionenvironment',
+	NewGlobalEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newglobalenvironment',
+	NewModuleEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newmoduleenvironment',
+	NewObjectEnvironment: 'https://ecma-international.org/ecma-262/8.0/#sec-newobjectenvironment',
+	NewPromiseCapability: 'https://ecma-international.org/ecma-262/8.0/#sec-newpromisecapability',
+	NormalCompletion: 'https://ecma-international.org/ecma-262/8.0/#sec-normalcompletion',
+	NumberToRawBytes: 'https://ecma-international.org/ecma-262/8.0/#sec-numbertorawbytes',
+	ObjectCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-objectcreate',
+	ObjectDefineProperties: 'https://ecma-international.org/ecma-262/8.0/#sec-objectdefineproperties',
+	OrdinaryCallBindThis: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarycallbindthis',
+	OrdinaryCallEvaluateBody: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarycallevaluatebody',
+	OrdinaryCreateFromConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarycreatefromconstructor',
+	OrdinaryDefineOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarydefineownproperty',
+	OrdinaryDelete: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarydelete',
+	OrdinaryGet: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryget',
+	OrdinaryGetOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarygetownproperty',
+	OrdinaryGetPrototypeOf: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarygetprototypeof',
+	OrdinaryHasInstance: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryhasinstance',
+	OrdinaryHasProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryhasproperty',
+	OrdinaryIsExtensible: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryisextensible',
+	OrdinaryOwnPropertyKeys: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryownpropertykeys',
+	OrdinaryPreventExtensions: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarypreventextensions',
+	OrdinarySet: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinaryset',
+	OrdinarySetPrototypeOf: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarysetprototypeof',
+	OrdinaryToPrimitive: 'https://ecma-international.org/ecma-262/8.0/#sec-ordinarytoprimitive',
+	ParseModule: 'https://ecma-international.org/ecma-262/8.0/#sec-parsemodule',
+	ParseScript: 'https://ecma-international.org/ecma-262/8.0/#sec-parse-script',
+	PerformEval: 'https://ecma-international.org/ecma-262/8.0/#sec-performeval',
+	PerformPromiseAll: 'https://ecma-international.org/ecma-262/8.0/#sec-performpromiseall',
+	PerformPromiseRace: 'https://ecma-international.org/ecma-262/8.0/#sec-performpromiserace',
+	PerformPromiseThen: 'https://ecma-international.org/ecma-262/8.0/#sec-performpromisethen',
+	PrepareForOrdinaryCall: 'https://ecma-international.org/ecma-262/8.0/#sec-prepareforordinarycall',
+	PrepareForTailCall: 'https://ecma-international.org/ecma-262/8.0/#sec-preparefortailcall',
+	PromiseReactionJob: 'https://ecma-international.org/ecma-262/8.0/#sec-promisereactionjob',
+	PromiseResolveThenableJob: 'https://ecma-international.org/ecma-262/8.0/#sec-promiseresolvethenablejob',
+	ProxyCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-proxycreate',
+	PutValue: 'https://ecma-international.org/ecma-262/8.0/#sec-putvalue',
+	QuoteJSONString: 'https://ecma-international.org/ecma-262/8.0/#sec-quotejsonstring',
+	RawBytesToNumber: 'https://ecma-international.org/ecma-262/8.0/#sec-rawbytestonumber',
+	'reads-bytes-from': 'https://ecma-international.org/ecma-262/8.0/#sec-reads-bytes-from',
+	'reads-from': 'https://ecma-international.org/ecma-262/8.0/#sec-reads-from',
+	RegExpAlloc: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpalloc',
+	RegExpBuiltinExec: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpbuiltinexec',
+	RegExpCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpcreate',
+	RegExpExec: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpexec',
+	RegExpInitialize: 'https://ecma-international.org/ecma-262/8.0/#sec-regexpinitialize',
+	RejectPromise: 'https://ecma-international.org/ecma-262/8.0/#sec-rejectpromise',
+	RemoveWaiter: 'https://ecma-international.org/ecma-262/8.0/#sec-removewaiter',
+	RemoveWaiters: 'https://ecma-international.org/ecma-262/8.0/#sec-removewaiters',
+	RepeatMatcher: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-repeatmatcher-abstract-operation',
+	RequireObjectCoercible: 'https://ecma-international.org/ecma-262/8.0/#sec-requireobjectcoercible',
+	ResolveBinding: 'https://ecma-international.org/ecma-262/8.0/#sec-resolvebinding',
+	ResolveThisBinding: 'https://ecma-international.org/ecma-262/8.0/#sec-resolvethisbinding',
+	ReturnIfAbrupt: 'https://ecma-international.org/ecma-262/8.0/#sec-returnifabrupt',
+	RunJobs: 'https://ecma-international.org/ecma-262/8.0/#sec-runjobs',
+	SameValue: 'https://ecma-international.org/ecma-262/8.0/#sec-samevalue',
+	SameValueNonNumber: 'https://ecma-international.org/ecma-262/8.0/#sec-samevaluenonnumber',
+	SameValueZero: 'https://ecma-international.org/ecma-262/8.0/#sec-samevaluezero',
+	ScriptEvaluation: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-scriptevaluation',
+	ScriptEvaluationJob: 'https://ecma-international.org/ecma-262/8.0/#sec-scriptevaluationjob',
+	SecFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-SecFromTime',
+	SerializeJSONArray: 'https://ecma-international.org/ecma-262/8.0/#sec-serializejsonarray',
+	SerializeJSONObject: 'https://ecma-international.org/ecma-262/8.0/#sec-serializejsonobject',
+	SerializeJSONProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-serializejsonproperty',
+	Set: 'https://ecma-international.org/ecma-262/8.0/#sec-set-o-p-v-throw',
+	SetDefaultGlobalBindings: 'https://ecma-international.org/ecma-262/8.0/#sec-setdefaultglobalbindings',
+	SetFunctionName: 'https://ecma-international.org/ecma-262/8.0/#sec-setfunctionname',
+	SetImmutablePrototype: 'https://ecma-international.org/ecma-262/8.0/#sec-set-immutable-prototype',
+	SetIntegrityLevel: 'https://ecma-international.org/ecma-262/8.0/#sec-setintegritylevel',
+	SetRealmGlobalObject: 'https://ecma-international.org/ecma-262/8.0/#sec-setrealmglobalobject',
+	SetValueInBuffer: 'https://ecma-international.org/ecma-262/8.0/#sec-setvalueinbuffer',
+	SetViewValue: 'https://ecma-international.org/ecma-262/8.0/#sec-setviewvalue',
+	SharedDataBlockEventSet: 'https://ecma-international.org/ecma-262/8.0/#sec-sharedatablockeventset',
+	SortCompare: 'https://ecma-international.org/ecma-262/8.0/#sec-sortcompare',
+	SpeciesConstructor: 'https://ecma-international.org/ecma-262/8.0/#sec-speciesconstructor',
+	SplitMatch: 'https://ecma-international.org/ecma-262/8.0/#sec-splitmatch',
+	'Strict Equality Comparison': 'https://ecma-international.org/ecma-262/8.0/#sec-strict-equality-comparison',
+	StringCreate: 'https://ecma-international.org/ecma-262/8.0/#sec-stringcreate',
+	StringGetOwnProperty: 'https://ecma-international.org/ecma-262/8.0/#sec-stringgetownproperty',
+	Suspend: 'https://ecma-international.org/ecma-262/8.0/#sec-suspend',
+	SymbolDescriptiveString: 'https://ecma-international.org/ecma-262/8.0/#sec-symboldescriptivestring',
+	'synchronizes-with': 'https://ecma-international.org/ecma-262/8.0/#sec-synchronizes-with',
+	TestIntegrityLevel: 'https://ecma-international.org/ecma-262/8.0/#sec-testintegritylevel',
+	thisBooleanValue: 'https://ecma-international.org/ecma-262/8.0/#sec-thisbooleanvalue',
+	thisNumberValue: 'https://ecma-international.org/ecma-262/8.0/#sec-thisnumbervalue',
+	thisStringValue: 'https://ecma-international.org/ecma-262/8.0/#sec-thisstringvalue',
+	thisTimeValue: 'https://ecma-international.org/ecma-262/8.0/#sec-thistimevalue',
+	TimeClip: 'https://ecma-international.org/ecma-262/8.0/#sec-timeclip',
+	TimeFromYear: 'https://ecma-international.org/ecma-262/8.0/#eqn-TimeFromYear',
+	TimeWithinDay: 'https://ecma-international.org/ecma-262/8.0/#eqn-TimeWithinDay',
+	ToBoolean: 'https://ecma-international.org/ecma-262/8.0/#sec-toboolean',
+	ToDateString: 'https://ecma-international.org/ecma-262/8.0/#sec-todatestring',
+	ToIndex: 'https://ecma-international.org/ecma-262/8.0/#sec-toindex',
+	ToInt16: 'https://ecma-international.org/ecma-262/8.0/#sec-toint16',
+	ToInt32: 'https://ecma-international.org/ecma-262/8.0/#sec-toint32',
+	ToInt8: 'https://ecma-international.org/ecma-262/8.0/#sec-toint8',
+	ToInteger: 'https://ecma-international.org/ecma-262/8.0/#sec-tointeger',
+	ToLength: 'https://ecma-international.org/ecma-262/8.0/#sec-tolength',
+	ToNumber: 'https://ecma-international.org/ecma-262/8.0/#sec-tonumber',
+	ToObject: 'https://ecma-international.org/ecma-262/8.0/#sec-toobject',
+	TopLevelModuleEvaluationJob: 'https://ecma-international.org/ecma-262/8.0/#sec-toplevelmoduleevaluationjob',
+	ToPrimitive: 'https://ecma-international.org/ecma-262/8.0/#sec-toprimitive',
+	ToPropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-topropertydescriptor',
+	ToPropertyKey: 'https://ecma-international.org/ecma-262/8.0/#sec-topropertykey',
+	ToString: 'https://ecma-international.org/ecma-262/8.0/#sec-tostring',
+	'ToString Applied to the Number Type': 'https://ecma-international.org/ecma-262/8.0/#sec-tostring-applied-to-the-number-type',
+	ToUint16: 'https://ecma-international.org/ecma-262/8.0/#sec-touint16',
+	ToUint32: 'https://ecma-international.org/ecma-262/8.0/#sec-touint32',
+	ToUint8: 'https://ecma-international.org/ecma-262/8.0/#sec-touint8',
+	ToUint8Clamp: 'https://ecma-international.org/ecma-262/8.0/#sec-touint8clamp',
+	TriggerPromiseReactions: 'https://ecma-international.org/ecma-262/8.0/#sec-triggerpromisereactions',
+	Type: 'https://ecma-international.org/ecma-262/8.0/#sec-ecmascript-data-types-and-values',
+	TypedArrayCreate: 'https://ecma-international.org/ecma-262/8.0/#typedarray-create',
+	TypedArraySpeciesCreate: 'https://ecma-international.org/ecma-262/8.0/#typedarray-species-create',
+	UpdateEmpty: 'https://ecma-international.org/ecma-262/8.0/#sec-updateempty',
+	UTC: 'https://ecma-international.org/ecma-262/8.0/#sec-utc-t',
+	UTF16Decode: 'https://ecma-international.org/ecma-262/8.0/#sec-utf16decode',
+	UTF16Encoding: 'https://ecma-international.org/ecma-262/8.0/#sec-utf16encoding',
+	ValidateAndApplyPropertyDescriptor: 'https://ecma-international.org/ecma-262/8.0/#sec-validateandapplypropertydescriptor',
+	ValidateAtomicAccess: 'https://ecma-international.org/ecma-262/8.0/#sec-validateatomicaccess',
+	ValidateSharedIntegerTypedArray: 'https://ecma-international.org/ecma-262/8.0/#sec-validatesharedintegertypedarray',
+	ValidateTypedArray: 'https://ecma-international.org/ecma-262/8.0/#sec-validatetypedarray',
+	ValueOfReadEvent: 'https://ecma-international.org/ecma-262/8.0/#sec-valueofreadevent',
+	WakeWaiter: 'https://ecma-international.org/ecma-262/8.0/#sec-wakewaiter',
+	WeekDay: 'https://ecma-international.org/ecma-262/8.0/#sec-week-day',
+	WordCharacters: 'https://ecma-international.org/ecma-262/8.0/#sec-runtime-semantics-wordcharacters-abstract-operation',
+	YearFromTime: 'https://ecma-international.org/ecma-262/8.0/#eqn-YearFromTime'
 };

+ 0 - 10
node_modules/es-abstract/operations/es5.js

@@ -1,10 +0,0 @@
-'use strict';
-
-module.exports = {
-	IsPropertyDescriptor: 'http://ecma-international.org/ecma-262/5.1/#sec-8.10',
-	IsAccessorDescriptor: 'http://ecma-international.org/ecma-262/5.1/#sec-8.10.1',
-	IsDataDescriptor: 'http://ecma-international.org/ecma-262/5.1/#sec-8.10.2',
-	IsGenericDescriptor: 'http://ecma-international.org/ecma-262/5.1/#sec-8.10.3',
-	FromPropertyDescriptor: 'http://ecma-international.org/ecma-262/5.1/#sec-8.10.4',
-	ToPropertyDescriptor: 'http://ecma-international.org/ecma-262/5.1/#sec-8.10.5'
-};

+ 56 - 41
node_modules/es-abstract/package.json

@@ -1,33 +1,29 @@
 {
-  "_args": [
-    [
-      "es-abstract@1.11.0",
-      "D:\\projects\\dealer_front"
-    ]
-  ],
-  "_development": true,
-  "_from": "es-abstract@1.11.0",
-  "_id": "es-abstract@1.11.0",
+  "_from": "es-abstract@^1.17.0-next.0",
+  "_id": "es-abstract@1.17.0-next.1",
   "_inBundle": false,
-  "_integrity": "sha512-ZnQrE/lXTTQ39ulXZ+J1DTFazV9qBy61x2bY071B+qGco8Z8q1QddsLdt/EF8Ai9hcWH72dWS0kFqXLxOxqslA==",
+  "_integrity": "sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw==",
   "_location": "/es-abstract",
-  "_phantomChildren": {},
+  "_phantomChildren": {
+    "function-bind": "1.1.1"
+  },
   "_requested": {
-    "type": "version",
+    "type": "range",
     "registry": true,
-    "raw": "es-abstract@1.11.0",
+    "raw": "es-abstract@^1.17.0-next.0",
     "name": "es-abstract",
     "escapedName": "es-abstract",
-    "rawSpec": "1.11.0",
+    "rawSpec": "^1.17.0-next.0",
     "saveSpec": null,
-    "fetchSpec": "1.11.0"
+    "fetchSpec": "^1.17.0-next.0"
   },
   "_requiredBy": [
     "/array-includes"
   ],
-  "_resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.11.0.tgz",
-  "_spec": "1.11.0",
-  "_where": "D:\\projects\\dealer_front",
+  "_resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0-next.1.tgz",
+  "_shasum": "94acc93e20b05a6e96dacb5ab2f1cb3a81fc2172",
+  "_spec": "es-abstract@^1.17.0-next.0",
+  "_where": "D:\\workSpace\\dealer_front\\node_modules\\array-includes",
   "author": {
     "name": "Jordan Harband",
     "email": "ljharb@gmail.com",
@@ -36,6 +32,7 @@
   "bugs": {
     "url": "https://github.com/ljharb/es-abstract/issues"
   },
+  "bundleDependencies": false,
   "contributors": [
     {
       "name": "Jordan Harband",
@@ -44,31 +41,49 @@
     }
   ],
   "dependencies": {
-    "es-to-primitive": "^1.1.1",
+    "es-to-primitive": "^1.2.1",
     "function-bind": "^1.1.1",
-    "has": "^1.0.1",
-    "is-callable": "^1.1.3",
-    "is-regex": "^1.0.4"
+    "has": "^1.0.3",
+    "has-symbols": "^1.0.1",
+    "is-callable": "^1.1.4",
+    "is-regex": "^1.0.4",
+    "object-inspect": "^1.7.0",
+    "object-keys": "^1.1.1",
+    "object.assign": "^4.1.0",
+    "string.prototype.trimleft": "^2.1.0",
+    "string.prototype.trimright": "^2.1.0"
   },
+  "deprecated": false,
   "description": "ECMAScript spec abstract operations.",
   "devDependencies": {
-    "@ljharb/eslint-config": "^12.2.1",
-    "editorconfig-tools": "^0.1.1",
-    "eslint": "^4.19.0",
+    "@ljharb/eslint-config": "^15.0.2",
+    "cheerio": "^1.0.0-rc.3",
+    "diff": "^4.0.1",
+    "eclint": "^2.8.1",
+    "eslint": "^6.7.2",
     "foreach": "^2.0.5",
-    "jscs": "^3.0.7",
-    "nsp": "^3.2.1",
+    "in-publish": "^2.0.0",
+    "make-arrow-function": "^1.1.0",
     "nyc": "^10.3.2",
     "object-is": "^1.0.1",
-    "object.assign": "^4.1.0",
-    "replace": "^0.3.0",
-    "safe-publish-latest": "^1.1.1",
-    "semver": "^5.5.0",
-    "tape": "^4.9.0"
+    "object.fromentries": "^2.0.1",
+    "replace": "^1.1.1",
+    "safe-publish-latest": "^1.1.4",
+    "semver": "^6.3.0",
+    "tape": "^4.11.0"
   },
   "engines": {
     "node": ">= 0.4"
   },
+  "funding": {
+    "url": "https://github.com/sponsors/ljharb"
+  },
+  "greenkeeper": {
+    "//": "nyc is ignored because it requires node 4+, and we support older than that",
+    "ignore": [
+      "nyc"
+    ]
+  },
   "homepage": "https://github.com/ljharb/es-abstract#readme",
   "keywords": [
     "ECMAScript",
@@ -89,16 +104,16 @@
     "url": "git://github.com/ljharb/es-abstract.git"
   },
   "scripts": {
-    "coverage": "nyc npm run --silent tests-only >/dev/null 2>&1",
-    "eccheck": "editorconfig-tools check *.js **/*.js > /dev/null",
-    "eslint": "eslint test/*.js *.js",
-    "jscs": "jscs test/*.js *.js",
-    "lint": "npm run --silent jscs && npm run --silent eslint",
+    "coverage": "nyc npm run --silent tests-only >/dev/null",
+    "eccheck": "eclint check *.js **/*.js > /dev/null",
+    "lint": "eslint .",
     "postcoverage": "nyc report",
-    "posttest": "npm run --silent security",
-    "prepublish": "safe-publish-latest",
+    "postspackle": "git ls-files | xargs git check-attr spackled | grep -v 'unspecified$' | cut -d: -f1 | xargs git add",
+    "posttest": "npx aud --production",
+    "prepublish": "safe-publish-latest && (not-in-publish || npm run spackle)",
+    "prespackle": "git ls-files | xargs git check-attr spackled | grep -v 'unspecified$' | cut -d: -f1 | xargs rm",
     "pretest": "npm run --silent lint",
-    "security": "nsp check",
+    "spackle": "node operations/spackle 1",
     "test": "npm run tests-only",
     "tests-only": "node test"
   },
@@ -120,5 +135,5 @@
       "android-browser/4.2"
     ]
   },
-  "version": "1.11.0"
+  "version": "1.17.0-next.1"
 }

+ 0 - 11
node_modules/es-abstract/test/.eslintrc

@@ -1,11 +0,0 @@
-{
-	"rules": {
-		"id-length": 0,
-		"max-lines": 0,
-		"max-statements-per-line": [2, { "max": 3 }],
-		"max-nested-callbacks": [2, 3],
-		"max-statements": 0,
-		"no-implicit-coercion": [1],
-		"no-invalid-this": [1]
-	}
-}

+ 4 - 2
node_modules/es-abstract/test/diffOps.js

@@ -3,7 +3,7 @@
 var keys = require('object-keys');
 var forEach = require('foreach');
 
-module.exports = function diffOperations(actual, expected) {
+module.exports = function diffOperations(actual, expected, expectedMissing) {
 	var actualKeys = keys(actual);
 	var expectedKeys = keys(expected);
 
@@ -12,10 +12,12 @@ module.exports = function diffOperations(actual, expected) {
 	forEach(actualKeys, function (op) {
 		if (!(op in expected)) {
 			extra.push(op);
+		} else if (expectedMissing.indexOf(op) !== -1) {
+			extra.push(op);
 		}
 	});
 	forEach(expectedKeys, function (op) {
-		if (!(op in actual)) {
+		if (typeof actual[op] !== 'function' && expectedMissing.indexOf(op) === -1) {
 			missing.push(op);
 		}
 	});

+ 3 - 3
node_modules/es-abstract/test/es2015.js

@@ -4,8 +4,8 @@ var ES = require('../').ES2015;
 
 var ops = require('../operations/2015');
 
-// jscs:disable
-var expectedMissing = ['CreateMethodProperty', 'DefinePropertyOrThrow', 'DeletePropertyOrThrow', 'Construct', 'SetIntegrityLevel', 'TestIntegrityLevel', 'CreateArrayFromList', 'CreateListFromArrayLike', 'OrdinaryHasInstance', 'EnumerableOwnNames', 'CreateListIterator', 'thisNumberValue', 'thisTimeValue', 'thisStringValue', 'RegExpBuiltinExec', 'IsPromise'];
-// jscs:enable
+var expectedMissing = ['Construct', 'CreateArrayFromList', 'CreateListIterator', 'NormalCompletion', 'RegExpBuiltinExec'];
 
 require('./tests').es2015(ES, ops, expectedMissing);
+
+require('./helpers/runManifestTest')(require('tape'), ES, 2015);

Fișier diff suprimat deoarece este prea mare
+ 0 - 3
node_modules/es-abstract/test/es2016.js


Fișier diff suprimat deoarece este prea mare
+ 0 - 3
node_modules/es-abstract/test/es2017.js


+ 481 - 112
node_modules/es-abstract/test/es5.js

@@ -5,45 +5,33 @@ var test = require('tape');
 
 var forEach = require('foreach');
 var is = require('object-is');
+var debug = require('object-inspect');
 
-var coercibleObject = { valueOf: function () { return '3'; }, toString: function () { return 42; } };
-var coercibleFnObject = {
-	valueOf: function () { return function valueOfFn() {}; },
-	toString: function () { return 42; }
-};
-var valueOfOnlyObject = { valueOf: function () { return 4; }, toString: function () { return {}; } };
-var toStringOnlyObject = { valueOf: function () { return {}; }, toString: function () { return 7; } };
-var uncoercibleObject = { valueOf: function () { return {}; }, toString: function () { return {}; } };
-var uncoercibleFnObject = {
-	valueOf: function () { return function valueOfFn() {}; },
-	toString: function () { return function toStrFn() {}; }
-};
-var objects = [{}, coercibleObject, toStringOnlyObject, valueOfOnlyObject];
-var numbers = [0, -0, Infinity, -Infinity, 42];
-var nonNullPrimitives = [true, false, 'foo', ''].concat(numbers);
-var primitives = [undefined, null].concat(nonNullPrimitives);
+var v = require('./helpers/values');
+
+require('./helpers/runManifestTest')(test, ES, 5);
 
 test('ToPrimitive', function (t) {
 	t.test('primitives', function (st) {
 		var testPrimitive = function (primitive) {
-			st.ok(is(ES.ToPrimitive(primitive), primitive), primitive + ' is returned correctly');
+			st.ok(is(ES.ToPrimitive(primitive), primitive), debug(primitive) + ' is returned correctly');
 		};
-		forEach(primitives, testPrimitive);
+		forEach(v.primitives, testPrimitive);
 		st.end();
 	});
 
 	t.test('objects', function (st) {
-		st.equal(ES.ToPrimitive(coercibleObject), coercibleObject.valueOf(), 'coercibleObject coerces to valueOf');
-		st.equal(ES.ToPrimitive(coercibleObject, Number), coercibleObject.valueOf(), 'coercibleObject with hint Number coerces to valueOf');
-		st.equal(ES.ToPrimitive(coercibleObject, String), coercibleObject.toString(), 'coercibleObject with hint String coerces to toString');
-		st.equal(ES.ToPrimitive(coercibleFnObject), coercibleFnObject.toString(), 'coercibleFnObject coerces to toString');
-		st.equal(ES.ToPrimitive(toStringOnlyObject), toStringOnlyObject.toString(), 'toStringOnlyObject returns toString');
-		st.equal(ES.ToPrimitive(valueOfOnlyObject), valueOfOnlyObject.valueOf(), 'valueOfOnlyObject returns valueOf');
+		st.equal(ES.ToPrimitive(v.coercibleObject), v.coercibleObject.valueOf(), 'coercibleObject coerces to valueOf');
+		st.equal(ES.ToPrimitive(v.coercibleObject, Number), v.coercibleObject.valueOf(), 'coercibleObject with hint Number coerces to valueOf');
+		st.equal(ES.ToPrimitive(v.coercibleObject, String), v.coercibleObject.toString(), 'coercibleObject with hint String coerces to toString');
+		st.equal(ES.ToPrimitive(v.coercibleFnObject), v.coercibleFnObject.toString(), 'coercibleFnObject coerces to toString');
+		st.equal(ES.ToPrimitive(v.toStringOnlyObject), v.toStringOnlyObject.toString(), 'toStringOnlyObject returns toString');
+		st.equal(ES.ToPrimitive(v.valueOfOnlyObject), v.valueOfOnlyObject.valueOf(), 'valueOfOnlyObject returns valueOf');
 		st.equal(ES.ToPrimitive({}), '[object Object]', '{} with no hint coerces to Object#toString');
 		st.equal(ES.ToPrimitive({}, String), '[object Object]', '{} with hint String coerces to Object#toString');
 		st.equal(ES.ToPrimitive({}, Number), '[object Object]', '{} with hint Number coerces to Object#toString');
-		st['throws'](function () { return ES.ToPrimitive(uncoercibleObject); }, TypeError, 'uncoercibleObject throws a TypeError');
-		st['throws'](function () { return ES.ToPrimitive(uncoercibleFnObject); }, TypeError, 'uncoercibleFnObject throws a TypeError');
+		st['throws'](function () { return ES.ToPrimitive(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws a TypeError');
+		st['throws'](function () { return ES.ToPrimitive(v.uncoercibleFnObject); }, TypeError, 'uncoercibleFnObject throws a TypeError');
 		st.end();
 	});
 
@@ -63,10 +51,10 @@ test('ToBoolean', function (t) {
 	});
 	t.equal(false, ES.ToBoolean(''), 'empty string coerces to false');
 	t.equal(true, ES.ToBoolean('foo'), 'nonempty string coerces to true');
-	forEach(objects, function (obj) {
+	forEach(v.objects, function (obj) {
 		t.equal(true, ES.ToBoolean(obj), 'object coerces to true');
 	});
-	t.equal(true, ES.ToBoolean(uncoercibleObject), 'uncoercibleObject coerces to true');
+	t.equal(true, ES.ToBoolean(v.uncoercibleObject), 'uncoercibleObject coerces to true');
 	t.end();
 });
 
@@ -82,10 +70,10 @@ test('ToNumber', function (t) {
 	forEach(['foo', '0', '4a', '2.0', 'Infinity', '-Infinity'], function (numString) {
 		t.ok(is(+numString, ES.ToNumber(numString)), '"' + numString + '" coerces to ' + Number(numString));
 	});
-	forEach(objects, function (object) {
+	forEach(v.objects, function (object) {
 		t.ok(is(ES.ToNumber(object), ES.ToNumber(ES.ToPrimitive(object))), 'object ' + object + ' coerces to same as ToPrimitive of object does');
 	});
-	t['throws'](function () { return ES.ToNumber(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
+	t['throws'](function () { return ES.ToNumber(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
 	t.end();
 });
 
@@ -96,7 +84,7 @@ test('ToInteger', function (t) {
 		t.ok(is(-num, ES.ToInteger(-num)), '-' + num + ' returns itself');
 	});
 	t.equal(3, ES.ToInteger(Math.PI), 'pi returns 3');
-	t['throws'](function () { return ES.ToInteger(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
+	t['throws'](function () { return ES.ToInteger(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
 	t.end();
 });
 
@@ -106,7 +94,7 @@ test('ToInt32', function (t) {
 		t.ok(is(0, ES.ToInt32(num)), num + ' returns +0');
 		t.ok(is(0, ES.ToInt32(-num)), '-' + num + ' returns +0');
 	});
-	t['throws'](function () { return ES.ToInt32(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
+	t['throws'](function () { return ES.ToInt32(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
 	t.ok(is(ES.ToInt32(0x100000000), 0), '2^32 returns +0');
 	t.ok(is(ES.ToInt32(0x100000000 - 1), -1), '2^32 - 1 returns -1');
 	t.ok(is(ES.ToInt32(0x80000000), -0x80000000), '2^31 returns -2^31');
@@ -124,7 +112,7 @@ test('ToUint32', function (t) {
 		t.ok(is(0, ES.ToUint32(num)), num + ' returns +0');
 		t.ok(is(0, ES.ToUint32(-num)), '-' + num + ' returns +0');
 	});
-	t['throws'](function () { return ES.ToUint32(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
+	t['throws'](function () { return ES.ToUint32(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
 	t.ok(is(ES.ToUint32(0x100000000), 0), '2^32 returns +0');
 	t.ok(is(ES.ToUint32(0x100000000 - 1), 0x100000000 - 1), '2^32 - 1 returns 2^32 - 1');
 	t.ok(is(ES.ToUint32(0x80000000), 0x80000000), '2^31 returns 2^31');
@@ -142,7 +130,7 @@ test('ToUint16', function (t) {
 		t.ok(is(0, ES.ToUint16(num)), num + ' returns +0');
 		t.ok(is(0, ES.ToUint16(-num)), '-' + num + ' returns +0');
 	});
-	t['throws'](function () { return ES.ToUint16(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
+	t['throws'](function () { return ES.ToUint16(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
 	t.ok(is(ES.ToUint16(0x100000000), 0), '2^32 returns +0');
 	t.ok(is(ES.ToUint16(0x100000000 - 1), 0x10000 - 1), '2^32 - 1 returns 2^16 - 1');
 	t.ok(is(ES.ToUint16(0x80000000), 0), '2^31 returns +0');
@@ -153,14 +141,14 @@ test('ToUint16', function (t) {
 });
 
 test('ToString', function (t) {
-	t['throws'](function () { return ES.ToString(uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
+	t['throws'](function () { return ES.ToString(v.uncoercibleObject); }, TypeError, 'uncoercibleObject throws');
 	t.end();
 });
 
 test('ToObject', function (t) {
 	t['throws'](function () { return ES.ToObject(undefined); }, TypeError, 'undefined throws');
 	t['throws'](function () { return ES.ToObject(null); }, TypeError, 'null throws');
-	forEach(numbers, function (number) {
+	forEach(v.numbers, function (number) {
 		var obj = ES.ToObject(number);
 		t.equal(typeof obj, 'object', 'number ' + number + ' coerces to object');
 		t.equal(true, obj instanceof Number, 'object of ' + number + ' is Number object');
@@ -173,17 +161,17 @@ test('CheckObjectCoercible', function (t) {
 	t['throws'](function () { return ES.CheckObjectCoercible(undefined); }, TypeError, 'undefined throws');
 	t['throws'](function () { return ES.CheckObjectCoercible(null); }, TypeError, 'null throws');
 	var checkCoercible = function (value) {
-		t.doesNotThrow(function () { return ES.CheckObjectCoercible(value); }, '"' + value + '" does not throw');
+		t.doesNotThrow(function () { return ES.CheckObjectCoercible(value); }, debug(value) + ' does not throw');
 	};
-	forEach(objects.concat(nonNullPrimitives), checkCoercible);
+	forEach(v.objects.concat(v.nonNullPrimitives), checkCoercible);
 	t.end();
 });
 
 test('IsCallable', function (t) {
 	t.equal(true, ES.IsCallable(function () {}), 'function is callable');
-	var nonCallables = [/a/g, {}, Object.prototype, NaN].concat(primitives);
+	var nonCallables = [/a/g, {}, Object.prototype, NaN].concat(v.primitives);
 	forEach(nonCallables, function (nonCallable) {
-		t.equal(false, ES.IsCallable(nonCallable), nonCallable + ' is not callable');
+		t.equal(false, ES.IsCallable(nonCallable), debug(nonCallable) + ' is not callable');
 	});
 	t.end();
 });
@@ -191,8 +179,8 @@ test('IsCallable', function (t) {
 test('SameValue', function (t) {
 	t.equal(true, ES.SameValue(NaN, NaN), 'NaN is SameValue as NaN');
 	t.equal(false, ES.SameValue(0, -0), '+0 is not SameValue as -0');
-	forEach(objects.concat(primitives), function (val) {
-		t.equal(val === val, ES.SameValue(val, val), '"' + val + '" is SameValue to itself');
+	forEach(v.objects.concat(v.primitives), function (val) {
+		t.equal(val === val, ES.SameValue(val, val), debug(val) + ' is SameValue to itself');
 	});
 	t.end();
 });
@@ -211,107 +199,84 @@ test('Type', function (t) {
 	t.end();
 });
 
-var bothDescriptor = function () {
-	return { '[[Get]]': function () {}, '[[Value]]': true };
-};
-var accessorDescriptor = function () {
-	return {
-		'[[Get]]': function () {},
-		'[[Enumerable]]': true,
-		'[[Configurable]]': true
-	};
-};
-var mutatorDescriptor = function () {
-	return {
-		'[[Set]]': function () {},
-		'[[Enumerable]]': true,
-		'[[Configurable]]': true
-	};
-};
-var dataDescriptor = function () {
-	return {
-		'[[Value]]': 42,
-		'[[Writable]]': false,
-		'[[Configurable]]': false
-	};
-};
-var genericDescriptor = function () {
-	return {
-		'[[Configurable]]': true,
-		'[[Enumerable]]': false
-	};
-};
-
 test('IsPropertyDescriptor', function (t) {
-	forEach(primitives, function (primitive) {
-		t.equal(ES.IsPropertyDescriptor(primitive), false, primitive + ' is not a Property Descriptor');
+	forEach(v.primitives, function (primitive) {
+		t.equal(ES.IsPropertyDescriptor(primitive), false, debug(primitive) + ' is not a Property Descriptor');
 	});
 
 	t.equal(ES.IsPropertyDescriptor({ invalid: true }), false, 'invalid keys not allowed on a Property Descriptor');
 
 	t.equal(ES.IsPropertyDescriptor({}), true, 'empty object is an incomplete Property Descriptor');
 
-	t.equal(ES.IsPropertyDescriptor(accessorDescriptor()), true, 'accessor descriptor is a Property Descriptor');
-	t.equal(ES.IsPropertyDescriptor(mutatorDescriptor()), true, 'mutator descriptor is a Property Descriptor');
-	t.equal(ES.IsPropertyDescriptor(dataDescriptor()), true, 'data descriptor is a Property Descriptor');
-	t.equal(ES.IsPropertyDescriptor(genericDescriptor()), true, 'generic descriptor is a Property Descriptor');
+	t.equal(ES.IsPropertyDescriptor(v.accessorDescriptor()), true, 'accessor descriptor is a Property Descriptor');
+	t.equal(ES.IsPropertyDescriptor(v.mutatorDescriptor()), true, 'mutator descriptor is a Property Descriptor');
+	t.equal(ES.IsPropertyDescriptor(v.dataDescriptor()), true, 'data descriptor is a Property Descriptor');
+	t.equal(ES.IsPropertyDescriptor(v.genericDescriptor()), true, 'generic descriptor is a Property Descriptor');
+
+	t['throws'](
+		function () { ES.IsPropertyDescriptor(v.bothDescriptor()); },
+		TypeError,
+		'a Property Descriptor can not be both a Data and an Accessor Descriptor'
+	);
 
-	t['throws'](function () {
-		ES.IsPropertyDescriptor(bothDescriptor());
-	}, TypeError, 'a Property Descriptor can not be both a Data and an Accessor Descriptor');
+	t['throws'](
+		function () { ES.IsPropertyDescriptor(v.bothDescriptorWritable()); },
+		TypeError,
+		'a Property Descriptor can not be both a Data and an Accessor Descriptor'
+	);
 
 	t.end();
 });
 
 test('IsAccessorDescriptor', function (t) {
-	forEach(nonNullPrimitives.concat(null), function (primitive) {
-		t['throws'](function () { ES.IsAccessorDescriptor(primitive); }, TypeError, primitive + ' is not a Property Descriptor');
+	forEach(v.nonNullPrimitives.concat(null), function (primitive) {
+		t['throws'](function () { ES.IsAccessorDescriptor(primitive); }, TypeError, debug(primitive) + ' is not a Property Descriptor');
 	});
 
 	t.equal(ES.IsAccessorDescriptor(), false, 'no value is not an Accessor Descriptor');
 	t.equal(ES.IsAccessorDescriptor(undefined), false, 'undefined value is not an Accessor Descriptor');
 
-	t.equal(ES.IsAccessorDescriptor(accessorDescriptor()), true, 'accessor descriptor is an Accessor Descriptor');
-	t.equal(ES.IsAccessorDescriptor(mutatorDescriptor()), true, 'mutator descriptor is an Accessor Descriptor');
-	t.equal(ES.IsAccessorDescriptor(dataDescriptor()), false, 'data descriptor is not an Accessor Descriptor');
-	t.equal(ES.IsAccessorDescriptor(genericDescriptor()), false, 'generic descriptor is not an Accessor Descriptor');
+	t.equal(ES.IsAccessorDescriptor(v.accessorDescriptor()), true, 'accessor descriptor is an Accessor Descriptor');
+	t.equal(ES.IsAccessorDescriptor(v.mutatorDescriptor()), true, 'mutator descriptor is an Accessor Descriptor');
+	t.equal(ES.IsAccessorDescriptor(v.dataDescriptor()), false, 'data descriptor is not an Accessor Descriptor');
+	t.equal(ES.IsAccessorDescriptor(v.genericDescriptor()), false, 'generic descriptor is not an Accessor Descriptor');
 
 	t.end();
 });
 
 test('IsDataDescriptor', function (t) {
-	forEach(nonNullPrimitives.concat(null), function (primitive) {
-		t['throws'](function () { ES.IsDataDescriptor(primitive); }, TypeError, primitive + ' is not a Property Descriptor');
+	forEach(v.nonNullPrimitives.concat(null), function (primitive) {
+		t['throws'](function () { ES.IsDataDescriptor(primitive); }, TypeError, debug(primitive) + ' is not a Property Descriptor');
 	});
 
 	t.equal(ES.IsDataDescriptor(), false, 'no value is not a Data Descriptor');
 	t.equal(ES.IsDataDescriptor(undefined), false, 'undefined value is not a Data Descriptor');
 
-	t.equal(ES.IsDataDescriptor(accessorDescriptor()), false, 'accessor descriptor is not a Data Descriptor');
-	t.equal(ES.IsDataDescriptor(mutatorDescriptor()), false, 'mutator descriptor is not a Data Descriptor');
-	t.equal(ES.IsDataDescriptor(dataDescriptor()), true, 'data descriptor is a Data Descriptor');
-	t.equal(ES.IsDataDescriptor(genericDescriptor()), false, 'generic descriptor is not a Data Descriptor');
+	t.equal(ES.IsDataDescriptor(v.accessorDescriptor()), false, 'accessor descriptor is not a Data Descriptor');
+	t.equal(ES.IsDataDescriptor(v.mutatorDescriptor()), false, 'mutator descriptor is not a Data Descriptor');
+	t.equal(ES.IsDataDescriptor(v.dataDescriptor()), true, 'data descriptor is a Data Descriptor');
+	t.equal(ES.IsDataDescriptor(v.genericDescriptor()), false, 'generic descriptor is not a Data Descriptor');
 
 	t.end();
 });
 
 test('IsGenericDescriptor', function (t) {
-	forEach(nonNullPrimitives.concat(null), function (primitive) {
+	forEach(v.nonNullPrimitives.concat(null), function (primitive) {
 		t['throws'](
 			function () { ES.IsGenericDescriptor(primitive); },
 			TypeError,
-			primitive + ' is not a Property Descriptor'
+			debug(primitive) + ' is not a Property Descriptor'
 		);
 	});
 
 	t.equal(ES.IsGenericDescriptor(), false, 'no value is not a Data Descriptor');
 	t.equal(ES.IsGenericDescriptor(undefined), false, 'undefined value is not a Data Descriptor');
 
-	t.equal(ES.IsGenericDescriptor(accessorDescriptor()), false, 'accessor descriptor is not a generic Descriptor');
-	t.equal(ES.IsGenericDescriptor(mutatorDescriptor()), false, 'mutator descriptor is not a generic Descriptor');
-	t.equal(ES.IsGenericDescriptor(dataDescriptor()), false, 'data descriptor is not a generic Descriptor');
+	t.equal(ES.IsGenericDescriptor(v.accessorDescriptor()), false, 'accessor descriptor is not a generic Descriptor');
+	t.equal(ES.IsGenericDescriptor(v.mutatorDescriptor()), false, 'mutator descriptor is not a generic Descriptor');
+	t.equal(ES.IsGenericDescriptor(v.dataDescriptor()), false, 'data descriptor is not a generic Descriptor');
 
-	t.equal(ES.IsGenericDescriptor(genericDescriptor()), true, 'generic descriptor is a generic Descriptor');
+	t.equal(ES.IsGenericDescriptor(v.genericDescriptor()), true, 'generic descriptor is a generic Descriptor');
 
 	t.end();
 });
@@ -320,15 +285,15 @@ test('FromPropertyDescriptor', function (t) {
 	t.equal(ES.FromPropertyDescriptor(), undefined, 'no value begets undefined');
 	t.equal(ES.FromPropertyDescriptor(undefined), undefined, 'undefined value begets undefined');
 
-	forEach(nonNullPrimitives.concat(null), function (primitive) {
+	forEach(v.nonNullPrimitives.concat(null), function (primitive) {
 		t['throws'](
 			function () { ES.FromPropertyDescriptor(primitive); },
 			TypeError,
-			primitive + ' is not a Property Descriptor'
+			debug(primitive) + ' is not a Property Descriptor'
 		);
 	});
 
-	var accessor = accessorDescriptor();
+	var accessor = v.accessorDescriptor();
 	t.deepEqual(ES.FromPropertyDescriptor(accessor), {
 		get: accessor['[[Get]]'],
 		set: accessor['[[Set]]'],
@@ -336,14 +301,14 @@ test('FromPropertyDescriptor', function (t) {
 		configurable: !!accessor['[[Configurable]]']
 	});
 
-	var mutator = mutatorDescriptor();
+	var mutator = v.mutatorDescriptor();
 	t.deepEqual(ES.FromPropertyDescriptor(mutator), {
 		get: mutator['[[Get]]'],
 		set: mutator['[[Set]]'],
 		enumerable: !!mutator['[[Enumerable]]'],
 		configurable: !!mutator['[[Configurable]]']
 	});
-	var data = dataDescriptor();
+	var data = v.dataDescriptor();
 	t.deepEqual(ES.FromPropertyDescriptor(data), {
 		value: data['[[Value]]'],
 		writable: data['[[Writable]]'],
@@ -352,7 +317,7 @@ test('FromPropertyDescriptor', function (t) {
 	});
 
 	t['throws'](
-		function () { ES.FromPropertyDescriptor(genericDescriptor()); },
+		function () { ES.FromPropertyDescriptor(v.genericDescriptor()); },
 		TypeError,
 		'a complete Property Descriptor is required'
 	);
@@ -361,36 +326,36 @@ test('FromPropertyDescriptor', function (t) {
 });
 
 test('ToPropertyDescriptor', function (t) {
-	forEach(nonNullPrimitives.concat(null), function (primitive) {
+	forEach(v.nonNullPrimitives.concat(null), function (primitive) {
 		t['throws'](
 			function () { ES.ToPropertyDescriptor(primitive); },
 			TypeError,
-			primitive + ' is not an Object'
+			debug(primitive) + ' is not an Object'
 		);
 	});
 
-	var accessor = accessorDescriptor();
+	var accessor = v.accessorDescriptor();
 	t.deepEqual(ES.ToPropertyDescriptor({
 		get: accessor['[[Get]]'],
 		enumerable: !!accessor['[[Enumerable]]'],
 		configurable: !!accessor['[[Configurable]]']
 	}), accessor);
 
-	var mutator = mutatorDescriptor();
+	var mutator = v.mutatorDescriptor();
 	t.deepEqual(ES.ToPropertyDescriptor({
 		set: mutator['[[Set]]'],
 		enumerable: !!mutator['[[Enumerable]]'],
 		configurable: !!mutator['[[Configurable]]']
 	}), mutator);
 
-	var data = dataDescriptor();
+	var data = v.descriptors.nonConfigurable(v.dataDescriptor());
 	t.deepEqual(ES.ToPropertyDescriptor({
 		value: data['[[Value]]'],
 		writable: data['[[Writable]]'],
 		configurable: !!data['[[Configurable]]']
 	}), data);
 
-	var both = bothDescriptor();
+	var both = v.bothDescriptor();
 	t['throws'](
 		function () {
 			ES.ToPropertyDescriptor({ get: both['[[Get]]'], value: both['[[Value]]'] });
@@ -413,3 +378,407 @@ test('ToPropertyDescriptor', function (t) {
 
 	t.end();
 });
+
+test('Abstract Equality Comparison', function (t) {
+	t.test('same types use ===', function (st) {
+		forEach(v.primitives.concat(v.objects), function (value) {
+			st.equal(ES['Abstract Equality Comparison'](value, value), value === value, debug(value) + ' is abstractly equal to itself');
+		});
+		st.end();
+	});
+
+	t.test('different types coerce', function (st) {
+		var pairs = [
+			[null, undefined],
+			[3, '3'],
+			[true, '3'],
+			[true, 3],
+			[false, 0],
+			[false, '0'],
+			[3, [3]],
+			['3', [3]],
+			[true, [1]],
+			[false, [0]],
+			[String(v.coercibleObject), v.coercibleObject],
+			[Number(String(v.coercibleObject)), v.coercibleObject],
+			[Number(v.coercibleObject), v.coercibleObject],
+			[String(Number(v.coercibleObject)), v.coercibleObject]
+		];
+		forEach(pairs, function (pair) {
+			var a = pair[0];
+			var b = pair[1];
+			// eslint-disable-next-line eqeqeq
+			st.equal(ES['Abstract Equality Comparison'](a, b), a == b, debug(a) + ' == ' + debug(b));
+			// eslint-disable-next-line eqeqeq
+			st.equal(ES['Abstract Equality Comparison'](b, a), b == a, debug(b) + ' == ' + debug(a));
+		});
+		st.end();
+	});
+
+	t.end();
+});
+
+test('Strict Equality Comparison', function (t) {
+	t.test('same types use ===', function (st) {
+		forEach(v.primitives.concat(v.objects), function (value) {
+			st.equal(ES['Strict Equality Comparison'](value, value), value === value, debug(value) + ' is strictly equal to itself');
+		});
+		st.end();
+	});
+
+	t.test('different types are not ===', function (st) {
+		var pairs = [
+			[null, undefined],
+			[3, '3'],
+			[true, '3'],
+			[true, 3],
+			[false, 0],
+			[false, '0'],
+			[3, [3]],
+			['3', [3]],
+			[true, [1]],
+			[false, [0]],
+			[String(v.coercibleObject), v.coercibleObject],
+			[Number(String(v.coercibleObject)), v.coercibleObject],
+			[Number(v.coercibleObject), v.coercibleObject],
+			[String(Number(v.coercibleObject)), v.coercibleObject]
+		];
+		forEach(pairs, function (pair) {
+			var a = pair[0];
+			var b = pair[1];
+			st.equal(ES['Strict Equality Comparison'](a, b), a === b, debug(a) + ' === ' + debug(b));
+			st.equal(ES['Strict Equality Comparison'](b, a), b === a, debug(b) + ' === ' + debug(a));
+		});
+		st.end();
+	});
+
+	t.end();
+});
+
+test('Abstract Relational Comparison', function (t) {
+	t.test('at least one operand is NaN', function (st) {
+		st.equal(ES['Abstract Relational Comparison'](NaN, {}, true), undefined, 'LeftFirst: first is NaN, returns undefined');
+		st.equal(ES['Abstract Relational Comparison']({}, NaN, true), undefined, 'LeftFirst: second is NaN, returns undefined');
+		st.equal(ES['Abstract Relational Comparison'](NaN, {}, false), undefined, '!LeftFirst: first is NaN, returns undefined');
+		st.equal(ES['Abstract Relational Comparison']({}, NaN, false), undefined, '!LeftFirst: second is NaN, returns undefined');
+		st.end();
+	});
+
+	t.equal(ES['Abstract Relational Comparison'](3, 4, true), true, 'LeftFirst: 3 is less than 4');
+	t.equal(ES['Abstract Relational Comparison'](4, 3, true), false, 'LeftFirst: 3 is not less than 4');
+	t.equal(ES['Abstract Relational Comparison'](3, 4, false), true, '!LeftFirst: 3 is less than 4');
+	t.equal(ES['Abstract Relational Comparison'](4, 3, false), false, '!LeftFirst: 3 is not less than 4');
+
+	t.equal(ES['Abstract Relational Comparison']('3', '4', true), true, 'LeftFirst: "3" is less than "4"');
+	t.equal(ES['Abstract Relational Comparison']('4', '3', true), false, 'LeftFirst: "3" is not less than "4"');
+	t.equal(ES['Abstract Relational Comparison']('3', '4', false), true, '!LeftFirst: "3" is less than "4"');
+	t.equal(ES['Abstract Relational Comparison']('4', '3', false), false, '!LeftFirst: "3" is not less than "4"');
+
+	t.equal(ES['Abstract Relational Comparison'](v.coercibleObject, 42, true), true, 'LeftFirst: coercible object is less than 42');
+	t.equal(ES['Abstract Relational Comparison'](42, v.coercibleObject, true), false, 'LeftFirst: 42 is not less than coercible object');
+	t.equal(ES['Abstract Relational Comparison'](v.coercibleObject, 42, false), true, '!LeftFirst: coercible object is less than 42');
+	t.equal(ES['Abstract Relational Comparison'](42, v.coercibleObject, false), false, '!LeftFirst: 42 is not less than coercible object');
+
+	t.equal(ES['Abstract Relational Comparison'](v.coercibleObject, '3', true), false, 'LeftFirst: coercible object is not less than "3"');
+	t.equal(ES['Abstract Relational Comparison']('3', v.coercibleObject, true), false, 'LeftFirst: "3" is not less than coercible object');
+	t.equal(ES['Abstract Relational Comparison'](v.coercibleObject, '3', false), false, '!LeftFirst: coercible object is not less than "3"');
+	t.equal(ES['Abstract Relational Comparison']('3', v.coercibleObject, false), false, '!LeftFirst: "3" is not less than coercible object');
+
+	t.end();
+});
+
+test('FromPropertyDescriptor', function (t) {
+	t.equal(ES.FromPropertyDescriptor(), undefined, 'no value begets undefined');
+	t.equal(ES.FromPropertyDescriptor(undefined), undefined, 'undefined value begets undefined');
+
+	forEach(v.nonUndefinedPrimitives, function (primitive) {
+		t['throws'](
+			function () { ES.FromPropertyDescriptor(primitive); },
+			TypeError,
+			debug(primitive) + ' is not a Property Descriptor'
+		);
+	});
+
+	var accessor = v.accessorDescriptor();
+	t.deepEqual(ES.FromPropertyDescriptor(accessor), {
+		get: accessor['[[Get]]'],
+		set: accessor['[[Set]]'],
+		enumerable: !!accessor['[[Enumerable]]'],
+		configurable: !!accessor['[[Configurable]]']
+	});
+
+	var mutator = v.mutatorDescriptor();
+	t.deepEqual(ES.FromPropertyDescriptor(mutator), {
+		get: mutator['[[Get]]'],
+		set: mutator['[[Set]]'],
+		enumerable: !!mutator['[[Enumerable]]'],
+		configurable: !!mutator['[[Configurable]]']
+	});
+	var data = v.dataDescriptor();
+	t.deepEqual(ES.FromPropertyDescriptor(data), {
+		value: data['[[Value]]'],
+		writable: data['[[Writable]]'],
+		enumerable: !!data['[[Enumerable]]'],
+		configurable: !!data['[[Configurable]]']
+	});
+
+	t['throws'](
+		function () { ES.FromPropertyDescriptor(v.genericDescriptor()); },
+		TypeError,
+		'a complete Property Descriptor is required'
+	);
+
+	t.end();
+});
+
+test('SecFromTime', function (t) {
+	var now = new Date();
+	t.equal(ES.SecFromTime(now.getTime()), now.getUTCSeconds(), 'second from Date timestamp matches getUTCSeconds');
+	t.end();
+});
+
+test('MinFromTime', function (t) {
+	var now = new Date();
+	t.equal(ES.MinFromTime(now.getTime()), now.getUTCMinutes(), 'minute from Date timestamp matches getUTCMinutes');
+	t.end();
+});
+
+test('HourFromTime', function (t) {
+	var now = new Date();
+	t.equal(ES.HourFromTime(now.getTime()), now.getUTCHours(), 'hour from Date timestamp matches getUTCHours');
+	t.end();
+});
+
+test('msFromTime', function (t) {
+	var now = new Date();
+	t.equal(ES.msFromTime(now.getTime()), now.getUTCMilliseconds(), 'ms from Date timestamp matches getUTCMilliseconds');
+	t.end();
+});
+
+var msPerSecond = 1e3;
+var msPerMinute = 60 * msPerSecond;
+var msPerHour = 60 * msPerMinute;
+var msPerDay = 24 * msPerHour;
+
+test('Day', function (t) {
+	var time = Date.UTC(2019, 8, 10, 2, 3, 4, 5);
+	var add = 2.5;
+	var later = new Date(time + (add * msPerDay));
+
+	t.equal(ES.Day(later.getTime()), ES.Day(time) + Math.floor(add), 'adding 2.5 days worth of ms, gives a Day delta of 2');
+	t.end();
+});
+
+test('TimeWithinDay', function (t) {
+	var time = Date.UTC(2019, 8, 10, 2, 3, 4, 5);
+	var add = 2.5;
+	var later = new Date(time + (add * msPerDay));
+
+	t.equal(ES.TimeWithinDay(later.getTime()), ES.TimeWithinDay(time) + (0.5 * msPerDay), 'adding 2.5 days worth of ms, gives a TimeWithinDay delta of +0.5');
+	t.end();
+});
+
+test('DayFromYear', function (t) {
+	t.equal(ES.DayFromYear(2021) - ES.DayFromYear(2020), 366, '2021 is a leap year, has 366 days');
+	t.equal(ES.DayFromYear(2020) - ES.DayFromYear(2019), 365, '2020 is not a leap year, has 365 days');
+	t.equal(ES.DayFromYear(2019) - ES.DayFromYear(2018), 365, '2019 is not a leap year, has 365 days');
+	t.equal(ES.DayFromYear(2018) - ES.DayFromYear(2017), 365, '2018 is not a leap year, has 365 days');
+	t.equal(ES.DayFromYear(2017) - ES.DayFromYear(2016), 366, '2017 is a leap year, has 366 days');
+
+	t.end();
+});
+
+test('TimeFromYear', function (t) {
+	for (var i = 1900; i < 2100; i += 1) {
+		t.equal(ES.TimeFromYear(i), Date.UTC(i, 0, 1), 'TimeFromYear matches a Date object’s year: ' + i);
+	}
+	t.end();
+});
+
+test('YearFromTime', function (t) {
+	for (var i = 1900; i < 2100; i += 1) {
+		t.equal(ES.YearFromTime(Date.UTC(i, 0, 1)), i, 'YearFromTime matches a Date object’s year on 1/1: ' + i);
+		t.equal(ES.YearFromTime(Date.UTC(i, 10, 1)), i, 'YearFromTime matches a Date object’s year on 10/1: ' + i);
+	}
+	t.end();
+});
+
+test('WeekDay', function (t) {
+	var now = new Date();
+	var today = now.getUTCDay();
+	for (var i = 0; i < 7; i += 1) {
+		var weekDay = ES.WeekDay(now.getTime() + (i * msPerDay));
+		t.equal(weekDay, (today + i) % 7, i + ' days after today (' + today + '), WeekDay is ' + weekDay);
+	}
+	t.end();
+});
+
+test('DaysInYear', function (t) {
+	t.equal(ES.DaysInYear(2021), 365, '2021 is not a leap year');
+	t.equal(ES.DaysInYear(2020), 366, '2020 is a leap year');
+	t.equal(ES.DaysInYear(2019), 365, '2019 is not a leap year');
+	t.equal(ES.DaysInYear(2018), 365, '2018 is not a leap year');
+	t.equal(ES.DaysInYear(2017), 365, '2017 is not a leap year');
+	t.equal(ES.DaysInYear(2016), 366, '2016 is a leap year');
+
+	t.end();
+});
+
+test('InLeapYear', function (t) {
+	t.equal(ES.InLeapYear(Date.UTC(2021, 0, 1)), 0, '2021 is not a leap year');
+	t.equal(ES.InLeapYear(Date.UTC(2020, 0, 1)), 1, '2020 is a leap year');
+	t.equal(ES.InLeapYear(Date.UTC(2019, 0, 1)), 0, '2019 is not a leap year');
+	t.equal(ES.InLeapYear(Date.UTC(2018, 0, 1)), 0, '2018 is not a leap year');
+	t.equal(ES.InLeapYear(Date.UTC(2017, 0, 1)), 0, '2017 is not a leap year');
+	t.equal(ES.InLeapYear(Date.UTC(2016, 0, 1)), 1, '2016 is a leap year');
+
+	t.end();
+});
+
+test('DayWithinYear', function (t) {
+	t.equal(ES.DayWithinYear(Date.UTC(2019, 0, 1)), 0, '1/1 is the 1st day');
+	t.equal(ES.DayWithinYear(Date.UTC(2019, 11, 31)), 364, '12/31 is the 365th day in a non leap year');
+	t.equal(ES.DayWithinYear(Date.UTC(2016, 11, 31)), 365, '12/31 is the 366th day in a leap year');
+
+	t.end();
+});
+
+test('MonthFromTime', function (t) {
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 0, 1)), 0, 'non-leap: 1/1 gives January');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 0, 31)), 0, 'non-leap: 1/31 gives January');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 1, 1)), 1, 'non-leap: 2/1 gives February');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 1, 28)), 1, 'non-leap: 2/28 gives February');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 1, 29)), 2, 'non-leap: 2/29 gives March');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 2, 1)), 2, 'non-leap: 3/1 gives March');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 2, 31)), 2, 'non-leap: 3/31 gives March');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 3, 1)), 3, 'non-leap: 4/1 gives April');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 3, 30)), 3, 'non-leap: 4/30 gives April');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 4, 1)), 4, 'non-leap: 5/1 gives May');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 4, 31)), 4, 'non-leap: 5/31 gives May');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 5, 1)), 5, 'non-leap: 6/1 gives June');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 5, 30)), 5, 'non-leap: 6/30 gives June');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 6, 1)), 6, 'non-leap: 7/1 gives July');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 6, 31)), 6, 'non-leap: 7/31 gives July');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 7, 1)), 7, 'non-leap: 8/1 gives August');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 7, 30)), 7, 'non-leap: 8/30 gives August');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 8, 1)), 8, 'non-leap: 9/1 gives September');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 8, 30)), 8, 'non-leap: 9/30 gives September');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 9, 1)), 9, 'non-leap: 10/1 gives October');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 9, 31)), 9, 'non-leap: 10/31 gives October');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 10, 1)), 10, 'non-leap: 11/1 gives November');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 10, 30)), 10, 'non-leap: 11/30 gives November');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 11, 1)), 11, 'non-leap: 12/1 gives December');
+	t.equal(ES.MonthFromTime(Date.UTC(2019, 11, 31)), 11, 'non-leap: 12/31 gives December');
+
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 0, 1)), 0, 'leap: 1/1 gives January');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 0, 31)), 0, 'leap: 1/31 gives January');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 1, 1)), 1, 'leap: 2/1 gives February');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 1, 28)), 1, 'leap: 2/28 gives February');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 1, 29)), 1, 'leap: 2/29 gives February');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 2, 1)), 2, 'leap: 3/1 gives March');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 2, 31)), 2, 'leap: 3/31 gives March');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 3, 1)), 3, 'leap: 4/1 gives April');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 3, 30)), 3, 'leap: 4/30 gives April');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 4, 1)), 4, 'leap: 5/1 gives May');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 4, 31)), 4, 'leap: 5/31 gives May');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 5, 1)), 5, 'leap: 6/1 gives June');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 5, 30)), 5, 'leap: 6/30 gives June');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 6, 1)), 6, 'leap: 7/1 gives July');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 6, 31)), 6, 'leap: 7/31 gives July');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 7, 1)), 7, 'leap: 8/1 gives August');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 7, 30)), 7, 'leap: 8/30 gives August');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 8, 1)), 8, 'leap: 9/1 gives September');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 8, 30)), 8, 'leap: 9/30 gives September');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 9, 1)), 9, 'leap: 10/1 gives October');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 9, 31)), 9, 'leap: 10/31 gives October');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 10, 1)), 10, 'leap: 11/1 gives November');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 10, 30)), 10, 'leap: 11/30 gives November');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 11, 1)), 11, 'leap: 12/1 gives December');
+	t.equal(ES.MonthFromTime(Date.UTC(2016, 11, 31)), 11, 'leap: 12/31 gives December');
+	t.end();
+});
+
+test('DateFromTime', function (t) {
+	var i;
+	for (i = 1; i <= 28; i += 1) {
+		t.equal(ES.DateFromTime(Date.UTC(2019, 1, i)), i, '2019.02.' + i + ' is date ' + i);
+	}
+	for (i = 1; i <= 29; i += 1) {
+		t.equal(ES.DateFromTime(Date.UTC(2016, 1, i)), i, '2016.02.' + i + ' is date ' + i);
+	}
+	for (i = 1; i <= 30; i += 1) {
+		t.equal(ES.DateFromTime(Date.UTC(2019, 8, i)), i, '2019.09.' + i + ' is date ' + i);
+	}
+	for (i = 1; i <= 31; i += 1) {
+		t.equal(ES.DateFromTime(Date.UTC(2019, 9, i)), i, '2019.10.' + i + ' is date ' + i);
+	}
+	t.end();
+});
+
+test('MakeDay', function (t) {
+	var day2015 = 16687;
+	t.equal(ES.MakeDay(2015, 8, 9), day2015, '2015.09.09 is day 16687');
+	var day2016 = day2015 + 366; // 2016 is a leap year
+	t.equal(ES.MakeDay(2016, 8, 9), day2016, '2015.09.09 is day 17053');
+	var day2017 = day2016 + 365;
+	t.equal(ES.MakeDay(2017, 8, 9), day2017, '2017.09.09 is day 17418');
+	var day2018 = day2017 + 365;
+	t.equal(ES.MakeDay(2018, 8, 9), day2018, '2018.09.09 is day 17783');
+	var day2019 = day2018 + 365;
+	t.equal(ES.MakeDay(2019, 8, 9), day2019, '2019.09.09 is day 18148');
+	t.end();
+});
+
+test('MakeDate', function (t) {
+	forEach(v.infinities.concat(NaN), function (nonFiniteNumber) {
+		t.ok(is(ES.MakeDate(nonFiniteNumber, 0), NaN), debug(nonFiniteNumber) + ' is not a finite `day`');
+		t.ok(is(ES.MakeDate(0, nonFiniteNumber), NaN), debug(nonFiniteNumber) + ' is not a finite `time`');
+	});
+	t.equal(ES.MakeDate(0, 0), 0, 'zero day and zero time is zero date');
+	t.equal(ES.MakeDate(0, 123), 123, 'zero day and nonzero time is a date of the "time"');
+	t.equal(ES.MakeDate(1, 0), msPerDay, 'day of 1 and zero time is a date of "ms per day"');
+	t.equal(ES.MakeDate(3, 0), 3 * msPerDay, 'day of 3 and zero time is a date of thrice "ms per day"');
+	t.equal(ES.MakeDate(1, 123), msPerDay + 123, 'day of 1 and nonzero time is a date of "ms per day" plus the "time"');
+	t.equal(ES.MakeDate(3, 123), (3 * msPerDay) + 123, 'day of 3 and nonzero time is a date of thrice "ms per day" plus the "time"');
+
+	t.end();
+});
+
+test('MakeTime', function (t) {
+	forEach(v.infinities.concat(NaN), function (nonFiniteNumber) {
+		t.ok(is(ES.MakeTime(nonFiniteNumber, 0, 0, 0), NaN), debug(nonFiniteNumber) + ' is not a finite `hour`');
+		t.ok(is(ES.MakeTime(0, nonFiniteNumber, 0, 0), NaN), debug(nonFiniteNumber) + ' is not a finite `min`');
+		t.ok(is(ES.MakeTime(0, 0, nonFiniteNumber, 0), NaN), debug(nonFiniteNumber) + ' is not a finite `sec`');
+		t.ok(is(ES.MakeTime(0, 0, 0, nonFiniteNumber), NaN), debug(nonFiniteNumber) + ' is not a finite `ms`');
+	});
+
+	t.equal(
+		ES.MakeTime(1.2, 2.3, 3.4, 4.5),
+		(1 * msPerHour) + (2 * msPerMinute) + (3 * msPerSecond) + 4,
+		'all numbers are converted to integer, multiplied by the right number of ms, and summed'
+	);
+	t.end();
+});
+
+test('TimeClip', function (t) {
+	forEach(v.infinities.concat(NaN), function (nonFiniteNumber) {
+		t.ok(is(ES.TimeClip(nonFiniteNumber), NaN), debug(nonFiniteNumber) + ' is not a finite `time`');
+	});
+	t.ok(is(ES.TimeClip(8.64e15 + 1), NaN), '8.64e15 is the largest magnitude considered "finite"');
+	t.ok(is(ES.TimeClip(-8.64e15 - 1), NaN), '-8.64e15 is the largest magnitude considered "finite"');
+
+	forEach(v.zeroes.concat([-10, 10, Date.now()]), function (time) {
+		t.equal(ES.TimeClip(time), time, debug(time) + ' is a time of ' + debug(time));
+	});
+
+	t.end();
+});
+
+test('modulo', function (t) {
+	t.equal(3 % 2, 1, '+3 % 2 is +1');
+	t.equal(ES.modulo(3, 2), 1, '+3 mod 2 is +1');
+
+	t.equal(-3 % 2, -1, '-3 % 2 is -1');
+	t.equal(ES.modulo(-3, 2), 1, '-3 mod 2 is +1');
+	t.end();
+});

+ 73 - 5
node_modules/es-abstract/test/helpers/values.js

@@ -1,16 +1,28 @@
 'use strict';
 
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
+var assign = require('../../helpers/assign');
+
+var hasSymbols = require('has-symbols')();
 
 var coercibleObject = { valueOf: function () { return 3; }, toString: function () { return 42; } };
+var coercibleFnObject = {
+	valueOf: function () { return function valueOfFn() {}; },
+	toString: function () { return 42; }
+};
 var valueOfOnlyObject = { valueOf: function () { return 4; }, toString: function () { return {}; } };
 var toStringOnlyObject = { valueOf: function () { return {}; }, toString: function () { return 7; } };
 var uncoercibleObject = { valueOf: function () { return {}; }, toString: function () { return {}; } };
-var objects = [{}, coercibleObject, toStringOnlyObject, valueOfOnlyObject];
+var uncoercibleFnObject = {
+	valueOf: function () { return function valueOfFn() {}; },
+	toString: function () { return function toStrFn() {}; }
+};
+var objects = [{}, coercibleObject, coercibleFnObject, toStringOnlyObject, valueOfOnlyObject];
 var nullPrimitives = [undefined, null];
 var nonIntegerNumbers = [-1.3, 0.2, 1.8, 1 / 3];
-var numbers = [0, -0, Infinity, -Infinity, 42];
-var strings = ['', 'foo'];
+var zeroes = [0, -0];
+var infinities = [Infinity, -Infinity];
+var numbers = zeroes.concat([42], infinities, nonIntegerNumbers);
+var strings = ['', 'foo', 'a\uD83D\uDCA9c'];
 var booleans = [true, false];
 var symbols = hasSymbols ? [Symbol.iterator, Symbol('foo')] : [];
 var nonSymbolPrimitives = [].concat(nullPrimitives, booleans, strings, numbers);
@@ -24,15 +36,45 @@ var propertyKeys = [].concat(strings, symbols);
 var nonBooleans = [].concat(nullPrimitives, strings, symbols, numbers, objects);
 var falsies = [].concat(nullPrimitives, false, '', 0, -0, NaN);
 var truthies = [].concat(true, 'foo', 42, symbols, objects);
+var timestamps = [].concat(0, 946713600000, 1546329600000);
+var nonFunctions = [].concat(primitives, objects, [42]);
+var nonArrays = [].concat(nonFunctions);
+
+var descriptors = {
+	configurable: function (descriptor) {
+		return assign(assign({}, descriptor), { '[[Configurable]]': true });
+	},
+	nonConfigurable: function (descriptor) {
+		return assign(assign({}, descriptor), { '[[Configurable]]': false });
+	},
+	enumerable: function (descriptor) {
+		return assign(assign({}, descriptor), { '[[Enumerable]]': true });
+	},
+	nonEnumerable: function (descriptor) {
+		return assign(assign({}, descriptor), { '[[Enumerable]]': false });
+	},
+	writable: function (descriptor) {
+		return assign(assign({}, descriptor), { '[[Writable]]': true });
+	},
+	nonWritable: function (descriptor) {
+		return assign(assign({}, descriptor), { '[[Writable]]': false });
+	}
+};
 
 module.exports = {
 	coercibleObject: coercibleObject,
+	coercibleFnObject: coercibleFnObject,
 	valueOfOnlyObject: valueOfOnlyObject,
 	toStringOnlyObject: toStringOnlyObject,
 	uncoercibleObject: uncoercibleObject,
+	uncoercibleFnObject: uncoercibleFnObject,
 	objects: objects,
+	nonFunctions: nonFunctions,
+	nonArrays: nonArrays,
 	nullPrimitives: nullPrimitives,
 	numbers: numbers,
+	zeroes: zeroes,
+	infinities: infinities,
 	strings: strings,
 	booleans: booleans,
 	symbols: symbols,
@@ -49,5 +91,31 @@ module.exports = {
 	propertyKeys: propertyKeys,
 	nonBooleans: nonBooleans,
 	falsies: falsies,
-	truthies: truthies
+	truthies: truthies,
+	timestamps: timestamps,
+	bothDescriptor: function () {
+		return { '[[Get]]': function () {}, '[[Value]]': true };
+	},
+	bothDescriptorWritable: function () {
+		return descriptors.writable({ '[[Get]]': function () {} });
+	},
+	accessorDescriptor: function (value) {
+		return descriptors.enumerable(descriptors.configurable({
+			'[[Get]]': function get() { return value; }
+		}));
+	},
+	mutatorDescriptor: function () {
+		return descriptors.enumerable(descriptors.configurable({
+			'[[Set]]': function () {}
+		}));
+	},
+	dataDescriptor: function (value) {
+		return descriptors.nonWritable({
+			'[[Value]]': arguments.length > 0 ? value : 42
+		});
+	},
+	genericDescriptor: function () {
+		return descriptors.configurable(descriptors.nonEnumerable());
+	},
+	descriptors: descriptors
 };

+ 5 - 1
node_modules/es-abstract/test/index.js

@@ -7,7 +7,7 @@ var ESkeys = Object.keys(ES).sort();
 var ES6keys = Object.keys(ES.ES6).sort();
 
 test('exposed properties', function (t) {
-	t.deepEqual(ESkeys, ES6keys.concat(['ES2017', 'ES7', 'ES2016', 'ES6', 'ES2015', 'ES5']).sort(), 'main ES object keys match ES6 keys');
+	t.deepEqual(ESkeys, ES6keys.concat(['ES2019', 'ES2018', 'ES2017', 'ES7', 'ES2016', 'ES6', 'ES2015', 'ES5']).sort(), 'main ES object keys match ES6 keys');
 	t.end();
 });
 
@@ -18,9 +18,13 @@ test('methods match', function (t) {
 	t.end();
 });
 
+require('./GetIntrinsic');
+
 require('./es5');
 require('./es6');
 require('./es2015');
 require('./es7');
 require('./es2016');
 require('./es2017');
+require('./es2018');
+require('./es2019');

Fișier diff suprimat deoarece este prea mare
+ 2706 - 197
node_modules/es-abstract/test/tests.js


+ 13 - 4
node_modules/es-to-primitive/.eslintrc

@@ -4,10 +4,19 @@
 	"extends": "@ljharb",
 
 	"rules": {
-		"complexity": [2, 13],
+		"complexity": [2, 14],
+		"func-name-matching": 0,
 		"id-length": [2, { "min": 1, "max": 24, "properties": "never" }],
 		"max-statements": [2, 20],
-		"new-cap": [2, { "capIsNewExceptions": ["GetMethod"] }],
-		"no-extra-parens": [2, "functions"]
-	}
+		"new-cap": [2, { "capIsNewExceptions": ["GetMethod"] }]
+	},
+
+	"overrides": [
+		{
+			"files": "test/**",
+			"rules": {
+				"max-lines-per-function": [2, { "max": 68 }],
+			},
+		}
+	],
 }

+ 0 - 155
node_modules/es-to-primitive/.jscs.json

@@ -1,155 +0,0 @@
-{
-	"es3": true,
-
-	"additionalRules": [],
-
-	"requireSemicolons": true,
-
-	"disallowMultipleSpaces": true,
-
-	"disallowIdentifierNames": [],
-
-	"requireCurlyBraces": {
-		"allExcept": [],
-		"keywords": ["if", "else", "for", "while", "do", "try", "catch"]
-	},
-
-	"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"],
-
-	"disallowSpaceAfterKeywords": [],
-
-	"disallowSpaceBeforeComma": true,
-	"disallowSpaceAfterComma": false,
-	"disallowSpaceBeforeSemicolon": true,
-
-	"disallowNodeTypes": [
-		"DebuggerStatement",
-		"ForInStatement",
-		"LabeledStatement",
-		"SwitchCase",
-		"SwitchStatement",
-		"WithStatement"
-	],
-
-	"requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] },
-
-	"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true },
-	"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
-	"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
-	"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
-	"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true },
-
-	"requireSpaceBetweenArguments": true,
-
-	"disallowSpacesInsideParentheses": true,
-
-	"disallowSpacesInsideArrayBrackets": true,
-
-	"disallowQuotedKeysInObjects": "allButReserved",
-
-	"disallowSpaceAfterObjectKeys": true,
-
-	"requireCommaBeforeLineBreak": true,
-
-	"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
-	"requireSpaceAfterPrefixUnaryOperators": [],
-
-	"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
-	"requireSpaceBeforePostfixUnaryOperators": [],
-
-	"disallowSpaceBeforeBinaryOperators": [],
-	"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
-
-	"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="],
-	"disallowSpaceAfterBinaryOperators": [],
-
-	"disallowImplicitTypeConversion": ["binary", "string"],
-
-	"disallowKeywords": ["with", "eval"],
-
-	"requireKeywordsOnNewLine": [],
-	"disallowKeywordsOnNewLine": ["else"],
-
-	"requireLineFeedAtFileEnd": true,
-
-	"disallowTrailingWhitespace": true,
-
-	"disallowTrailingComma": true,
-
-	"excludeFiles": ["node_modules/**", "vendor/**"],
-
-	"disallowMultipleLineStrings": true,
-
-	"requireDotNotation": { "allExcept": ["keywords"] },
-
-	"requireParenthesesAroundIIFE": true,
-
-	"validateLineBreaks": "LF",
-
-	"validateQuoteMarks": {
-		"escape": true,
-		"mark": "'"
-	},
-
-	"disallowOperatorBeforeLineBreak": [],
-
-	"requireSpaceBeforeKeywords": [
-		"do",
-		"for",
-		"if",
-		"else",
-		"switch",
-		"case",
-		"try",
-		"catch",
-		"finally",
-		"while",
-		"with",
-		"return"
-	],
-
-	"validateAlignedFunctionParameters": {
-		"lineBreakAfterOpeningBraces": true,
-		"lineBreakBeforeClosingBraces": true
-	},
-
-	"requirePaddingNewLinesBeforeExport": true,
-
-	"validateNewlineAfterArrayElements": {
-		"maximum": 12
-	},
-
-	"requirePaddingNewLinesAfterUseStrict": true,
-
-	"disallowArrowFunctions": true,
-
-	"disallowMultiLineTernary": true,
-
-	"validateOrderInObjectKeys": false,
-
-	"disallowIdenticalDestructuringNames": true,
-
-	"disallowNestedTernaries": { "maxLevel": 1 },
-
-	"requireSpaceAfterComma": { "allExcept": ["trailing"] },
-	"requireAlignedMultilineParams": false,
-
-	"requireSpacesInGenerator": {
-		"afterStar": true
-	},
-
-	"disallowSpacesInGenerator": {
-		"beforeStar": true
-	},
-
-	"disallowVar": false,
-
-	"requireArrayDestructuring": false,
-
-	"requireEnhancedObjectLiterals": false,
-
-	"requireObjectDestructuring": false,
-
-	"requireEarlyReturn": false
-}
-

+ 0 - 28
node_modules/es-to-primitive/.npmignore

@@ -1,28 +0,0 @@
-# Logs
-logs
-*.log
-
-# Runtime data
-pids
-*.pid
-*.seed
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-
-# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Compiled binary addons (http://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directory
-# Commenting this out is preferred by some people, see
-# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
-node_modules
-
-# Users Environment Variables
-.lock-wscript

+ 12 - 67
node_modules/es-to-primitive/.travis.yml

@@ -1,70 +1,15 @@
+version: ~> 1.0
 language: node_js
-node_js:
-  - "5.3"
-  - "5.2"
-  - "5.1"
-  - "5.0"
-  - "4.2"
-  - "4.1"
-  - "4.0"
-  - "iojs-v3.3"
-  - "iojs-v3.2"
-  - "iojs-v3.1"
-  - "iojs-v3.0"
-  - "iojs-v2.5"
-  - "iojs-v2.4"
-  - "iojs-v2.3"
-  - "iojs-v2.2"
-  - "iojs-v2.1"
-  - "iojs-v2.0"
-  - "iojs-v1.8"
-  - "iojs-v1.7"
-  - "iojs-v1.6"
-  - "iojs-v1.5"
-  - "iojs-v1.4"
-  - "iojs-v1.3"
-  - "iojs-v1.2"
-  - "iojs-v1.1"
-  - "iojs-v1.0"
-  - "0.12"
-  - "0.11"
-  - "0.10"
-  - "0.9"
-  - "0.8"
-  - "0.6"
-  - "0.4"
-before_install:
-  - 'if [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi'
-  - 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then npm install -g npm; fi'
-script:
-  - 'if [ "${TRAVIS_NODE_VERSION}" != "4.2" ]; then npm run tests-only ; else npm test ; fi'
-sudo: false
+cache:
+  directories:
+    - "$(nvm cache dir)"
+os:
+ - linux
+import:
+ - ljharb/travis-ci:node/all.yml
+ - ljharb/travis-ci:node/pretest.yml
+ - ljharb/travis-ci:node/posttest.yml
+ - ljharb/travis-ci:node/coverage.yml
 matrix:
-  fast_finish: true
   allow_failures:
-    - node_js: "5.2"
-    - node_js: "5.1"
-    - node_js: "5.0"
-    - node_js: "4.1"
-    - node_js: "4.0"
-    - node_js: "iojs-v3.2"
-    - node_js: "iojs-v3.1"
-    - node_js: "iojs-v3.0"
-    - node_js: "iojs-v2.4"
-    - node_js: "iojs-v2.3"
-    - node_js: "iojs-v2.2"
-    - node_js: "iojs-v2.1"
-    - node_js: "iojs-v2.0"
-    - node_js: "iojs-v1.7"
-    - node_js: "iojs-v1.6"
-    - node_js: "iojs-v1.5"
-    - node_js: "iojs-v1.4"
-    - node_js: "iojs-v1.3"
-    - node_js: "iojs-v1.2"
-    - node_js: "iojs-v1.1"
-    - node_js: "iojs-v1.0"
-    - node_js: "0.11"
-    - node_js: "0.9"
-    - node_js: "0.8"
-    - node_js: "0.6"
-    - node_js: "0.4"
+    - env: COVERAGE=true

+ 20 - 0
node_modules/es-to-primitive/CHANGELOG.md

@@ -1,3 +1,23 @@
+1.2.1 / 2019-11-08
+=================
+  * [readme] remove testling URLs
+  * [meta] add `funding` field
+  * [meta] create FUNDING.yml
+  * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `covert`, `replace`, `semver`, `tape`, `function.prototype.name`
+  * [Tests] use shared travis-ci configs
+  * [Tests] Add es5 tests for `symbol` types (#45)
+  * [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops
+  * [Tests] remove `jscs`
+
+1.2.0 / 2018-09-27
+=================
+  * [New] create ES2015 entry point/property, to replace ES6
+  * [Fix] Ensure optional arguments are not part of the length (#29)
+  * [Deps] update `is-callable`
+  * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`, `object-inspect`, `replace`
+  * [Tests] avoid util.inspect bug with `new Date(NaN)` on node v6.0 and v6.1.
+  * [Tests] up to `node` `v10.11`, `v9.11`, `v8.12`, `v6.14`, `v4.9`
+
 1.1.1 / 2016-01-03
 =================
   * [Fix: ES5] fix coercion logic: ES5’s ToPrimitive does not coerce any primitive value, regardless of hint (#2)

+ 2 - 6
node_modules/es-to-primitive/README.md

@@ -8,11 +8,9 @@
 
 [![npm badge][npm-badge-png]][package-url]
 
-[![browser support][testling-svg]][testling-url]
-
-ECMAScript “ToPrimitive” algorithm. Provides ES5 and ES6 versions.
+ECMAScript “ToPrimitive” algorithm. Provides ES5 and ES2015 versions.
 When different versions of the spec conflict, the default export will be the latest version of the abstract operation.
-Alternative versions will also be available under an `es5`/`es6`/`es7` exported property if you require a specific version.
+Alternative versions will also be available under an `es5`/`es2015` exported property if you require a specific version.
 
 ## Example
 
@@ -44,8 +42,6 @@ Simply clone the repo, `npm install`, and run `npm test`
 [deps-url]: https://david-dm.org/ljharb/es-to-primitive
 [dev-deps-svg]: https://david-dm.org/ljharb/es-to-primitive/dev-status.svg
 [dev-deps-url]: https://david-dm.org/ljharb/es-to-primitive#info=devDependencies
-[testling-svg]: https://ci.testling.com/ljharb/es-to-primitive.png
-[testling-url]: https://ci.testling.com/ljharb/es-to-primitive
 [npm-badge-png]: https://nodei.co/npm/es-to-primitive.png?downloads=true&stars=true
 [license-image]: http://img.shields.io/npm/l/es-to-primitive.svg
 [license-url]: LICENSE

+ 14 - 6
node_modules/es-to-primitive/es5.js

@@ -6,10 +6,15 @@ var isPrimitive = require('./helpers/isPrimitive');
 
 var isCallable = require('is-callable');
 
-// https://es5.github.io/#x8.12
+// http://ecma-international.org/ecma-262/5.1/#sec-8.12.8
 var ES5internalSlots = {
-	'[[DefaultValue]]': function (O, hint) {
-		var actualHint = hint || (toStr.call(O) === '[object Date]' ? String : Number);
+	'[[DefaultValue]]': function (O) {
+		var actualHint;
+		if (arguments.length > 1) {
+			actualHint = arguments[1];
+		} else {
+			actualHint = toStr.call(O) === '[object Date]' ? String : Number;
+		}
 
 		if (actualHint === String || actualHint === Number) {
 			var methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];
@@ -28,10 +33,13 @@ var ES5internalSlots = {
 	}
 };
 
-// https://es5.github.io/#x9
-module.exports = function ToPrimitive(input, PreferredType) {
+// http://ecma-international.org/ecma-262/5.1/#sec-9.1
+module.exports = function ToPrimitive(input) {
 	if (isPrimitive(input)) {
 		return input;
 	}
-	return ES5internalSlots['[[DefaultValue]]'](input, PreferredType);
+	if (arguments.length > 1) {
+		return ES5internalSlots['[[DefaultValue]]'](input, arguments[1]);
+	}
+	return ES5internalSlots['[[DefaultValue]]'](input);
 };

+ 1 - 72
node_modules/es-to-primitive/es6.js

@@ -1,74 +1,3 @@
 'use strict';
 
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
-
-var isPrimitive = require('./helpers/isPrimitive');
-var isCallable = require('is-callable');
-var isDate = require('is-date-object');
-var isSymbol = require('is-symbol');
-
-var ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {
-	if (typeof O === 'undefined' || O === null) {
-		throw new TypeError('Cannot call method on ' + O);
-	}
-	if (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) {
-		throw new TypeError('hint must be "string" or "number"');
-	}
-	var methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString'];
-	var method, result, i;
-	for (i = 0; i < methodNames.length; ++i) {
-		method = O[methodNames[i]];
-		if (isCallable(method)) {
-			result = method.call(O);
-			if (isPrimitive(result)) {
-				return result;
-			}
-		}
-	}
-	throw new TypeError('No default value');
-};
-
-var GetMethod = function GetMethod(O, P) {
-	var func = O[P];
-	if (func !== null && typeof func !== 'undefined') {
-		if (!isCallable(func)) {
-			throw new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function');
-		}
-		return func;
-	}
-};
-
-// http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive
-module.exports = function ToPrimitive(input, PreferredType) {
-	if (isPrimitive(input)) {
-		return input;
-	}
-	var hint = 'default';
-	if (arguments.length > 1) {
-		if (PreferredType === String) {
-			hint = 'string';
-		} else if (PreferredType === Number) {
-			hint = 'number';
-		}
-	}
-
-	var exoticToPrim;
-	if (hasSymbols) {
-		if (Symbol.toPrimitive) {
-			exoticToPrim = GetMethod(input, Symbol.toPrimitive);
-		} else if (isSymbol(input)) {
-			exoticToPrim = Symbol.prototype.valueOf;
-		}
-	}
-	if (typeof exoticToPrim !== 'undefined') {
-		var result = exoticToPrim.call(input, hint);
-		if (isPrimitive(result)) {
-			return result;
-		}
-		throw new TypeError('unable to convert exotic object to primitive');
-	}
-	if (hint === 'default' && (isDate(input) || isSymbol(input))) {
-		hint = 'string';
-	}
-	return ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint);
-};
+module.exports = require('./es2015');

+ 2 - 0
node_modules/es-to-primitive/helpers/isPrimitive.js

@@ -1,3 +1,5 @@
+'use strict';
+
 module.exports = function isPrimitive(value) {
 	return value === null || (typeof value !== 'function' && typeof value !== 'object');
 };

+ 6 - 3
node_modules/es-to-primitive/index.js

@@ -2,13 +2,16 @@
 
 var ES5 = require('./es5');
 var ES6 = require('./es6');
+var ES2015 = require('./es2015');
 
 if (Object.defineProperty) {
-	Object.defineProperty(ES6, 'ES5', { enumerable: false, value: ES5 });
-	Object.defineProperty(ES6, 'ES6', { enumerable: false, value: ES6 });
+	Object.defineProperty(ES2015, 'ES5', { enumerable: false, value: ES5 });
+	Object.defineProperty(ES2015, 'ES6', { enumerable: false, value: ES6 });
+	Object.defineProperty(ES2015, 'ES2015', { enumerable: false, value: ES2015 });
 } else {
 	ES6.ES5 = ES5;
 	ES6.ES6 = ES6;
+	ES6.ES2015 = ES2015;
 }
 
-module.exports = ES6;
+module.exports = ES2015;

+ 43 - 36
node_modules/es-to-primitive/package.json

@@ -1,60 +1,61 @@
 {
-  "_args": [
-    [
-      "es-to-primitive@1.1.1",
-      "D:\\projects\\dealer_front"
-    ]
-  ],
-  "_development": true,
-  "_from": "es-to-primitive@1.1.1",
-  "_id": "es-to-primitive@1.1.1",
+  "_from": "es-to-primitive@^1.2.1",
+  "_id": "es-to-primitive@1.2.1",
   "_inBundle": false,
-  "_integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
+  "_integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
   "_location": "/es-to-primitive",
   "_phantomChildren": {},
   "_requested": {
-    "type": "version",
+    "type": "range",
     "registry": true,
-    "raw": "es-to-primitive@1.1.1",
+    "raw": "es-to-primitive@^1.2.1",
     "name": "es-to-primitive",
     "escapedName": "es-to-primitive",
-    "rawSpec": "1.1.1",
+    "rawSpec": "^1.2.1",
     "saveSpec": null,
-    "fetchSpec": "1.1.1"
+    "fetchSpec": "^1.2.1"
   },
   "_requiredBy": [
     "/es-abstract"
   ],
-  "_resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
-  "_spec": "1.1.1",
-  "_where": "D:\\projects\\dealer_front",
+  "_resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+  "_shasum": "e55cd4c9cdc188bcefb03b366c736323fc5c898a",
+  "_spec": "es-to-primitive@^1.2.1",
+  "_where": "D:\\workSpace\\dealer_front\\node_modules\\es-abstract",
   "author": {
-    "name": "Jordan Harband"
+    "name": "Jordan Harband",
+    "email": "ljharb@gmail.com"
   },
   "bugs": {
     "url": "https://github.com/ljharb/es-to-primitive/issues"
   },
+  "bundleDependencies": false,
   "dependencies": {
-    "is-callable": "^1.1.1",
+    "is-callable": "^1.1.4",
     "is-date-object": "^1.0.1",
-    "is-symbol": "^1.0.1"
+    "is-symbol": "^1.0.2"
   },
-  "description": "ECMAScript “ToPrimitive” algorithm. Provides ES5 and ES6 versions.",
+  "deprecated": false,
+  "description": "ECMAScript “ToPrimitive” algorithm. Provides ES5 and ES2015 versions.",
   "devDependencies": {
-    "@ljharb/eslint-config": "^1.6.1",
-    "covert": "^1.1.0",
-    "eslint": "^1.10.3",
+    "@ljharb/eslint-config": "^15.0.0",
+    "covert": "^1.1.1",
+    "eslint": "^6.6.0",
     "foreach": "^2.0.5",
-    "jscs": "^2.7.0",
-    "nsp": "^2.2.0",
+    "function.prototype.name": "^1.1.1",
+    "has-symbols": "^1.0.0",
+    "object-inspect": "^1.6.0",
     "object-is": "^1.0.1",
-    "replace": "^0.3.0",
-    "semver": "^5.1.0",
-    "tape": "^4.4.0"
+    "replace": "^1.1.1",
+    "semver": "^6.3.0",
+    "tape": "^4.11.0"
   },
   "engines": {
     "node": ">= 0.4"
   },
+  "funding": {
+    "url": "https://github.com/sponsors/ljharb"
+  },
   "homepage": "https://github.com/ljharb/es-to-primitive#readme",
   "keywords": [
     "primitive",
@@ -62,10 +63,17 @@
     "ecmascript",
     "es5",
     "es6",
+    "es2015",
     "toPrimitive",
     "coerce",
     "type",
-    "object"
+    "object",
+    "string",
+    "number",
+    "boolean",
+    "symbol",
+    "null",
+    "undefined"
   ],
   "license": "MIT",
   "main": "index.js",
@@ -77,11 +85,10 @@
   "scripts": {
     "coverage": "covert test/*.js",
     "coverage-quiet": "covert test/*.js --quiet",
-    "eslint": "eslint test/*.js *.js",
-    "jscs": "jscs test/*.js *.js",
-    "lint": "npm run jscs && npm run eslint",
-    "security": "nsp check",
-    "test": "npm run lint && npm run tests-only && npm run security",
+    "lint": "eslint .",
+    "posttest": "npx aud",
+    "pretest": "npm run --silent lint",
+    "test": "npm run --silent tests-only",
     "tests-only": "node --es-staging test"
   },
   "testling": {
@@ -102,5 +109,5 @@
       "android-browser/4.2"
     ]
   },
-  "version": "1.1.1"
+  "version": "1.2.1"
 }

+ 41 - 3
node_modules/es-to-primitive/test/es5.js

@@ -4,7 +4,16 @@ var test = require('tape');
 var toPrimitive = require('../es5');
 var is = require('object-is');
 var forEach = require('foreach');
-var debug = require('util').inspect;
+var functionName = require('function.prototype.name');
+var debug = require('object-inspect');
+var hasSymbols = require('has-symbols')();
+
+test('function properties', function (t) {
+	t.equal(toPrimitive.length, 1, 'length is 1');
+	t.equal(functionName(toPrimitive), 'ToPrimitive', 'name is ToPrimitive');
+
+	t.end();
+});
 
 var primitives = [null, undefined, true, false, 0, -0, 42, NaN, Infinity, -Infinity, '', 'abc'];
 
@@ -17,6 +26,29 @@ test('primitives', function (t) {
 	t.end();
 });
 
+test('Symbols', { skip: !hasSymbols }, function (t) {
+	var symbols = [
+		Symbol('foo'),
+		Symbol.iterator,
+		Symbol['for']('foo') // eslint-disable-line no-restricted-properties
+	];
+	forEach(symbols, function (sym) {
+		t.equal(toPrimitive(sym), sym, 'toPrimitive(' + debug(sym) + ') returns the same value');
+		t.equal(toPrimitive(sym, String), sym, 'toPrimitive(' + debug(sym) + ', String) returns the same value');
+		t.equal(toPrimitive(sym, Number), sym, 'toPrimitive(' + debug(sym) + ', Number) returns the same value');
+	});
+
+	var primitiveSym = Symbol('primitiveSym');
+	var stringSym = Symbol.prototype.toString.call(primitiveSym);
+	var objectSym = Object(primitiveSym);
+	t.equal(toPrimitive(objectSym), primitiveSym, 'toPrimitive(' + debug(objectSym) + ') returns ' + debug(primitiveSym));
+
+	// This is different from ES2015, as the ES5 algorithm doesn't account for the existence of Symbols:
+	t.equal(toPrimitive(objectSym, String), stringSym, 'toPrimitive(' + debug(objectSym) + ', String) returns ' + debug(stringSym));
+	t.equal(toPrimitive(objectSym, Number), primitiveSym, 'toPrimitive(' + debug(objectSym) + ', Number) returns ' + debug(primitiveSym));
+	t.end();
+});
+
 test('Arrays', function (t) {
 	var arrays = [[], ['a', 'b'], [1, 2]];
 	forEach(arrays, function (arr) {
@@ -40,9 +72,15 @@ test('Dates', function (t) {
 var coercibleObject = { valueOf: function () { return 3; }, toString: function () { return 42; } };
 var valueOfOnlyObject = { valueOf: function () { return 4; }, toString: function () { return {}; } };
 var toStringOnlyObject = { valueOf: function () { return {}; }, toString: function () { return 7; } };
-var coercibleFnObject = { valueOf: function () { return function valueOfFn() {}; }, toString: function () { return 42; } };
+var coercibleFnObject = {
+	valueOf: function () { return function valueOfFn() {}; },
+	toString: function () { return 42; }
+};
 var uncoercibleObject = { valueOf: function () { return {}; }, toString: function () { return {}; } };
-var uncoercibleFnObject = { valueOf: function () { return function valueOfFn() {}; }, toString: function () { return function toStrFn() {}; } };
+var uncoercibleFnObject = {
+	valueOf: function () { return function valueOfFn() {}; },
+	toString: function () { return function toStrFn() {}; }
+};
 
 test('Objects', function (t) {
 	t.equal(toPrimitive(coercibleObject), coercibleObject.valueOf(), 'coercibleObject with no hint coerces to valueOf');

+ 26 - 6
node_modules/es-to-primitive/test/es6.js

@@ -4,11 +4,19 @@ var test = require('tape');
 var toPrimitive = require('../es6');
 var is = require('object-is');
 var forEach = require('foreach');
-var debug = require('util').inspect;
+var functionName = require('function.prototype.name');
+var debug = require('object-inspect');
 
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
+var hasSymbols = require('has-symbols')();
 var hasSymbolToPrimitive = hasSymbols && typeof Symbol.toPrimitive === 'symbol';
 
+test('function properties', function (t) {
+	t.equal(toPrimitive.length, 1, 'length is 1');
+	t.equal(functionName(toPrimitive), 'ToPrimitive', 'name is ToPrimitive');
+
+	t.end();
+});
+
 var primitives = [null, undefined, true, false, 0, -0, 42, NaN, Infinity, -Infinity, '', 'abc'];
 
 test('primitives', function (t) {
@@ -21,7 +29,11 @@ test('primitives', function (t) {
 });
 
 test('Symbols', { skip: !hasSymbols }, function (t) {
-	var symbols = [Symbol(), Symbol.iterator, Symbol.for('foo')];
+	var symbols = [
+		Symbol('foo'),
+		Symbol.iterator,
+		Symbol['for']('foo') // eslint-disable-line no-restricted-properties
+	];
 	forEach(symbols, function (sym) {
 		t.equal(toPrimitive(sym), sym, 'toPrimitive(' + debug(sym) + ') returns the same value');
 		t.equal(toPrimitive(sym, String), sym, 'toPrimitive(' + debug(sym) + ', String) returns the same value');
@@ -59,9 +71,15 @@ test('Dates', function (t) {
 var coercibleObject = { valueOf: function () { return 3; }, toString: function () { return 42; } };
 var valueOfOnlyObject = { valueOf: function () { return 4; }, toString: function () { return {}; } };
 var toStringOnlyObject = { valueOf: function () { return {}; }, toString: function () { return 7; } };
-var coercibleFnObject = { valueOf: function () { return function valueOfFn() {}; }, toString: function () { return 42; } };
+var coercibleFnObject = {
+	valueOf: function () { return function valueOfFn() {}; },
+	toString: function () { return 42; }
+};
 var uncoercibleObject = { valueOf: function () { return {}; }, toString: function () { return {}; } };
-var uncoercibleFnObject = { valueOf: function () { return function valueOfFn() {}; }, toString: function () { return function toStrFn() {}; } };
+var uncoercibleFnObject = {
+	valueOf: function () { return function valueOfFn() {}; },
+	toString: function () { return function toStrFn() {}; }
+};
 
 test('Objects', function (t) {
 	t.equal(toPrimitive(coercibleObject), coercibleObject.valueOf(), 'coercibleObject with no hint coerces to valueOf');
@@ -104,7 +122,9 @@ test('Objects', function (t) {
 			sst['throws'](toPrimitive.bind(null, nonFunctionToPrimitive), TypeError, 'Symbol.toPrimitive returning a non-function throws');
 
 			var uncoercibleToPrimitive = { toString: sst.fail, valueOf: sst.fail };
-			uncoercibleToPrimitive[Symbol.toPrimitive] = function (hint) { return { toString: function () { return hint; } }; };
+			uncoercibleToPrimitive[Symbol.toPrimitive] = function (hint) {
+				return { toString: function () { return hint; } };
+			};
 			sst['throws'](toPrimitive.bind(null, uncoercibleToPrimitive), TypeError, 'Symbol.toPrimitive returning an object throws');
 
 			var throwingToPrimitive = { toString: sst.fail, valueOf: sst.fail };

+ 4 - 1
node_modules/es-to-primitive/test/index.js

@@ -3,15 +3,18 @@
 var toPrimitive = require('../');
 var ES5 = require('../es5');
 var ES6 = require('../es6');
+var ES2015 = require('../es2015');
 
 var test = require('tape');
 
 test('default export', function (t) {
-	t.equal(toPrimitive, ES6, 'default export is ES6');
+	t.equal(toPrimitive, ES2015, 'default export is ES2015');
 	t.equal(toPrimitive.ES5, ES5, 'ES5 property has ES5 method');
 	t.equal(toPrimitive.ES6, ES6, 'ES6 property has ES6 method');
+	t.equal(toPrimitive.ES2015, ES2015, 'ES2015 property has ES2015 method');
 	t.end();
 });
 
 require('./es5');
 require('./es6');
+require('./es2015');

+ 1 - 1
node_modules/eventemitter3/README.md

@@ -16,7 +16,7 @@ differences:
 - The `newListener` and `removeListener` events have been removed as they
   are useful only in some uncommon use-cases.
 - The `setMaxListeners`, `getMaxListeners`, `prependListener` and
-  `preperndOnceListener` methods are not available.
+  `prependOnceListener` methods are not available.
 - Support for custom context for events so there is no need to use `fn.bind`.
 - The `removeListener` method removes all matching listeners, not only the
   first.

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff