This project aims to analyze cybersecurity statistics to identify trends and patterns.
-
-
-
-
-
-
-
Data Simulation with Mockaroo:
-
-
The database includes key fields such as breach_id, breach_date, company_name, industry, employee_count, affected_customers, and more. By utilizing a mockaroo file with realistic data, the project facilitates the development and testing of security breach incident tracking systems
-
-
-
-
-
-
-
Contribution to Cybersecurity:
-
-
This initiative is designed to enhance cybersecurity efforts by providing a valuable resource for understanding trends, evaluating risks, and implementing proactive measures within various industries.
This chart compares breaches across different industries. Each bar represents an industry, and segments within the bar represent different breach types within that industry. It helps visualize the composition of breaches within various industries.
This map-based visualization shows the geographical locations where breaches occurred. It uses markers or other representations to indicate breach locations across different countries or regions, providing a spatial understanding of breach occurrences.
This website contains information related to different security breaches.
-
-
-
-
-
-
About our project
-
Security Breach Incidents Database
-
-
-
-
-
-
-
-
-
-
About the Project
-
-
This project aims to analyze cybersecurity statistics to identify trends and patterns.
-
-
-
-
-
-
Data Simulation with Mockaroo:
-
-
The database includes key fields such as breach_id, breach_date, company_name, industry, employee_count, affected_customers, and more. By utilizing a mockaroo file with realistic data, the project facilitates the development and testing of security breach incident tracking systems
-
-
-
-
-
-
Contribution to Cybersecurity:
-
-
This initiative is designed to enhance cybersecurity efforts by providing a valuable resource for understanding trends, evaluating risks, and implementing proactive measures within various industries.
-
-
-
-
-
-
-
-
-
Table
-
-
-
-
Breach ID
-
Breach Date
-
Company Name
-
Employee Count
-
Affected Customers
-
Data Type
-
Data Stolen
-
Attack Type
-
Attack Vector
-
Response Time
-
Response Cost
-
Notification Method
-
Investigation Status
-
Breach Location
-
Breach Country
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Work
-
Lorem ipsum dolor sit amet.
-
Lorem, ipsum dolor sit amet consectetur adipisicing elit. Illum alias voluptate cupiditate distinctio in provident.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus dolores delectus ex quibusdam tempore reiciendis inventore, voluptas itaque nisi excepturi, corporis a deleniti! Voluptatibus exercitationem voluptates corporis omnis deserunt.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus dolores delectus ex quibusdam tempore reiciendis inventore, voluptas itaque nisi excepturi, corporis a deleniti! Voluptatibus exercitationem voluptates corporis omnis deserunt.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus dolores delectus ex quibusdam tempore reiciendis inventore, voluptas itaque nisi excepturi, corporis a deleniti! Voluptatibus exercitationem voluptates corporis omnis deserunt.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus dolores delectus ex quibusdam tempore reiciendis inventore, voluptas itaque nisi excepturi, corporis a deleniti! Voluptatibus exercitationem voluptates corporis omnis deserunt.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus dolores delectus ex quibusdam tempore reiciendis inventore, voluptas itaque nisi excepturi, corporis a deleniti! Voluptatibus exercitationem voluptates corporis omnis deserunt.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus dolores delectus ex quibusdam tempore reiciendis inventore, voluptas itaque nisi excepturi, corporis a deleniti! Voluptatibus exercitationem voluptates corporis omnis deserunt.
-
-
-
-
-
\ No newline at end of file
diff --git a/index_stare.html b/index_stare.html
deleted file mode 100644
index 742cb1b..0000000
--- a/index_stare.html
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
- Security Breach Incidents Database
-
-
-
-
-
-
-
-
Security Breach Incidents Database
-
-
-
-
About the Project
-
This project aims to analyze cybersecurity statistics to identify trends and patterns.
-
-
-
Statistics
-
Here we will present our analysis of various cybersecurity statistics.
-
-
-
Project Objective:
-
The "Security Breach Incidents Database" project aims to create a comprehensive repository of security breaches, featuring crucial details for analysis and research.
-
-
-
Data Simulation with Mockaroo:
-
The database includes key fields such as breach_id, breach_date, company_name, industry, employee_count, affected_customers, and more. By utilizing a mockaroo file with realistic data, the project facilitates the development and testing of security breach incident tracking systems
-
-
-
Contribution to Cybersecurity:
-
This initiative is designed to enhance cybersecurity efforts by providing a valuable resource for understanding trends, evaluating risks, and implementing proactive measures within various industries.
This website contains information related to different security breaches.
-
-
-
-
-
-
About our project
-
Security Breach Incidents Database
-
-
-
-
-
-
-
-
-
-
About the Project
-
-
This project aims to analyze cybersecurity statistics to identify trends and patterns.
-
-
-
-
-
-
Data Simulation with Mockaroo:
-
-
The database includes key fields such as breach_id, breach_date, company_name, industry, employee_count, affected_customers, and more. By utilizing a mockaroo file with realistic data, the project facilitates the development and testing of security breach incident tracking systems
-
-
-
-
-
-
Contribution to Cybersecurity:
-
-
This initiative is designed to enhance cybersecurity efforts by providing a valuable resource for understanding trends, evaluating risks, and implementing proactive measures within various industries.
-
-
-
-
-
-
-
-
Część Właściwa
-
We focus on ergonomics and meeting you where you work. It's only a keystroke away
-
-
-
-
-
-
Work
-
Lorem ipsum dolor sit amet.
-
Lorem, ipsum dolor sit amet consectetur adipisicing elit. Illum alias voluptate cupiditate distinctio in provident.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus dolores delectus ex quibusdam tempore reiciendis inventore, voluptas itaque nisi excepturi, corporis a deleniti! Voluptatibus exercitationem voluptates corporis omnis deserunt.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus dolores delectus ex quibusdam tempore reiciendis inventore, voluptas itaque nisi excepturi, corporis a deleniti! Voluptatibus exercitationem voluptates corporis omnis deserunt.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus dolores delectus ex quibusdam tempore reiciendis inventore, voluptas itaque nisi excepturi, corporis a deleniti! Voluptatibus exercitationem voluptates corporis omnis deserunt.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus dolores delectus ex quibusdam tempore reiciendis inventore, voluptas itaque nisi excepturi, corporis a deleniti! Voluptatibus exercitationem voluptates corporis omnis deserunt.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus dolores delectus ex quibusdam tempore reiciendis inventore, voluptas itaque nisi excepturi, corporis a deleniti! Voluptatibus exercitationem voluptates corporis omnis deserunt.
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sequi repellendus dolores delectus ex quibusdam tempore reiciendis inventore, voluptas itaque nisi excepturi, corporis a deleniti! Voluptatibus exercitationem voluptates corporis omnis deserunt.
Given an english country name, returns an iso code
-
-
-
-
getCode: (country) ->
- ret = null
- if country?
- ret = Object.keys(Iso31661a2::countries)[idx] if mout.values(Iso31661a2::countries).indexOf(country) != -1
- ret
module.exports = ->
- singleton ?= new Iso31661a2()
-
-
-
-
-
-
-
diff --git a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-bold.eot b/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-bold.eot
deleted file mode 100644
index 1b32532..0000000
Binary files a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-bold.eot and /dev/null differ
diff --git a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-bold.ttf b/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-bold.ttf
deleted file mode 100644
index dc4cc9c..0000000
Binary files a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-bold.ttf and /dev/null differ
diff --git a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-bold.woff b/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-bold.woff
deleted file mode 100644
index fa16fd0..0000000
Binary files a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-bold.woff and /dev/null differ
diff --git a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-light.eot b/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-light.eot
deleted file mode 100644
index 40bd654..0000000
Binary files a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-light.eot and /dev/null differ
diff --git a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-light.ttf b/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-light.ttf
deleted file mode 100644
index c2c7290..0000000
Binary files a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-light.ttf and /dev/null differ
diff --git a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-light.woff b/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-light.woff
deleted file mode 100644
index 81a09d1..0000000
Binary files a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/aller-light.woff and /dev/null differ
diff --git a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/novecento-bold.eot b/node_modules/iso-3166-1-alpha-2/docs/public/fonts/novecento-bold.eot
deleted file mode 100644
index 98a9a7f..0000000
Binary files a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/novecento-bold.eot and /dev/null differ
diff --git a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/novecento-bold.ttf b/node_modules/iso-3166-1-alpha-2/docs/public/fonts/novecento-bold.ttf
deleted file mode 100644
index 2af39b0..0000000
Binary files a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/novecento-bold.ttf and /dev/null differ
diff --git a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/novecento-bold.woff b/node_modules/iso-3166-1-alpha-2/docs/public/fonts/novecento-bold.woff
deleted file mode 100644
index de558b5..0000000
Binary files a/node_modules/iso-3166-1-alpha-2/docs/public/fonts/novecento-bold.woff and /dev/null differ
diff --git a/node_modules/iso-3166-1-alpha-2/docs/public/stylesheets/normalize.css b/node_modules/iso-3166-1-alpha-2/docs/public/stylesheets/normalize.css
deleted file mode 100644
index 4e86a59..0000000
--- a/node_modules/iso-3166-1-alpha-2/docs/public/stylesheets/normalize.css
+++ /dev/null
@@ -1,375 +0,0 @@
-/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
-
-/* ==========================================================================
- HTML5 display definitions
- ========================================================================== */
-
-/*
- * Corrects `block` display not defined in IE 8/9.
- */
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-nav,
-section,
-summary {
- display: block;
-}
-
-/*
- * Corrects `inline-block` display not defined in IE 8/9.
- */
-
-audio,
-canvas,
-video {
- display: inline-block;
-}
-
-/*
- * Prevents modern browsers from displaying `audio` without controls.
- * Remove excess height in iOS 5 devices.
- */
-
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-/*
- * Addresses styling for `hidden` attribute not present in IE 8/9.
- */
-
-[hidden] {
- display: none;
-}
-
-/* ==========================================================================
- Base
- ========================================================================== */
-
-/*
- * 1. Sets default font family to sans-serif.
- * 2. Prevents iOS text size adjust after orientation change, without disabling
- * user zoom.
- */
-
-html {
- font-family: sans-serif; /* 1 */
- -webkit-text-size-adjust: 100%; /* 2 */
- -ms-text-size-adjust: 100%; /* 2 */
-}
-
-/*
- * Removes default margin.
- */
-
-body {
- margin: 0;
-}
-
-/* ==========================================================================
- Links
- ========================================================================== */
-
-/*
- * Addresses `outline` inconsistency between Chrome and other browsers.
- */
-
-a:focus {
- outline: thin dotted;
-}
-
-/*
- * Improves readability when focused and also mouse hovered in all browsers.
- */
-
-a:active,
-a:hover {
- outline: 0;
-}
-
-/* ==========================================================================
- Typography
- ========================================================================== */
-
-/*
- * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
- * Safari 5, and Chrome.
- */
-
-h1 {
- font-size: 2em;
-}
-
-/*
- * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
- */
-
-abbr[title] {
- border-bottom: 1px dotted;
-}
-
-/*
- * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
- */
-
-b,
-strong {
- font-weight: bold;
-}
-
-/*
- * Addresses styling not present in Safari 5 and Chrome.
- */
-
-dfn {
- font-style: italic;
-}
-
-/*
- * Addresses styling not present in IE 8/9.
- */
-
-mark {
- background: #ff0;
- color: #000;
-}
-
-
-/*
- * Corrects font family set oddly in Safari 5 and Chrome.
- */
-
-code,
-kbd,
-pre,
-samp {
- font-family: monospace, serif;
- font-size: 1em;
-}
-
-/*
- * Improves readability of pre-formatted text in all browsers.
- */
-
-pre {
- white-space: pre;
- white-space: pre-wrap;
- word-wrap: break-word;
-}
-
-/*
- * Sets consistent quote types.
- */
-
-q {
- quotes: "\201C" "\201D" "\2018" "\2019";
-}
-
-/*
- * Addresses inconsistent and variable font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/*
- * Prevents `sub` and `sup` affecting `line-height` in all browsers.
- */
-
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sup {
- top: -0.5em;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-/* ==========================================================================
- Embedded content
- ========================================================================== */
-
-/*
- * Removes border when inside `a` element in IE 8/9.
- */
-
-img {
- border: 0;
-}
-
-/*
- * Corrects overflow displayed oddly in IE 9.
- */
-
-svg:not(:root) {
- overflow: hidden;
-}
-
-/* ==========================================================================
- Figures
- ========================================================================== */
-
-/*
- * Addresses margin not present in IE 8/9 and Safari 5.
- */
-
-figure {
- margin: 0;
-}
-
-/* ==========================================================================
- Forms
- ========================================================================== */
-
-/*
- * Define consistent border, margin, and padding.
- */
-
-fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
-}
-
-/*
- * 1. Corrects color not being inherited in IE 8/9.
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
- */
-
-legend {
- border: 0; /* 1 */
- padding: 0; /* 2 */
-}
-
-/*
- * 1. Corrects font family not being inherited in all browsers.
- * 2. Corrects font size not being inherited in all browsers.
- * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
- */
-
-button,
-input,
-select,
-textarea {
- font-family: inherit; /* 1 */
- font-size: 100%; /* 2 */
- margin: 0; /* 3 */
-}
-
-/*
- * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
- * the UA stylesheet.
- */
-
-button,
-input {
- line-height: normal;
-}
-
-/*
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
- * and `video` controls.
- * 2. Corrects inability to style clickable `input` types in iOS.
- * 3. Improves usability and consistency of cursor style between image-type
- * `input` and others.
- */
-
-button,
-html input[type="button"], /* 1 */
-input[type="reset"],
-input[type="submit"] {
- -webkit-appearance: button; /* 2 */
- cursor: pointer; /* 3 */
-}
-
-/*
- * Re-set default cursor for disabled elements.
- */
-
-button[disabled],
-input[disabled] {
- cursor: default;
-}
-
-/*
- * 1. Addresses box sizing set to `content-box` in IE 8/9.
- * 2. Removes excess padding in IE 8/9.
- */
-
-input[type="checkbox"],
-input[type="radio"] {
- box-sizing: border-box; /* 1 */
- padding: 0; /* 2 */
-}
-
-/*
- * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
- * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
- * (include `-moz` to future-proof).
- */
-
-input[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- -moz-box-sizing: content-box;
- -webkit-box-sizing: content-box; /* 2 */
- box-sizing: content-box;
-}
-
-/*
- * Removes inner padding and search cancel button in Safari 5 and Chrome
- * on OS X.
- */
-
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/*
- * Removes inner padding and border in Firefox 4+.
- */
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
- border: 0;
- padding: 0;
-}
-
-/*
- * 1. Removes default vertical scrollbar in IE 8/9.
- * 2. Improves readability and alignment in all browsers.
- */
-
-textarea {
- overflow: auto; /* 1 */
- vertical-align: top; /* 2 */
-}
-
-/* ==========================================================================
- Tables
- ========================================================================== */
-
-/*
- * Remove most spacing between table cells.
- */
-
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
\ No newline at end of file
diff --git a/node_modules/iso-3166-1-alpha-2/index.coffee b/node_modules/iso-3166-1-alpha-2/index.coffee
deleted file mode 100644
index 6104e6a..0000000
--- a/node_modules/iso-3166-1-alpha-2/index.coffee
+++ /dev/null
@@ -1,292 +0,0 @@
-mout = require 'mout/object'
-
-# Implements iso 3166-1-alpha-2 lookup
-class Iso31661a2
-
- constructor: ->
-
- # Given an iso country code, returns an english country name
- getCountry: (code) ->
- Iso31661a2::countries[code]
-
- # Given an english country name, returns an iso code
- getCode: (country) ->
- ret = null
- if country?
- idx = mout.values(Iso31661a2::countries).indexOf(country)
- ret = Object.keys(Iso31661a2::countries)[idx] if idx != -1
- ret
-
- # Returns a list of all english country names
- getCountries: ->
- mout.values Iso31661a2::countries
-
- # Returns a list of all iso country codes
- getCodes: ->
- Object.keys(Iso31661a2::countries)
-
- # Get the internal list of countries and region codes
- getData: ->
- Iso31661a2::countries
-
- # the actual list data
- Iso31661a2::countries =
- AF: "Afghanistan"
- AX: "Åland Islands"
- AL: "Albania"
- DZ: "Algeria"
- AS: "American Samoa"
- AD: "Andorra"
- AO: "Angola"
- AI: "Anguilla"
- AQ: "Antarctica"
- AG: "Antigua and Barbuda"
- AR: "Argentina"
- AM: "Armenia"
- AW: "Aruba"
- AU: "Australia"
- AT: "Austria"
- AZ: "Azerbaijan"
- BS: "Bahamas"
- BH: "Bahrain"
- BD: "Bangladesh"
- BB: "Barbados"
- BY: "Belarus"
- BE: "Belgium"
- BZ: "Belize"
- BJ: "Benin"
- BM: "Bermuda"
- BT: "Bhutan"
- BO: "Bolivia, Plurinational State of"
- BQ: "Bonaire, Sint Eustatius and Saba"
- BA: "Bosnia and Herzegovina"
- BW: "Botswana"
- BV: "Bouvet Island"
- BR: "Brazil"
- IO: "British Indian Ocean Territory"
- BN: "Brunei Darussalam"
- BG: "Bulgaria"
- BF: "Burkina Faso"
- BI: "Burundi"
- KH: "Cambodia"
- CM: "Cameroon"
- CA: "Canada"
- CV: "Cape Verde"
- KY: "Cayman Islands"
- CF: "Central African Republic"
- TD: "Chad"
- CL: "Chile"
- CN: "China"
- CX: "Christmas Island"
- CC: "Cocos (Keeling) Islands"
- CO: "Colombia"
- KM: "Comoros"
- CG: "Congo"
- CD: "Congo, the Democratic Republic of the"
- CK: "Cook Islands"
- CR: "Costa Rica"
- CI: "Côte d'Ivoire"
- HR: "Croatia"
- CU: "Cuba"
- CW: "Curaçao"
- CY: "Cyprus"
- CZ: "Czech Republic"
- DK: "Denmark"
- DJ: "Djibouti"
- DM: "Dominica"
- DO: "Dominican Republic"
- EC: "Ecuador"
- EG: "Egypt"
- SV: "El Salvador"
- GQ: "Equatorial Guinea"
- ER: "Eritrea"
- EE: "Estonia"
- ET: "Ethiopia"
- FK: "Falkland Islands (Malvinas)"
- FO: "Faroe Islands"
- FJ: "Fiji"
- FI: "Finland"
- FR: "France"
- GF: "French Guiana"
- PF: "French Polynesia"
- TF: "French Southern Territories"
- GA: "Gabon"
- GM: "Gambia"
- GE: "Georgia"
- DE: "Germany"
- GH: "Ghana"
- GI: "Gibraltar"
- GR: "Greece"
- GL: "Greenland"
- GD: "Grenada"
- GP: "Guadeloupe"
- GU: "Guam"
- GT: "Guatemala"
- GG: "Guernsey"
- GN: "Guinea"
- GW: "Guinea-Bissau"
- GY: "Guyana"
- HT: "Haiti"
- HM: "Heard Island and McDonald Mcdonald Islands"
- VA: "Holy See (Vatican City State)"
- HN: "Honduras"
- HK: "Hong Kong"
- HU: "Hungary"
- IS: "Iceland"
- IN: "India"
- ID: "Indonesia"
- IR: "Iran, Islamic Republic of"
- IQ: "Iraq"
- IE: "Ireland"
- IM: "Isle of Man"
- IL: "Israel"
- IT: "Italy"
- JM: "Jamaica"
- JP: "Japan"
- JE: "Jersey"
- JO: "Jordan"
- KZ: "Kazakhstan"
- KE: "Kenya"
- KI: "Kiribati"
- XK: "Kosovo"
- KP: "Korea, Democratic People's Republic of"
- KR: "Korea, Republic of"
- KW: "Kuwait"
- KG: "Kyrgyzstan"
- LA: "Lao People's Democratic Republic"
- LV: "Latvia"
- LB: "Lebanon"
- LS: "Lesotho"
- LR: "Liberia"
- LY: "Libya"
- LI: "Liechtenstein"
- LT: "Lithuania"
- LU: "Luxembourg"
- MO: "Macao"
- MK: "Macedonia, the Former Yugoslav Republic of"
- MG: "Madagascar"
- MW: "Malawi"
- MY: "Malaysia"
- MV: "Maldives"
- ML: "Mali"
- MT: "Malta"
- MH: "Marshall Islands"
- MQ: "Martinique"
- MR: "Mauritania"
- MU: "Mauritius"
- YT: "Mayotte"
- MX: "Mexico"
- FM: "Micronesia, Federated States of"
- MD: "Moldova, Republic of"
- MC: "Monaco"
- MN: "Mongolia"
- ME: "Montenegro"
- MS: "Montserrat"
- MA: "Morocco"
- MZ: "Mozambique"
- MM: "Myanmar"
- NA: "Namibia"
- NR: "Nauru"
- NP: "Nepal"
- NL: "Netherlands"
- AN: "Netherlands Antilles"
- NC: "New Caledonia"
- NZ: "New Zealand"
- NI: "Nicaragua"
- NE: "Niger"
- NG: "Nigeria"
- NU: "Niue"
- NF: "Norfolk Island"
- MP: "Northern Mariana Islands"
- NO: "Norway"
- OM: "Oman"
- PK: "Pakistan"
- PW: "Palau"
- PS: "Palestine, State of"
- PA: "Panama"
- PG: "Papua New Guinea"
- PY: "Paraguay"
- PE: "Peru"
- PH: "Philippines"
- PN: "Pitcairn"
- PL: "Poland"
- PT: "Portugal"
- PR: "Puerto Rico"
- QA: "Qatar"
- RE: "Réunion"
- RO: "Romania"
- RU: "Russian Federation"
- RW: "Rwanda"
- BL: "Saint Barthélemy"
- SH: "Saint Helena, Ascension and Tristan da Cunha"
- KN: "Saint Kitts and Nevis"
- LC: "Saint Lucia"
- MF: "Saint Martin (French part)"
- PM: "Saint Pierre and Miquelon"
- VC: "Saint Vincent and the Grenadines"
- WS: "Samoa"
- SM: "San Marino"
- ST: "Sao Tome and Principe"
- SA: "Saudi Arabia"
- SN: "Senegal"
- RS: "Serbia"
- SC: "Seychelles"
- SL: "Sierra Leone"
- SG: "Singapore"
- SX: "Sint Maarten (Dutch part)"
- SK: "Slovakia"
- SI: "Slovenia"
- SB: "Solomon Islands"
- SO: "Somalia"
- ZA: "South Africa"
- GS: "South Georgia and the South Sandwich Islands"
- SS: "South Sudan"
- ES: "Spain"
- LK: "Sri Lanka"
- SD: "Sudan"
- SR: "Suriname"
- SJ: "Svalbard and Jan Mayen"
- SZ: "Swaziland"
- SE: "Sweden"
- CH: "Switzerland"
- SY: "Syrian Arab Republic"
- TW: "Taiwan, Province of China"
- TJ: "Tajikistan"
- TZ: "Tanzania, United Republic of"
- TH: "Thailand"
- TL: "Timor-Leste"
- TG: "Togo"
- TK: "Tokelau"
- TO: "Tonga"
- TT: "Trinidad and Tobago"
- TN: "Tunisia"
- TR: "Turkey"
- TM: "Turkmenistan"
- TC: "Turks and Caicos Islands"
- TV: "Tuvalu"
- UG: "Uganda"
- UA: "Ukraine"
- AE: "United Arab Emirates"
- GB: "United Kingdom"
- US: "United States"
- UM: "United States Minor Outlying Islands"
- UY: "Uruguay"
- UZ: "Uzbekistan"
- VU: "Vanuatu"
- VE: "Venezuela, Bolivarian Republic of"
- VN: "Viet Nam"
- VG: "Virgin Islands, British"
- VI: "Virgin Islands, U.S."
- WF: "Wallis and Futuna"
- EH: "Western Sahara"
- YE: "Yemen"
- ZM: "Zambia"
- ZW: "Zimbabwe"
-
-singleton = null
-
-# returns a singleton
-module.exports = (->
- singleton ?= new Iso31661a2()
-)()
-
diff --git a/node_modules/iso-3166-1-alpha-2/index.js b/node_modules/iso-3166-1-alpha-2/index.js
deleted file mode 100644
index 7574195..0000000
--- a/node_modules/iso-3166-1-alpha-2/index.js
+++ /dev/null
@@ -1,301 +0,0 @@
-(function() {
- var Iso31661a2, mout, singleton;
-
- mout = require('mout/object');
-
- Iso31661a2 = (function() {
- function Iso31661a2() {}
-
- Iso31661a2.prototype.getCountry = function(code) {
- return Iso31661a2.prototype.countries[code];
- };
-
- Iso31661a2.prototype.getCode = function(country) {
- var idx, ret;
- ret = null;
- if (country != null) {
- idx = mout.values(Iso31661a2.prototype.countries).indexOf(country);
- if (idx !== -1) {
- ret = Object.keys(Iso31661a2.prototype.countries)[idx];
- }
- }
- return ret;
- };
-
- Iso31661a2.prototype.getCountries = function() {
- return mout.values(Iso31661a2.prototype.countries);
- };
-
- Iso31661a2.prototype.getCodes = function() {
- return Object.keys(Iso31661a2.prototype.countries);
- };
-
- Iso31661a2.prototype.getData = function() {
- return Iso31661a2.prototype.countries;
- };
-
- Iso31661a2.prototype.countries = {
- AF: "Afghanistan",
- AX: "Åland Islands",
- AL: "Albania",
- DZ: "Algeria",
- AS: "American Samoa",
- AD: "Andorra",
- AO: "Angola",
- AI: "Anguilla",
- AQ: "Antarctica",
- AG: "Antigua and Barbuda",
- AR: "Argentina",
- AM: "Armenia",
- AW: "Aruba",
- AU: "Australia",
- AT: "Austria",
- AZ: "Azerbaijan",
- BS: "Bahamas",
- BH: "Bahrain",
- BD: "Bangladesh",
- BB: "Barbados",
- BY: "Belarus",
- BE: "Belgium",
- BZ: "Belize",
- BJ: "Benin",
- BM: "Bermuda",
- BT: "Bhutan",
- BO: "Bolivia, Plurinational State of",
- BQ: "Bonaire, Sint Eustatius and Saba",
- BA: "Bosnia and Herzegovina",
- BW: "Botswana",
- BV: "Bouvet Island",
- BR: "Brazil",
- IO: "British Indian Ocean Territory",
- BN: "Brunei Darussalam",
- BG: "Bulgaria",
- BF: "Burkina Faso",
- BI: "Burundi",
- KH: "Cambodia",
- CM: "Cameroon",
- CA: "Canada",
- CV: "Cape Verde",
- KY: "Cayman Islands",
- CF: "Central African Republic",
- TD: "Chad",
- CL: "Chile",
- CN: "China",
- CX: "Christmas Island",
- CC: "Cocos (Keeling) Islands",
- CO: "Colombia",
- KM: "Comoros",
- CG: "Congo",
- CD: "Congo, the Democratic Republic of the",
- CK: "Cook Islands",
- CR: "Costa Rica",
- CI: "Côte d'Ivoire",
- HR: "Croatia",
- CU: "Cuba",
- CW: "Curaçao",
- CY: "Cyprus",
- CZ: "Czech Republic",
- DK: "Denmark",
- DJ: "Djibouti",
- DM: "Dominica",
- DO: "Dominican Republic",
- EC: "Ecuador",
- EG: "Egypt",
- SV: "El Salvador",
- GQ: "Equatorial Guinea",
- ER: "Eritrea",
- EE: "Estonia",
- ET: "Ethiopia",
- FK: "Falkland Islands (Malvinas)",
- FO: "Faroe Islands",
- FJ: "Fiji",
- FI: "Finland",
- FR: "France",
- GF: "French Guiana",
- PF: "French Polynesia",
- TF: "French Southern Territories",
- GA: "Gabon",
- GM: "Gambia",
- GE: "Georgia",
- DE: "Germany",
- GH: "Ghana",
- GI: "Gibraltar",
- GR: "Greece",
- GL: "Greenland",
- GD: "Grenada",
- GP: "Guadeloupe",
- GU: "Guam",
- GT: "Guatemala",
- GG: "Guernsey",
- GN: "Guinea",
- GW: "Guinea-Bissau",
- GY: "Guyana",
- HT: "Haiti",
- HM: "Heard Island and McDonald Mcdonald Islands",
- VA: "Holy See (Vatican City State)",
- HN: "Honduras",
- HK: "Hong Kong",
- HU: "Hungary",
- IS: "Iceland",
- IN: "India",
- ID: "Indonesia",
- IR: "Iran, Islamic Republic of",
- IQ: "Iraq",
- IE: "Ireland",
- IM: "Isle of Man",
- IL: "Israel",
- IT: "Italy",
- JM: "Jamaica",
- JP: "Japan",
- JE: "Jersey",
- JO: "Jordan",
- KZ: "Kazakhstan",
- KE: "Kenya",
- KI: "Kiribati",
- XK: "Kosovo",
- KP: "Korea, Democratic People's Republic of",
- KR: "Korea, Republic of",
- KW: "Kuwait",
- KG: "Kyrgyzstan",
- LA: "Lao People's Democratic Republic",
- LV: "Latvia",
- LB: "Lebanon",
- LS: "Lesotho",
- LR: "Liberia",
- LY: "Libya",
- LI: "Liechtenstein",
- LT: "Lithuania",
- LU: "Luxembourg",
- MO: "Macao",
- MK: "Macedonia, the Former Yugoslav Republic of",
- MG: "Madagascar",
- MW: "Malawi",
- MY: "Malaysia",
- MV: "Maldives",
- ML: "Mali",
- MT: "Malta",
- MH: "Marshall Islands",
- MQ: "Martinique",
- MR: "Mauritania",
- MU: "Mauritius",
- YT: "Mayotte",
- MX: "Mexico",
- FM: "Micronesia, Federated States of",
- MD: "Moldova, Republic of",
- MC: "Monaco",
- MN: "Mongolia",
- ME: "Montenegro",
- MS: "Montserrat",
- MA: "Morocco",
- MZ: "Mozambique",
- MM: "Myanmar",
- NA: "Namibia",
- NR: "Nauru",
- NP: "Nepal",
- NL: "Netherlands",
- AN: "Netherlands Antilles",
- NC: "New Caledonia",
- NZ: "New Zealand",
- NI: "Nicaragua",
- NE: "Niger",
- NG: "Nigeria",
- NU: "Niue",
- NF: "Norfolk Island",
- MP: "Northern Mariana Islands",
- NO: "Norway",
- OM: "Oman",
- PK: "Pakistan",
- PW: "Palau",
- PS: "Palestine, State of",
- PA: "Panama",
- PG: "Papua New Guinea",
- PY: "Paraguay",
- PE: "Peru",
- PH: "Philippines",
- PN: "Pitcairn",
- PL: "Poland",
- PT: "Portugal",
- PR: "Puerto Rico",
- QA: "Qatar",
- RE: "Réunion",
- RO: "Romania",
- RU: "Russian Federation",
- RW: "Rwanda",
- BL: "Saint Barthélemy",
- SH: "Saint Helena, Ascension and Tristan da Cunha",
- KN: "Saint Kitts and Nevis",
- LC: "Saint Lucia",
- MF: "Saint Martin (French part)",
- PM: "Saint Pierre and Miquelon",
- VC: "Saint Vincent and the Grenadines",
- WS: "Samoa",
- SM: "San Marino",
- ST: "Sao Tome and Principe",
- SA: "Saudi Arabia",
- SN: "Senegal",
- RS: "Serbia",
- SC: "Seychelles",
- SL: "Sierra Leone",
- SG: "Singapore",
- SX: "Sint Maarten (Dutch part)",
- SK: "Slovakia",
- SI: "Slovenia",
- SB: "Solomon Islands",
- SO: "Somalia",
- ZA: "South Africa",
- GS: "South Georgia and the South Sandwich Islands",
- SS: "South Sudan",
- ES: "Spain",
- LK: "Sri Lanka",
- SD: "Sudan",
- SR: "Suriname",
- SJ: "Svalbard and Jan Mayen",
- SZ: "Swaziland",
- SE: "Sweden",
- CH: "Switzerland",
- SY: "Syrian Arab Republic",
- TW: "Taiwan, Province of China",
- TJ: "Tajikistan",
- TZ: "Tanzania, United Republic of",
- TH: "Thailand",
- TL: "Timor-Leste",
- TG: "Togo",
- TK: "Tokelau",
- TO: "Tonga",
- TT: "Trinidad and Tobago",
- TN: "Tunisia",
- TR: "Turkey",
- TM: "Turkmenistan",
- TC: "Turks and Caicos Islands",
- TV: "Tuvalu",
- UG: "Uganda",
- UA: "Ukraine",
- AE: "United Arab Emirates",
- GB: "United Kingdom",
- US: "United States",
- UM: "United States Minor Outlying Islands",
- UY: "Uruguay",
- UZ: "Uzbekistan",
- VU: "Vanuatu",
- VE: "Venezuela, Bolivarian Republic of",
- VN: "Viet Nam",
- VG: "Virgin Islands, British",
- VI: "Virgin Islands, U.S.",
- WF: "Wallis and Futuna",
- EH: "Western Sahara",
- YE: "Yemen",
- ZM: "Zambia",
- ZW: "Zimbabwe"
- };
-
- return Iso31661a2;
-
- })();
-
- singleton = null;
-
- module.exports = (function() {
- return singleton != null ? singleton : singleton = new Iso31661a2();
- })();
-
-}).call(this);
diff --git a/node_modules/iso-3166-1-alpha-2/package.json b/node_modules/iso-3166-1-alpha-2/package.json
deleted file mode 100644
index 53b163b..0000000
--- a/node_modules/iso-3166-1-alpha-2/package.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "name": "iso-3166-1-alpha-2",
- "version": "1.0.1",
- "description": "Simple module providing ISO-3166-1-alpha-2 country code to english country name lookup and reverse lookup",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "keywords": [
- "iso-3166-1-alpha-2",
- "iso-3166-1",
- "country",
- "country code",
- "countries",
- "name"
- ],
- "author": "Georg Zoeller",
- "license": "MIT",
- "dependencies": {
- "mout": "^1.2.3"
- },
- "homepage": "https://github.com/georgzoeller/iso-3166-1-alpha-2",
- "bugs": {
- "url": "https://github.com/georgzoeller/iso-3166-1-alpha-2/issues"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/georgzoeller/iso-3166-1-alpha-2.git"
- }
-}
diff --git a/node_modules/mout/.editorconfig b/node_modules/mout/.editorconfig
deleted file mode 100644
index faaf0d3..0000000
--- a/node_modules/mout/.editorconfig
+++ /dev/null
@@ -1,20 +0,0 @@
-; EditorConfig is awesome: http://EditorConfig.org
-
-; top-most EditorConfig file
-root = true
-
-; base rules
-[*]
-end_of_line = lf
-insert_final_newline = false
-indent_style = space
-indent_size = 4
-charset = utf-8
-trim_trailing_whitespace = true
-
-; The default indent on package.json is 2 spaces, better to keep it so we can
-; use `npm install --save` and other features that rewrites the package.json
-; file automatically
-[{bower,package}.json]
-indent_style = space
-indent_size = 2
diff --git a/node_modules/mout/.jshintrc b/node_modules/mout/.jshintrc
deleted file mode 100644
index bbdb29c..0000000
--- a/node_modules/mout/.jshintrc
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- // Settings
- "passfail" : false, // Stop on first error.
- "maxerr" : 50, // Maximum error before stopping.
-
-
- // Predefined globals whom JSHint will ignore.
- "browser" : true, // Standard browser globals e.g. `window`, `document`.
- "couch" : false,
- "dojo" : false,
- "jquery" : true,
- "mootools" : false,
- "node" : false,
- "prototypejs" : false,
- "rhino" : false,
- "wsh" : false,
-
- // Custom globals.
- "predef" : [
- "define",
- "require"
- ],
-
-
- // Development.
- "debug" : false, // Allow debugger statements e.g. browser breakpoints.
- "devel" : false, // Allow developments statements e.g. `console.log();`.
-
-
- // EcmaScript 5.
- "es5" : false, // Allow EcmaScript 5 syntax.
- "globalstrict" : false, // Allow global "use strict" (also enables 'strict').
- "strict" : false, // Require `use strict` pragma in every file.
-
-
- // The Good Parts.
- "asi" : false, // Tolerate Automatic Semicolon Insertion (no semicolons).
- "bitwise" : false, // Prohibit bitwise operators (&, |, ^, etc.).
- "boss" : true, // Tolerate assignments inside if, for & while. Usually conditions & loops are for comparison, not assignments.
- "curly" : false, // Require {} for every new block or scope.
- "eqeqeq" : true, // Require triple equals i.e. `===`.
- "eqnull" : true, // Tolerate use of `== null`.
- "evil" : false, // Tolerate use of `eval`.
- "expr" : false, // Tolerate `ExpressionStatement` as Programs.
- "forin" : false, // Tolerate `for in` loops without `hasOwnPrototype`.
- "immed" : true, // Require immediate invocations to be wrapped in parens e.g. `( function(){}() );`
- "latedef" : false, // Prohibit variable use before definition.
- "laxbreak" : false, // Tolerate unsafe line breaks e.g. `return [\n] x` without semicolons.
- "loopfunc" : false, // Allow functions to be defined within loops.
- "noarg" : true, // Prohibit use of `arguments.caller` and `arguments.callee`.
- "regexdash" : true, // Tolerate unescaped last dash i.e. `[-...]`.
- "regexp" : false, // Prohibit `.` and `[^...]` in regular expressions.
- "scripturl" : false, // Tolerate script-targeted URLs.
- "shadow" : false, // Allows re-define variables later in code e.g. `var x=1; x=2;`.
- "supernew" : false, // Tolerate `new function () { ... };` and `new Object;`.
- "undef" : false, // Require all non-global variables be declared before they are used.
-
-
- // Personal styling prefrences.
- "newcap" : true, // Require capitalization of all constructor functions e.g. `new F()`.
- "noempty" : true, // Prohipit use of empty blocks.
- "nomen" : false, // Prohibit use of initial or trailing underbars in names.
- "nonew" : true, // Prohibit use of constructors for side-effects.
- "onevar" : false, // Allow only one `var` statement per function.
- "plusplus" : false, // Prohibit use of `++` & `--`.
- "sub" : false, // Tolerate all forms of subscript notation besides dot notation e.g. `dict['key']` instead of `dict.key`.
- "trailing" : true, // Prohibit trailing whitespaces.
- "white" : false // Check against strict whitespace and indentation rules.
-}
diff --git a/node_modules/mout/.travis.yml b/node_modules/mout/.travis.yml
deleted file mode 100644
index 98ee5dd..0000000
--- a/node_modules/mout/.travis.yml
+++ /dev/null
@@ -1,17 +0,0 @@
- language: node_js
- node_js:
- - "8.0" # current
- - "6.0" # stable
- script:
- - "npm test --coverage"
- - "jshint src"
- notifications:
- irc:
- channels:
- - "irc.freenode.org#moutjs"
- on_success: change
- on_failure: always
- use_notice: true
- skip_join: true
- git:
- depth: 10
diff --git a/node_modules/mout/CHANGELOG.md b/node_modules/mout/CHANGELOG.md
deleted file mode 100644
index 3045cdf..0000000
--- a/node_modules/mout/CHANGELOG.md
+++ /dev/null
@@ -1,209 +0,0 @@
-mout changelog
-==============
-v1.1.1 (2019/04/18)
---------------------
- - fixed `object/get` throwing an exception for null or undefined input objects
-
-v1.1.0 (2017/10/04)
---------------------
- - update dependencies
- - optimize `function/bind`
- - optimize `lang/kindOf`
-
-v0.12.0 (2016/03/03)
---------------------
- - add `array/indicesOf`
- - add `function/memoize`
- - add `array/reverse`
- - add `math/overflow`
- - fix `query/getQuery`
- - fix `object/deepMatches`
- - optimize `function/partial`
- - updates license
-
-
-v0.11.0 (2014/11/17)
---------------------
-
- - add `array/take`;
- - remove unused variable from `date/totalDaysInMonth`;
- - fix case insensitive RegExp cloning on `lang/clone`;
-
-
-v0.10.0 (2014/09/02)
---------------------
-
- - add `array/equals`;
- - add `array/groupBy`;
- - add `array/last`;
- - add `function/wrap`;
- - add `lang/GLOBAL`;
- - add `lang/isPrimitive`;
- - add `number/MAX_SAFE_INTEGER`;
- - add `object/omit`;
- - add `object/result`;
- - add `object/result`;
- - add `random/randString`;
- - change `lang/isEmpty` behavior to return `true` for any value that isn't
- a collection.
- - fix `array/findLastIndex` to stop at zero index;
- - improve `function/partial` to accept placeholders;
- - improve `math.norm` behavior for values outside the range and for cases
- where `val === min === max`;
- - improve `object/get` behavior to return properties from any value that is
- not `null` or `undefined`;
- - move `object/deepEquals` to `lang/deepEquals` (improving the behavior);
-
-
-v0.9.1 (2014/04/08)
--------------------
-
- - fix `array/slice` behavior when start and end are higher than length.
-
-
-v0.9.0 (2014/02/04)
--------------------
-
- - add `date/quarter`;
- - add `function/constant`;
- - add `random/randBool`;
- - add un-padded 12-hour (`%l`) to `date/strftime`;
- - fix `array/slice` on IE < 9 by using a custom implementation.
- - fix `object/forIn` iteration for IE < 9 constructor property;
- - improve `lang/inheritPrototype` by returning the `prototype`;
- - improve `string/removeNonWord` to cover more chars;
- - improve `string/repeat` performance;
- - improve `string/unescapeHtml` by accepting leading zeros for `'`;
-
-
-v0.8.0 (2013/11/22)
--------------------
-
- - add `array/findLast`.
- - add `array/findLastIndex`.
- - add `array/slice` and use it internally.
- - add `array/sortBy`
- - add `function/awaitDelay`.
- - add `function/identity`
- - add `number/isNaN`.
- - add `number/nth`.
- - add `number/ordinal`.
- - allows nested replacement patterns in `string/interpolate`.
- - change `function/makeIterator_` behavior (uses `identity` by default).
- - simplify `string/escapeRegExp`.
- - support custom equality on `array/compare`.
-
-
-v0.7.1 (2013/09/18)
--------------------
-
- - fix `null` value handling in object/get.
-
-
-v0.7.0 (2013/09/05)
--------------------
-
- - add bower ignores.
- - add german translation for date localization.
- - alias `function` package as `fn` since "function" is a reserved keyword.
- - allow second argument on `array/pick`.
- - improve `string/makePath` to not remove "//" after protocol.
- - make sure methods inside `number` package works with mixed types.
- - support arrays on `queryString/encode`.
- - support multiple values for same property on `queryString/decode`.
- - add `cancel()` method to `throttled/debounced` functions.
- - add `function/times`.
- - add `lang/toNumber`.
- - add `string/insert`.
- - add `super_` to constructor on `lang/inheritPrototype`.
-
-
-v0.6.0 (2013/05/22)
--------------------
-
- - add optional delimeter to `string/unCamelCase`
- - allow custom char on `number/pad`
- - allow underscore characters in `string/removeNonWord`
- - accept `level` on `array/flatten` instead of a flag
- - convert underscores to camelCase in `string/camelCase`
- - remove `create()` from number/currencyFormat
- - add `date/dayOfTheYear`
- - add `date/diff`
- - add `date/isSame`
- - add `date/startOf`
- - add `date/strftime`
- - add `date/timezoneAbbr`
- - add `date/timezoneOffset`
- - add `date/totalDaysInYear`
- - add `date/weekOfTheYear`
- - add `function/timeout`
- - add `object/bindAll`
- - add `object/functions`
- - add `time/convert`
-
-
-v0.5.0 (2013/04/04)
--------------------
-
- - add `array/collect`
- - add `callback` parameter to `object/equals` and `object/deepEquals` to allow
- custom compare operations.
- - normalize behavior in `array/*` methods to treat `null` values as empty
- arrays when reading from array
- - add `date/parseIso`
- - add `date/isLeapYear`
- - add `date/totalDaysInMonth`
- - add `object/deepMatches`
- - change `function/makeIterator_` to use `deepMatches` (affects nearly all
- iteration methods)
- - add `thisObj` parameter to `array/min` and `array/max`
-
-
-v0.4.0 (2013/02/26)
--------------------
-
- - add `object/equals`
- - add `object/deepEquals`
- - add `object/matches`.
- - add `lang/is` and `lang/isnt`.
- - add `lang/isInteger`.
- - add `array/findIndex`.
- - add shorthand syntax to `array/*`, `object/*` and `collection/*` methods.
- - improve `number/sign` behavior when value is NaN or +0 or -0.
- - improve `lang/isNaN` to actually check if value *is not a number* without
- coercing value; so `[]`, `""`, `null` and `"12"` are considered NaN (#39).
- - improve `string/contains` to match ES6 behavior (add fromIndex argument).
-
-
-v0.3.0 (2013/02/01)
--------------------
-
- - add `lang/clone`.
- - add `lang/toString`.
- - add `string/replace`.
- - add `string/WHITE_SPACES`
- - rename `function/curry` to `function/partial`.
- - allow custom chars in `string/trim`, `ltrim`, and `rtrim`.
- - convert values to strings in the `string/*` functions.
-
-
-v0.2.0 (2013/01/13)
--------------------
-
- - fix bug in `math/ceil` for negative radixes.
- - change `object/deepFillIn` and `object/deepMixIn` to recurse only if both
- existing and new values are plain objects. Will not recurse into arrays
- or objects not created by the Object constructor.
- - add `lang/isPlainObject` to check if a file is a valid object and is created
- by the Object constructor
- - change `lang/clone` behavior when dealing with custom types (avoid cloning
- it by default) and add second argument to allow custom behavior if needed.
- - rename `lang/clone` to `lang/deepClone`.
- - add VERSION property to index.js
- - simplify `math/floor`, `math/round`, `math/ceil` and `math/countSteps`.
-
-
-v0.1.0 (2013/01/09)
--------------------
-
-- Rename project from "amd-utils" to "mout"
diff --git a/node_modules/mout/CONTRIBUTING.md b/node_modules/mout/CONTRIBUTING.md
deleted file mode 100644
index 65d9add..0000000
--- a/node_modules/mout/CONTRIBUTING.md
+++ /dev/null
@@ -1,61 +0,0 @@
-# Contributing
-
-Fork the repo at https://github.com/mout/mout
-
- > "Write clearly, don't be too clever" - The Elements of Programming Style
-
-Avoid unnamed functions and follow the other modules structure. By only using named functions it will be easier to extract the code from the AMD module if needed and it will also give better error messages, JavaScript minifiers like [Google Closure Compiler](http://code.google.com/closure/compiler/) and [UglifyJS](https://github.com/mishoo/UglifyJS) will make sure code is as small/optimized as possible.
-
- > "Make it clear before you make it faster." - The Elements of Programming Style
-
-Be sure to always create tests for each proposed module. Features will only be merged if they contain proper tests and documentation.
-
- > "Good code is its own best documentation." - Steve McConnell
-
-We should do a code review before merging to make sure names makes sense and implementation is as good as possible.
-
-Try to split your pull requests into logical groups, the smaller the easier to be reviewed/merged.
-
-
-
-## Tests & Code Coverage ##
-
-Tests can be found inside the `tests` folder, to execute them in the browser open the `tests/runner.html`. The same tests also work on node.js by running `npm test`.
-
-We should have tests for all methods and ensure we have a high code coverage through our continuous integration server ([travis](https://travis-ci.org/mout/mout)). When you ask for a pull request Travis will automatically run the tests on node.js and check the code coverage as well.
-
-We run `node build pkg` automatically before any `npm test`, so specs and packages should always be in sync. (will avoid human mistakes)
-
-To check code coverage run `npm test --coverage`, it will generate the reports inside the `coverage` folder and also log the results. Please note that node.js doesn't execute all code branches since we have some conditionals that are only met on old JavaScript engines (eg. IE 7-8), so we will never have 100% code coverage (but should be close to it).
-
-
-
-## Build Script ##
-
-The [build script](https://github.com/mout/mout/wiki/Build-Script) can be extremely helpful and can avoid human mistakes, use it.
-
-
-
-## Admins / Pull Requests ##
-
-Even if you are an admin (have commit rights) please do pull requests when adding new features or changing current behavior, that way we can review the work and discuss. Feel free to push changes that doesn't affect behavior without asking for a pull request (readme, changelog, build script, typos, refactoring, ...).
-
-
-
-## Large changes ##
-
-If you are proposing some major change, please create an issue to discuss it first. (maybe it's outside the scope of the project)
-
-
-
-## Questions / IRC / Wiki / Issue Tracker ##
-
-When in doubt ask someone on IRC to help you ([#moutjs on irc.freenode.net](http://webchat.freenode.net/?channels=moutjs)) or create a [new issue](http://github.com/mout/mout/issues).
-
-The [project wiki](https://github.com/mout/mout/wiki) can also be a good resource of information.
-
-
----
-
-Check the [contributors list at github](https://github.com/mout/mout/contributors).
-
diff --git a/node_modules/mout/LICENSE.md b/node_modules/mout/LICENSE.md
deleted file mode 100644
index e9ccc2b..0000000
--- a/node_modules/mout/LICENSE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# The MIT License (MIT)
-## Copyright (c) 2012, 2013 moutjs team and contributors (http://moutjs.com)
-
-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.
-
diff --git a/node_modules/mout/README.md b/node_modules/mout/README.md
deleted file mode 100644
index 06b853d..0000000
--- a/node_modules/mout/README.md
+++ /dev/null
@@ -1,65 +0,0 @@
-![mout](http://moutjs.com/logo.png "Modular JavaScript Utilties")
-
-http://moutjs.com/
-
-[![Build Status](https://travis-ci.org/mout/mout.svg?branch=master)](https://travis-ci.org/mout/mout)
-[![Downloads](https://img.shields.io/npm/dm/mout.svg)](https://www.npmjs.com/package/mout)
-[![Version](https://img.shields.io/npm/v/mout.svg)](https://www.npmjs.com/package/mout)
-
-All code is library agnostic and consist mostly of helper methods that aren't
-directly related with the DOM, the purpose of this library isn't to replace
-Dojo, jQuery, YUI, Mootools, etc, but to provide modular solutions for common
-problems that aren't solved by most of them. Consider it as a crossbrowser
-JavaScript standard library.
-
-
-
-## Main goals ##
-
- - increase code reuse;
- - be clear (code should be clean/readable);
- - be easy to debug;
- - be easy to maintain;
- - follow best practices;
- - follow standards when possible;
- - **don't convert JavaScript into another language!**
- - be compatible with other frameworks;
- - be modular;
- - have unit tests for all modules;
- - work on multiple environments (IE7+, modern browsers, node.js);
-
-
-
-## What shouldn't be here ##
-
- - UI components;
- - CSS selector engine;
- - Event system - pub/sub;
- - Template engine;
- - Anything that isn't generic enough to be on a standard library;
- - Anything that could be a separate library and/or isn't a modular utility...
-
-
-
-## API Documentation ##
-
-Online documentation can be found at http://moutjs.com/ or inside the
-`doc` folder.
-
-
-
-## FAQ / Wiki / IRC ##
-
-For more info about project structure, design decisions, tips, how to
-contribute, build system, etc, please check the [project
-wiki](https://github.com/mout/mout/wiki).
-
-We also have an IRC channel [#moutjs on
-irc.freenode.net](http://webchat.freenode.net/?channels=moutjs)
-
-
-
-## License ##
-
-Released under the [MIT License](http://www.opensource.org/licenses/mit-license.php).
-
diff --git a/node_modules/mout/array.js b/node_modules/mout/array.js
deleted file mode 100644
index 5bc7dfa..0000000
--- a/node_modules/mout/array.js
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'append' : require('./array/append'),
- 'collect' : require('./array/collect'),
- 'combine' : require('./array/combine'),
- 'compact' : require('./array/compact'),
- 'contains' : require('./array/contains'),
- 'difference' : require('./array/difference'),
- 'equals' : require('./array/equals'),
- 'every' : require('./array/every'),
- 'filter' : require('./array/filter'),
- 'find' : require('./array/find'),
- 'findIndex' : require('./array/findIndex'),
- 'findLast' : require('./array/findLast'),
- 'findLastIndex' : require('./array/findLastIndex'),
- 'flatten' : require('./array/flatten'),
- 'forEach' : require('./array/forEach'),
- 'groupBy' : require('./array/groupBy'),
- 'indexOf' : require('./array/indexOf'),
- 'indicesOf' : require('./array/indicesOf'),
- 'insert' : require('./array/insert'),
- 'intersection' : require('./array/intersection'),
- 'invoke' : require('./array/invoke'),
- 'join' : require('./array/join'),
- 'last' : require('./array/last'),
- 'lastIndexOf' : require('./array/lastIndexOf'),
- 'map' : require('./array/map'),
- 'max' : require('./array/max'),
- 'min' : require('./array/min'),
- 'pick' : require('./array/pick'),
- 'pluck' : require('./array/pluck'),
- 'range' : require('./array/range'),
- 'reduce' : require('./array/reduce'),
- 'reduceRight' : require('./array/reduceRight'),
- 'reject' : require('./array/reject'),
- 'remove' : require('./array/remove'),
- 'removeAll' : require('./array/removeAll'),
- 'repeat' : require('./array/repeat'),
- 'reverse' : require('./array/reverse'),
- 'shuffle' : require('./array/shuffle'),
- 'slice' : require('./array/slice'),
- 'some' : require('./array/some'),
- 'sort' : require('./array/sort'),
- 'sortBy' : require('./array/sortBy'),
- 'split' : require('./array/split'),
- 'take' : require('./array/take'),
- 'toLookup' : require('./array/toLookup'),
- 'union' : require('./array/union'),
- 'unique' : require('./array/unique'),
- 'xor' : require('./array/xor'),
- 'zip' : require('./array/zip')
-};
-
-
diff --git a/node_modules/mout/array/append.js b/node_modules/mout/array/append.js
deleted file mode 100644
index bf74037..0000000
--- a/node_modules/mout/array/append.js
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
- /**
- * Appends an array to the end of another.
- * The first array will be modified.
- */
- function append(arr1, arr2) {
- if (arr2 == null) {
- return arr1;
- }
-
- var pad = arr1.length,
- i = -1,
- len = arr2.length;
- while (++i < len) {
- arr1[pad + i] = arr2[i];
- }
- return arr1;
- }
- module.exports = append;
-
diff --git a/node_modules/mout/array/collect.js b/node_modules/mout/array/collect.js
deleted file mode 100644
index 5863749..0000000
--- a/node_modules/mout/array/collect.js
+++ /dev/null
@@ -1,27 +0,0 @@
-var append = require('./append');
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Maps the items in the array and concatenates the result arrays.
- */
- function collect(arr, callback, thisObj){
- callback = makeIterator(callback, thisObj);
- var results = [];
- if (arr == null) {
- return results;
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- var value = callback(arr[i], i, arr);
- if (value != null) {
- append(results, value);
- }
- }
-
- return results;
- }
-
- module.exports = collect;
-
-
diff --git a/node_modules/mout/array/combine.js b/node_modules/mout/array/combine.js
deleted file mode 100644
index d66e621..0000000
--- a/node_modules/mout/array/combine.js
+++ /dev/null
@@ -1,22 +0,0 @@
-var indexOf = require('./indexOf');
-
- /**
- * Combines an array with all the items of another.
- * Does not allow duplicates and is case and type sensitive.
- */
- function combine(arr1, arr2) {
- if (arr2 == null) {
- return arr1;
- }
-
- var i = -1, len = arr2.length;
- while (++i < len) {
- if (indexOf(arr1, arr2[i]) === -1) {
- arr1.push(arr2[i]);
- }
- }
-
- return arr1;
- }
- module.exports = combine;
-
diff --git a/node_modules/mout/array/compact.js b/node_modules/mout/array/compact.js
deleted file mode 100644
index 74c176e..0000000
--- a/node_modules/mout/array/compact.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var filter = require('./filter');
-
- /**
- * Remove all null/undefined items from array.
- */
- function compact(arr) {
- return filter(arr, function(val){
- return (val != null);
- });
- }
-
- module.exports = compact;
-
diff --git a/node_modules/mout/array/contains.js b/node_modules/mout/array/contains.js
deleted file mode 100644
index 92bb6ad..0000000
--- a/node_modules/mout/array/contains.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var indexOf = require('./indexOf');
-
- /**
- * If array contains values.
- */
- function contains(arr, val) {
- return indexOf(arr, val) !== -1;
- }
- module.exports = contains;
-
diff --git a/node_modules/mout/array/difference.js b/node_modules/mout/array/difference.js
deleted file mode 100644
index ca57524..0000000
--- a/node_modules/mout/array/difference.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var unique = require('./unique');
-var filter = require('./filter');
-var some = require('./some');
-var contains = require('./contains');
-var slice = require('./slice');
-
-
- /**
- * Return a new Array with elements that aren't present in the other Arrays.
- */
- function difference(arr) {
- var arrs = slice(arguments, 1),
- result = filter(unique(arr), function(needle){
- return !some(arrs, function(haystack){
- return contains(haystack, needle);
- });
- });
- return result;
- }
-
- module.exports = difference;
-
-
diff --git a/node_modules/mout/array/equals.js b/node_modules/mout/array/equals.js
deleted file mode 100644
index 1a20430..0000000
--- a/node_modules/mout/array/equals.js
+++ /dev/null
@@ -1,30 +0,0 @@
-var is = require('../lang/is');
-var isArray = require('../lang/isArray');
-var every = require('./every');
-
- /**
- * Compares if both arrays have the same elements
- */
- function equals(a, b, callback){
- callback = callback || is;
-
- if (!isArray(a) || !isArray(b)) {
- return callback(a, b);
- }
-
- if (a.length !== b.length) {
- return false;
- }
-
- return every(a, makeCompare(callback), b);
- }
-
- function makeCompare(callback) {
- return function(value, i) {
- return i in this && callback(value, this[i]);
- };
- }
-
- module.exports = equals;
-
-
diff --git a/node_modules/mout/array/every.js b/node_modules/mout/array/every.js
deleted file mode 100644
index ac59883..0000000
--- a/node_modules/mout/array/every.js
+++ /dev/null
@@ -1,27 +0,0 @@
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Array every
- */
- function every(arr, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var result = true;
- if (arr == null) {
- return result;
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- // we iterate over sparse items since there is no way to make it
- // work properly on IE 7-8. see #64
- if (!callback(arr[i], i, arr) ) {
- result = false;
- break;
- }
- }
-
- return result;
- }
-
- module.exports = every;
-
diff --git a/node_modules/mout/array/filter.js b/node_modules/mout/array/filter.js
deleted file mode 100644
index f0e7419..0000000
--- a/node_modules/mout/array/filter.js
+++ /dev/null
@@ -1,26 +0,0 @@
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Array filter
- */
- function filter(arr, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var results = [];
- if (arr == null) {
- return results;
- }
-
- var i = -1, len = arr.length, value;
- while (++i < len) {
- value = arr[i];
- if (callback(value, i, arr)) {
- results.push(value);
- }
- }
-
- return results;
- }
-
- module.exports = filter;
-
-
diff --git a/node_modules/mout/array/find.js b/node_modules/mout/array/find.js
deleted file mode 100644
index b4a7313..0000000
--- a/node_modules/mout/array/find.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var findIndex = require('./findIndex');
-
- /**
- * Returns first item that matches criteria
- */
- function find(arr, iterator, thisObj){
- var idx = findIndex(arr, iterator, thisObj);
- return idx >= 0? arr[idx] : void(0);
- }
-
- module.exports = find;
-
-
diff --git a/node_modules/mout/array/findIndex.js b/node_modules/mout/array/findIndex.js
deleted file mode 100644
index 53f22a5..0000000
--- a/node_modules/mout/array/findIndex.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Returns the index of the first item that matches criteria
- */
- function findIndex(arr, iterator, thisObj){
- iterator = makeIterator(iterator, thisObj);
- if (arr == null) {
- return -1;
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- if (iterator(arr[i], i, arr)) {
- return i;
- }
- }
-
- return -1;
- }
-
- module.exports = findIndex;
-
diff --git a/node_modules/mout/array/findLast.js b/node_modules/mout/array/findLast.js
deleted file mode 100644
index 84ba4bf..0000000
--- a/node_modules/mout/array/findLast.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var findLastIndex = require('./findLastIndex');
-
- /**
- * Returns last item that matches criteria
- */
- function findLast(arr, iterator, thisObj){
- var idx = findLastIndex(arr, iterator, thisObj);
- return idx >= 0? arr[idx] : void(0);
- }
-
- module.exports = findLast;
-
-
diff --git a/node_modules/mout/array/findLastIndex.js b/node_modules/mout/array/findLastIndex.js
deleted file mode 100644
index b8330f2..0000000
--- a/node_modules/mout/array/findLastIndex.js
+++ /dev/null
@@ -1,24 +0,0 @@
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Returns the index of the last item that matches criteria
- */
- function findLastIndex(arr, iterator, thisObj){
- iterator = makeIterator(iterator, thisObj);
- if (arr == null) {
- return -1;
- }
-
- var n = arr.length;
- while (--n >= 0) {
- if (iterator(arr[n], n, arr)) {
- return n;
- }
- }
-
- return -1;
- }
-
- module.exports = findLastIndex;
-
-
diff --git a/node_modules/mout/array/flatten.js b/node_modules/mout/array/flatten.js
deleted file mode 100644
index 3aad385..0000000
--- a/node_modules/mout/array/flatten.js
+++ /dev/null
@@ -1,45 +0,0 @@
-var isArray = require('../lang/isArray');
-var append = require('./append');
-
- /*
- * Helper function to flatten to a destination array.
- * Used to remove the need to create intermediate arrays while flattening.
- */
- function flattenTo(arr, result, level) {
- if (level === 0) {
- append(result, arr);
- return result;
- }
-
- var value,
- i = -1,
- len = arr.length;
- while (++i < len) {
- value = arr[i];
- if (isArray(value)) {
- flattenTo(value, result, level - 1);
- } else {
- result.push(value);
- }
- }
- return result;
- }
-
- /**
- * Recursively flattens an array.
- * A new array containing all the elements is returned.
- * If level is specified, it will only flatten up to that level.
- */
- function flatten(arr, level) {
- if (arr == null) {
- return [];
- }
-
- level = level == null ? -1 : level;
- return flattenTo(arr, [], level);
- }
-
- module.exports = flatten;
-
-
-
diff --git a/node_modules/mout/array/forEach.js b/node_modules/mout/array/forEach.js
deleted file mode 100644
index 268e506..0000000
--- a/node_modules/mout/array/forEach.js
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- /**
- * Array forEach
- */
- function forEach(arr, callback, thisObj) {
- if (arr == null) {
- return;
- }
- var i = -1,
- len = arr.length;
- while (++i < len) {
- // we iterate over sparse items since there is no way to make it
- // work properly on IE 7-8. see #64
- if ( callback.call(thisObj, arr[i], i, arr) === false ) {
- break;
- }
- }
- }
-
- module.exports = forEach;
-
-
diff --git a/node_modules/mout/array/groupBy.js b/node_modules/mout/array/groupBy.js
deleted file mode 100644
index af6f434..0000000
--- a/node_modules/mout/array/groupBy.js
+++ /dev/null
@@ -1,30 +0,0 @@
-var forEach = require('../array/forEach');
-var identity = require('../function/identity');
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Bucket the array values.
- */
- function groupBy(arr, categorize, thisObj) {
- if (categorize) {
- categorize = makeIterator(categorize, thisObj);
- } else {
- // Default to identity function.
- categorize = identity;
- }
-
- var buckets = {};
- forEach(arr, function(element) {
- var bucket = categorize(element);
- if (!(bucket in buckets)) {
- buckets[bucket] = [];
- }
-
- buckets[bucket].push(element);
- });
-
- return buckets;
- }
-
- module.exports = groupBy;
-
diff --git a/node_modules/mout/array/indexOf.js b/node_modules/mout/array/indexOf.js
deleted file mode 100644
index 6a9ac83..0000000
--- a/node_modules/mout/array/indexOf.js
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- /**
- * Array.indexOf
- */
- function indexOf(arr, item, fromIndex) {
- fromIndex = fromIndex || 0;
- if (arr == null) {
- return -1;
- }
-
- var len = arr.length,
- i = fromIndex < 0 ? len + fromIndex : fromIndex;
- while (i < len) {
- // we iterate over sparse items since there is no way to make it
- // work properly on IE 7-8. see #64
- if (arr[i] === item) {
- return i;
- }
-
- i++;
- }
-
- return -1;
- }
-
- module.exports = indexOf;
-
diff --git a/node_modules/mout/array/indicesOf.js b/node_modules/mout/array/indicesOf.js
deleted file mode 100644
index 46d656e..0000000
--- a/node_modules/mout/array/indicesOf.js
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- /**
- * Array indicesOf
- */
- function indicesOf(arr, item, fromIndex) {
- var results = [];
- if (arr == null) {
- return results;
- }
-
- fromIndex = typeof fromIndex === 'number' ? fromIndex : 0;
-
- var length = arr.length;
- var cursor = fromIndex >= 0 ? fromIndex : length + fromIndex;
-
- while (cursor < length) {
- if (arr[cursor] === item) {
- results.push(cursor);
- }
- cursor++;
- }
-
- return results;
- }
-
- module.exports = indicesOf;
-
diff --git a/node_modules/mout/array/insert.js b/node_modules/mout/array/insert.js
deleted file mode 100644
index 20bd442..0000000
--- a/node_modules/mout/array/insert.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var difference = require('./difference');
-var slice = require('./slice');
-
- /**
- * Insert item into array if not already present.
- */
- function insert(arr, rest_items) {
- var diff = difference(slice(arguments, 1), arr);
- if (diff.length) {
- Array.prototype.push.apply(arr, diff);
- }
- return arr.length;
- }
- module.exports = insert;
-
diff --git a/node_modules/mout/array/intersection.js b/node_modules/mout/array/intersection.js
deleted file mode 100644
index 34957ab..0000000
--- a/node_modules/mout/array/intersection.js
+++ /dev/null
@@ -1,24 +0,0 @@
-var unique = require('./unique');
-var filter = require('./filter');
-var every = require('./every');
-var contains = require('./contains');
-var slice = require('./slice');
-
-
- /**
- * Return a new Array with elements common to all Arrays.
- * - based on underscore.js implementation
- */
- function intersection(arr) {
- var arrs = slice(arguments, 1),
- result = filter(unique(arr), function(needle){
- return every(arrs, function(haystack){
- return contains(haystack, needle);
- });
- });
- return result;
- }
-
- module.exports = intersection;
-
-
diff --git a/node_modules/mout/array/invoke.js b/node_modules/mout/array/invoke.js
deleted file mode 100644
index 32ec584..0000000
--- a/node_modules/mout/array/invoke.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var slice = require('./slice');
-
- /**
- * Call `methodName` on each item of the array passing custom arguments if
- * needed.
- */
- function invoke(arr, methodName, var_args){
- if (arr == null) {
- return arr;
- }
-
- var args = slice(arguments, 2);
- var i = -1, len = arr.length, value;
- while (++i < len) {
- value = arr[i];
- value[methodName].apply(value, args);
- }
-
- return arr;
- }
-
- module.exports = invoke;
-
diff --git a/node_modules/mout/array/join.js b/node_modules/mout/array/join.js
deleted file mode 100644
index 71d8bd2..0000000
--- a/node_modules/mout/array/join.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var filter = require('./filter');
-
- function isValidString(val) {
- return (val != null && val !== '');
- }
-
- /**
- * Joins strings with the specified separator inserted between each value.
- * Null values and empty strings will be excluded.
- */
- function join(items, separator) {
- separator = separator || '';
- return filter(items, isValidString).join(separator);
- }
-
- module.exports = join;
-
diff --git a/node_modules/mout/array/last.js b/node_modules/mout/array/last.js
deleted file mode 100644
index d80ab2b..0000000
--- a/node_modules/mout/array/last.js
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
- /**
- * Returns last element of array.
- */
- function last(arr){
- if (arr == null || arr.length < 1) {
- return undefined;
- }
-
- return arr[arr.length - 1];
- }
-
- module.exports = last;
-
-
diff --git a/node_modules/mout/array/lastIndexOf.js b/node_modules/mout/array/lastIndexOf.js
deleted file mode 100644
index ee44a25..0000000
--- a/node_modules/mout/array/lastIndexOf.js
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- /**
- * Array lastIndexOf
- */
- function lastIndexOf(arr, item, fromIndex) {
- if (arr == null) {
- return -1;
- }
-
- var len = arr.length;
- fromIndex = (fromIndex == null || fromIndex >= len)? len - 1 : fromIndex;
- fromIndex = (fromIndex < 0)? len + fromIndex : fromIndex;
-
- while (fromIndex >= 0) {
- // we iterate over sparse items since there is no way to make it
- // work properly on IE 7-8. see #64
- if (arr[fromIndex] === item) {
- return fromIndex;
- }
- fromIndex--;
- }
-
- return -1;
- }
-
- module.exports = lastIndexOf;
-
diff --git a/node_modules/mout/array/map.js b/node_modules/mout/array/map.js
deleted file mode 100644
index 7b7fb33..0000000
--- a/node_modules/mout/array/map.js
+++ /dev/null
@@ -1,22 +0,0 @@
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Array map
- */
- function map(arr, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var results = [];
- if (arr == null){
- return results;
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- results[i] = callback(arr[i], i, arr);
- }
-
- return results;
- }
-
- module.exports = map;
-
diff --git a/node_modules/mout/array/max.js b/node_modules/mout/array/max.js
deleted file mode 100644
index 0b8f259..0000000
--- a/node_modules/mout/array/max.js
+++ /dev/null
@@ -1,34 +0,0 @@
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Return maximum value inside array
- */
- function max(arr, iterator, thisObj){
- if (arr == null || !arr.length) {
- return Infinity;
- } else if (arr.length && !iterator) {
- return Math.max.apply(Math, arr);
- } else {
- iterator = makeIterator(iterator, thisObj);
- var result,
- compare = -Infinity,
- value,
- temp;
-
- var i = -1, len = arr.length;
- while (++i < len) {
- value = arr[i];
- temp = iterator(value, i, arr);
- if (temp > compare) {
- compare = temp;
- result = value;
- }
- }
-
- return result;
- }
- }
-
- module.exports = max;
-
-
diff --git a/node_modules/mout/array/min.js b/node_modules/mout/array/min.js
deleted file mode 100644
index ed6cc6a..0000000
--- a/node_modules/mout/array/min.js
+++ /dev/null
@@ -1,34 +0,0 @@
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Return minimum value inside array
- */
- function min(arr, iterator, thisObj){
- if (arr == null || !arr.length) {
- return -Infinity;
- } else if (arr.length && !iterator) {
- return Math.min.apply(Math, arr);
- } else {
- iterator = makeIterator(iterator, thisObj);
- var result,
- compare = Infinity,
- value,
- temp;
-
- var i = -1, len = arr.length;
- while (++i < len) {
- value = arr[i];
- temp = iterator(value, i, arr);
- if (temp < compare) {
- compare = temp;
- result = value;
- }
- }
-
- return result;
- }
- }
-
- module.exports = min;
-
-
diff --git a/node_modules/mout/array/pick.js b/node_modules/mout/array/pick.js
deleted file mode 100644
index 6408678..0000000
--- a/node_modules/mout/array/pick.js
+++ /dev/null
@@ -1,31 +0,0 @@
-var randInt = require('../random/randInt');
-
- /**
- * Remove random item(s) from the Array and return it.
- * Returns an Array of items if [nItems] is provided or a single item if
- * it isn't specified.
- */
- function pick(arr, nItems){
- if (nItems != null) {
- var result = [];
- if (nItems > 0 && arr && arr.length) {
- nItems = nItems > arr.length? arr.length : nItems;
- while (nItems--) {
- result.push( pickOne(arr) );
- }
- }
- return result;
- }
- return (arr && arr.length)? pickOne(arr) : void(0);
- }
-
-
- function pickOne(arr){
- var idx = randInt(0, arr.length - 1);
- return arr.splice(idx, 1)[0];
- }
-
-
- module.exports = pick;
-
-
diff --git a/node_modules/mout/array/pluck.js b/node_modules/mout/array/pluck.js
deleted file mode 100644
index fef4043..0000000
--- a/node_modules/mout/array/pluck.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var map = require('./map');
-
- /**
- * Extract a list of property values.
- */
- function pluck(arr, propName){
- return map(arr, propName);
- }
-
- module.exports = pluck;
-
-
diff --git a/node_modules/mout/array/range.js b/node_modules/mout/array/range.js
deleted file mode 100644
index 31d3c77..0000000
--- a/node_modules/mout/array/range.js
+++ /dev/null
@@ -1,27 +0,0 @@
-var countSteps = require('../math/countSteps');
-
- /**
- * Returns an Array of numbers inside range.
- */
- function range(start, stop, step) {
- if (stop == null) {
- stop = start;
- start = 0;
- }
- step = step || 1;
-
- var result = [],
- nSteps = countSteps(stop - start, step),
- i = start;
-
- while (i <= stop) {
- result.push(i);
- i += step;
- }
-
- return result;
- }
-
- module.exports = range;
-
-
diff --git a/node_modules/mout/array/reduce.js b/node_modules/mout/array/reduce.js
deleted file mode 100644
index 827f428..0000000
--- a/node_modules/mout/array/reduce.js
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- /**
- * Array reduce
- */
- function reduce(arr, fn, initVal) {
- // check for args.length since initVal might be "undefined" see #gh-57
- var hasInit = arguments.length > 2,
- result = initVal;
-
- if (arr == null || !arr.length) {
- if (!hasInit) {
- throw new Error('reduce of empty array with no initial value');
- } else {
- return initVal;
- }
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- if (!hasInit) {
- result = arr[i];
- hasInit = true;
- } else {
- result = fn(result, arr[i], i, arr);
- }
- }
-
- return result;
- }
-
- module.exports = reduce;
-
diff --git a/node_modules/mout/array/reduceRight.js b/node_modules/mout/array/reduceRight.js
deleted file mode 100644
index e36fd4a..0000000
--- a/node_modules/mout/array/reduceRight.js
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
- /**
- * Array reduceRight
- */
- function reduceRight(arr, fn, initVal) {
- // check for args.length since initVal might be "undefined" see #gh-57
- var hasInit = arguments.length > 2;
-
- if (arr == null || !arr.length) {
- if (hasInit) {
- return initVal;
- } else {
- throw new Error('reduce of empty array with no initial value');
- }
- }
-
- var i = arr.length, result = initVal, value;
- while (--i >= 0) {
- // we iterate over sparse items since there is no way to make it
- // work properly on IE 7-8. see #64
- value = arr[i];
- if (!hasInit) {
- result = value;
- hasInit = true;
- } else {
- result = fn(result, value, i, arr);
- }
- }
- return result;
- }
-
- module.exports = reduceRight;
-
diff --git a/node_modules/mout/array/reject.js b/node_modules/mout/array/reject.js
deleted file mode 100644
index 0cfc8b1..0000000
--- a/node_modules/mout/array/reject.js
+++ /dev/null
@@ -1,25 +0,0 @@
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Array reject
- */
- function reject(arr, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var results = [];
- if (arr == null) {
- return results;
- }
-
- var i = -1, len = arr.length, value;
- while (++i < len) {
- value = arr[i];
- if (!callback(value, i, arr)) {
- results.push(value);
- }
- }
-
- return results;
- }
-
- module.exports = reject;
-
diff --git a/node_modules/mout/array/remove.js b/node_modules/mout/array/remove.js
deleted file mode 100644
index aa6517d..0000000
--- a/node_modules/mout/array/remove.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var indexOf = require('./indexOf');
-
- /**
- * Remove a single item from the array.
- * (it won't remove duplicates, just a single item)
- */
- function remove(arr, item){
- var idx = indexOf(arr, item);
- if (idx !== -1) arr.splice(idx, 1);
- }
-
- module.exports = remove;
-
diff --git a/node_modules/mout/array/removeAll.js b/node_modules/mout/array/removeAll.js
deleted file mode 100644
index d5f7f3b..0000000
--- a/node_modules/mout/array/removeAll.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var indexOf = require('./indexOf');
-
- /**
- * Remove all instances of an item from array.
- */
- function removeAll(arr, item){
- var idx = indexOf(arr, item);
- while (idx !== -1) {
- arr.splice(idx, 1);
- idx = indexOf(arr, item, idx);
- }
- }
-
- module.exports = removeAll;
-
diff --git a/node_modules/mout/array/repeat.js b/node_modules/mout/array/repeat.js
deleted file mode 100644
index b22d2b0..0000000
--- a/node_modules/mout/array/repeat.js
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- /**
- * Create an array of size N and fill with a value.
- * This function will throw an exception in case
- * you pass a negative number.
- */
- function repeat(n, value) {
- var arr = new Array(n);
- return arr.fill(value);
- }
-
- module.exports = repeat;
-
diff --git a/node_modules/mout/array/reverse.js b/node_modules/mout/array/reverse.js
deleted file mode 100644
index a35cc1a..0000000
--- a/node_modules/mout/array/reverse.js
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- /**
- * Returns a copy of the array in reversed order.
- */
- function reverse(array) {
- var copy = array.slice();
- copy.reverse();
- return copy;
- }
-
- module.exports = reverse;
-
-
diff --git a/node_modules/mout/array/shuffle.js b/node_modules/mout/array/shuffle.js
deleted file mode 100644
index 9cd1fb5..0000000
--- a/node_modules/mout/array/shuffle.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var randInt = require('../random/randInt');
-
- /**
- * Shuffle array items.
- */
- function shuffle(arr) {
- var results = [],
- rnd;
- if (arr == null) {
- return results;
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- if (!i) {
- results[0] = arr[0];
- } else {
- rnd = randInt(0, i);
- results[i] = results[rnd];
- results[rnd] = arr[i];
- }
- }
-
- return results;
- }
-
- module.exports = shuffle;
-
diff --git a/node_modules/mout/array/slice.js b/node_modules/mout/array/slice.js
deleted file mode 100644
index 0a4d5cf..0000000
--- a/node_modules/mout/array/slice.js
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
- /**
- * Create slice of source array or array-like object
- */
- function slice(arr, start, end){
- var len = arr.length;
-
- if (start == null) {
- start = 0;
- } else if (start < 0) {
- start = Math.max(len + start, 0);
- } else {
- start = Math.min(start, len);
- }
-
- if (end == null) {
- end = len;
- } else if (end < 0) {
- end = Math.max(len + end, 0);
- } else {
- end = Math.min(end, len);
- }
-
- var result = [];
- while (start < end) {
- result.push(arr[start++]);
- }
-
- return result;
- }
-
- module.exports = slice;
-
-
diff --git a/node_modules/mout/array/some.js b/node_modules/mout/array/some.js
deleted file mode 100644
index 8d17772..0000000
--- a/node_modules/mout/array/some.js
+++ /dev/null
@@ -1,27 +0,0 @@
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Array some
- */
- function some(arr, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var result = false;
- if (arr == null) {
- return result;
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- // we iterate over sparse items since there is no way to make it
- // work properly on IE 7-8. see #64
- if ( callback(arr[i], i, arr) ) {
- result = true;
- break;
- }
- }
-
- return result;
- }
-
- module.exports = some;
-
diff --git a/node_modules/mout/array/sort.js b/node_modules/mout/array/sort.js
deleted file mode 100644
index 7807339..0000000
--- a/node_modules/mout/array/sort.js
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
- /**
- * Merge sort (http://en.wikipedia.org/wiki/Merge_sort)
- */
- function mergeSort(arr, compareFn) {
- if (arr == null) {
- return [];
- } else if (arr.length < 2) {
- return arr;
- }
-
- if (compareFn == null) {
- compareFn = defaultCompare;
- }
-
- var mid, left, right;
-
- mid = ~~(arr.length / 2);
- left = mergeSort( arr.slice(0, mid), compareFn );
- right = mergeSort( arr.slice(mid, arr.length), compareFn );
-
- return merge(left, right, compareFn);
- }
-
- function defaultCompare(a, b) {
- return a < b ? -1 : (a > b? 1 : 0);
- }
-
- function merge(left, right, compareFn) {
- var result = [];
-
- while (left.length && right.length) {
- if (compareFn(left[0], right[0]) <= 0) {
- // if 0 it should preserve same order (stable)
- result.push(left.shift());
- } else {
- result.push(right.shift());
- }
- }
-
- if (left.length) {
- result.push.apply(result, left);
- }
-
- if (right.length) {
- result.push.apply(result, right);
- }
-
- return result;
- }
-
- module.exports = mergeSort;
-
-
diff --git a/node_modules/mout/array/sortBy.js b/node_modules/mout/array/sortBy.js
deleted file mode 100644
index b84544c..0000000
--- a/node_modules/mout/array/sortBy.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var sort = require('./sort');
-var makeIterator = require('../function/makeIterator_');
-
- /*
- * Sort array by the result of the callback
- */
- function sortBy(arr, callback, context){
- callback = makeIterator(callback, context);
-
- return sort(arr, function(a, b) {
- a = callback(a);
- b = callback(b);
- return (a < b) ? -1 : ((a > b) ? 1 : 0);
- });
- }
-
- module.exports = sortBy;
-
-
diff --git a/node_modules/mout/array/split.js b/node_modules/mout/array/split.js
deleted file mode 100644
index 4f3ba50..0000000
--- a/node_modules/mout/array/split.js
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
- /**
- * Split array into a fixed number of segments.
- */
- function split(array, segments) {
- segments = segments || 2;
- var results = [];
- if (array == null) {
- return results;
- }
-
- var minLength = Math.floor(array.length / segments),
- remainder = array.length % segments,
- i = 0,
- len = array.length,
- segmentIndex = 0,
- segmentLength;
-
- while (i < len) {
- segmentLength = minLength;
- if (segmentIndex < remainder) {
- segmentLength++;
- }
-
- results.push(array.slice(i, i + segmentLength));
-
- segmentIndex++;
- i += segmentLength;
- }
-
- return results;
- }
- module.exports = split;
-
diff --git a/node_modules/mout/array/take.js b/node_modules/mout/array/take.js
deleted file mode 100644
index bd8eb07..0000000
--- a/node_modules/mout/array/take.js
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
- /**
- * Iterates over a callback a set amount of times
- * returning the results
- */
- function take(n, callback, thisObj){
- var i = -1;
- var arr = [];
- if( !thisObj ){
- while(++i < n){
- arr[i] = callback(i, n);
- }
- } else {
- while(++i < n){
- arr[i] = callback.call(thisObj, i, n);
- }
- }
- return arr;
- }
-
- module.exports = take;
-
-
diff --git a/node_modules/mout/array/toLookup.js b/node_modules/mout/array/toLookup.js
deleted file mode 100644
index ce4c55d..0000000
--- a/node_modules/mout/array/toLookup.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var isFunction = require('../lang/isFunction');
-
- /**
- * Creates an object that holds a lookup for the objects in the array.
- */
- function toLookup(arr, key) {
- var result = {};
- if (arr == null) {
- return result;
- }
-
- var i = -1, len = arr.length, value;
- if (isFunction(key)) {
- while (++i < len) {
- value = arr[i];
- result[key(value)] = value;
- }
- } else {
- while (++i < len) {
- value = arr[i];
- result[value[key]] = value;
- }
- }
-
- return result;
- }
- module.exports = toLookup;
-
diff --git a/node_modules/mout/array/union.js b/node_modules/mout/array/union.js
deleted file mode 100644
index f1334a9..0000000
--- a/node_modules/mout/array/union.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var unique = require('./unique');
-var append = require('./append');
-
- /**
- * Concat multiple arrays and remove duplicates
- */
- function union(arrs) {
- var results = [];
- var i = -1, len = arguments.length;
- while (++i < len) {
- append(results, arguments[i]);
- }
-
- return unique(results);
- }
-
- module.exports = union;
-
-
diff --git a/node_modules/mout/array/unique.js b/node_modules/mout/array/unique.js
deleted file mode 100644
index 5db2510..0000000
--- a/node_modules/mout/array/unique.js
+++ /dev/null
@@ -1,25 +0,0 @@
-var filter = require('./filter');
-
- /**
- * @return {array} Array of unique items
- */
- function unique(arr, compare){
- compare = compare || isEqual;
- return filter(arr, function(item, i, arr){
- var n = arr.length;
- while (++i < n) {
- if ( compare(item, arr[i]) ) {
- return false;
- }
- }
- return true;
- });
- }
-
- function isEqual(a, b){
- return a === b;
- }
-
- module.exports = unique;
-
-
diff --git a/node_modules/mout/array/xor.js b/node_modules/mout/array/xor.js
deleted file mode 100644
index c125a99..0000000
--- a/node_modules/mout/array/xor.js
+++ /dev/null
@@ -1,26 +0,0 @@
-var unique = require('./unique');
-var filter = require('./filter');
-var contains = require('./contains');
-
-
- /**
- * Exclusive OR. Returns items that are present in a single array.
- * - like ptyhon's `symmetric_difference`
- */
- function xor(arr1, arr2) {
- arr1 = unique(arr1);
- arr2 = unique(arr2);
-
- var a1 = filter(arr1, function(item){
- return !contains(arr2, item);
- }),
- a2 = filter(arr2, function(item){
- return !contains(arr1, item);
- });
-
- return a1.concat(a2);
- }
-
- module.exports = xor;
-
-
diff --git a/node_modules/mout/array/zip.js b/node_modules/mout/array/zip.js
deleted file mode 100644
index 8bce9c0..0000000
--- a/node_modules/mout/array/zip.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var max = require('./max');
-var map = require('./map');
-
- function getLength(arr) {
- return arr == null ? 0 : arr.length;
- }
-
- /**
- * Merges together the values of each of the arrays with the values at the
- * corresponding position.
- */
- function zip(arr){
- var len = arr ? max(map(arguments, getLength)) : 0,
- results = [],
- i = -1;
- while (++i < len) {
- // jshint loopfunc: true
- results.push(map(arguments, function(item) {
- return item == null ? undefined : item[i];
- }));
- }
-
- return results;
- }
-
- module.exports = zip;
-
-
diff --git a/node_modules/mout/collection.js b/node_modules/mout/collection.js
deleted file mode 100644
index d5cf6ca..0000000
--- a/node_modules/mout/collection.js
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'contains' : require('./collection/contains'),
- 'every' : require('./collection/every'),
- 'filter' : require('./collection/filter'),
- 'find' : require('./collection/find'),
- 'forEach' : require('./collection/forEach'),
- 'make_' : require('./collection/make_'),
- 'map' : require('./collection/map'),
- 'max' : require('./collection/max'),
- 'min' : require('./collection/min'),
- 'pluck' : require('./collection/pluck'),
- 'reduce' : require('./collection/reduce'),
- 'reject' : require('./collection/reject'),
- 'size' : require('./collection/size'),
- 'some' : require('./collection/some')
-};
-
-
diff --git a/node_modules/mout/collection/contains.js b/node_modules/mout/collection/contains.js
deleted file mode 100644
index a73f994..0000000
--- a/node_modules/mout/collection/contains.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var make = require('./make_');
-var arrContains = require('../array/contains');
-var objContains = require('../object/contains');
-
- /**
- */
- module.exports = make(arrContains, objContains);
-
-
diff --git a/node_modules/mout/collection/every.js b/node_modules/mout/collection/every.js
deleted file mode 100644
index 300e03c..0000000
--- a/node_modules/mout/collection/every.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var make = require('./make_');
-var arrEvery = require('../array/every');
-var objEvery = require('../object/every');
-
- /**
- */
- module.exports = make(arrEvery, objEvery);
-
-
diff --git a/node_modules/mout/collection/filter.js b/node_modules/mout/collection/filter.js
deleted file mode 100644
index 3875700..0000000
--- a/node_modules/mout/collection/filter.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var forEach = require('./forEach');
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * filter collection values, returns array.
- */
- function filter(list, iterator, thisObj) {
- iterator = makeIterator(iterator, thisObj);
- var results = [];
- if (!list) {
- return results;
- }
- forEach(list, function(value, index, list) {
- if (iterator(value, index, list)) {
- results[results.length] = value;
- }
- });
- return results;
- }
-
- module.exports = filter;
-
-
diff --git a/node_modules/mout/collection/find.js b/node_modules/mout/collection/find.js
deleted file mode 100644
index 14317e6..0000000
--- a/node_modules/mout/collection/find.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var make = require('./make_');
-var arrFind = require('../array/find');
-var objFind = require('../object/find');
-
- /**
- * Find value that returns true on iterator check.
- */
- module.exports = make(arrFind, objFind);
-
-
diff --git a/node_modules/mout/collection/forEach.js b/node_modules/mout/collection/forEach.js
deleted file mode 100644
index 6e28dcb..0000000
--- a/node_modules/mout/collection/forEach.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var make = require('./make_');
-var arrForEach = require('../array/forEach');
-var objForEach = require('../object/forOwn');
-
- /**
- */
- module.exports = make(arrForEach, objForEach);
-
-
diff --git a/node_modules/mout/collection/make_.js b/node_modules/mout/collection/make_.js
deleted file mode 100644
index 4fb8a81..0000000
--- a/node_modules/mout/collection/make_.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var slice = require('../array/slice');
-
- /**
- * internal method used to create other collection modules.
- */
- function makeCollectionMethod(arrMethod, objMethod, defaultReturn) {
- return function(){
- var args = slice(arguments);
- if (args[0] == null) {
- return defaultReturn;
- }
- // array-like is treated as array
- return (typeof args[0].length === 'number')? arrMethod.apply(null, args) : objMethod.apply(null, args);
- };
- }
-
- module.exports = makeCollectionMethod;
-
-
diff --git a/node_modules/mout/collection/map.js b/node_modules/mout/collection/map.js
deleted file mode 100644
index fc157f5..0000000
--- a/node_modules/mout/collection/map.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var isObject = require('../lang/isObject');
-var values = require('../object/values');
-var arrMap = require('../array/map');
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Map collection values, returns Array.
- */
- function map(list, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- // list.length to check array-like object, if not array-like
- // we simply map all the object values
- if( isObject(list) && list.length == null ){
- list = values(list);
- }
- return arrMap(list, function (val, key, list) {
- return callback(val, key, list);
- });
- }
-
- module.exports = map;
-
-
diff --git a/node_modules/mout/collection/max.js b/node_modules/mout/collection/max.js
deleted file mode 100644
index a8490e7..0000000
--- a/node_modules/mout/collection/max.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var make = require('./make_');
-var arrMax = require('../array/max');
-var objMax = require('../object/max');
-
- /**
- * Get maximum value inside collection
- */
- module.exports = make(arrMax, objMax);
-
-
diff --git a/node_modules/mout/collection/min.js b/node_modules/mout/collection/min.js
deleted file mode 100644
index 51d9f14..0000000
--- a/node_modules/mout/collection/min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var make = require('./make_');
-var arrMin = require('../array/min');
-var objMin = require('../object/min');
-
- /**
- * Get minimum value inside collection.
- */
- module.exports = make(arrMin, objMin);
-
-
diff --git a/node_modules/mout/collection/pluck.js b/node_modules/mout/collection/pluck.js
deleted file mode 100644
index 9b28377..0000000
--- a/node_modules/mout/collection/pluck.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var map = require('./map');
-
- /**
- * Extract a list of property values.
- */
- function pluck(list, key) {
- return map(list, function(value) {
- return value[key];
- });
- }
-
- module.exports = pluck;
-
-
diff --git a/node_modules/mout/collection/reduce.js b/node_modules/mout/collection/reduce.js
deleted file mode 100644
index 4c07573..0000000
--- a/node_modules/mout/collection/reduce.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var make = require('./make_');
-var arrReduce = require('../array/reduce');
-var objReduce = require('../object/reduce');
-
- /**
- */
- module.exports = make(arrReduce, objReduce);
-
-
diff --git a/node_modules/mout/collection/reject.js b/node_modules/mout/collection/reject.js
deleted file mode 100644
index 2a92e3b..0000000
--- a/node_modules/mout/collection/reject.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var filter = require('./filter');
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Inverse or collection/filter
- */
- function reject(list, iterator, thisObj) {
- iterator = makeIterator(iterator, thisObj);
- return filter(list, function(value, index, list) {
- return !iterator(value, index, list);
- }, thisObj);
- }
-
- module.exports = reject;
-
-
diff --git a/node_modules/mout/collection/size.js b/node_modules/mout/collection/size.js
deleted file mode 100644
index 244e33e..0000000
--- a/node_modules/mout/collection/size.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var isArray = require('../lang/isArray');
-var objSize = require('../object/size');
-
- /**
- * Get collection size
- */
- function size(list) {
- if (!list) {
- return 0;
- }
- if (isArray(list)) {
- return list.length;
- }
- return objSize(list);
- }
-
- module.exports = size;
-
-
diff --git a/node_modules/mout/collection/some.js b/node_modules/mout/collection/some.js
deleted file mode 100644
index 48fd252..0000000
--- a/node_modules/mout/collection/some.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var make = require('./make_');
-var arrSome = require('../array/some');
-var objSome = require('../object/some');
-
- /**
- */
- module.exports = make(arrSome, objSome);
-
-
diff --git a/node_modules/mout/date.js b/node_modules/mout/date.js
deleted file mode 100644
index 9c2efe9..0000000
--- a/node_modules/mout/date.js
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'dayOfTheYear' : require('./date/dayOfTheYear'),
- 'diff' : require('./date/diff'),
- 'i18n_' : require('./date/i18n_'),
- 'isLeapYear' : require('./date/isLeapYear'),
- 'isSame' : require('./date/isSame'),
- 'parseIso' : require('./date/parseIso'),
- 'quarter' : require('./date/quarter'),
- 'startOf' : require('./date/startOf'),
- 'strftime' : require('./date/strftime'),
- 'timezoneAbbr' : require('./date/timezoneAbbr'),
- 'timezoneOffset' : require('./date/timezoneOffset'),
- 'totalDaysInMonth' : require('./date/totalDaysInMonth'),
- 'totalDaysInYear' : require('./date/totalDaysInYear'),
- 'weekOfTheYear' : require('./date/weekOfTheYear')
-};
-
-
diff --git a/node_modules/mout/date/dayOfTheYear.js b/node_modules/mout/date/dayOfTheYear.js
deleted file mode 100644
index 85905c5..0000000
--- a/node_modules/mout/date/dayOfTheYear.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var isDate = require('../lang/isDate');
-
- /**
- * return the day of the year (1..366)
- */
- function dayOfTheYear(date){
- return (Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) -
- Date.UTC(date.getFullYear(), 0, 1)) / 86400000 + 1;
- }
-
- module.exports = dayOfTheYear;
-
-
diff --git a/node_modules/mout/date/diff.js b/node_modules/mout/date/diff.js
deleted file mode 100644
index 1131cdc..0000000
--- a/node_modules/mout/date/diff.js
+++ /dev/null
@@ -1,130 +0,0 @@
-var totalDaysInMonth = require('./totalDaysInMonth');
-var totalDaysInYear = require('./totalDaysInYear');
-var convert = require('../time/convert');
-
- /**
- * calculate the difference between dates (range)
- */
- function diff(start, end, unitName){
- // sort the dates to make it easier to process (specially year/month)
- if (start > end) {
- var swap = start;
- start = end;
- end = swap;
- }
-
- var output;
-
- if (unitName === 'month') {
- output = getMonthsDiff(start, end);
- } else if (unitName === 'year'){
- output = getYearsDiff(start, end);
- } else if (unitName != null) {
- if (unitName === 'day') {
- // ignore timezone difference because of daylight savings time
- start = toUtc(start);
- end = toUtc(end);
- }
- output = convert(end - start, 'ms', unitName);
- } else {
- output = end - start;
- }
-
- return output;
- }
-
-
- function toUtc(d){
- // we ignore timezone differences on purpose because of daylight
- // savings time, otherwise it would return fractional days/weeks even
- // if a full day elapsed. eg:
- // Wed Feb 12 2014 00:00:00 GMT-0200 (BRST)
- // Sun Feb 16 2014 00:00:00 GMT-0300 (BRT)
- // diff should be 4 days and not 4.041666666666667
- return Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(),
- d.getHours(), d.getMinutes(), d.getSeconds(),
- d.getMilliseconds());
- }
-
-
- function getMonthsDiff(start, end){
- return getElapsedMonths(start, end) +
- getElapsedYears(start, end) * 12 +
- getFractionalMonth(start, end);
- }
-
-
- function getYearsDiff(start, end){
- var elapsedYears = getElapsedYears(start, end);
- return elapsedYears + getFractionalYear(start, end, elapsedYears);
- }
-
-
- function getElapsedMonths(start, end){
- var monthDiff = end.getMonth() - start.getMonth();
- if (monthDiff < 0) {
- monthDiff += 12;
- }
- // less than a full month
- if (start.getDate() > end.getDate()) {
- monthDiff -= 1;
- }
- return monthDiff;
- }
-
-
- function getElapsedYears(start, end){
- var yearDiff = end.getFullYear() - start.getFullYear();
- // less than a full year
- if (start.getMonth() > end.getMonth()) {
- yearDiff -= 1;
- }
- return yearDiff;
- }
-
-
- function getFractionalMonth(start, end){
- var fractionalDiff = 0;
- var startDay = start.getDate();
- var endDay = end.getDate();
-
- if (startDay !== endDay) {
- var startTotalDays = totalDaysInMonth(start);
- var endTotalDays = totalDaysInMonth(end);
- var totalDays;
- var daysElapsed;
-
- if (startDay > endDay) {
- // eg: Jan 29 - Feb 27 (29 days elapsed but not a full month)
- var baseDay = startTotalDays - startDay;
- daysElapsed = endDay + baseDay;
- // total days should be relative to 1st day of next month if
- // startDay > endTotalDays
- totalDays = (startDay > endTotalDays)?
- endTotalDays + baseDay + 1 : startDay + baseDay;
- } else {
- // fractional is only based on endMonth eg: Jan 12 - Feb 18
- // (6 fractional days, 28 days until next full month)
- daysElapsed = endDay - startDay;
- totalDays = endTotalDays;
- }
-
- fractionalDiff = daysElapsed / totalDays;
- }
-
- return fractionalDiff;
- }
-
-
- function getFractionalYear(start, end, elapsedYears){
- var base = elapsedYears?
- new Date(end.getFullYear(), start.getMonth(), start.getDate()) :
- start;
- var elapsedDays = diff(base, end, 'day');
- return elapsedDays / totalDaysInYear(end);
- }
-
-
- module.exports = diff;
-
-
diff --git a/node_modules/mout/date/i18n/de-DE.js b/node_modules/mout/date/i18n/de-DE.js
deleted file mode 100644
index b3ab620..0000000
--- a/node_modules/mout/date/i18n/de-DE.js
+++ /dev/null
@@ -1,61 +0,0 @@
-
- // de-DE (German)
- module.exports = {
- "am" : "",
- "pm" : "",
-
- "x": "%d/%m/%y",
- "X": "%H:%M:%S",
- "c": "%a %d %b %Y %H:%M:%S %Z",
-
- "months" : [
- "Januar",
- "Februar",
- "März",
- "April",
- "Mai",
- "Juni",
- "Juli",
- "August",
- "September",
- "Oktober",
- "November",
- "Dezember"
- ],
-
- "months_abbr" : [
- "Jan",
- "Febr",
- "März",
- "Apr",
- "Mai",
- "Juni",
- "Juli",
- "Aug",
- "Sept",
- "Okt",
- "Nov",
- "Dez"
- ],
-
- "days" : [
- "Sonntag",
- "Montag",
- "Dienstag",
- "Mittwoch",
- "Donnerstag",
- "Freitag",
- "Samstag"
- ],
-
- "days_abbr" : [
- "So",
- "Mo",
- "Di",
- "Mi",
- "Do",
- "Fr",
- "Sa"
- ]
- };
-
diff --git a/node_modules/mout/date/i18n/en-US.js b/node_modules/mout/date/i18n/en-US.js
deleted file mode 100644
index f9526ce..0000000
--- a/node_modules/mout/date/i18n/en-US.js
+++ /dev/null
@@ -1,61 +0,0 @@
-
- // en-US (English, United States)
- module.exports = {
- "am" : "AM",
- "pm" : "PM",
-
- "x": "%m/%d/%y",
- "X": "%H:%M:%S",
- "c": "%a %d %b %Y %I:%M:%S %p %Z",
-
- "months" : [
- "January",
- "February",
- "March",
- "April",
- "May",
- "June",
- "July",
- "August",
- "September",
- "October",
- "November",
- "December"
- ],
-
- "months_abbr" : [
- "Jan",
- "Feb",
- "Mar",
- "Apr",
- "May",
- "Jun",
- "Jul",
- "Aug",
- "Sep",
- "Oct",
- "Nov",
- "Dec"
- ],
-
- "days" : [
- "Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday"
- ],
-
- "days_abbr" : [
- "Sun",
- "Mon",
- "Tue",
- "Wed",
- "Thu",
- "Fri",
- "Sat"
- ]
- };
-
diff --git a/node_modules/mout/date/i18n/pt-BR.js b/node_modules/mout/date/i18n/pt-BR.js
deleted file mode 100644
index 71ebadb..0000000
--- a/node_modules/mout/date/i18n/pt-BR.js
+++ /dev/null
@@ -1,61 +0,0 @@
-
- // pt-BR (Brazillian Portuguese)
- module.exports = {
- "am" : "",
- "pm" : "",
-
- "x": "%d/%m/%y",
- "X": "%H:%M:%S",
- "c": "%a %d %b %Y %H:%M:%S %Z",
-
- "months" : [
- "Janeiro",
- "Fevereiro",
- "Março",
- "Abril",
- "Maio",
- "Junho",
- "Julho",
- "Agosto",
- "Setembro",
- "Outubro",
- "Novembro",
- "Dezembro"
- ],
-
- "months_abbr" : [
- "Jan",
- "Fev",
- "Mar",
- "Abr",
- "Mai",
- "Jun",
- "Jul",
- "Ago",
- "Set",
- "Out",
- "Nov",
- "Dez"
- ],
-
- "days" : [
- "Domingo",
- "Segunda",
- "Terça",
- "Quarta",
- "Quinta",
- "Sexta",
- "Sábado"
- ],
-
- "days_abbr" : [
- "Dom",
- "Seg",
- "Ter",
- "Qua",
- "Qui",
- "Sex",
- "Sáb"
- ]
- };
-
diff --git a/node_modules/mout/date/i18n/ru.js b/node_modules/mout/date/i18n/ru.js
deleted file mode 100644
index 6c1a6ca..0000000
--- a/node_modules/mout/date/i18n/ru.js
+++ /dev/null
@@ -1,61 +0,0 @@
-
- // ru (Russian)
- module.exports = {
- "am" : "",
- "pm" : "",
-
- "x": "%d.%m.%Y",
- "X": "%H:%M:%S",
- "c": "%a, %e %b %Y г., %H:%M",
-
- "months" : [
- "Январь",
- "Февраль",
- "Март",
- "Апрель",
- "Май",
- "Июнь",
- "Июль",
- "Август",
- "Сентябрь",
- "Октябрь",
- "Ноябрь",
- "Декабрь"
- ],
-
- "months_abbr" : [
- "Янв.",
- "Февр.",
- "Март",
- "Апр.",
- "Май",
- "Июнь",
- "Июль",
- "Авг.",
- "Сент.",
- "Окт.",
- "Нояб.",
- "Дек."
- ],
-
- "days" : [
- "Воскресенье",
- "Понедельник",
- "Вторник",
- "Среда",
- "Четверг",
- "Пятница",
- "Суббота"
- ],
-
- "days_abbr" : [
- "Вс",
- "Пн",
- "Вт",
- "Ср",
- "Чт",
- "Пт",
- "Сб"
- ]
- };
-
diff --git a/node_modules/mout/date/i18n_.js b/node_modules/mout/date/i18n_.js
deleted file mode 100644
index 723fc10..0000000
--- a/node_modules/mout/date/i18n_.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var mixIn = require('../object/mixIn');
-var enUS = require('./i18n/en-US');
-
- // we also use mixIn to make sure we don't affect the original locale
- var activeLocale = mixIn({}, enUS, {
- // we expose a "set" method to allow overriding the global locale
- set : function(localeData){
- mixIn(activeLocale, localeData);
- }
- });
-
- module.exports = activeLocale;
-
-
diff --git a/node_modules/mout/date/isLeapYear.js b/node_modules/mout/date/isLeapYear.js
deleted file mode 100644
index 4212870..0000000
--- a/node_modules/mout/date/isLeapYear.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var isDate = require('../lang/isDate');
-
- /**
- * checks if it's a leap year
- */
- function isLeapYear(fullYear){
- if (isDate(fullYear)) {
- fullYear = fullYear.getFullYear();
- }
- return fullYear % 400 === 0 || (fullYear % 100 !== 0 && fullYear % 4 === 0);
- }
-
- module.exports = isLeapYear;
-
-
diff --git a/node_modules/mout/date/isSame.js b/node_modules/mout/date/isSame.js
deleted file mode 100644
index 4097d29..0000000
--- a/node_modules/mout/date/isSame.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var startOf = require('./startOf');
-
- /**
- * Check if date is "same" with optional period
- */
- function isSame(date1, date2, period){
- if (period) {
- date1 = startOf(date1, period);
- date2 = startOf(date2, period);
- }
- return Number(date1) === Number(date2);
- }
-
- module.exports = isSame;
-
-
diff --git a/node_modules/mout/date/parseIso.js b/node_modules/mout/date/parseIso.js
deleted file mode 100644
index 40a70a8..0000000
--- a/node_modules/mout/date/parseIso.js
+++ /dev/null
@@ -1,146 +0,0 @@
-var some = require('../array/some');
-
- var datePatterns = [
- /^([0-9]{4})$/, // YYYY
- /^([0-9]{4})-([0-9]{2})$/, // YYYY-MM (YYYYMM not allowed)
- /^([0-9]{4})-?([0-9]{2})-?([0-9]{2})$/ // YYYY-MM-DD or YYYYMMDD
- ];
- var ORD_DATE = /^([0-9]{4})-?([0-9]{3})$/; // YYYY-DDD
-
- var timePatterns = [
- /^([0-9]{2}(?:\.[0-9]*)?)$/, // HH.hh
- /^([0-9]{2}):?([0-9]{2}(?:\.[0-9]*)?)$/, // HH:MM.mm
- /^([0-9]{2}):?([0-9]{2}):?([0-9]{2}(\.[0-9]*)?)$/ // HH:MM:SS.ss
- ];
-
- var DATE_TIME = /^(.+)T(.+)$/;
- var TIME_ZONE = /^(.+)([+\-])([0-9]{2}):?([0-9]{2})$/;
-
- function matchAll(str, patterns) {
- var match;
- var found = some(patterns, function(pattern) {
- return !!(match = pattern.exec(str));
- });
-
- return found ? match : null;
- }
-
- function getDate(year, month, day) {
- var date = new Date(Date.UTC(year, month, day));
-
- // Explicitly set year to avoid Date.UTC making dates < 100 relative to
- // 1900
- date.setUTCFullYear(year);
-
- var valid =
- date.getUTCFullYear() === year &&
- date.getUTCMonth() === month &&
- date.getUTCDate() === day;
- return valid ? +date : NaN;
- }
-
- function parseOrdinalDate(str) {
- var match = ORD_DATE.exec(str);
- if (match ) {
- var year = +match[1],
- day = +match[2],
- date = new Date(Date.UTC(year, 0, day));
-
- if (date.getUTCFullYear() === year) {
- return +date;
- }
- }
-
- return NaN;
- }
-
- function parseDate(str) {
- var match, year, month, day;
-
- match = matchAll(str, datePatterns);
- if (match === null) {
- // Ordinal dates are verified differently.
- return parseOrdinalDate(str);
- }
-
- year = (match[1] === void 0) ? 0 : +match[1];
- month = (match[2] === void 0) ? 0 : +match[2] - 1;
- day = (match[3] === void 0) ? 1 : +match[3];
-
- return getDate(year, month, day);
- }
-
- function getTime(hr, min, sec) {
- var valid =
- (hr < 24 && hr >= 0 &&
- min < 60 && min >= 0 &&
- sec < 60 && min >= 0) ||
- (hr === 24 && min === 0 && sec === 0);
- if (!valid) {
- return NaN;
- }
-
- return ((hr * 60 + min) * 60 + sec) * 1000;
- }
-
- function parseOffset(str) {
- var match;
- if (str.charAt(str.length - 1) === 'Z') {
- str = str.substring(0, str.length - 1);
- } else {
- match = TIME_ZONE.exec(str);
- if (match) {
- var hours = +match[3],
- minutes = (match[4] === void 0) ? 0 : +match[4],
- offset = getTime(hours, minutes, 0);
-
- if (match[2] === '-') {
- offset *= -1;
- }
-
- return { offset: offset, time: match[1] };
- }
- }
-
- // No time zone specified, assume UTC
- return { offset: 0, time: str };
- }
-
- function parseTime(str) {
- var match;
- var offset = parseOffset(str);
-
- str = offset.time;
- offset = offset.offset;
- if (isNaN(offset)) {
- return NaN;
- }
-
- match = matchAll(str, timePatterns);
- if (match === null) {
- return NaN;
- }
-
- var hours = (match[1] === void 0) ? 0 : +match[1],
- minutes = (match[2] === void 0) ? 0 : +match[2],
- seconds = (match[3] === void 0) ? 0 : +match[3];
-
- return getTime(hours, minutes, seconds) - offset;
- }
-
- /**
- * Parse an ISO8601 formatted date string, and return a Date object.
- */
- function parseISO8601(str){
- var match = DATE_TIME.exec(str);
- if (!match) {
- // No time specified
- return parseDate(str);
- }
-
- return parseDate(match[1]) + parseTime(match[2]);
- }
-
- module.exports = parseISO8601;
-
-
diff --git a/node_modules/mout/date/quarter.js b/node_modules/mout/date/quarter.js
deleted file mode 100644
index 8f61076..0000000
--- a/node_modules/mout/date/quarter.js
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
- /**
- * gets date quarter
- */
- function quarter(date){
- var month = date.getMonth();
- if (month < 3) return 1;
- if (month < 6) return 2;
- if (month < 9) return 3;
- return 4;
- }
-
- module.exports = quarter;
-
-
diff --git a/node_modules/mout/date/startOf.js b/node_modules/mout/date/startOf.js
deleted file mode 100644
index 072bc0e..0000000
--- a/node_modules/mout/date/startOf.js
+++ /dev/null
@@ -1,54 +0,0 @@
-var clone = require('../lang/clone');
-
- /**
- * get a new Date object representing start of period
- */
- function startOf(date, period){
- date = clone(date);
-
- // intentionally removed "break" from switch since start of
- // month/year/etc should also reset the following periods
- switch (period) {
- case 'year':
- date.setMonth(0);
- /* falls through */
- case 'month':
- date.setDate(1);
- /* falls through */
- case 'week':
- case 'day':
- date.setHours(0);
- /* falls through */
- case 'hour':
- date.setMinutes(0);
- /* falls through */
- case 'minute':
- date.setSeconds(0);
- /* falls through */
- case 'second':
- date.setMilliseconds(0);
- break;
- default:
- throw new Error('"'+ period +'" is not a valid period');
- }
-
- // week is the only case that should reset the weekDay and maybe even
- // overflow to previous month
- if (period === 'week') {
- var weekDay = date.getDay();
- var baseDate = date.getDate();
- if (weekDay) {
- if (weekDay >= baseDate) {
- //start of the week is on previous month
- date.setDate(0);
- }
- date.setDate(date.getDate() - date.getDay());
- }
- }
-
- return date;
- }
-
- module.exports = startOf;
-
-
diff --git a/node_modules/mout/date/strftime.js b/node_modules/mout/date/strftime.js
deleted file mode 100644
index 5e56633..0000000
--- a/node_modules/mout/date/strftime.js
+++ /dev/null
@@ -1,121 +0,0 @@
-var pad = require('../number/pad');
-var lpad = require('../string/lpad');
-var i18n = require('./i18n_');
-var dayOfTheYear = require('./dayOfTheYear');
-var timezoneOffset = require('./timezoneOffset');
-var timezoneAbbr = require('./timezoneAbbr');
-var weekOfTheYear = require('./weekOfTheYear');
-
- var _combinations = {
- 'D': '%m/%d/%y',
- 'F': '%Y-%m-%d',
- 'r': '%I:%M:%S %p',
- 'R': '%H:%M',
- 'T': '%H:%M:%S',
- 'x': 'locale',
- 'X': 'locale',
- 'c': 'locale'
- };
-
-
- /**
- * format date based on strftime format
- */
- function strftime(date, format, localeData){
- localeData = localeData || i18n;
- var reToken = /%([a-z%])/gi;
-
- function makeIterator(fn) {
- return function(match, token){
- return fn(date, token, localeData);
- };
- }
-
- return format
- .replace(reToken, makeIterator(expandCombinations))
- .replace(reToken, makeIterator(convertToken));
- }
-
-
- function expandCombinations(date, token, l10n){
- if (token in _combinations) {
- var expanded = _combinations[token];
- return expanded === 'locale'? l10n[token] : expanded;
- } else {
- return '%'+ token;
- }
- }
-
-
- function convertToken(date, token, l10n){
- switch (token){
- case 'a':
- return l10n.days_abbr[date.getDay()];
- case 'A':
- return l10n.days[date.getDay()];
- case 'h':
- case 'b':
- return l10n.months_abbr[date.getMonth()];
- case 'B':
- return l10n.months[date.getMonth()];
- case 'C':
- return pad(Math.floor(date.getFullYear() / 100), 2);
- case 'd':
- return pad(date.getDate(), 2);
- case 'e':
- return pad(date.getDate(), 2, ' ');
- case 'H':
- return pad(date.getHours(), 2);
- case 'I':
- return pad(date.getHours() % 12, 2);
- case 'j':
- return pad(dayOfTheYear(date), 3);
- case 'l':
- return lpad(date.getHours() % 12, 2);
- case 'L':
- return pad(date.getMilliseconds(), 3);
- case 'm':
- return pad(date.getMonth() + 1, 2);
- case 'M':
- return pad(date.getMinutes(), 2);
- case 'n':
- return '\n';
- case 'p':
- return date.getHours() >= 12? l10n.pm : l10n.am;
- case 'P':
- return convertToken(date, 'p', l10n).toLowerCase();
- case 's':
- return date.getTime() / 1000;
- case 'S':
- return pad(date.getSeconds(), 2);
- case 't':
- return '\t';
- case 'u':
- var day = date.getDay();
- return day === 0? 7 : day;
- case 'U':
- return pad(weekOfTheYear(date), 2);
- case 'w':
- return date.getDay();
- case 'W':
- return pad(weekOfTheYear(date, 1), 2);
- case 'y':
- return pad(date.getFullYear() % 100, 2);
- case 'Y':
- return pad(date.getFullYear(), 4);
- case 'z':
- return timezoneOffset(date);
- case 'Z':
- return timezoneAbbr(date);
- case '%':
- return '%';
- default:
- // keep unrecognized tokens
- return '%'+ token;
- }
- }
-
-
- module.exports = strftime;
-
-
diff --git a/node_modules/mout/date/timezoneAbbr.js b/node_modules/mout/date/timezoneAbbr.js
deleted file mode 100644
index b100687..0000000
--- a/node_modules/mout/date/timezoneAbbr.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var timezoneOffset = require('./timezoneOffset');
-
- /**
- * Abbreviated time zone name or similar information.
- */
- function timezoneAbbr(date){
- // Date.toString gives different results depending on the
- // browser/system so we fallback to timezone offset
- // chrome: 'Mon Apr 08 2013 09:02:04 GMT-0300 (BRT)'
- // IE: 'Mon Apr 8 09:02:04 UTC-0300 2013'
- var tz = /\(([A-Z]{3,4})\)/.exec(date.toString());
- return tz? tz[1] : timezoneOffset(date);
- }
-
- module.exports = timezoneAbbr;
-
-
diff --git a/node_modules/mout/date/timezoneOffset.js b/node_modules/mout/date/timezoneOffset.js
deleted file mode 100644
index 9492dce..0000000
--- a/node_modules/mout/date/timezoneOffset.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var pad = require('../number/pad');
-
- /**
- * time zone as hour and minute offset from UTC (e.g. +0900)
- */
- function timezoneOffset(date){
- var offset = date.getTimezoneOffset();
- var abs = Math.abs(offset);
- var h = pad(Math.floor(abs / 60), 2);
- var m = pad(abs % 60, 2);
- return (offset > 0? '-' : '+') + h + m;
- }
-
- module.exports = timezoneOffset;
-
-
diff --git a/node_modules/mout/date/totalDaysInMonth.js b/node_modules/mout/date/totalDaysInMonth.js
deleted file mode 100644
index e5d5390..0000000
--- a/node_modules/mout/date/totalDaysInMonth.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var isDate = require('../lang/isDate');
-var isLeapYear = require('./isLeapYear');
-
- var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
-
- /**
- * returns the total amount of days in the month (considering leap years)
- */
- function totalDaysInMonth(fullYear, monthIndex){
- if (isDate(fullYear)) {
- monthIndex = fullYear.getMonth();
- }
-
- if (monthIndex === 1 && isLeapYear(fullYear)) {
- return 29;
- } else {
- return DAYS_IN_MONTH[monthIndex];
- }
- }
-
- module.exports = totalDaysInMonth;
-
-
diff --git a/node_modules/mout/date/totalDaysInYear.js b/node_modules/mout/date/totalDaysInYear.js
deleted file mode 100644
index b4b7e9b..0000000
--- a/node_modules/mout/date/totalDaysInYear.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var isLeapYear = require('./isLeapYear');
-
- /**
- * return the amount of days in the year following the gregorian calendar
- * and leap years
- */
- function totalDaysInYear(fullYear){
- return isLeapYear(fullYear)? 366 : 365;
- }
-
- module.exports = totalDaysInYear;
-
-
diff --git a/node_modules/mout/date/weekOfTheYear.js b/node_modules/mout/date/weekOfTheYear.js
deleted file mode 100644
index dd51b7f..0000000
--- a/node_modules/mout/date/weekOfTheYear.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var dayOfTheYear = require('./dayOfTheYear');
-
- /**
- * Return the week of the year based on given firstDayOfWeek
- */
- function weekOfTheYear(date, firstDayOfWeek){
- firstDayOfWeek = firstDayOfWeek == null? 0 : firstDayOfWeek;
- var doy = dayOfTheYear(date);
- var dow = (7 + date.getDay() - firstDayOfWeek) % 7;
- var relativeWeekDay = 6 - firstDayOfWeek - dow;
- return Math.floor((doy + relativeWeekDay) / 7);
- }
-
- module.exports = weekOfTheYear;
-
-
diff --git a/node_modules/mout/doc/array.md b/node_modules/mout/doc/array.md
deleted file mode 100644
index 864dd39..0000000
--- a/node_modules/mout/doc/array.md
+++ /dev/null
@@ -1,1003 +0,0 @@
-# array #
-
-Array utilities.
-
-
-
-
-## append(arr1, arr2):Array
-
-Appends an array to the end of the other.
-The first array will be modified and will contain the appended items.
-
-See: [`union()`](#union), [`combine()`](#combine)
-
-```js
-var foo = ['a', 'b'],
- bar = ['b', 'd'];
-
-append(foo, bar); // ['a', 'b', 'b', 'd']
-```
-
-
-
-## collect(arr, callback, [thisObj]):Array
-
-Maps the items in `arr` and concatenates the resulting arrays.
-
-See: [`map()`](#map)
-
-```js
-collect([1, 2, 3], function(val) {
- return [val, val % 2];
-}); // [1, 1, 2, 0, 3, 1];
-
-collect(['a', 'bb', ''], function(val) {
- return val.split('');
-}); // ['a', 'b', 'b']
-```
-
-It also supports a shorthand syntax:
-
-```js
-var items = [{ a: [1] }, { b: 'foo' }, { a: [2, 3] }];
-collect(items, 'a'); // [1, 2, 3];
-```
-
-
-
-## combine(arr1, arr2):Array
-
-Combines an array with all the items of another.
-The first array will be modified and will contain the combined items.
-Does not allow duplicates and is case and type sensitive.
-
-See: [`union()`](#union), [`append()`](#append)
-
-```js
-var foo = ['a', 'b'],
- bar = ['b', 'd'];
-
-combine(foo, bar); // ['a', 'b', 'd']
-```
-
-
-
-## compact(arr):Array
-
-Returns a new Array without any `null` or `undefined` values. Note that it will
-keep empty strings and other falsy values (simillar to Ruby Array#compact).
-
-```js
-var arr = [0, 1, null, false, '', 'foo', undefined, 'bar'];
-compact(arr); // [0, 1, false, '', 'foo', 'bar'];
-```
-
-
-
-## contains(arr, value):Boolean
-
-Checks if Array contains value. Alias to `indexOf(arr, val) !== -1`.
-
-```js
-var arr = [1, 2, 3];
-contains(arr, 2); // true
-contains(arr, 'foo'); // false
-```
-
-
-
-## difference(...arrs):Array
-
-Return a new Array with elements that aren't present in the other Arrays
-besides the first one.
-
-Works like [Python set#difference](http://docs.python.org/library/stdtypes.html#set.difference).
-
-It will remove duplicates.
-
-See: [`xor()`](#xor), [`intersection()`](#intersection)
-
-```js
-var a = ['a', 'b', 1];
-var b = ['c', 1];
-difference(a, b); // ['a', 'b']
-```
-
-
-## equals(a, b, [compare]):Boolean
-
-Checks if both arrays are equal.
-
-```js
-equals([1, 2], [1, 2]); // true
-equals([2, 4], [1, 2]); // false
-```
-
-By default it uses the [lang/is](lang.html#is) as the `compare` function but
-you can pass a custom function to change the behavior.
-
-```js
-function loose(a, b) {
- return a == b;
-}
-equals(['1', 2], [1, 2], loose); // true
-```
-
-See: [object/equals](object.html#equals), [lang/deepEquals](lang.html#deepEquals)
-
-
-
-## every(arr, callback, [thisObj]):Array
-
-Crossbrowser `Array.every()`.
-
-Tests whether all elements in the array pass the test implemented by the provided function.
-
-It differs from ES5 since it will also loop over sparse items in the array to
-normalize the behavior across browsers (avoid inconsistencies).
-
-```js
-var items = [1, 'foo', 'bar'];
-every(items, isString); // false
-every(items, isFunction); // false
-every(items, function(val, key, arr){
- return val != null;
-}); // true
-```
-
-more info at [MDN Array#every](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/every)
-
-It also supports a shorthand syntax:
-
-```js
-var items = [{id:1, active:true}, {id:3, active:true}, {id:8, active:true}];
-// all items with `id === 8`
-every(items, {id:8}); // false
-// `active` is truthy on all items
-every(items, 'active'); // true
-```
-
-
-
-## filter(arr, callback, [thisObj]):Array
-
-Crossbrowser `Array.filter()`.
-
-Creates a new array with all elements that pass the callback test.
-
-It differs from ES5 since it will also loop over sparse items in the array to
-normalize the behavior across browsers (avoid inconsistencies).
-
-```js
-var nums = [1, 2, 3, 4, 5, 6];
-var oddNumbers = filter(nums, function(val, key, arr){
- return (val % 2) !== 0;
-});
-// > [1, 3, 5]
-```
-
-more info at [MDN Array#filter](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/filter)
-
-Filter also supports shorthand notation:
-
-```js
-var users = [
- {name:'john', surname:'connor', beard:false},
- {name:'john', surname:'doe', beard:true},
- {name:'jane', surname:'doe', beard:false}
-];
-// filter item that matches all properties/values pairs
-filter(users, {name:'john', beard:false});
-// > [{name:'john', surnname:'connor', beard:false}]
-// items where 'beard' is a truthy value
-filter(users, 'beard');
-// > [{name:'john', surnname:'doe', beard:true}]
-```
-
-See [`reject()`](#reject)
-
-
-
-## find(arr, callback, [thisObj]):*
-
-Loops through all the items in the Array and returns the first one that passes
-a truth test (callback).
-
-```js
-var arr = [123, {a:'b'}, 'foo', 'bar'];
-find(arr, isString); // "foo"
-find(arr, isNumber); // 123
-find(arr, isObject); // {a:'b'}
-```
-
-Find also supports shorthand notation:
-
-```js
-var users = [
- {name:'john', surname:'connor', beard:false},
- {name:'john', surname:'doe', beard:true}
-];
-// first item that matches all properties/values pairs
-find(users, {name:'john'}); // {name:'john', surnname:'connor', beard:false}
-// first item where 'beard' is a truthy value
-find(users, 'beard'); // {name:'john', surnname:'doe', beard:true}
-```
-
-See: [findIndex()](#findIndex), [findLast()](#findLast),
-[findLastIndex()](#findLastIndex)
-
-
-
-## findLast(arr, callback, [thisObj]):*
-
-Loops through all the items in the Array (starting from last item) and returns
-the first one that passes a truth test (callback).
-
-```js
-var arr = [123, {a:'b'}, 'foo', 'bar'];
-findLast(arr, isString); // "bar"
-findLast(arr, isNumber); // 123
-findLast(arr, isObject); // {a:'b'}
-```
-
-`findLast` also supports shorthand notation:
-
-```js
-var users = [
- {name:'john', surname:'connor', beard:false},
- {name:'john', surname:'doe', beard:true}
-];
-// last item that matches all properties/values pairs
-findLast(users, {name:'john'}); // {name:'john', surnname:'doe', beard:true}
-// last item where 'beard' is a truthy value
-findLast(users, 'beard'); // {name:'john', surnname:'doe', beard:true}
-```
-
-See: [find()](#find), [findIndex()](#findIndex),
-[findLastIndex()](#findLastIndex)
-
-
-
-## findIndex(arr, iterator, [thisObj]):Number
-
-Loops through the items in the Array and returns the index of the first one
-that passes a truth test (callback).
-
-Returns `-1` if no item was found that passes the truth test.
-
-```js
-var arr = [1, { a: 1 }, 'foo', 'bar'];
-findIndex(arr, isString); // 2
-findIndex(arr, isNumber); // 0
-findIndex(arr, isObject); // 1
-findIndex(arr, isRegExp); // -1
-```
-
-`findIndex` also supports shorthand notation:
-
-```js
-var pets = [
- { pet: 'dog', name: 'Sam' },
- { pet: 'dog', name: 'Maggie' }
-];
-
-findIndex(pets, { pet: 'dog' }); // 0
-findIndex(pets, { name: 'Maggie' }); // 1
-```
-
-See: [find()](#find), [findLastIndex()](#findLastIndex)
-
-
-
-## findLastIndex(arr, iterator, [thisObj]):Number
-
-Loops through the items in the Array on the reverse order and returns the index
-of the first one that passes a truth test (callback).
-
-Returns `-1` if no item was found that passes the truth test.
-
-```js
-var arr = [1, { a: 1 }, 'foo', 'bar'];
-findLastIndex(arr, isString); // 3
-findLastIndex(arr, isNumber); // 0
-findLastIndex(arr, isObject); // 1
-findLastIndex(arr, isRegExp); // -1
-```
-
-`findLastndex` also supports shorthand notation:
-
-```js
-var pets = [
- { pet: 'dog', name: 'Sam' },
- { pet: 'dog', name: 'Maggie' }
-];
-
-findLastIndex(pets, { pet: 'dog' }); // 1
-findLastIndex(pets, { name: 'Sam' }); // 0
-```
-
-See: [find()](#find), [findIndex()](#findIndex)
-
-
-
-## flatten(arr, [level]):Array
-
-Recursively flattens an array. A new array containing all the elements is
-returned. If `level` is specified, it will only flatten up to that level.
-Note that arrays within objects will not be flattened.
-
-### Example
-
-```js
-flatten([1, [2], [3, [4, 5]]]);
-// > [1, 2, 3, 4, 5]
-flatten([1, [2], [3, [4, 5]]], 1);
-// > [1, 2, 3, [4, 5]]
-```
-
-See: [`object/flatten()`](./object.html#flatten)
-
-
-## forEach(arr, callback, [thisObj]):void
-
-Crossbrowser `Array.forEach()`.
-
-It allows exiting the iteration early by returning `false` on the callback.
-
-It differs from ES5 since it will also loop over sparse items in the array to
-normalize the behavior across browsers (avoid inconsistencies).
-
-```js
-var items = ['foo', 'bar', 'lorem', 'ipsum'];
-forEach(items, function(val, key, arr){
- console.log(key +' : '+ val);
- if (val === 'lorem') {
- // stop iteration (break)
- return false;
- }
-});
-```
-
-more info at [MDN Array#forEach](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/forEach)
-
-
-
-## groupBy(arr, [categorize=identity], [thisObj]):Object
-
-Groups array elements by the `key` returned from the `categorize` function.
-
-It will use the [function/identity](function.html#identity) as the default
-`categorize` function.
-
-```js
-var items = ['lorem', 'ipsum', 'foo', 'bar', 'baz'];
-groupBy(items, function(val) { return val.length });
-// > {'3': ['foo', 'bar', 'baz'], '5': ['lorem', 'ipsum']}
-```
-
-
-
-## indexOf(arr, item, [fromIndex]):Number
-
-Crossbrowser `Array.indexOf()`.
-
-It differs from ES5 since it will also loop over sparse items in the array to
-normalize the behavior across browsers (avoid inconsistencies).
-
-more info at [MDN Array#indexOf](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf)
-
-
-
-
-## indicesOf(arr, item, [fromIndex]):Number
-
-Returns an array of indices where `item` is found in the array.
-
-Like `array/indexOf` it does loop over sparse items in the array. The optional
-`fromIndex` parameter can limit the scope, the same way as it does in indexOf.
-
-```js
-var items = ['lorem', 'ipsum', 'foo', 'ipsum', 'ipsum'];
-
-indicesOf(items, 'ipsum');
-// > [1, 3, 4]
-
-indicesOf(items, 'ipsum', 1);
-// > [3, 4]
-```
-
-
-
-
-
-## insert(arr, ...items):Number
-
-Push items into array only if they aren't contained by it. Returns the new
-`length` of the array.
-
-See: [`remove()`](#remove), [`removeAll()`](#removeAll),
-[`contains()`](#contains)
-
-```js
-var arr = ['a', 'b'];
-insert(arr, 'a'); // 2 : ['a', 'b']
-insert(arr, 'c'); // 3 : ['a', 'b', 'c']
-insert(arr, 1, 2, 'b'); // 5 : ['a', 'b', 'c', 1, 2]
-```
-
-
-
-## intersection(...arrs):Array
-
-Return a new Array with elements common to all Arrays.
-
-Similar to Python set#intersection and underscore.js intersection.
-
-It will remove duplicates.
-
-See: [`difference()`](#difference), [`xor()`](#xor)
-
-```js
-var a = ['a', 'b', 1],
- b = ['c', 1],
- c = [1, 2, 3];
-intersection(a, b, c); // [1]
-```
-
-
-
-## invoke(arr, methodName[, ...args]):Array
-
-Call `methodName` on each item of the array passing custom arguments if needed.
-
-```js
-invoke([[3,2,1], [9,5,2]], 'sort'); // [[1,2,3], [2,5,9]]
-```
-
-
-
-## join(arr, [separator]):String
-
-Joins the strings in `arr`, inserting `separator` between each value.
-
-This ignores null values and empty strings that are in the array. `separator`
-defaults to an empty string. This will convert all non-string objects in the
-array to a string.
-
-### Example
-
-```js
-join(['a', 'b', 'c']); // 'abc'
-join(['foo', 'bar'], ', '); // 'foo, bar'
-join([null, 'foo', '', 'bar', undefined], ':'); // 'foo:bar'
-```
-
-
-## last(arr):*
-
-Returns the last element of an array without modifying the array.
-
-
-```js
-last( [1, 2, 3, 4] ) // > 4
-last( ['foo', 'bar'] ) // > 'bar'
-```
-
-
-## lastIndexOf(arr, item, [fromIndex]):Number
-
-Crossbrowser `Array.lastIndexOf()`.
-
-It differs from ES5 since it will also loop over sparse items in the array to
-normalize the behavior across browsers (avoid inconsistencies).
-
-more info at [MDN Array#lastIndexOf](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/lastIndexOf)
-
-
-
-## map(arr, callback, [thisObj]]):Array
-
-Crossbrowser `Array.map()`.
-
-Creates a new array with the results of calling a provided function on every
-element in this array.
-
-It differs from ES5 since it will also loop over sparse items in the array to
-normalize the behavior across browsers (avoid inconsistencies).
-
-See: [`collect()`](#collect)
-
-```js
-var nums = [1,2,3,4];
-var double = map(nums, function(val, key, arr){
- return val * 2;
-});
-// > [2, 4, 6, 8]
-```
-
-more info at [MDN Array#map](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/map)
-
-It also supports a shorthand notation which can be used to achieve same result
-as [`array/pluck`](#pluck):
-
-```js
-var src = ['lorem', 'ipsum', 'foo', 'amet'];
-// grab the "length" property of all items
-var lengths = map(src, 'length'); // [5, 5, 3, 4]
-```
-
-
-
-## max(arr, [iterator], [thisObj]):*
-
-Returns maximum value inside array or use a custom iterator to define how items
-should be compared.
-
-See: [`min()`](#min)
-
-```js
-max([10, 2, 7]); // 10
-max(['foo', 'lorem', 'amet'], function(val){
- return val.length;
-}); // 'lorem'
-```
-
-It also supports a shorthand notation:
-
-```js
-max(['foo', 'lorem', 'amet'], 'length'); // "lorem"
-```
-
-
-
-## min(arr, [iterator], [thisObj]):*
-
-Returns minimum value inside array or use a custom iterator to define how items
-should be compared.
-
-See: [`max()`](#max)
-
-```js
-min([10, 2, 7]); // 2
-min(['foo', 'lorem', 'amet'], function(val){
- return val.length;
-}); // 'foo'
-```
-
-It also supports a shorthand notation:
-
-```js
-min(['foo', 'lorem', 'amet'], 'length'); // "foo"
-```
-
-
-
-## pick(arr, [nItems]):*
-
-Gets random item(s) and removes it from the original array.
-
-If `nItems` is specified it will return a new Array contained the *picked*
-items otherwise it returns a single item.
-
-See: [`random/choice()`](./random.html#choice)
-
-### Example:
-
-```js
-var arr = [1, 2, 3, 4, 5, 6];
-var item1 = pick(arr); // 4
-var item2 = pick(arr); // 1
-var items = pick(arr, 2); // [5, 2]
-console.log(arr); // [3, 6]
-```
-
-
-
-## pluck(arr, propName):Array
-
-Extract a list of property values.
-
-See: [`function/prop()`](function.html#prop)
-
-```js
-var users = [{name : 'John', age: 21}, {name: 'Jane', age : 27}];
-var names = pluck(users, 'name'); // ["John", "Jane"]
-var ages = pluck(users, 'age'); // [21, 27]
-```
-
-
-
-## range([start], stop[, step]):Array
-
-Creates a new Array with all the values inside the range. Works similarly to
-Python#range or PHP#range.
-
-### Arguments
-
- 1. `[start]` (Number) : Range start. Default is `0`.
- 2. `stop` (Number) : Range limit.
- 3. `[step]` (Number) : Step size. Default is `1`.
-
-### Example
-
-```js
-range(5); // [0, 1, 2, 3, 4, 5]
-range(0, 5); // [0, 1, 2, 3, 4, 5]
-range(0, 5, 2); // [0, 2, 4]
-range(20, 40, 5); // [20, 25, 30, 35, 40]
-```
-
-
-
-## reduce(arr, fn):*
-
-Crossbrowser `Array.reduce()`.
-
-Apply a function against an accumulator and each value of the array (from
-left-to-right) as to reduce it to a single value.
-
-It differs from ES5 since it will also loop over sparse items in the array to
-normalize the behavior across browsers (avoid inconsistencies).
-
-more info at [MDN Array#reduce](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/reduce)
-
-
-
-## reduceRight(arr, fn):*
-
-Crossbrowser `Array.reduceRight()`.
-
-Apply a function simultaneously against two values of the array (from
-right-to-left) as to reduce it to a single value.
-
-It differs from ES5 since it will also loop over sparse items in the array to
-normalize the behavior across browsers (avoid inconsistencies).
-
-more info at [MDN Array#reduceRight](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/reduceRight)
-
-
-
-## reject(arr, fn, thisObj):Array
-
-Creates a new array with all the elements that do **not** pass the truth test.
-Opposite of [`filter()`](#filter).
-
-See [`filter()`](#filter)
-
-### Example
-
-```js
-var numbers = [1, 2, 3, 4, 5, 6];
-reject(numbers, function(x) { return (x % 2) !== 0; }); // [2, 4, 6]
-```
-
-It also supports a shorthand syntax:
-
-```js
-var users = [
- {name:'john', surname:'connor', beard:false},
- {name:'john', surname:'doe', beard:true},
- {name:'jane', surname:'doe', beard:false}
-];
-// reject items that matches all properties/values pairs
-reject(arr, {name:'john'});
-// > [{name:'jane', surnname:'doe', beard:false}]
-// reject items where 'beard' is a truthy value
-filter(arr, 'beard');
-// > [{name:'john', surnname:'connor', beard:false},
-// {name:'jane', surname:'doe', beard:false}]
-```
-
-
-
-## remove(arr, item):void
-
-Remove a single item from the array.
-
-IMPORTANT: it won't remove duplicates, just a single item.
-
-### Example
-
-```js
-var foo = [1, 2, 3, 4];
-remove(foo, 2);
-console.log(foo); // [1, 3, 4]
-```
-
-
-
-## removeAll(arr, item):void
-
-Remove all instances of an item from the array.
-
-### Example
-
-```js
-var foo = [1, 2, 3, 4, 2, 2];
-removeAll(foo, 2);
-console.log(foo); // [1, 3, 4];
-```
-
-## reverse(arr):void
-
-Returns a copy of the array with all elements in reversed order.
-
-### Example
-
-```js
-var foo = [1, 2, 3, 4, 5];
-var bar = reverse(foo);
-console.log(bar); // [5, 4, 3, 2, 1];
-
-console.log(foo); // [1, 2, 3, 4, 5];
-```
-
-
-
-
-## shuffle(arr):Array
-
-Returns a new Array with items randomly sorted (shuffled). Similar to Ruby Array#shuffle.
-
-### Example
-
-```js
-var arr = ['a', 'b', 'c', 'd', 'e'];
-shuffle(arr); // ['b', 'd', 'e', 'c', 'a']
-```
-
-
-
-## slice(arr, [start], [end]):Array
-
-Returns a new array containing the items from `arr` from the start index to the
-end index.
-
-If `start` is omitted, it will start at `0`. If `end` is omitted, it will used
-the last index of the array. If `start` or `end` is negative, it is used as an
-offset from the end of the array.
-
-It will also convert array-like objects to arrays.
-
-### Example
-
-```js
-slice([1, 2, 3, 4], 1, 2); // [2, 3]
-slice([1, 2, 3], 1); // [2, 3]
-slice([1, 2, 3]); // [1, 2, 3]
-slice({ length: 2, 0: 'a', 1: 'b' }); // ['a', 'b']
-slice([1, 2, 3], 0, -1); // [1, 2]
-slice([1, 2, 3], -2); // [2, 3]
-```
-
-
-
-## some(arr, callback, [thisObj]):Array
-
-Crossbrowser `Array.some()`.
-
-Tests whether some element in the array passes the test implemented by the provided function.
-
-It differs from ES5 since it will also loop over sparse items in the array to
-normalize the behavior across browsers (avoid inconsistencies).
-
-```js
-var items = [1, 'foo', 'bar'];
-some(items, isString); // true
-some(items, isFunction); // false
-```
-
-more info at [MDN Array#some](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/some)
-
-It also supports a shorthand syntax:
-
-```js
-var items = [{id:1, active:true}, {id:3, active:false}, {id:8, active:false}];
-// at least one item with `id === 8`
-some(items, {id:8}); // true
-// `active` is truthy on at least one item
-some(items, 'active'); // true
-```
-
-see also: [`object/matches`](object.html#matches)
-
-
-
-## sort(arr, [compareFn]):Array
-
-Returns a sorted Array using the [Merge Sort](http://en.wikipedia.org/wiki/Merge_sort) algorithm (stable sort).
-
-The `Array.prototype.sort` browser implementations differ since the sorting algorithm isn't described in the ES spec - [in V8 it isn't stable](http://code.google.com/p/v8/issues/detail?id=90) and [on Firefox it is stable](https://bugzilla.mozilla.org/show_bug.cgi?id=224128) - so this function doesn't use the browser native implementation and is recommended in cases where a stable sort is required (items should preserve same order if already sorted).
-
-**Important:** It does logical comparisson by default (greater/less than) and
-not a string comparisson like the native `Array#sort`.
-
-### compareFn
-
-If `compareFn` is supplied elements are sorted based on the value returned by
-the `compareFn`.
-
- - If `compareFn(a, b)` is less than `0`, sort `a` to a lower index than `b`.
- - If `compareFn(a, b)` returns `0`, leave `a` and `b` unchanged with respect
- to each other, but sorted with respect to all different elements.
- - If `compareFn(a, b)` is greater than `0`, sort `b` to a lower index than
- `a`.
-
-See: [`sortBy`](#sortBy)
-
-### Example
-
-```js
-sort([187, 23, 47, 987, 12, 59, 0]); // [0, 12, 23, 47, 59, 187, 987]
-sort(['a', 'z', 'c', 'beta', 'b']); // ['a', 'b', 'beta', 'c', 'z']
-
-// ['sit', 'amet', 'lorem', 'ipsum']
-sort(['lorem', 'ipsum', 'sit', 'amet'], function(a, b){
- // sort by length, items with same length
- // will keep the relative order (stable)
- return a.length - b.length;
-});
-
-// [4, 3, 2, 1]
-sort([2, 3, 1, 4], function(a, b){
- // reverse sort
- return b - a;
-});
-```
-
-
-
-## sortBy(arr, callback, [context]):Array
-
-Returns an array sorted by the result of the callback.
-
-The callback is called for each item that is to be sorted, and the
-results of the callback are used to sort the array. The callback
-is called with the item as the first parameter, optionally with
-the provided context.
-
-It also supports a shorthand notation which can be used to sort by a property
-name.
-
-See: [`sort`](#sort)
-
-```js
-// Returns [{ a: 1 }, { a: 2 }, { a: 3 }]
-sortBy([{ a: 1 }, { a: 3 }, { a: 2 }],
- function(item) { return item.a; });
-
-// Same as above, using shorthand notation
-sortBy([{ a: 1 }, { a: 3 }, { a: 2 }], 'a');
-```
-
-
-
-## split(arr, [segments]):Array
-
-Splits an array into a fixed number of segments.
-
-The number of segments is specified by `segments` and defaults to 2. If the
-array cannot be evenly split, the first segments will contain the extra items.
-If `arr` is empty, an empty array is returned. If `arr.length` is less than
-`segments`, then the resulting array will have `arr.length` number of
-single-element arrays.
-
-### Example
-```js
-split([1, 2, 3, 4, 5], 3) // [ [1, 2], [3, 4], [5] ]
-split([1, 2, 3, 4, 5]) // [ [1, 2, 3], [4, 5] ]
-split([]) // []
-split([1, 2], 3) // [ [1], [2] ]
-```
-
-
-
-## take(times, callback, [thisObj]):Array
-
-Builds a new array based on the returned values from the given `callback`.
-
-```js
-take(4, function(i, total) {
- return i / total;
-});
-// > [0, 0.25, 0.5, 0.75]
-```
-
-see: [function/times](../function.html#times)
-
-
-
-## toLookup(arr, key):Object
-
-Create an object that indexes the items in the array by a key. If `key` is a function, the key for each value in the resulting object will be the result of calling the function with the value as an argument. Otherwise `key` specifies the property on each value to use as the key.
-
-### Example
-
-```js
-var foo = [{ name: 'a', thing: 1 }, { name: 'b', thing: 2 }];
-// { a: { name: 'a', thing: 1 }, b: { name: 'b', thing: 2 } }
-toLookup(foo, 'name');
-// same as above
-toLookup(foo, function (value) { return value.name; });
-```
-
-
-
-## union(...arrs):Array
-
-Concat multiple arrays removing duplicates.
-
-```js
-var a = ['a', 'b'],
- b = ['c', 'a'],
- c = [1, 'b', 2, 3, 'a'];
-
-//note that unique remove from begin to end
-union(a, b, c); // ['c', 1, 'b', 2, 3, 'a']
-```
-
-
-
-## unique(arr, [compare]):Array
-
-Return a new Array of unique items.
-
-**IMPORTANT:** duplicates are removed starting from begining of array.
-
-```js
-var arr = [1, 2, 3, 4, 2, 2, 4];
-var foo = unique(arr);
-console.log(foo);
-// > [1, 3, 2, 4];
-
-// you also have the option to set a custom compare function
-var users = [{name: 'john'}, {name: 'paul'}, {name: 'john'}];
-var uniqueNames = unique(arr, function(a, b){
- return a.name === b.name;
-});
-console.log(uniqueNames);
-// > [{name: 'paul'}, {name: 'john'}]
-```
-
-
-
-## xor(arr1, arr2):Array
-
-Exclusive OR. Returns items that are present in a single array.
-
-Works like [Python set#symmetric_difference](http://docs.python.org/library/stdtypes.html#set.symmetric_difference) renamed for brevity.
-
-It will remove duplicates.
-
-See: [`difference()`](#difference), [`intersection()`](#intersection)
-
-```js
-var a = ['a', 'b', 1];
-var b = ['c', 1];
-xor(a, b); // ['a', 'b', 'c']
-```
-
-
-
-## zip(...arrs):Array
-
-Groups the elements of each array at their corresponding indexes.
-
-Useful for separate data sources that are coordinated through matching array
-indexes. For a matrix of nested arrays, `zip.apply(...)` can transpose the
-matrix in a similar fashion.
-
-```js
-// [['moe', 30, true], ['larry', 40, false], ['curly', 50, false]]
-zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]);
-```
-
-
-
-
--------------------------------------------------------------------------------
-
-For more usage examples check specs inside `/tests` folder. Unit tests are the
-best documentation you can get...
-
diff --git a/node_modules/mout/doc/collection.md b/node_modules/mout/doc/collection.md
deleted file mode 100644
index 2ffcab1..0000000
--- a/node_modules/mout/doc/collection.md
+++ /dev/null
@@ -1,233 +0,0 @@
-# collection #
-
-Methods for dealing with collections (Array or Objects).
-
-
-
-## contains(list, value):Boolean
-
-Checks if collection contains value.
-
-```js
-contains({a: 1, b: 2, c: 'bar'}, 2); // true
-contains([1, 2, 3], 'foo'); // false
-```
-
-See: [array/contains](array.html#contains), [object/contains](object.html#contains)
-
-
-
-## every(list, callback, [thisObj]):Boolean
-
-Tests whether all values in the collection pass the test implemented by the
-provided callback.
-
-```js
-var obj = {
- a: 1,
- b: 2,
- c: 3,
- d: 'string'
-};
-
-every(obj, isNumber); // false
-```
-
-See: [array/every](array.html#every), [object/every](object.html#every)
-
-
-
-## filter(list, callback, [thisObj]):Array
-
-Filter collection properties.
-
-See: [array/filter](array.html#filter), [object/filter](object.html#filter)
-
-
-
-## find(list, callback, [thisObj]):*
-
-Loops through all the values in the collection and returns the first one that
-passes a truth test (callback).
-
-**Important:** loop order over objects properties isn't guaranteed to be the
-same on all environments.
-
-```js
-find({a: 'foo', b: 12}, isString); // 'foo'
-find(['foo', 12], isNumber); // 12
-```
-
-See: [array/find](array.html#find), [object/find](object.html#find)
-
-
-
-## forEach(list, callback, [thisObj])
-
-Loop through all values of the collection.
-
-See: [array/forEach](array.html#forEach), [object/forOwn](object.html#forOwn)
-
-
-
-## map(list, callback, [thisObj]):Array
-
-Returns a new collection where the properties values are the result of calling
-the callback for each property in the original collection.
-
-See: [array/map](array.html#map), [object/map](object.html#map)
-
-
-
-## max(list, [iterator]):*
-
-Returns maximum value inside collection or use a custom iterator to define how
-items should be compared.
-
-See: [`min()`](#min), [array/max](array.html#max), [object/max](object.html#max)
-
-```js
-max({a: 100, b: 2, c: 1, d: 3, e: 200}); // 200
-max(['foo', 'lorem', 'amet'], function(val){
- return val.length;
-}); // 'lorem'
-```
-
-
-
-## min(list, [iterator]):*
-
-Returns minimum value inside collection or use a custom iterator to define how
-items should be compared.
-
-See: [`max()`](#max), [array/min](array.html#min), [object/min](object.html#min)
-
-```js
-min([10, 2, 7]); // 2
-min({a: 'foo', b: 'lorem', c: 'amet'}, function(val){
- return val.length;
-}); // 'foo'
-```
-
-
-
-## pluck(list, propName):Array
-
-Extract a list of property values.
-
-```js
-var users = [
- {
- name : 'John',
- age : 21
- },
- {
- name : 'Jane',
- age : 27
- }
-];
-
-pluck(users, 'name'); // ["John", "Jane"]
-pluck(users, 'age'); // [21, 27]
-
-users = {
- first: {
- name : 'John',
- age : 21
- },
- second: {
- name : 'Mary',
- age : 25
- }
-};
-
-pluck(users, 'name'); // ['John', 'Mary']
-```
-
-See: [array/pluck](array.html#pluck), [object/pluck](object.html#pluck)
-
-
-
-## reduce(list, callback, initial, [thisObj]):*
-
-Apply a function against an accumulator and each value in the collection as to
-reduce it to a single value.
-
-```js
-var obj = {a: 1, b: 2, c: 3, d: 4};
-
-function sum(prev, cur, key, list) {
- return prev + cur;
-}
-
-reduce(obj, sum); // 10
-```
-
-See: [array/reduce](array.html#reduce), [object/reduce](object.html#reduce)
-
-
-
-## reject(list, fn, [thisObj]):Array
-
-Creates a new array with all the elements that do **not** pass the truth test.
-Opposite of [`filter()`](#filter).
-
-### Example
-
-```js
-var numbers = [1, 2, 3, 4, 5];
-reject(numbers, function(x) { return (x % 2) !== 0; }); // [2, 4]
-
-var obj = {a: 1, b: 2, c: 3, d: 4, e: 5};
-reject(obj, function(x) { return (x % 2) !== 0; }); // [2, 4]
-```
-
-See: [array/reject](array.html#reject), [object/reject](object.html#reject)
-
-
-
-## size(list):Number
-
-Returns the number of values in the collection.
-
-```js
-var obj = {
- foo : 1,
- bar : 2,
- lorem : 3
-};
-size(obj); // 3
-size([1,2,3]); // 3
-size(null); // 0
-```
-
-See: [object/size](object.html#size)
-
-
-
-## some(list, callback, [thisObj]):Boolean
-
-Tests whether any values in the collection pass the test implemented by the
-provided callback.
-
-```js
-var obj = {
- a: 1,
- b: 2,
- c: 3,
- d: 'string'
-};
-
-some(obj, isNumber); // true
-some(obj, isString); // true
-some([1, 2, 3], isNumber) // true
-some([1, 2, 3], isString) // false
-```
-
-See: [array/some](array.html#some), [object/some](object.html#some)
-
-
--------------------------------------------------------------------------------
-
-For more usage examples check specs inside `/tests` folder. Unit tests are the
-best documentation you can get...
diff --git a/node_modules/mout/doc/date.md b/node_modules/mout/doc/date.md
deleted file mode 100644
index e140399..0000000
--- a/node_modules/mout/doc/date.md
+++ /dev/null
@@ -1,307 +0,0 @@
-# date #
-
-Date utilities.
-
-
-## dayOfTheYear(date):Number
-
-How many days elapsed since begining of the year (following gregorian
-calendar).
-
-```js
-// Jan 1st
-dayOfTheYear(new Date(2013, 0, 1)); // 1
-// Dec 31th
-dayOfTheYear(new Date(2013, 11, 31)); // 364
-```
-
-
-
-## diff(date1, date2, [unitName]):Number
-
-Calculate the difference between dates (range).
-
-The returned value is always positive. The default `unitName` is `"ms"`.
-
-Available units: `year`, `month`, `week`, `day`, `hour`, `minute`, `second`,
-`millisecond`.
-
-See: [`time/convert()`](time.html#convert)
-
-```js
-var d1 = new Date(2012, 4, 5);
-var d2 = new Date(2013, 4, 8);
-diff(d1, d2); // 31795200000
-diff(d1, d2, 'hour'); // 8832
-diff(d1, d2, 'week'); // 52.57142857142857
-diff(d1, d2, 'month'); // 12.096774193548388
-diff(d1, d2, 'year'); // 1.0082191780821919
-```
-
-
-
-## isLeapYear(fullYear|date):Boolean
-
-Checks if it's a [leap year](http://en.wikipedia.org/wiki/Leap_year) according
-to the Gregorian calendar.
-
-see: [`totalDaysInMonth()`](#totalDaysInMonth)
-
-```js
-isLeapYear(2012); // true
-isLeapYear(2013); // false
-isLeapYear(new Date(2012, 2, 28)); // true
-```
-
-
-## isSame(date1, date2[, period]):Boolean
-
-Check if both dates are the "same".
-
-You can pass an optional *period* used to set the comparisson precision.
-
-Available periods: `year`, `month`, `week`, `day`, `hour`, `minute`, `second`.
-
-```js
-var date1 = new Date(2013, 1, 3);
-var date2 = new Date(2013, 2, 9);
-isSame(date1, date2); // false
-isSame(date1, date2, 'day'); // false
-isSame(date1, date2, 'month'); // false
-isSame(date1, date2, 'year'); // true
-```
-
-
-
-## parseIso(str):Number
-
-Parses an [ISO8601](http://en.wikipedia.org/wiki/Iso8601) date and returns the
-number of milliseconds since January 1, 1970, 00:00:00 UTC, or `NaN` if it is
-not a valid ISO8601 date.
-
-This parses *all* ISO8601 dates, including dates without times, [ordinal
-dates](https://en.wikipedia.org/wiki/ISO_8601#Ordinal_dates), and the compact
-representation (omitting delimeters). The only exception is [ISO week
-dates](https://en.wikipedia.org/wiki/ISO_week_date), which are not parsed.
-
-If no time zone offset is specified, it assumes UTC time.
-
-```js
-// Jan 01, 1970 00:00 GMT
-parseIso('1970-01-01T00:00:00') // 0
-parseIso('1970-001') // 0
-parseIso('1970-01-01') // 0
-parseIso('19700101T000000.00') // 0
-parseIso('1970-01-01T02:00+02:00') // 0
-
-// Jan 02, 2000 20:10 GMT+04:00
-parseIso('2000-01-02T20:10+04:00') // 946829400000
-```
-
-
-## quarter(date):Number
-
-Get a number between 1 to 4 that represents the quarter of the year.
-
-```js
-quarter(new Date(2013, 1, 19)); // 1
-quarter(new Date(2013, 4, 12)); // 2
-quarter(new Date(2013, 7, 25)); // 3
-quarter(new Date(2013, 10, 8)); // 4
-```
-
-
-## startOf(date, period):Date
-
-Get a new Date at the start of the period.
-
-Available periods: `year`, `month`, `week`, `day`, `hour`, `minute`, `second`.
-
-```js
-// Apr 05 2013 11:27:43
-var date = new Date(2013, 3, 5, 11, 27, 43, 123);
-startOf(date, 'year'); // Jan 01 2013 00:00:00
-startOf(date, 'month'); // Apr 01 2013 00:00:00
-startOf(date, 'day'); // Apr 05 2013 00:00:00
-startOf(date, 'hour'); // Apr 05 2013 11:00:00
-```
-
-
-
-## strftime(date, format, [l10n]):String
-
-Format date based on strftime format.
-
-Replaced tokens:
-
-
-
%a
locale's abbreviated weekday name.
-
%A
locale's full weekday name.
-
%b
locale's abbreviated month name.
-
%B
locale's full month name.
-
%c
locale's appropriate date and time representation.
-
%C
century number (the year divided by 100 and truncated
-to an integer) as a decimal number [00..99].
-
%d
day of the month as a decimal number [01..31].
-
%D
same as %m/%d/%y.
-
%e
day of the month as a decimal number [1..31];
-a single digit is preceded by a space.
-
%F
The ISO 8601 date format (%Y-%m-%d)
-
%h
same as %b.
-
%H
hour (24-hour clock) as a decimal number [00..23].
-
%I
hour (12-hour clock) as a decimal number [01..12].
-
%j
day of the year as a decimal number [001..366].
-
%l
hour (12-hour clock) as a decimal number (range 1 to 12); single digits are preceded by a blank
-
%L
zero-padded milliseconds [000..999]
-
%m
month as a decimal number [01..12].
-
%M
minute as a decimal number [00..59].
-
%n
newline character.
-
%p
locale's equivalent of either "am" or "pm"
-
%P
locale's equivalent of either "AM" or "PM"
-
%r
time in a.m. and
-p.m. notation; in the POSIX locale this is equivalent to %I:%M:%S %p.
-
%R
time in 24 hour notation (%H:%M).
-
%s
seconds since Epoch (1970-01-01 00:00:00 UTC)
-
%S
second as a decimal number [00..60].
-
%t
tab character.
-
%T
time (%H:%M:%S).
-
%u
weekday as a decimal number [1..7], with 1 representing
-Monday.
-
%U
week number of the year (Sunday as the first day of
-the week) as a decimal number [00..53].
-
%V
week number of the year (Monday as the first day of the
-week) as a decimal number [01..53]. If the week containing 1 January has
-four or more days in the new year, then it is considered week 1. Otherwise,
-it is the last week of the previous year, and the next week is week 1.
-
%w
weekday as a decimal number [0..6], with 0 representing
-Sunday.
-
%W
week number of the year (Monday as the first day of
-the week) as a decimal number [00..53]. All days in a new year preceding
-the first Monday are considered to be in week 0.
-
%x
locale's appropriate date representation.
-
%X
locale's appropriate time representation.
-
%y
year without century as a decimal number [00..99].
-
%Y
year with century as a decimal number.
-
%Z
timezone name or abbreviation, or by no bytes
-if no timezone information exists.
-
%%
is replaced by %.
-
-
-```js
-var date = new Date(2013, 3, 8, 9, 2, 4);
-strftime(date, '%Y-%m-%d'); // "2013-04-08"
-strftime(date, '%R'); // "09:02"
-strftime(date, '%Y-%m-%dT%H:%M:%S%z'); // "2013-04-08T09:02:04+0000"
-```
-
-You can also set a custom locale:
-
-```js
-var ptBr = require('mout/date/i18n/pt-BR');
-strftime(date, '%a, %d %b', ptBr); // 'Seg, 08 Abr'
-strftime(date, '%A, %d %B', ptBr); // 'Segunda, 08 Abril'
-```
-
-To set it globally:
-
-```js
-require('mout/date/i18n_').set( customLocaleData );
-```
-
-See [date/i18n](https://github.com/mout/mout/tree/master/src/date/i18n)
-for localization examples.
-
-
-
-## timezoneAbbr(date):String
-
-Return timezone abbreviation or similar data.
-
-The result will vary based on the OS/browser since some environments doesn't
-provide enough info about the current locale.
-
-```js
-// IE 7-8
-timezoneAbbr(new Date()); // "-0500"
-// Chrome, FF, V8
-timezoneAbbr(new Date()); // "EST"
-```
-
-
-
-## timezoneOffset(date):String
-
-Return time zone as hour and minute offset from UTC (e.g. +0900).
-
-It's important to note that JavaScript Date object will use the system locale
-info to determinate the [timezone
-offset](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset)
-and that daylight saving time affects the result.
-
-```js
-// if system locale is EST
-timezoneOffset(new Date()); // -0500
-```
-
-
-
-## totalDaysInMonth(fullYear, monthIndex):Number
-
-Returns the amount of days in the month taking into consideration leap years
-(following Gregorian calendar).
-
-see: [`isLeapYear()`](#isLeapYear)
-
-```js
-totalDaysInMonth(2008, 1); // 29 (leap year)
-totalDaysInMonth(2009, 1); // 28
-
-// you can also pass a Date object as single argument
-totalDaysInMonth( new Date(2013, 0, 1) ); // 31
-```
-
-
-## totalDaysInYear(fullYear):Number
-
-Returns the amount of days in the year taking into consideration leap years
-(following Gregorian calendar).
-
-see: [`isLeapYear()`](#isLeapYear), [`totalDaysInMonth()`](#totalDaysInMonth)
-
-```js
-totalDaysInYear(2008); // 366 (leap year)
-totalDaysInYear(2009); // 365
-
-// you can also pass a Date object as single argument
-totalDaysInYear( new Date(2013, 0, 1) ); // 365
-```
-
-
-
-## weekOfTheYear(date, [firstDayOfWeek]):Number
-
-Returns how many weeks elapsed since start of the year (`0..53`).
-
-`firstDayOfWeek` can be `0` (Sunday) or `1` (Monday). By default weeks start at
-Sunday.
-
-It will return `0` if `date` is before the first `firstDayOfWeek` of the year.
-
-```js
-// Tue Jan 01 2013
-weekOfTheYear( new Date(2013,0,1) ); // 0
-// Wed Jan 09 2013
-weekOfTheYear( new Date(2013,0,9) ); // 1
-// Sun Jan 01 2012
-weekOfTheYear( new Date(2012,0,1) ); // 1
-// Mon Jan 09 2012
-weekOfTheYear( new Date(2012,0,9) ); // 2
-```
-
-
-
--------------------------------------------------------------------------------
-
-For more usage examples check specs inside `/tests` folder. Unit tests are the
-best documentation you can get...
-
diff --git a/node_modules/mout/doc/function.md b/node_modules/mout/doc/function.md
deleted file mode 100644
index 1425cb3..0000000
--- a/node_modules/mout/doc/function.md
+++ /dev/null
@@ -1,310 +0,0 @@
-# function #
-
-Function*(al)* utilities.
-
-## after(fn, n):Function
-
-This creates a function that will only call `fn` if it was called `n` or more times.
-
-
-```js
-function onLoaded() {
- console.log('all images loaded');
-}
-
-var imagePaths = ['1.jpg', '2.jpg', '3.jpg'];
-var callback = after(onLoaded, imagePaths.length);
-
-forEach(imagePaths, function(path) {
- asyncLoad(path, callback);
-});
-```
-
-## awaitDelay(fn, delay):Function
-
-Returns a function that ensures that `fn` is only called *after* `delay`
-milliseconds have elapsed. When the returned function is called before the
-delay has elapsed, it will wait until the delay has elapsed and then call `fn`.
-When the returned function is called after the delay has elapsed, it will call
-`fn` after the next "tick" (it will always be called asynchronously). The
-context and arguments that the returned function is called in are applied to
-`fn`.
-
-In the below example `onLoaded` will not be executed before a 1000 millisecond
-delay. Even if `loadImages` loads and calls `callback` earlier. However, say
-the images take 1500 milliseconds to load, it will trigger `onLoaded`
-immediately.
-
-```js
-var callback = awaitDelay(onLoaded, 1000);
-loadImages(callback);
-function onLoaded(){
- console.log('loaded');
-}
-```
-
-You can also cancel de delayed call by simply using the native `clearTimeout`
-method (like a regular `setTimeout` call).
-
-```js
-var timeoutId = callback();
-// onLoaded won't be called since it was canceled before the 1000ms delay
-clearTimeout(timeoutId);
-```
-
-### Arguments:
-
- 1. `fn` (Function) : Target Function
- 2. `delay` (Number) : Delay of execution in milliseconds
-
-See: [`debounce()`](#debounce)
-
-
-
-## bind(fn, context, [...args]):Function
-
-Return a function that will execute in the given context, optionally adding any additional supplied parameters to the beginning of the arguments collection.
-
-### Arguments
-
- 1. `fn` (Function) : Target Function
- 2. `context` (Object) : Execution context (object used as `this`)
- 3. `[...args]` (*) : Arguments (0...n arguments)
-
-See: [`partial()`](#partial), [object/bindAll](./object.html#bindAll)
-
-
-
-## compose(...fn):Function
-
-Returns the composition of a list of functions, where each function consumes
-the return value of the function that follows. In math terms, composing the
-functions `f()`, `g()`, and `h()` produces `f(g(h()))`.
-
-```js
-function add2(x) { return x + 2 }
-function multi2(x) { return x * 2 }
-map([1, 2, 3], compose(add2, multi2)); // [4, 6, 8]
-
-//same as
-map([1, 2, 3], function(x){
- return add2( multi2(x) );
-});
-```
-
-
-
-## constant(value):Function
-
-Returns a new function that will always return `value` when called.
-
-```js
-var f = constant('foo');
-f(); // 'foo'
-
-// Provided arguments are ignored; value is always returned
-f(1); // 'foo'
-
-f = constant({ foo: 'bar' });
-f(); // { foo: 'bar' }
-```
-
-
-
-## debounce(fn, delay[, isAsap]):Function
-
-Creates a function that will delay the execution of `fn` until after `delay`
-milliseconds have elapsed since the last time it was invoked.
-
-Subsequent calls to the debounced function will return the result of the last
-`fn` call.
-
-```js
-// sometimes less is more
-var lazyRedraw = debounce(redraw, 300);
-foo.on.resize.add(lazyRedraw);
-```
-
-In this visualization, `|` is a debounced-function call and `X` is the actual
-callback execution:
-
- Default
- ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
- X X
-
- Debounced with `isAsap == true`:
- ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
- X X
-
-You also have the option to cancel the debounced call if it didn't happen yet:
-
-```js
-lazyRedraw();
-// lazyRedraw won't be called since `cancel` was called before the `delay`
-lazyRedraw.cancel();
-```
-
-See: [`throttle()`](#throttle)
-
-
-## func(name):Function
-
-Returns a function that calls a method with given `name` on supplied object.
-Useful for iteration methods like `array/map` and `array/forEach`.
-
-See: [`prop()`](#prop)
-
-```js
-// will call the method `getName()` for each `user`
-var names = map(users, func('getName'));
-```
-
-
-
-## identity(val):*
-
-Returns the first argument provided to it.
-
-```js
-identity(3); // 3
-identity(1,2,3); // 1
-identity('foo'); // "foo"
-```
-
-
-
-## partial(fn, [...args]):Function
-
-Return a partially applied function supplying default arguments.
-
-This method is similar to [`bind`](#bind), except it does not alter the this
-binding.
-
-### Arguments
-
- 1. `fn` (Function) : Target Function
- 2. `[...args]` (*) : Arguments (0...n arguments)
-
-See: [`bind()`](#bind)
-
-```js
-function add(a, b){ return a + b }
-var add10 = partial(add, 10);
-console.log( add10(2) ); // 12
-```
-
-
-
-## prop(name):Function
-
-Returns a function that gets a property with given `name` from supplied object.
-Useful for using in conjunction with `array/map` and/or for creating getters.
-
-See: [`array/pluck()`](array.html#pluck)
-
-```js
-var users = [{name:"John", age:21}, {name:"Jane", age:25}];
-// ["John", "Jane"]
-var names = map(users, prop('name'));
-```
-
-
-
-## series(...fn):Function
-
-Returns a function that will execute all the supplied functions in order and
-passing the same parameters to all of them. Useful for combining multiple
-`array/forEach` into a single one and/or for debugging.
-
-```js
-// call `console.log()` and `doStuff()` for each item item in the array
-forEach(arr, series(console.log, doStuff));
-```
-
-
-
-## throttle(fn, interval):Function
-
-Creates a function that, when executed, will only call the `fn` function at
-most once per every `interval` milliseconds.
-
-If the throttled function is invoked more than once during the wait timeout,
-`fn` will also be called on the trailing edge of the timeout.
-
-Subsequent calls to the throttled function will return the result of the last
-`fn` call.
-
-```js
-// sometimes less is more
-var lazyRedraw = throttle(redraw, 300);
-foo.on.resize.add(lazyRedraw);
-```
-
-In this visualization, `|` is a throttled-function call and `X` is the actual
-`fn` execution:
-
- ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
- X X X X X X X X X X X X
-
-You also have the option to cancel the throttled call if it didn't happen yet:
-
-```js
-lazyRedraw();
-setTimeout(function(){
- lazyRedraw();
- // lazyRedraw will be called only once since `cancel` was called before
- // the `interval` for 2nd call completed
- lazyRedraw.cancel();
-}, 250);
-```
-
-See: [`debounce()`](#debounce)
-
-
-## timeout(fn, millis, context, [...args]):Number
-
-Functions as a wrapper for `setTimeout`. Calls a the function `fn` after a given delay `millis` in milliseconds.
-The function is called within the specified context. The return value can be used to clear the timeout using `clearTimeout`.
-
-```js
-var id = timeout(doStuff, 300, this);
-
-clearTimeout(id);
-```
-
-## times(n, callback, [context]):void
-
-Iterates over a callback `n` times.
-
-### Arguments
-
- 1. `n` (Number) : Number of iterations
- 2. `callback` (Function) : Closure executed for every iteration
- 3. `context` (Object) : Execution context (object used as `this`)
-
-```js
-var output = '';
-times(5, function(i) {
- output += i.toString();
-});
-// output: 01234
-```
-
-## wrap(fn, wrapper):Function
-
-Wraps the first `fn` inside of the `wrapper` function, passing it as the first argument. This allows the `wrapper` to execute code before and after the `fn` runs, adjust the arguments, and execute it conditionally.
-
-```js
-var hello = function(name) { return "hello: " + name; };
-hello = wrap(hello, function(func) {
- return "before, " + func("moe") + ", after";
-});
-hello();
-// output: 'before, hello: moe, after'
-```
-
-See: [`partial()`](#partial)
--------------------------------------------------------------------------------
-
-For more usage examples check specs inside `/tests` folder. Unit tests are the
-best documentation you can get...
diff --git a/node_modules/mout/doc/lang.md b/node_modules/mout/doc/lang.md
deleted file mode 100644
index 9324968..0000000
--- a/node_modules/mout/doc/lang.md
+++ /dev/null
@@ -1,516 +0,0 @@
-# lang #
-
-Language Utilities. Easier inheritance, scope handling, type checks.
-
-
-
-## clone(val):*
-
-Clone native types like Object, Array, RegExp, Date and primitives.
-
-This method will not clone values that are referenced within `val`. It will
-only copy the value reference to the new value. If the value is not a plain
-object but is an object, it will return the value unchanged.
-
-### Example
-
-```js
-var a = { foo: 'bar' };
-var b = clone(a);
-console.log(a === b); // false
-console.log(a.foo === b.foo); // true
-
-var c = [1, 2, 3];
-var d = clone(b);
-console.log(c === d); // false
-console.log(c); // [1, 2, 3]
-```
-
-See: [`deepClone()`](#deepClone)
-
-
-
-## createObject(parent, [props]):Object
-
-Create Object using prototypal inheritance and setting custom properties.
-
-Mix between [Douglas Crockford Prototypal Inheritance](http://javascript.crockford.com/prototypal.html) and [`object/mixIn`](./object.html#mixIn).
-
-### Arguments
-
- 1. `parent` (Object) : Parent Object
- 2. `[props]` (Object) : Object properties
-
-### Example
-
-```js
-var base = {
- trace : function(){
- console.log(this.name);
- }
-};
-
-var myObject = createObject(base, {
- name : 'Lorem Ipsum'
-});
-
-myObject.trace(); // "Lorem Ipsum"
-```
-
-
-
-## ctorApply(constructor, args):Object
-
-Do `Function.prototype.apply()` on a constructor while maintaining prototype
-chain.
-
-```js
-function Person(name, surname) {
- this.name = name;
- this.surname = surname;
-}
-
-Person.prototype.walk = function(){
- console.log(this.name +' is walking');
-};
-
-var args = ['John', 'Doe'];
-
-// "similar" effect as calling `new Person("John", "Doe")`
-var john = ctorApply(Person, args);
-john.walk(); // "John is walking"
-```
-
-
-
-## deepClone(val, [instanceClone]):*
-
-Deep clone native types like Object, Array, RegExp, Date and primitives.
-
-The `instanceClone` function will be invoked to clone objects that are not
-"plain" objects (as defined by [`isPlainObject`](#isPlainObject)) if it is
-provided. If `instanceClone` is not specified, it will not attempt to clone
-non-plain objects, and will copy the object reference.
-
-### Example
-
-```js
-var a = {foo:'bar', obj: {a:1, b:2}};
-var b = deepClone(a); // {foo:'bar', obj: {a:1, b:2}}
-console.log( a === b ); // false
-console.log( a.obj === b.obj ); // false
-
-var c = [1, 2, [3, 4]];
-var d = deepClone(c); // [1, 2, [3, 4]]
-var e = c.concat(); // [1, 2, [3, 4]]
-
-console.log( c[2] === d[2] ); // false
-// concat doesn't do a deep clone, arrays are passed by reference
-console.log( e[2] === d[2] ); // true
-
-function Custom() { }
-function cloneCustom(x) { return new Custom(); }
-var f = { test: new Custom() };
-var g = deepClone(f, cloneCustom);
-g.test === f.test // false, since new Custom instance will be created
-```
-
-See: [`clone()`](#clone)
-
-
-
-## deepEquals(a, b, [callback]):Boolean
-
-Recursively tests whether two values contains the same keys and values.
-
-`callback` specifies the equality comparison function used to compare
-non-object values. It defaults to using the [`is()`](#is) function.
-
-If the values are both an object or array, it will recurse into both values,
-checking if their keys/values are equal. It will only check the keys and values
-contained by the objects; it will not check the objects' prototypes. If either
-of the values are not objects, they will be checked using the `callback`
-function.
-
-Example:
-
-```js
-deepEquals({ a: 1 }, { a: 1 }); // true
-deepEquals({ value: { a: 1 } }, { value: { a: 1 } }); // true
-deepEquals({ value: { a: 1 } }, { value: { a: 2 } }); // false
-deepEquals({ value: { a: 1 } }, { value: { a: 1, b: 2 } }); // false
-deepEquals({}, null); // false
-deepEquals(null, null); // true
-deepEquals(
- { a: { b: 1 } },
- { a: { b: '1' } },
- function(a, b) { return a == b; }); // true
-```
-
-See: [object/equals](object.html#equals), [array/equals](array.html#equals)
-
-
-
-## defaults(val, ...defaults):void
-
-Return first value that isn't `null` or `undefined`.
-
- function doSomethingAwesome(foo, bar) {
- // default arguments
- foo = defaults(foo, 'lorem');
- bar = defaults(bar, 123);
- // ...
- }
-
-
-
-## GLOBAL:Object
-
-Reference to the global context (`window` inside a browser, `global` on
-node.js). Works on ES3 and ES5 strict-mode.
-
-
-
-## inheritPrototype(childCtor, parentCtor):Object
-
-Inherit the prototype methods from one constructor into another.
-
-Similar to [node.js util/inherits](http://nodejs.org/docs/latest/api/util.html#util_util_inherits_constructor_superconstructor).
-
-It returns the the `childCtor.prototype` for convenience.
-
-```js
-function Foo(name){
- this.name = name;
-}
-Foo.prototype = {
- getName : function(){
- return this.name;
- }
-};
-
-function Bar(name){
- Foo.call(this, name);
-}
-//should be called before calling constructor
-var proto = inheritPrototype(Bar, Foo);
-
-// for convenience we return the new prototype object
-console.log(proto === Bar.prototype); // true
-
-var myObj = new Bar('lorem ipsum');
-myObj.getName(); // "lorem ipsum"
-
-console.log(myObj instanceof Foo); // true
-
-// you also have access to the "super" constructor
-console.log(Bar.super_ === Foo); // true
-```
-
-
-## is(x, y):Boolean
-
-Check if both values are identical/egal.
-
-```js
-// wtfjs
-NaN === NaN; // false
--0 === +0; // true
-
-is(NaN, NaN); // true
-is(-0, +0); // false
-is('a', 'b'); // false
-```
-
-See: [`isnt()`](#isnt)
-
-
-
-## isnt(x, y):Boolean
-
-Check if both values are not identical/egal.
-
-```js
-// wtfjs
-NaN === NaN; // false
--0 === +0; // true
-
-isnt(NaN, NaN); // false
-isnt(-0, +0); // true
-isnt('a', 'b'); // true
-```
-
-See: [`is()`](#is)
-
-
-
-
-## isArguments(val):Boolean
-
-If value is an "Arguments" object.
-
-
-
-## isArray(val):Boolean
-
-If value is an Array. Uses native ES5 `Array.isArray()` if available.
-
-
-
-## isBoolean(val):Boolean
-
-If value is a Boolean.
-
-
-
-## isDate(val):Boolean
-
-If value is a Date.
-
-
-
-## isEmpty(val):Boolean
-
-Checks if Array/Object/String is empty.
-
-Will return `true` for any object that doesn't contain enumerable properties
-and also to any type of value that isn't considered a collection (boolean,
-null, undefined, function, etc).
-
-```js
-isEmpty(''); // true
-isEmpty('bar'); // false
-isEmpty([]); // true
-isEmpty([1, 2]); // false
-isEmpty({}); // true
-isEmpty({a:1, b:2}); // false
-// null, undefined, booleans, numbers are considered as "empty" values
-isEmpty(null); // true
-isEmpty(undefined); // true
-isEmpty(123); // true
-isEmpty(true); // true
-```
-
-
-## isFinite(val):Boolean
-
-Checks if value is Finite.
-
-**IMPORTANT:** This is not the same as native `isFinite`, which will return
-`true` for values that can be coerced into finite numbers. See
-http://es5.github.com/#x15.1.2.5.
-
-```js
-isFinite(123); // true
-isFinite(Infinity); // false
-
-// this is different than native behavior
-isFinite(''); // false
-isFinite(true); // false
-isFinite([]); // false
-isFinite(null); // false
-```
-
-
-## isFunction(val):Boolean
-
-If value is a Function.
-
-
-
-## isKind(val, kind):Boolean
-
-If value is of "kind". (used internally by some of the *isSomething* checks).
-
-Favor the other methods since strings are commonly mistyped and also because
-some "kinds" can only be accurately checked by using other methods (e.g.
-`Arguments`), some of the other checks are also faster.
-
-```js
-isKind([1,2], 'Array'); // true
-isKind(3, 'Array'); // false
-isKind(3, 'Number'); // true
-```
-
-See: [`kindOf()`](#kindOf)
-
-
-
-## isInteger(val):Boolean
-
-Check if value is an integer.
-
-```js
-isInteger(123); // true
-isInteger(123.45); // false
-isInteger({}); // false
-isInteger('foo'); // false
-isInteger('123'); // false
-```
-
-
-
-## isNaN(val):Boolean
-
-Check if value is not a number.
-
-It doesn't coerce value into number before doing the check, giving better
-results than native `isNaN`. Returns `true` for everything besides numeric
-values.
-
-**IMPORTANT:** behavior is very different than the native `isNaN` and way more
-useful!!! See: http://es5.github.io/#x15.1.2.4
-
-```js
-isNaN(123); // false
-
-isNaN(NaN); // true
-isNaN({}); // true
-isNaN(undefined); // true
-isNaN([4,5]); // true
-
-// these are all "false" on native isNaN and main reason why this module exists
-isNaN(''); // true
-isNaN(null); // true
-isNaN(true); // true
-isNaN(false); // true
-isNaN("123"); // true
-isNaN([]); // true
-isNaN([5]); // true
-```
-
-
-
-## isNull(val):Boolean
-
-If value is `null`.
-
-
-
-## isNumber(val):Boolean
-
-If value is a Number.
-
-
-
-## isObject(val):Boolean
-
-If value is an Object.
-
-
-
-## isPlainObject(val):Boolean
-
-If the value is an Object created by the Object constructor.
-
-
-
-## isRegExp(val):Boolean
-
-If value is a RegExp.
-
-
-
-## isString(val):Boolean
-
-If value is a String.
-
-
-
-## isUndefined(val):Boolean
-
-If value is `undefined`.
-
-
-
-## kindOf(val):String
-
-Gets kind of value (e.g. "String", "Number", "RegExp", "Null", "Date").
-Used internally by `isKind()` and most of the other *isSomething* checks.
-
-```js
-kindOf([1,2]); // "Array"
-kindOf('foo'); // "String"
-kindOf(3); // "Number"
-```
-
-See: [`isKind()`](#isKind)
-
-
-## toArray(val):Array
-
-Convert array-like object into Array or wrap value into Array.
-
-```js
-toArray({
- "0" : "foo",
- "1" : "bar",
- "length" : 2
-}); // ["foo", "bar"]
-
-function foo(){
- return toArray(arguments);
-}
-foo("lorem", 123); // ["lorem", 123]
-
-toArray("lorem ipsum"); // ["lorem ipsum"]
-toArray(window); // [window]
-toArray({foo:"bar", lorem:123}); // [{foo:"bar", lorem:123}]
-```
-
-See: object/values()
-
-
-
-## toNumber(val):Number
-
-Convert value into number.
-
-```js
-// numeric values are typecasted as Number
-toNumber('123'); // 123
-toNumber(-567); // -567
-
-// falsy values returns zero
-toNumber(''); // 0
-toNumber(null); // 0
-toNumber(undefined); // 0
-toNumber(false); // 0
-
-// non-numeric values returns NaN
-toNumber('asd'); // NaN
-toNumber({}); // NaN
-toNumber([]); // NaN
-
-// Date objects return milliseconds since epoch
-toNumber(new Date(1985, 6, 23)); // 490935600000
-```
-
-
-
-## toString(val):String
-
-Convert any value to its string representation.
-
-Will return an empty string for `undefined` or `null`, otherwise will convert
-the value to its string representation.
-
-```js
-// null and undefined are converted into empty strings
-toString(null); // ""
-toString(undefined); // ""
-
-toString(1); // "1"
-toString([1,2,3]); // "1,2,3"
-toString(false); // "false"
-
-// uses `val.toString()` to convert value
-toString({toString:funtion(){ return 'foo'; }}); // "foo"
-```
-
-
-
--------------------------------------------------------------------------------
-
-For more usage examples check specs inside `/tests` folder. Unit tests are the
-best documentation you can get...
diff --git a/node_modules/mout/doc/math.md b/node_modules/mout/doc/math.md
deleted file mode 100644
index d9d2410..0000000
--- a/node_modules/mout/doc/math.md
+++ /dev/null
@@ -1,316 +0,0 @@
-# math #
-
-Math utilities.
-
-
-## ceil(val[, step]):Number
-
-Round value up to full steps. Similar to `Math.ceil()` but can round value
-to an arbitrary *radix*.
-
- ceil(7.2); // 8
- ceil(7.8); // 8
- ceil(7, 5); // 10
- ceil(11, 5); // 15
- ceil(15, 5); // 15
-
-### Common use cases
-
-Round values by increments of 5/10/1000/etc.
-
-See: [`round()`](#round), [`floor()`](#floor), [`countSteps()`](#countSteps)
-
-
-
-## clamp(val, min, max):Number
-
-Clamps value inside range.
-
-`clamp()` is extremely useful in cases where you need to limit a value inside
-a certain range. So instead of doing a complex `if/else` to filter/process the
-value you can restrict it to always be inside the desired range:
-
- clamp(-5, 0, 10); // 0
- clamp(7, 1, 10); // 7
- clamp(8, 1, 10); // 8
- clamp(10, 1, 10); // 10
- clamp(11, 1, 10); // 10
-
-If the value is smaller than `min` it returns the `min`, if `val` is higher
-than `max` it returns `max`.
-
-### Common use cases
-
-Any situation where you need to limit a number inside a range like: slider
-position, image galleries (so user can't skip to an image that doesn't
-exist), drag and drop, scroll boundaries, etc.
-
-See: [`loop()`](#loop)
-
-
-
-
-## countSteps(val, step[, overflow]):Number
-
-Count number of full steps.
-
-### Arguments:
-
- 1. `val` (Number) : Value.
- 2. `step` (Number) : Step size.
- 3. `[overflow]` (Number) : Maximum number of steps, nSteps will loop if
-`>=` than overflow.
-
-
-Count steps is very useful for cases where you need to know how many "full
-steps" the number *completed*. Think of it as a division that only returns
-integers and ignore remainders.
-
- countSteps(3, 5); // 0
- countSteps(6, 5); // 1
- countSteps(12, 5); // 2
- countSteps(18, 5); // 3
- countSteps(21, 5); // 4
-
-You can also set an `overflow` which will reset the *counter* before reaching
-this number.
-
- countSteps(3, 5, 3); // 0
- countSteps(6, 5, 3); // 1
- countSteps(12, 5, 3); // 2
- countSteps(18, 5, 3); // 0
- countSteps(21, 5, 3); // 1
-
-### Common use cases
-
-#### How many items fit inside an area:
-
- var containerWidth = 100;
- var itemWidth = 8;
- var howManyFit = countSteps(containerWidth, itemWidth); // 12
-
-#### Split value into different scales or convert value from one scale to another
-
-From [mout/time/parseMs](time.html#parseMs):
-
- function parseMs(ms){
- return {
- milliseconds : countSteps(ms, 1, 1000),
- seconds : countSteps(ms, 1000, 60),
- minutes : countSteps(ms, 60000, 60),
- hours : countSteps(ms, 3600000, 24),
- days : countSteps(ms, 86400000)
- };
- }
-
- // {days:27, hours:4, minutes:26, seconds:5, milliseconds:454}
- parseMs(2348765454);
-
-
-
-## floor(val[, step]):Number
-
-Round value down to full steps. Similar to `Math.floor()` but can round value
-to an arbitrary *radix*. (formerly `snap`)
-
- floor(7.2); // 7
- floor(7.8); // 7
- floor(7, 5); // 5
- floor(11, 5); // 10
- floor(15, 5); // 15
-
-### Common use cases
-
-Round values by increments of 5/10/1000/etc.
-
-See: [`round()`](#round), [`ceil()`](#ceil), [`countSteps()`](#countSteps)
-
-
-
-## inRange(val, min, max[, threshold]):Boolean
-
-Checks if value is inside the range.
-
- inRange(-6, 1, 10); // false
- inRange( 5, 1, 10); // true
- inRange(12, 1, 10); // false
-
-The threshold can be useful when you want granular control of what should match
-and/or the precision could change at runtime or by some configuration option,
-avoids the clutter of adding/subtracting the `threshold` from `mix` and `max`.
-
- inRange(12, 1, 10, 2); // true
- inRange(13, 1, 10, 2); // false
-
-### Common use cases
-
-Anything that needs to check if value is inside a range, be it collision
-detection, limiting interaction by mouse position, ignoring parts of the logic
-that shouldn't happen if value isn't valid, simplify `if/else` conditions,
-making code more readable, etc...
-
-
-
-
-## isNear(val, target, threshold):Boolean
-
-Check if value is close to target.
-
-Similar to `inRange()` but used to check if value is close to a certain value
-or match the desired value. Basically to simplify `if/else` conditions and to
-make code clearer.
-
- isNear( 10.2, 10, 0.5); // true
- isNear( 10.5, 10, 0.5); // true
- isNear(10.51, 10, 0.5); // false
-
-### Common use cases
-
-Games where a certain action should happen if an *actor* is close to a target,
-gravity fields, any numeric check that has some tolerance.
-
-
-
-
-## lerp(ratio, start, end):Number
-
-Linear interpolation.
-
- lerp(0.5, 0, 10); // 5
- lerp(0.75, 0, 10); // 7.5
-
-### Common use cases
-
-Linear interpolation is commonly used to create animations of elements moving
-from one point to another, where you simply update the current ratio (which in
-this case represents time) and get back the position of the element at that
-"frame".
-
-The core idea of `lerp` is that you are using a number that goes from `0` to
-`1` to specify a ratio inside that scale. This concept can be applied to
-convert numbers from different scales easily.
-
-See: [`map()`](#map), [`norm()`](#norm)
-
-
-
-
-## loop(val, min, max):Number
-
-Loops value inside range. Will return `min` if `val > max` and `max` if `val
-< min`, otherwise it returns `val`.
-
- loop(-1, 0, 10); // 10
- loop( 1, 0, 10); // 1
- loop( 5, 0, 10); // 5
- loop( 9, 0, 10); // 9
- loop(10, 0, 10); // 10
- loop(11, 0, 10); // 0
-
-Similar to [`clamp()`](#clamp) but *loops* the value inside the range when an
-overflow occurs.
-
-### Common use cases
-
-Image galleries, infinite scroll, any kind of logic that requires that the
-first item should be displayed after the last one or the last one should be
-displayed after first if going on the opposite direction.
-
-See: [`clamp()`](#clamp)
-
-
-
-
-## map(val, min1, max1, min2, max2):Number
-
-Maps a number from one scale to another.
-
- map(3, 0, 4, -1, 1) // 0.5
- map(3, 0, 10, 0, 100) // 30
-
-### Common use cases
-
-Very useful to convert values from/to multiple scales.
-
-Let's suppose we have a slider that needs to go from `2000` to `5000` and that slider
-has `300px` of width, here is how we would translate the knob position into the
-current value:
-
- var knobX = 123;
- var sliderWid = 300;
- var minVal = 2000;
- var maxVal = 5000;
-
- var curVal = map(knobX, 0, sliderWid, minVal, maxVal); // 3230
-
-See: [`lerp()`](#lerp), [`norm()`](#norm)
-
-
-
-
-## norm(val, min, max):Number
-
-Gets normalized ratio of value inside range.
-
-If `val < min` or `val > max` it will throw a `RangeError` since we can't
-normalize the value.
-
- norm(50, 0, 100); // 0.5
- norm(75, 0, 100); // 0.75
- norm(100, 0, 100); // 1
- norm(-50, 0, 100); // RangeError: value (-50) must be between 0 and 100
-
-### Common use cases
-
-Convert values between scales, used by [`map()`](#map) internally. Direct
-opposite of [`lerp()`](#lerp).
-
-See: [`lerp()`](#lerp), [`map()`](#map)
-
-
-## overflow(val[, min], max):Number
-
-Wraps number within [min, max). When no `min` is given, the value `0` is assumed.
-A number larger or equal `max` loops around and starts over at `min`. For positive numbers larger
-or equal max this method behaves identical to the modulo operator.
-Numbers smaller than min loop around and start over at `max`.
-
- overflow(13, 5, 10); // 8
- overflow(3, 5, 10); // 8
- overflow(23, 5); // 3
- overflow(-10, -7, -1); // -4
-
-See: [`loop()`](#loop)
-
-
-## round(val[, step]):Number
-
-Round value to full steps. Similar to `Math.round()` but allow setting an
-arbitrary *radix*.
-
- // default
- round(0.22); // 0
- round(0.49); // 0
- round(0.51); // 1
-
- // custom radix
- round(0.22, 0.5); // 0
- round(0.49, 0.5); // 0.5
- round(0.51, 0.5); // 0.5
- round(0.74, 0.5); // 0.5
- round(0.75, 0.5); // 1
- round(1.24, 0.5); // 1
- round(1.25, 0.5); // 1.5
- round(1.74, 0.5); // 1.5
-
-### Common use cases
-
-Round values by increments of 0.5/5/10/1000/etc.
-
-See: [`floor()`](#floor), [`ceil()`](#ceil), [`countSteps()`](#countSteps)
-
-
--------------------------------------------------------------------------------
-
-For more usage more info check the specs and source code.
-
diff --git a/node_modules/mout/doc/number.md b/node_modules/mout/doc/number.md
deleted file mode 100644
index 78e9c07..0000000
--- a/node_modules/mout/doc/number.md
+++ /dev/null
@@ -1,279 +0,0 @@
-# number #
-
-Number utilities.
-
-
-## abbreviate(val[, nDecimalDigits, dictionary]):String
-
-Abbreviate number to thousands (K), millions (M) or billions (B).
-
-The default value for `nDecimalDigits` is `1`.
-
-### Example
-
- abbreviate(123456); // "123.5K"
- abbreviate(12345678); // "12.3M"
- abbreviate(1234567890); // "1.2B"
-
-You can set the amount of decimal digits (default is `1`):
-
- abbreviate(543); // "0.5K"
- abbreviate(543, 1); // "0.5K"
- abbreviate(543, 2); // "0.54K"
- abbreviate(543, 3); // "0.543K"
-
-You can customize the abbreviation by passing a custom "dictionary":
-
- var _ptbrDict = {
- thousand: ' mil',
- million: ' Mi',
- billion: ' Bi'
- };
- function customAbbr(val) {
- return abbreviate(val, 1, _ptbrDict);
- }
-
- customAbbr(123456); // "123.5 mil"
- customAbbr(12345678); // "12.3 Mi"
- customAbbr(1234567890); // "1.2 Bi"
-
-
-
-## currencyFormat(val[, nDecimalDigits, decimalSeparator, thousandsSeparator]):String
-
-Format a number as currency.
-
-### Example:
-
- currencyFormat(1000); // "1,000.00"
- currencyFormat(1000, 1); // "1,000.0"
- currencyFormat(1000, 2, ',', '.'); // "1.000,00"
-
-
-
-## enforcePrecision(val, nDecimalDigits):Number
-
-Enforce a specific amount of decimal digits and also fix floating point
-rounding issues.
-
-### Example:
-
-```js
-enforcePrecision(0.615, 2); // 0.62
-enforcePrecision(0.625, 2); // 0.63
-//floating point rounding "error" (rounds to odd number)
-+(0.615).toFixed(2); // 0.61
-+(0.625).toFixed(2); // 0.63
-```
-
-
-## isNaN(val):Boolean
-
-ES6 `Number.isNaN()`, checks if supplied value is `NaN`.
-
-```js
-// only returns `true` for `NaN`
-isNaN(NaN); // true
-isNaN(0 / 0); // true
-
-// everything else is `false`
-isNaN(true); // false
-isNaN(123); // false
-isNaN('asd'); // false
-isNaN('NaN'); // false
-```
-
-
-## MAX_INT:Number
-
-Maximum 32-bit signed integer value. `Math.pow(2, 31) - 1`
-
-### Example:
-
-```js
-console.log( MAX_INT ); // 2147483647
-```
-
-
-## MAX_SAFE_INTEGER:Number
-
-Maximum safe integer. `Math.pow(2,53) − 1`
-
-
-## MAX_UINT:Number
-
-Maximum 32-bit unsigned integer value. `Math.pow(2, 32) - 1`
-
-### Example:
-
-```js
-console.log( MAX_UINT ); // 4294967295
-```
-
-
-## MIN_INT:Number
-
-Minimum 32-bit signed integer value. `Math.pow(2, 31) * -1`.
-
-### Example:
-
-```js
-console.log( MIN_INT ); // -2147483648
-```
-
-
-## nth(n):String
-
-Returns the "nth" of number. (`"st"`, `"nd"`, `"rd"`, `"th"`)
-
-```js
-nth(1); // "st"
-nth(2); // "nd"
-nth(12); // "th"
-nth(22); // "nd"
-nth(23); // "rd"
-nth(34); // "th"
-```
-
-See: [`ordinal()`](#ordinal)
-
-
-
-## ordinal(n):String
-
-Converts number into ordinal form (1st, 2nd, 3rd, 4th, ...)
-
-```js
-ordinal(1); // "1st"
-ordinal(2); // "2nd"
-ordinal(3); // "3rd"
-ordinal(14); // "14th"
-ordinal(21); // "21st"
-```
-
-See: [`nth()`](#nth)
-
-
-
-## pad(n, minLength[, char]):String
-
-Add padding zeros if `n.length` < `minLength`.
-
-### Example:
-
-```js
-pad(1, 5); // "00001"
-pad(12, 5); // "00012"
-pad(123, 5); // "00123"
-pad(1234, 5); // "01234"
-pad(12345, 5); // "12345"
-pad(123456, 5); // "123456"
-
-// you can also specify the "char" used for padding
-pad(12, 5, '_'); // "___12"
-```
-
-see: [string/lpad](./string.html#lpad)
-
-
-
-## rol(val, shift):Number
-
-Bitwise circular shift left.
-
-More info at [Wikipedia#Circular_shift](http://en.wikipedia.org/wiki/Circular_shift)
-
-
-
-## ror(val, shift):Number
-
-Bitwise circular shift right.
-
-More info at [Wikipedia#Circular_shift](http://en.wikipedia.org/wiki/Circular_shift)
-
-
-
-## sign(val):Number
-
-Returns `-1` if value is negative, `0` if the value is `0` and `1` if value is positive. Useful for
-multiplications.
-
-```js
-sign(-123); // -1
-sign(123); // 1
-sign(0); // 0
-```
-
-
-
-## toInt(val):Number
-
-"Convert" value into an 32-bit integer. Works like `Math.floor` if `val > 0` and
-`Math.ceil` if `val < 0`.
-
-**IMPORTANT:** val will wrap at [number/MIN_INT](#MIN_INT) and
-[number/MAX_INT](#MAX_INT).
-
-Created because most people don't know bitwise operations and also because this
-feature is commonly needed.
-
-[Perf tests](http://jsperf.com/vs-vs-parseint-bitwise-operators/7)
-
-### Example:
-
-```js
-toInt(1.25); // 1
-toInt(0.75); // 0
-toInt(-0.55); // 0
-toInt(-5.0001) // -5
-```
-
-
-
-## toUInt(val):Number
-
-"Convert" value into an 32-bit unsigned integer.
-
-Works like AS3#uint().
-
-**IMPORTANT:** val will wrap at 2^32.
-
-### Example:
-
-```js
-toUInt(1.25); // 1
-toUInt(0.75); // 0
-toUInt(-0.55); // 0
-toUInt(-5.0001); // 4294967291
-toUInt(Math.pow(2,32) - 0.5); // 4294967295
-toUInt(Math.pow(2,32) + 0.5); // 0
-```
-
-
-## toUInt31(val):Number
-
-"Convert" value into an 31-bit unsigned integer (since 1 bit is used for sign).
-
-Useful since all bitwise operators besides `>>>` treat numbers as signed
-integers.
-
-**IMPORTANT:** val will wrap at 2^31 and negative numbers will be treated as
-`zero`.
-
-### Example:
-
-```js
-toUInt31(1.25); // 1
-toUInt31(0.75); // 0
-toUInt31(-0.55); // 0
-toUInt31(-5.0001); // 0
-toUInt31(Math.pow(2,31) - 0.5); // 21474836470
-toUInt31(Math.pow(2,31) + 0.5); // 0
-```
-
-
--------------------------------------------------------------------------------
-
-For more usage examples check specs inside `/tests` folder. Unit tests are the
-best documentation you can get...
-
diff --git a/node_modules/mout/doc/object.md b/node_modules/mout/doc/object.md
deleted file mode 100644
index 348f96a..0000000
--- a/node_modules/mout/doc/object.md
+++ /dev/null
@@ -1,812 +0,0 @@
-# object #
-
-Object utilities.
-
-
-
-## bindAll(obj, [...methodNames]):void
-
-Bind methods of the target object to always execute on its own context
-(ovewritting the original function).
-
-See: [function/bind](./function.html#bind)
-
-```js
-var view = {
- name: 'Lorem Ipsum',
- logNameOnClick: function() {
- console.log(this.name);
- }
-};
-
-// binds all methods by default
-bindAll(view);
-jQuery('#docs').on('click', view.logNameOnClick);
-```
-
-You can also specify the list of methods that you want to bind (in case you
-just want to bind a few of them).
-
-```js
-// only the listed methods will be bound to `obj` context
-bindAll(obj, 'logNameOnClick', 'doAwesomeStuffOnDrag');
-```
-
-
-
-## contains(obj, value):Boolean
-
-Similar to [Array/contains](array.html#contains). Checks if Object contains
-value.
-
-```js
-var obj = {
- a: 1,
- b: 2,
- c: 'bar'
-};
-contains(obj, 2); // true
-contains(obj, 'foo'); // false
-```
-
-
-
-## deepFillIn(target, ...objects):Object
-
-Fill missing properties recursively.
-
-It's different from `deepMixIn` since it won't override any existing property.
-It's also different from `merge` since it won't clone child objects during the
-process.
-
-It returns the target object and mutates it in place.
-
-See: [`fillIn()`](#fillIn), [`deepMixIn()`](#deepMixIn), [`merge()`](#merge)
-
-```js
-var base = {
- foo : {
- bar : 123
- },
- lorem : 'ipsum'
-};
-var options = deepFillIn({foo : { baz : 45 }, lorem : 'amet'}, base);
-// > {foo: {bar:123, baz : 45}, lorem : 'amet'}
-```
-
-
-
-## deepMatches(target, pattern):Boolean
-
-Recursively checks if object contains all properties/value pairs. When both
-the target and pattern values are arrays, it checks that the target value
-contain matches for all the items in the pattern array (independent of order).
-
-```js
-var john = {
- name: 'John',
- age: 22,
- pets: [
- { type: 'cat', name: 'Grumpy Cat' },
- { type: 'dog', name: 'Hawk' }
- ]
-};
-
-deepMatches(john, { name: 'John' }); // true
-deepMatches(john, { age: 21 }); // false
-deepMatches(john, { pets: [ { type: 'cat' } ] }); // true
-deepMatches(john, { pets: [ { name: 'Hawk' } ] }); // true
-deepMatches(john, { pets: [ { name: 'Hairball' } ] }); // false
-```
-
-See [`matches()`](#matches)
-
-
-
-## deepMixIn(target, ...objects):Object
-
-Mixes objects into the target object, recursively mixing existing child objects
-as well.
-
-It will only recursively mix objects if both (existing and new) values are
-plain objects.
-
-Returns the target object. Like [`merge()`](#merge), but mutates the target
-object, and does not clone child objects.
-
-```js
-var target = {
- foo: {
- name: "foo",
- id: 1
- }
-};
-
-deepMixIn(target, { foo: { id: 2 } });
-console.log(target); // { foo: { name: "foo", id: 2 } }
-```
-
-See: [`mixIn()`](#mixIn), [`merge()`](#merge), [`deepFillIn()`](#deepFillIn)
-
-
-
-## equals(a, b, [callback]):Boolean
-
-Tests whether two objects contain the same keys and values.
-
-`callback` specifies the equality comparison function used to compare the
-values. It defaults to using [lang/is](lang.html#is).
-
-It will only check the keys and values contained by the objects; it will not
-check the objects' prototypes. If either of the values are not objects, they
-will be compared using the `callback` function.
-
-```js
-equals({}, {}); // true
-equals({ a: 1 }, { a: 1 }); // true
-equals({ a: 1 }, { a: 2 }); // false
-equals({ a: 1, b: 2 }, { a: 1 }); // false
-equals({ a: 1 }, { a: 1, b: 2 }); // false
-equals(null, null); // true
-equals(null, {}); // false
-equals({ a: 1 }, { a: '1' }, function(a, b) { return a == b; }); // true
-```
-
-See: [array/equals](array.html#equals), [lang/deepEquals](lang.html#deepEquals)
-
-
-## every(obj, callback, [thisObj]):Boolean
-
-Similar to [Array/every](array.html#every). Tests whether all properties in the
-object pass the test implemented by the provided callback.
-
-```js
-var obj = {
- a: 1,
- b: 2,
- c: 3,
- d: 'string'
-};
-
-every(obj, isNumber); // false
-```
-
-
-
-## fillIn(obj, ...default):Object
-
-Fill in missing properties in object with values from the *defaults* objects.
-
- var base = {
- foo : 'bar',
- num : 123
- };
-
- fillIn({foo:'ipsum'}, base); // {foo:'ipsum', num:123}
-
-PS: it allows merging multiple objects at once, the first ones will take
-precedence.
-
-See: [`mixIn()`](#mixIn), [`merge()`](#merge), [`deepFillIn()`](#deepFillIn)
-
-
-
-## filter(obj, callback, [thisObj])
-
-Returns a new object containing all properties where `callback` returns true,
-similar to Array/filter. It does not use properties from the object's
-prototype.
-
-Callback receives the same arguments as `forOwn()`.
-
-See: [`forOwn()`](#forOwn), [`forIn()`](#forIn), [`pick()`](#pick)
-
-```js
-var obj = {
- foo: 'value',
- bar: 'bar value'
-};
-
-// returns { bar: 'bar value' }
-filter(obj, function(v) { return v.length > 5; });
-
-// returns { foo: 'value' }
-filter(obj, function(v, k) { return k === 'foo'; });
-```
-
-
-
-## find(obj, callback, [thisObj])
-
-Loops through all the properties in the Object and returns the first one that
-passes a truth test (callback), similar to [Array/find](array.html#find).
-Unlike Array/find, order of iteration is not guaranteed.
-
-```js
-var obj = {
- a: 'foo',
- b: 12
-};
-
-find(obj, isString); // 'foo'
-find(obj, isNumber); // 12
-```
-
-
-
-## flatten(object, [level]):Object
-
-Recursively flattens an object. A new object containing all the values is
-returned. If `level` is specified, it will only flatten up to that level.
-Note that objects within arrays will not be flattened.
-
-### Example
-
-```js
-flatten({ a: 1, b: { c: 2, d: { e: 3 } } });
-// > { a: 1, 'b.c': 2, 'b.d.e': 3 }
-flatten({ a: 1, b: { c: 2, d: { e: 3 } } }, 1);
-// > { a: 1, 'b.c': 2, 'b.d': { e: 3 } }
-```
-
-See: [`array/flatten()`](./array.html#flatten)
-
-
-## forIn(obj, callback[, thisObj])
-
-Iterate over all properties of an Object, similar to
-[Array/forEach](array.html#forEach).
-
-It [avoids don't enum bug on IE](https://developer.mozilla.org/en/ECMAScript_DontEnum_attribute#JScript_DontEnum_Bug).
-It **will** iterate over inherited (enumerable) properties from the prototype.
-
-It allows exiting the iteration early by returning `false` on the callback.
-
-See: [`forOwn()`](#forOwn), [`keys()`](#keys), [`values()`](#values)
-
-### Callback arguments
-
-Callback will receive the following arguments:
-
- 1. Property Value (*)
- 2. Key name (String)
- 3. Target object (Object)
-
-### Example
-
-```js
-function Foo(){
- this.foo = 1;
- this.bar = 2;
-}
-
-Foo.prototype.lorem = 4;
-
-var obj = new Foo();
-
-var result = 0;
-var keys = [];
-
-forIn(obj, function(val, key, o){
- result += val;
- keys.push(key);
-});
-
-console.log(result); // 7
-console.log(keys); // ['foo', 'bar', 'lorem']
-```
-
-
-
-## forOwn(obj, callback[, thisObj])
-
-Iterate over all own properties from an Object, similar to
-[Array/forEach](array.html#forEach).
-
-It [avoids don't enum bug on IE](https://developer.mozilla.org/en/ECMAScript_DontEnum_attribute#JScript_DontEnum_Bug).
-Notice that it **won't** iterate over properties from the prototype.
-
-It allows exiting the iteration early by returning `false` on the callback.
-
-See: [`forIn()`](#forIn), [`keys()`](#keys), [`values()`](#values)
-
-### Callback arguments
-
-Callback will receive the following arguments:
-
- 1. Property Value (*)
- 2. Key name (String)
- 3. Target object (Object)
-
-### Example
-
-```js
-function Foo(){
- this.foo = 1;
- this.bar = 2;
-}
-
-// will be ignored
-Foo.prototype.lorem = 4;
-
-var obj = new Foo();
-
-var result = 0;
-var keys = [];
-
-forOwn(obj, function(val, key, o){
- result += val;
- keys.push(key);
-});
-
-console.log(result); // 3
-console.log(keys); // ['foo', 'bar']
-```
-
-
-
-## functions(obj):Array
-
-Returns a sorted list of all enumerable properties that have function values
-(including inherited properties).
-
-```js
-var obj = {
- foo : function(){},
- bar : 'baz'
-};
-functions(obj); // ['foo']
-```
-
-
-
-## get(obj, propName):*
-
-Returns nested property value. Will return `undefined` if property doesn't
-exist or if the object is null or undefined.
-
-See: [`set()`](#set), [`namespace()`](#namespace), [`has()`](#has)
-
-```js
-var lorem = {
- ipsum : {
- dolor : {
- sit : 'amet'
- }
- }
- };
-
-get(lorem, 'ipsum.dolor.sit'); // "amet"
-get(lorem, 'foo.bar'); // undefined
-get(undefined, 'foo.bar'); // undefined
-```
-
-
-
-## has(obj, propName):Boolean
-
-Checks if object contains a child property. Useful for cases where you need to
-check if an object contain a *nested* property. It will get properties
-inherited by the prototype.
-
-see: [`hasOwn()`](#hasOwn), [`get()`](#get)
-
-```js
-var a = {
- b : {
- c : 123
- }
- };
-
-has(a, 'b.c'); // true
-has(a, 'foo.c'); // false
-```
-
-### Common use case
-
-```js
-if( has(a, 'foo.c') ){ // false
- // ...
-}
-
-if( a.foo.c ){ // ReferenceError: `foo` is not defined
- // ...
-}
-```
-
-
-
-## hasOwn(obj, propName):Boolean
-
-Safer `Object.hasOwnProperty`. Returns a boolean indicating whether the object
-has the specified property.
-
-see: [`has()`](#has)
-
-```js
-var obj = {
- foo: 1,
- hasOwnProperty : 'bar'
-};
-
-obj.hasOwnProperty('foo'); // ERROR! hasOwnProperty is not a function
-
-hasOwn(obj, 'foo'); // true
-hasOwn(obj, 'hasOwnProperty'); // true
-hasOwn(obj, 'toString'); // false
-```
-
-
-
-## keys(obj):Array
-
-Returns an array of all own enumerable properties found upon a given object.
-It will use the native `Object.keys` if present.
-
-PS: it won't return properties from the prototype.
-
-See: [`forOwn()`](#forOwn), [`values()`](#values)
-
-```js
-var obj = {
- foo : 1,
- bar : 2,
- lorem : 3
-};
-keys(obj); // ['foo', 'bar', 'lorem']
-```
-
-
-
-## map(obj, callback, [thisObj]):Object
-
-Returns a new object where the property values are the result of calling the
-callback for each property in the original object, similar to Array/map.
-
-The callback function receives the same arguments as in `forOwn()`.
-
-See: [`forOwn()`](#forOwn)
-
-```js
-var obj = { foo: 1, bar: 2 },
- data = { foo: 0, bar: 1 };
-
-map(obj, function(v) { return v + 1; }); // { foo: 2, bar: 3 }
-map(obj, function(v, k) { return k; }); // { foo: "foo", bar: "bar" }
-map(obj, function(v, k) { return this[k]; }, data); // { foo: 0, bar: 1 }
-```
-
-
-
-## matches(obj, props):Boolean
-
-Checks if object contains all properties/values pairs. Useful for validation
-and filtering.
-
-```js
-var john = {age:25, hair:'long', beard:true};
-var mark = {age:27, hair:'short', beard:false};
-var hippie = {hair:'long', beard:true};
-matches(john, hippie); // true
-matches(mark, hippie); // false
-```
-
-See [`deepMatches()`](#deepMatches)
-
-
-
-## merge(...objects):Object
-
-Deep merges objects. Note that objects and properties will be cloned during the
-process to avoid undesired side effects. It return a new object and won't
-affect source objects.
-
-```js
-var obj1 = {a: {b: 1, c: 1, d: {e: 1, f: 1}}};
-var obj2 = {a: {b: 2, d : {f : 'yeah'} }};
-
-merge(obj1, obj2); // {a: {b : 2, c : 1, d : {e : 1, f : 'yeah'}}}
-```
-
-See: [`deepMixIn()`](#deepMixIn), [`deepFillIn()`](#deepFillIn)
-
-
-
-## max(obj[, iterator]):*
-
-Returns maximum value inside object or use a custom iterator to define how
-items should be compared. Similar to [Array/max](array.html#max).
-
-See: [`min()`](#min)
-
-```js
-max({a: 100, b: 2, c: 1, d: 3, e: 200}); // 200
-max({a: 'foo', b: 'lorem', c: 'amet'}, function(val){
- return val.length;
-}); // 'lorem'
-```
-
-
-
-## min(obj[, iterator]):*
-
-Returns minimum value inside object or use a custom iterator to define how
-items should be compared. Similar to [Array/min](array.html#min).
-
-See: [`max()`](#max)
-
-```js
-min({a: 100, b: 2, c: 1, d: 3, e: 200}); // 1
-min({a: 'foo', b: 'lorem', c: 'amet'}, function(val){
- return val.length;
-}); // 'foo'
-```
-
-
-
-## mixIn(target, ...objects):Object
-
-Combine properties from all the objects into first one.
-
-This method affects target object in place, if you want to create a new Object
-pass an empty object as first parameter.
-
-### Arguments
-
- 1. `target` (Object) : Target Object.
- 2. `...objects` (...Object) : Objects to be combined (0...n objects).
-
-### Example
-
-```js
-var a = {foo: "bar"};
-var b = {lorem: 123};
-
-mixIn({}, a, b); // {foo: "bar", lorem: 123}
-console.log(a); // {foo: "bar"}
-
-mixIn(a, b); // {foo: "bar", lorem: 123}
-console.log(a); // {foo: "bar", lorem: 123}
-```
-
-See: [`fillIn()`](#fillIn), [`merge()`](#merge)
-
-
-
-
-## namespace(obj, propName):Object
-
-Creates an empty object inside namespace if not existent. Will return created
-object or existing object.
-
-See: [`get()`](#get), [`set()`](#set)
-
-```js
-var obj = {};
-namespace(obj, 'foo.bar'); // {}
-console.log(obj); // {foo:{bar:{}}}
-```
-
-
-## omit(obj, ...keys):Object
-
-Return a copy of the object without the blacklisted keys.
-
-See: [`filter()`](#filter)
-
-```js
-var user = {
- firstName : 'John',
- lastName : 'Doe',
- dob : '1985/07/23',
- gender : 'male'
-};
-
-// can pass an array of keys as second argument
-var keys = ['firstName', 'dob']
-omit(user, keys); // {lastName : 'Doe', gender : 'male'}
-
-// or multiple arguments
-omit(user, 'firstName', 'lastName'); // {dob : '1985/07/23', gender : 'male'}
-```
-
-
-
-## pick(obj, ...keys):Object
-
-Return a copy of the object that contains only the whitelisted keys.
-
-See: [`filter()`](#filter)
-
-```js
-var user = {
- firstName : 'John',
- lastName : 'Doe',
- dob : '1985/07/23',
- gender : 'male'
-};
-
-// can pass an array of keys as second argument
-var keys = ['firstName', 'dob']
-pick(user, keys); // {firstName:"John", dob: "1985/07/23"}
-
-// or multiple arguments
-pick(user, 'firstName', 'lastName'); // {firstName:"John", lastName: "Doe"}
-```
-
-
-
-## pluck(obj, propName):Object
-
-Extract an object containing property values with keys as they appear in the
-passed object.
-
-```js
-var users = {
- first: {
- name : 'John',
- age : 21
- },
- second: {
- name : 'Mary',
- age : 25
- }
-};
-
-pluck(users, 'name'); // {first: 'John', second: 'Mary'} );
-pluck(users, 'age'); // {first: 21, second: 25} );
-```
-
-
-
-## reduce(obj, callback, initial, [thisObj]):*
-
-Similar to [Array/reduce](array.html#reduce).
-
-Apply a function against an accumulator and each property of the object (order
-is undefined) as to reduce it to a single value.
-
-```js
-var obj = {a: 1, b: 2, c: 3, d: 4};
-
-function sum(prev, cur, key, list) {
- compare1.push(prev);
- return prev + cur;
-}
-
-reduce(obj, sum); // 10
-```
-
-
-
-## reject(obj, callback, thisObj):Object
-
-Returns a new object containing all properties where `callback` returns true,
-similar to [Array/reject](array.html#reject). It does not use properties from
-the object's prototype. Opposite of [`filter()`](#filter).
-
-See [`filter()`](#filter)
-
-### Example
-
-```js
-var obj = {a: 1, b: 2, c: 3, d: 4, e: 5};
-reject(obj, function(x) { return (x % 2) !== 0; }); // {b: 2, d: 4}
-```
-
-
-
-## values(obj):Array
-
-Returns an array of all own enumerable properties values found upon a given object.
-
-PS: it won't return properties from the prototype.
-
-See: [`forOwn()`](#forOwn), [`keys()`](#keys)
-
-```js
-var obj = {
- foo : 1,
- bar : 2,
- lorem : 3
-};
-values(obj); // [1, 2, 3]
-```
-
-
-
-## set(obj, propName, value)
-
-Sets a nested property value.
-
-See: [`get()`](#get), [`namespace()`](#namespace)
-
-```js
-var obj = {};
-set(obj, 'foo.bar', 123);
-console.log(obj.foo.bar); // 123
-console.log(obj); // {foo:{bar:123}}
-```
-
-
-
-## size(obj):Number
-
-Returns the count of own enumerable properties found upon a given object.
-
-PS: it won't return properties from the prototype.
-
-See: [`forOwn()`](#forOwn), [`keys()`](#keys)
-
-```js
-var obj = {
- foo : 1,
- bar : 2,
- lorem : 3
-};
-size(obj); // 3
-```
-
-
-
-## some(obj, callback, [thisObj]):Boolean
-
-Similar to [Array/some](array.html#some). Tests whether any properties in the
-object pass the test implemented by the provided callback.
-
-```js
-var obj = {
- a: 1,
- b: 2,
- c: 3,
- d: 'string'
-};
-
-some(obj, isNumber); // true
-```
-
-
-
-## unset(obj, propName):Boolean
-
-Delete object property if existent and returns a boolean indicating succes. It
-will also return `true` if property doesn't exist.
-
-Some properties can't be deleted, to understand why [check this
-article](http://perfectionkills.com/understanding-delete/).
-
-See: [`set()`](#set)
-
-```js
-var lorem = {
- ipsum : {
- dolor : {
- sit : 'amet'
- }
- }
- };
-
-unset(lorem, 'ipsum.dolor.sit'); // true
-console.log(lorem.ipsum.dolor); // {}
-unset(lorem, 'foo.bar'); // true
-```
-
-
-
-## result(object, property):Mixed
-
-Evaluates an objects property and returns result.
-
-```js
-var person = {
- name: 'john',
-
- mood: function() {
- // some dynamic calculated property.
- return 'happy';
- }
-};
-
-var name = result(person, 'name'), // john
- mood = result(person, 'mood'); // happy
-```
diff --git a/node_modules/mout/doc/queryString.md b/node_modules/mout/doc/queryString.md
deleted file mode 100644
index 1be3c10..0000000
--- a/node_modules/mout/doc/queryString.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# queryString #
-
-Utilities for query string manipulation.
-
-
-
-## contains(url, paramName):Boolen
-
-Checks if query string contains parameter.
-
-### Arguments:
-
- 1. `url` (String) : URL or query string.
- 2. `paramName` (String) : Parameter name.
-
-### Example:
-
-```js
-var url = 'example.com/?lorem=ipsum';
-contains(url, 'lorem'); // true
-contains(url, 'foo'); //false
-```
-
-
-
-## decode(queryStr[, shouldTypecast]):Object
-
-Parses query string and creates an object of keys => vals.
-
-Will typecast value with [`string/typecast`](string.html#typecast) by default
-and decode string parameters using `decodeURIComponent()`.
-
-```js
-var query = '?foo=bar&lorem=123';
-decode(query); // {foo: "bar", lorem: 123}
-decode(query, false); // {foo: "bar", lorem: "123"}
-```
-
-
-## encode(obj):String
-
-Encode object into a query string.
-
-Will encode parameters with `encodeURIComponent()`.
-
-```js
-encode({foo: "bar", lorem: 123}); // "?foo=bar&lorem=123"
-```
-
-
-## getParam(url, param[, shouldTypecast]):*
-
-Get query parameter value.
-
-Will typecast value with [`string/typecast`](string.html#typecast) by default.
-
-See: [`setParam()`](#setParam)
-
-### Arguments:
-
- 1. `url` (String) : Url.
- 2. `param` (String) : Parameter name.
- 3. `[shouldTypecast]` (Boolean) : If it should typecast value.
-
-### Example:
-
-```js
-var url = 'example.com/?foo=bar&lorem=123&ipsum=false';
-getParam(url, 'dolor'); // "amet"
-getParam(url, 'lorem'); // 123
-getParam(url, 'lorem', false); // "123"
-```
-
-
-## parse(url[, shouldTypecast]):Object
-
-Parses URL, extracts query string and decodes it.
-
-It will typecast all properties of the query object unless second argument is
-`false`.
-
-Alias to: `decode(getQuery(url))`.
-
-```js
-var url = 'example.com/?lorem=ipsum&a=123';
-parse(url); // {lorem: "ipsum", a: 123}
-parse(url, false); // {lorem: "ipsum", a: "123"}
-```
-
-
-## getQuery(url):String
-
-Gets full query as string with all special chars decoded.
-
-```js
-getQuery('example.com/?lorem=ipsum'); // "?lorem=ipsum"
-```
-
-
-## setParam(url, paramName, value):String
-
-Add new query string parameter to URL or update existing value.
-
-See: [`getParam()`](#getParam)
-
-```js
-setParam('?foo=bar&lorem=0', 'lorem', 'ipsum'); // '?foo=bar&lorem=ipsum'
-setParam('?lorem=1', 'foo', 123); // '?lorem=1&foo=123'
-```
-
-
--------------------------------------------------------------------------------
-
-For more usage examples check specs inside `/tests` folder. Unit tests are the
-best documentation you can get...
diff --git a/node_modules/mout/doc/random.md b/node_modules/mout/doc/random.md
deleted file mode 100644
index 0d24dc3..0000000
--- a/node_modules/mout/doc/random.md
+++ /dev/null
@@ -1,256 +0,0 @@
-# random #
-
-Pseudo-random generators.
-
-mout uses `Math.random` by default on all the pseudo-random generators, if
-you need a seeded random or a better algorithm see the [`random()`](#random)
-documentation for instructions.
-
-
-
-## choice(...items):*
-
-Returns a random element from the supplied arguments or from an array if single
-argument is an array.
-
-### Example:
-
-```js
-choice(1, 2, 3, 4, 5); // 3
-
-var arr = ['lorem', 'ipsum', 'dolor'];
-choice(arr); // 'dolor'
-```
-
-
-
-## guid():String
-
-Generates a pseudo-random [Globally Unique Identifier](http://en.wikipedia.org/wiki/Globally_unique_identifier) (v4).
-
-Since the total number of GUIDs is 2122 the chance of generating the
-same value twice is negligible.
-
-**Important:** this method uses `Math.random` by default so the UUID isn't
-*safe* (sequence of outputs can be predicted in some cases), check the
-[`random()`](#random) documentation for more info on how to replace the default
-PRNG if you need extra safety or need *seeded* results.
-
-See: [`randHex()`](#randHex), [`random()`](#random)
-
-### Example:
-
-```js
-guid(); // 830e9f50-ac7f-4369-a14f-ed0e62b2fa0b
-guid(); // 5de3d09b-e79c-4727-932b-48c49228d508
-```
-
-
-
-## rand([min], [max]):Number
-
-Gets a random number inside range or snap to min/max values.
-
-### Arguments:
-
- 1. `[min]` (Number) : Minimum value. Defaults to `number/MIN_INT`.
- 2. `[max]` (Number) : Maximum value. Defaults to `number/MAX_INT`.
-
-
-### Example:
-
-```js
-rand(); // 448740433.55274725
-rand(); // -31797596.097682
-rand(0, 10); // 7.369723
-rand(0, 10); // 5.987042
-```
-
-See: [`random()`](#random)
-
-
-
-## randBit():Number
-
-Returns a random "bit" (0 or 1). Useful for addition/subtraction.
-
-It's slightly faster than `choice(0, 1)` since implementation is simpler (not
-that it will make a huge difference in most cases).
-
-See: [`choice()`](#choice)
-
-### Example:
-
-```js
-randBit(); // 1
-randBit(); // 0
-
-//same effect as
-choice(0, 1);
-```
-
-
-## randBool():Boolean
-
-Returns a random Boolean (`true` or `false`).
-
-Since this is very common it makes sense to abstract it into a discrete method.
-
-### Example:
-
-```js
-randBool(); // true
-randBool(); // false
-```
-
-
-
-## randHex([size]):String
-
-Returns a random hexadecimal string.
-
-The default `size` is `6`.
-
-### Example:
-
-```js
-randHex(); // "dd8575"
-randHex(); // "e6baeb"
-randHex(2); // "a2"
-randHex(30); // "effd7e2ad9a4a3067e30525fab983a"
-```
-
-
-
-## randInt([min], [max]):Number
-
-Gets a random integer inside range or snap to min/max values.
-
-### Arguments:
-
- 1. `[min]` (Number) : Minimum value. Defaults to `number/MIN_INT`.
- 2. `[max]` (Number) : Maximum value. Defaults to `number/MAX_INT`.
-
-
-### Example:
-
-```js
-randInt(); // 448740433
-randInt(); // -31797596
-randInt(0, 10); // 7
-randInt(0, 10); // 5
-```
-
-
-
-## randSign():Number
-
-Returns a random "sign" (-1 or 1). Useful for multiplications.
-
-It's slightly faster than `choice(-1, 1)` since implementation is simpler (not
-that it will make a huge difference in most cases).
-
-See: [`choice()`](#choice)
-
-### Example:
-
-```js
-randSign(); // -1
-randSign(); // 1
-
-//same effect as
-choice(-1, 1);
-```
-
-
-
-## random():Number
-
-Returns a random number between `0` and `1`. Same as `Math.random()`.
-
-```js
-random(); // 0.35435103671625257
-random(); // 0.8768321881070733
-```
-
-**Important:** No methods inside mout should call `Math.random()`
-directly, they all use `random/random` as a proxy, that way we can
-inject/replace the pseudo-random number generator if needed (ie. in case we
-need a seeded random or a better algorithm than the native one).
-
-### Replacing the PRNG
-
-In some cases we might need better/different algorithms than the one provided
-by `Math.random` (ie. safer, seeded).
-
-Because of licensing issues, file size limitations and different needs we
-decided to **not** implement a custom PRNG and instead provide a easy way to
-override the default behavior. - [issue #99](https://github.com/millermedeiros/amd-utils/issues/99)
-
-If you are using mout with a loader that supports the [AMD map
-config](https://github.com/amdjs/amdjs-api/wiki/Common-Config), such as
-[RequireJS](http://requirejs.org/), you can use it to replace the PRNG
-(recommended approach):
-
-```js
-requirejs.config({
- map : {
- // all modules will load "my_custom_prng" instead of
- // "mout/random/random"
- '*' : {
- 'mout/random/random' : 'my_custom_prng'
- }
- }
-});
-```
-
-You also have the option to override `random.get` in case you are using
-mout on node.js or with a loader which doesn't support the map config:
-
-```js
-// replace the PRNG
-var n = 0;
-random.get = function(){
- return ++n % 2? 0 : 1; // not so random :P
-};
-random(); // 0
-random(); // 1
-random(); // 0
-random(); // 1
-```
-
-See this [detailed explanation about PRNG in
-JavaScript](https://github.com/nquinlan/better-random-numbers-for-javascript-mirror)
-to understand the issues with the native `Math.random` and also for a list of
-algorithms that could be used instead.
-
-
-
-## randString([length, dictionary]):String
-
-Returns a random string.
-
-By default returns string containing alphanumeric characters (lowercase and uppercase) with a length of 8.
-
-### Arguments:
-
- 1. `[length]` (number) : Length of the string to return. Defaults to 8.
- 2. `[dictionary]` (string) : A string containing all characters used as a dictionary for the random string construction. Defaults to alphanumeric characters (lowercase and uppercase).
-
-### Example:
-
-```js
-randString(); // returns a string with length 8.
-randString(12); // returns a string of length 12.
-randString(-1); // returns a string of length 8.
-randString(null, 'pew!'); // returns a random string of length 8 composed of 'p', 'e', 'w' and '!'.
-randString(10, '0'); // always returns '0's of length 10.
-randString(rand(8, 10)); // returns a random string with length between 8 and 10.
-```
-
-
-
--------------------------------------------------------------------------------
-
-For more usage examples check specs inside `/tests` folder. Unit tests are the
-best documentation you can get...
diff --git a/node_modules/mout/doc/string.md b/node_modules/mout/doc/string.md
deleted file mode 100644
index 004f1ab..0000000
--- a/node_modules/mout/doc/string.md
+++ /dev/null
@@ -1,642 +0,0 @@
-# string #
-
-String utilities.
-
-
-## camelCase(str):String
-
-Convert string to "camelCase" text.
-
-See: [`pascalCase()`](#pascalCase), [`unCamelCase()`](#unCamelCase)
-
-### Example
-
-```js
-camelCase('lorem-ipsum-dolor'); // "loremIpsumDolor"
-camelCase('lorem ipsum dolor'); // "loremIpsumDolor"
-```
-
-
-
-## contains(str, substring, [fromIndex]):Boolean
-
-Checks if string contains the given substring.
-
-See: [`startsWith()`](#startsWith), [`endsWith()`](#endsWith)
-
-### Example
-
-```js
-contains('lorem', 'or'); // true
-contains('lorem', 'bar'); // false
-```
-
-
-
-## crop(str, maxChars, [append]):String
-
-Truncate string at full words. Alias to `truncate(str, maxChars, append, true);`.
-
-See: [`truncate()`](#truncate)
-
-### Example
-
-```js
-crop('lorem ipsum dolor', 10); // "lorem..."
-crop('lorem ipsum dolor', 10, '+'); // "lorem+"
-```
-
-
-
-## endsWith(str, suffix):Boolean
-
-Checks if string ends with specified suffix.
-
-See: [`startsWith()`](#startsWith), [`contains()`](#contains)
-
-### Example
-
-```js
-endsWith('lorem ipsum', 'lorem'); // false
-endsWith('lorem ipsum', 'ipsum'); // true
-```
-
-
-
-## escapeHtml(str):String
-
-Escapes the following special characters for use in HTML:
-
-* `&` becomes `&`
-* `<` becomes `<`
-* `>` becomes `>`
-* `'` becomes `'`
-* `"` becomes `"`
-
-No other characters are escaped. To HTML-escape other characters as well, use a third-party library like [_he_](http://mths.be/he).
-
-See: [`unescapeHtml()`](#unescapeHtml)
-
-### Example
-
-```js
-escapeHtml('lorem & "ipsum"'); // "lorem & "ipsum""
-```
-
-
-
-## escapeRegExp(str):String
-
-Escape special chars to be used as literals in RegExp constructors.
-
-### Example
-
-```js
-str = escapeRegExp('[lorem.ipsum]'); // "\\[lorem\\.ipsum\\]"
-reg = new RegExp(str); // /\[lorem\.ipsum\]/
-```
-
-
-
-## escapeUnicode(str[, shouldEscapePrintable]):String
-
-Unicode escape chars.
-
-It will only escape non-printable ASCII chars unless `shouldEscapePrintable` is
-set to `true`.
-
-See: [`unescapeUnicode()`](#unescapeUnicode)
-
-```js
-escapeUnicode('føo bår');
-// > "f\u00f8o b\u00e5r"
-escapeUnicode('føo bår', true);
-// > "\u0066\u00f8\u006f\u0020\u0062\u00e5\u0072"
-```
-
-
-
-## hyphenate(str):String
-
-Replaces spaces with hyphens, split camelCase text, remove non-word chars,
-remove accents and convert to lower case.
-
-See: [`slugify()`](#slugify), [`underscore()`](#underscore),
-[`unhyphenate`](#unhyphenate)
-
-```js
-hyphenate(' %# lorem ipsum ? $ dolor'); // "lorem-ipsum-dolor"
-hyphenate('spéçïãl çhârs'); // "special-chars"
-hyphenate('loremIpsum'); // "lorem-ipsum"
-```
-
-
-
-## insert(str, index, partial):String
-
-Inserts a `partial` before the given `index` in the provided `str`.
-If the index is larger than the length of the string the partial is appended at the end.
-A negative index is treated as `length - index` where `length` is the length or the string.
-
-```js
-insert('this is a sentence', 10, 'sample '); // "this is a sample sentence"
-insert('foo', 100, 'bar'); // "foobar"
-insert('image.png', -4, '-large'); // "image-large.png"
-```
-
-## interpolate(str, replacements[, syntax]):String
-
-String interpolation. Format/replace tokens with object properties.
-
-```js
-var tmpl = 'Hello {{name}}!';
-interpolate(tmpl, {name: 'World'}); // "Hello World!"
-interpolate(tmpl, {name: 'Lorem Ipsum'}); // "Hello Lorem Ipsum!"
-
-tmpl = 'Hello {{name.first}}!';
-interpolate(tmpl, {name: {first: 'Lorem'}}); // "Hello Lorem!"
-```
-
-It uses a mustache-like syntax by default but you can set your own format if
-needed. You can also use Arrays for the replacements (since Arrays are
-objects as well):
-
-```js
-// matches everything inside "${}"
-var syntax = /\$\{([^}]+)\}/g;
-var tmpl = "Hello ${0}!";
-interpolate(tmpl, ['Foo Bar'], syntax); // "Hello Foo Bar!"
-```
-
-
-
-## lowerCase(str):String
-
-"Safer" `String.toLowerCase()`. (Used internally)
-
-### Example
-
-```js
-(null).toLowerCase(); // Error!
-(undefined).toLowerCase(); // Error!
-lowerCase(null); // ""
-lowerCase(undefined); // ""
-```
-
-
-
-## lpad(str, minLength[, char]):String
-
-Pad string from left with `char` if its' length is smaller than `minLen`.
-
-See: [`rpad()`](#rpad)
-
-### Example
-
-```js
-lpad('a', 5); // " a"
-lpad('a', 5, '-'); // "----a"
-lpad('abc', 3, '-'); // "abc"
-lpad('abc', 4, '-'); // "-abc"
-```
-
-
-
-## ltrim(str, [chars]):String
-
-Remove chars or white-spaces from beginning of string.
-
-`chars` is an array of chars to remove from the beginning of the string. If
-`chars` is not specified, Unicode whitespace chars will be used instead.
-
-See: [`rtrim()`](#rtrim), [`trim()`](#trim)
-
-### Example
-
-```js
-ltrim(' lorem ipsum '); // "lorem ipsum "
-ltrim('--lorem ipsum--', ['-']); // "lorem ipsum--"
-```
-
-
-
-## makePath(...args):String
-
-Group arguments as path segments, if any of the args is `null` or `undefined`
-it will be ignored from resulting path. It will also remove duplicate "/".
-
-See: [`array/join()`](array.html#join)
-
-### Example
-
-```js
-makePath('lorem', 'ipsum', null, 'dolor'); // "lorem/ipsum/dolor"
-makePath('foo///bar/'); // "foo/bar/"
-```
-
-
-
-## normalizeLineBreaks(str, [lineBreak]):String
-
-Normalize line breaks to a single format. Defaults to Unix `\n`.
-
-It handles DOS (`\r\n`), Mac (`\r`) and Unix (`\n`) formats.
-
-### Example
-
-```js
-// "foo\nbar\nlorem\nipsum"
-normalizeLineBreaks('foo\nbar\r\nlorem\ripsum');
-
-// "foo\rbar\rlorem\ripsum"
-normalizeLineBreaks('foo\nbar\r\nlorem\ripsum', '\r');
-
-// "foo bar lorem ipsum"
-normalizeLineBreaks('foo\nbar\r\nlorem\ripsum', ' ');
-```
-
-
-
-## pascalCase(str):String
-
-Convert string to "PascalCase" text.
-
-See: [`camelCase()`](#camelCase)
-
-### Example
-
-```js
-pascalCase('lorem-ipsum-dolor'); // "LoremIpsumDolor"
-pascalCase('lorem ipsum dolor'); // "LoremIpsumDolor"
-```
-
-
-
-## properCase(str):String
-
-UPPERCASE first char of each word, lowercase other chars.
-
-### Example
-
-```js
-properCase('loRem iPSum'); // "Lorem Ipsum"
-```
-
-
-
-## removeNonASCII(str):String
-
-Remove [non-printable ASCII
-chars](http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters).
-
-### Example
-
-```js
-removeNonASCII('äÄçÇéÉêlorem-ipsumöÖÐþúÚ'); // "lorem-ipsum"
-```
-
-
-
-## removeNonWord(str):String
-
-Remove non-word chars.
-
-### Example
-
-```js
-var str = 'lorem ~!@#$%^&*()_+`-={}[]|\\:";\'/?><., ipsum';
-removeNonWord(str); // "lorem - ipsum"
-```
-
-
-
-## repeat(str, n):String
-
-Repeat string n-times.
-
-### Example
-
-```js
-repeat('a', 3); // "aaa"
-repeat('bc', 2); // "bcbc"
-repeat('a', 0); // ""
-```
-
-
-
-## replace(str, search, replacements):String
-
-Replace string(s) with the replacement(s) in the source.
-
-`search` and `replacements` can be an array, or a single item. For every item
-in `search`, it will call `str.replace` with the search item and the matching
-replacement in `replacements`. If `replacements` only contains one replacement,
-it will be used for all the searches, otherwise it will use the replacement at
-the same index as the search.
-
-### Example
-
-```js
-replace('foo bar', 'foo', 'test'); // "test bar"
-replace('test 1 2', ['1', '2'], 'n'); // "test n n"
-replace('test 1 2', ['1', '2'], ['one', 'two']); // "test one two"
-replace('123abc', [/\d/g, /[a-z]/g], ['0', '.']); // "000..."
-```
-
-
-
-## replaceAccents(str):String
-
-Replaces all accented chars with regular ones.
-
-**Important:** Only covers **Basic Latin** and **Latin-1** unicode chars.
-
-### Example
-
-```js
-replaceAccents('spéçïãl çhârs'); // "special chars"
-```
-
-
-
-## rpad(str, minLength[, char]):String
-
-Pad string from right with `char` if its' length is smaller than `minLen`.
-
-See: [`lpad()`](#lpad)
-
-### Example
-
-```js
-rpad('a', 5); // "a "
-rpad('a', 5, '-'); // "a----"
-rpad('abc', 3, '-'); // "abc"
-rpad('abc', 4, '-'); // "abc-"
-```
-
-
-
-## rtrim(str, [chars]):String
-
-Remove chars or white-spaces from end of string.
-
-`chars` is an array of chars to remove from the end of the string. If
-`chars` is not specified, Unicode whitespace chars will be used instead.
-
-See: [`trim()`](#trim), [`ltrim()`](#ltrim)
-
-### Example
-
-```js
-rtrim(' lorem ipsum '); // " lorem ipsum"
-rtrim('--lorem ipsum--', ['-']); // "--lorem ipsum"
-```
-
-
-
-## sentenceCase(str):String
-
-UPPERCASE first char of each sentence and lowercase other chars.
-
-### Example
-
-```js
-var str = 'Lorem IpSum DoLOr. maeCeNnas Ullamcor.';
-sentenceCase(str); // "Lorem ipsum dolor. Maecennas ullamcor."
-```
-
-
-
-## stripHtmlTags(str):String
-
-Remove HTML/XML tags from string.
-
-### Example
-
-```js
-var str = '
loremipsum
';
-stripHtmlTags(str); // "lorem ipsum"
-```
-
-
-
-## startsWith(str, prefix):Boolean
-
-Checks if string starts with specified prefix.
-
-See: [`endsWith()`](#endsWith), [`contains()`](#contains)
-
-### Example
-
-```js
-startsWith('lorem ipsum', 'lorem'); // true
-startsWith('lorem ipsum', 'ipsum'); // false
-```
-
-
-
-## slugify(str[, delimiter]):String
-
-Convert to lower case, remove accents, remove non-word chars and replace spaces
-with the delimiter. The default delimiter is a hyphen.
-
-Note that this does not split camelCase text.
-
-See: [`hyphenate()`](#hyphenate) and [`underscore()`](#underscore)
-
-### Example
-
-```js
-var str = 'loremIpsum dolor spéçïãl chârs';
-slugify(str); // "loremipsum-dolor-special-chars"
-slugify(str, '_'); // "loremipsum_dolor_special_chars"
-```
-
-## stripMargin(str[, marginChar]):String
-
-Strip leading characters followed by 'marginChar' from every line in a String.
-The default margin character is a pipe.
-
-### Example
-
-```js
-var str = 'this\n';
-str += ' |is a formatted\n';
-str += ' |string';
-
-
-stripMargin(str); //"this\nis a formatted\nstring"
-stripMargin("this\n___#works\n___#too", '#'); //"this\nworks\ntoo"
-
-```
-
-
-## trim(str, [chars]):String
-
-Remove chars or white-spaces from beginning and end of string.
-
-`chars` is an array of chars to remove from the beginning and end of the
-string. If `chars` is not specified, Unicode whitespace chars will be used
-instead.
-
-See: [`rtrim()`](#rtrim), [`ltrim()`](#ltrim)
-
-### Example
-
-```js
-trim(' lorem ipsum '); // "lorem ipsum"
-trim('-+-lorem ipsum-+-', ['-', '+']); // "lorem ipsum"
-```
-
-
-
-## truncate(str, maxChars, [append], [onlyFullWords]):String
-
-Limit number of chars. Returned string `length` will be `<= maxChars`.
-
-See: [`crop()`](#crop)
-
-### Arguments
-
- 1. `str` (String) : String
- 2. `maxChars` (Number) : Maximum number of characters including `append.length`.
- 3. `[append]` (String) : Value that should be added to the end of string.
- Defaults to "...".
- 4. `[onlyFullWords]` (Boolean) : If it shouldn't break words. Default is
- `false`. (favor [`crop()`](#crop) since code will be clearer).
-
-### Example
-
-```js
-truncate('lorem ipsum dolor', 11); // "lorem ip..."
-truncate('lorem ipsum dolor', 11, '+'); // "lorem ipsu+"
-truncate('lorem ipsum dolor', 11, null, true); // "lorem..."
-```
-
-
-
-## typecast(str):*
-
-Parses string and convert it into a native value.
-
-### Example
-
-```js
-typecast('lorem ipsum'); // "lorem ipsum"
-typecast('123'); // 123
-typecast('123.45'); // 123.45
-typecast('false'); // false
-typecast('true'); // true
-typecast('null'); // null
-typecast('undefined'); // undefined
-```
-
-
-
-## unCamelCase(str, [delimiter]):String
-
-Add the delimiter between camelCase text and convert first char of each word to
-lower case.
-
-The delimiter defaults to a space character.
-
-See: [`camelCase()`][#camelCase]
-
-### Example
-
-```js
-unCamelCase('loremIpsumDolor'); // "lorem ipsum dolor"
-unCamelCase('loremIpsumDolor', '-'); // "lorem-ipsum-color"
-```
-
-
-## underscore(str):String
-
-Replaces spaces with underscores, split camelCase text, remove non-word chars,
-remove accents and convert to lower case.
-
-See: [`slugify()`](#slugify), [`hyphenate()`](#hyphenate)
-
-```js
-underscore(' %# lorem ipsum ? $ dolor'); // "lorem_ipsum_dolor"
-underscore('spéçïãl çhârs'); // "special_chars"
-underscore('loremIpsum'); // "lorem_ipsum"
-```
-
-
-
-## unescapeHtml(str):String
-
-Unescapes the following HTML character references back into the raw symbol they map to:
-
-* `&` becomes `&`
-* `<` becomes `<`
-* `>` becomes `>`
-* `'` becomes `'`
-* `"` becomes `"`
-
-No other HTML character references are unescaped. To HTML-unescape other entities as well, use a third-party library like [_he_](http://mths.be/he).
-
-
-See: [`escapeHtml()`](#escapeHtml)
-
-### Example
-
-```js
-unescapeHtml('lorem & "ipsum"'); // 'lorem & "ipsum"'
-```
-
-
-
-## unescapeUnicode(str):String
-
-Unescapes unicode char sequences.
-
-See: [`escapeUnicode()`](#escapeUnicode)
-
-```js
-unescapeUnicode('\\u0066\\u00f8\\u006f\\u0020\\u0062\\u00e5\\u0072');
-// > 'føo bår'
-```
-
-
-
-## unhyphenate(str):String
-
-Replaces hyphens with spaces. (only hyphens between word chars)
-
-See : [`hyphenate()`](#hyphenate)
-
-### Example
-
-```js
-unhyphenate('lorem-ipsum-dolor'); // "lorem ipsum dolor"
-```
-
-
-## upperCase(str):String
-
-"Safer" `String.toUpperCase()`. (Used internally)
-
-### Example
-
-```js
-(null).toUpperCase(); // Error!
-(undefined).toUpperCase(); // Error!
-upperCase(null); // ""
-upperCase(undefined); // ""
-```
-
-
-
-## WHITE_SPACES:Array
-
-Constant array of all [Unicode white-space
-characters](http://en.wikipedia.org/wiki/Whitespace_character).
-
-
-
--------------------------------------------------------------------------------
-
-For more usage examples check specs inside `/tests` folder. Unit tests are the
-best documentation you can get...
diff --git a/node_modules/mout/doc/time.md b/node_modules/mout/doc/time.md
deleted file mode 100644
index 628c2a9..0000000
--- a/node_modules/mout/doc/time.md
+++ /dev/null
@@ -1,64 +0,0 @@
-# time #
-
-Utilities for time manipulation.
-
-
-## convert(value, sourceUnit, [destinationUnit]):Number
-
-Converts time between units.
-
-Available units: `millisecond`, `second`, `minute`, `hour`, `day`, `week`.
-Abbreviations: `ms`, `s`, `m`, `h`, `d`, `w`.
-
-We do **not** support year and month as a time unit since their values are not
-fixed.
-
-The default `destinationUnit` is `ms`.
-
-```js
-convert(1, 'minute'); // 60000
-convert(2.5, 's', 'ms'); // 2500
-convert(2, 'm', 's'); // 120
-convert(500, 'ms', 's'); // 0.5
-```
-
-
-
-## now():Number
-
-Returns the number of milliseconds elapsed since 1 January 1970 00:00:00 UTC.
-Uses `Date.now()` if available.
-
-### Example
-
-```js
-now(); // 1335449614650
-```
-
-
-
-## parseMs(ms):Object
-
-Parse timestamp (milliseconds) into an object `{milliseconds:number,
-seconds:number, minutes:number, hours:number, days:number}`.
-
-### Example
-
-```js
-// {days:27, hours:4, minutes:26, seconds:5, milliseconds:454}
-parseMs(2348765454);
-```
-
-
-
-## toTimeString(ms):String
-
-Convert timestamp (milliseconds) into a time string in the format "[H:]MM:SS".
-
-### Example
-
-```js
-toTimeString(12513); // "00:12"
-toTimeString(951233); // "15:51"
-toTimeString(8765235); // "2:26:05"
-```
diff --git a/node_modules/mout/function.js b/node_modules/mout/function.js
deleted file mode 100644
index 1065230..0000000
--- a/node_modules/mout/function.js
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'after' : require('./function/after'),
- 'awaitDelay' : require('./function/awaitDelay'),
- 'bind' : require('./function/bind'),
- 'compose' : require('./function/compose'),
- 'constant' : require('./function/constant'),
- 'debounce' : require('./function/debounce'),
- 'func' : require('./function/func'),
- 'identity' : require('./function/identity'),
- 'makeIterator_' : require('./function/makeIterator_'),
- 'memoize' : require('./function/memoize'),
- 'partial' : require('./function/partial'),
- 'prop' : require('./function/prop'),
- 'series' : require('./function/series'),
- 'throttle' : require('./function/throttle'),
- 'timeout' : require('./function/timeout'),
- 'times' : require('./function/times'),
- 'wrap' : require('./function/wrap')
-};
-
-
diff --git a/node_modules/mout/function/after.js b/node_modules/mout/function/after.js
deleted file mode 100644
index 828bdd6..0000000
--- a/node_modules/mout/function/after.js
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- /**
- * Calls closure only after callback is called x times
- */
- function after(closure, times){
- return function () {
- if (--times <= 0) closure();
- };
- }
-
- module.exports = after;
-
-
diff --git a/node_modules/mout/function/awaitDelay.js b/node_modules/mout/function/awaitDelay.js
deleted file mode 100644
index 8c9b1a3..0000000
--- a/node_modules/mout/function/awaitDelay.js
+++ /dev/null
@@ -1,22 +0,0 @@
-var now = require('../time/now');
-var timeout = require('./timeout');
-var append = require('../array/append');
-
- /**
- * Ensure a minimum delay for callbacks
- */
- function awaitDelay( callback, delay ){
- var baseTime = now() + delay;
- return function() {
- // ensure all browsers will execute it asynchronously (avoid hard
- // to catch errors) not using "0" because of old browsers and also
- // since new browsers increase the value to be at least "4"
- // http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout
- var ms = Math.max(baseTime - now(), 4);
- return timeout.apply(this, append([callback, ms, this], arguments));
- };
- }
-
- module.exports = awaitDelay;
-
-
diff --git a/node_modules/mout/function/bind.js b/node_modules/mout/function/bind.js
deleted file mode 100644
index c6c4719..0000000
--- a/node_modules/mout/function/bind.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var slice = require('../array/slice');
-
- /**
- * Return a function that will execute in the given context, optionally adding any additional supplied parameters to the beginning of the arguments collection.
- * @param {Function} fn Function.
- * @param {object} context Execution context.
- * @param {rest} args Arguments (0...n arguments).
- * @return {Function} Wrapped Function.
- */
- function bind(fn, context, args){
- var argsArr = slice(arguments, 2); //curried args
- return function(){
- return fn.apply(context, argsArr.concat(slice(arguments)));
- };
- }
-
- module.exports = bind;
-
-
diff --git a/node_modules/mout/function/compose.js b/node_modules/mout/function/compose.js
deleted file mode 100644
index 8cd5c5f..0000000
--- a/node_modules/mout/function/compose.js
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- /**
- * Returns a function that composes multiple functions, passing results to
- * each other.
- */
- function compose() {
- var fns = arguments;
- return function(arg){
- // only cares about the first argument since the chain can only
- // deal with a single return value anyway. It should start from
- // the last fn.
- var n = fns.length;
- while (n--) {
- arg = fns[n].call(this, arg);
- }
- return arg;
- };
- }
-
- module.exports = compose;
-
-
diff --git a/node_modules/mout/function/constant.js b/node_modules/mout/function/constant.js
deleted file mode 100644
index ab932d9..0000000
--- a/node_modules/mout/function/constant.js
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- /**
- * Returns a new function that will return the value
- */
- function constant(value){
- return function() {
- return value;
- };
- }
-
- module.exports = constant;
-
-
diff --git a/node_modules/mout/function/debounce.js b/node_modules/mout/function/debounce.js
deleted file mode 100644
index 7f6f302..0000000
--- a/node_modules/mout/function/debounce.js
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
- /**
- * Debounce callback execution
- */
- function debounce(fn, threshold, isAsap){
- var timeout, result;
- function debounced(){
- var args = arguments, context = this;
- function delayed(){
- if (! isAsap) {
- result = fn.apply(context, args);
- }
- timeout = null;
- }
- if (timeout) {
- clearTimeout(timeout);
- } else if (isAsap) {
- result = fn.apply(context, args);
- }
- timeout = setTimeout(delayed, threshold);
- return result;
- }
- debounced.cancel = function(){
- clearTimeout(timeout);
- };
- return debounced;
- }
-
- module.exports = debounce;
-
-
diff --git a/node_modules/mout/function/func.js b/node_modules/mout/function/func.js
deleted file mode 100644
index b81bf0a..0000000
--- a/node_modules/mout/function/func.js
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- /**
- * Returns a function that call a method on the passed object
- */
- function func(name){
- return function(obj){
- return obj[name]();
- };
- }
-
- module.exports = func;
-
-
diff --git a/node_modules/mout/function/identity.js b/node_modules/mout/function/identity.js
deleted file mode 100644
index d07b01a..0000000
--- a/node_modules/mout/function/identity.js
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- /**
- * Returns the first argument provided to it.
- */
- function identity(val){
- return val;
- }
-
- module.exports = identity;
-
-
diff --git a/node_modules/mout/function/makeIterator_.js b/node_modules/mout/function/makeIterator_.js
deleted file mode 100644
index 20cc0e7..0000000
--- a/node_modules/mout/function/makeIterator_.js
+++ /dev/null
@@ -1,34 +0,0 @@
-var identity = require('./identity');
-var prop = require('./prop');
-var deepMatches = require('../object/deepMatches');
-
- /**
- * Converts argument into a valid iterator.
- * Used internally on most array/object/collection methods that receives a
- * callback/iterator providing a shortcut syntax.
- */
- function makeIterator(src, thisObj){
- if (src == null) {
- return identity;
- }
- switch(typeof src) {
- case 'function':
- // function is the first to improve perf (most common case)
- // also avoid using `Function#call` if not needed, which boosts
- // perf a lot in some cases
- return (typeof thisObj !== 'undefined')? function(val, i, arr){
- return src.call(thisObj, val, i, arr);
- } : src;
- case 'object':
- return function(val){
- return deepMatches(val, src);
- };
- case 'string':
- case 'number':
- return prop(src);
- }
- }
-
- module.exports = makeIterator;
-
-
diff --git a/node_modules/mout/function/memoize.js b/node_modules/mout/function/memoize.js
deleted file mode 100644
index 0ea4433..0000000
--- a/node_modules/mout/function/memoize.js
+++ /dev/null
@@ -1,40 +0,0 @@
-var isFunction = require('../lang/isFunction');
-var hasOwn = require('../object/hasOwn');
-
- /**
- * Creates a function that memoizes the result of `fn`. If `resolver` is
- * provided it determines the cache key for storing the result based on the
- * arguments provided to the memoized function. By default, the first argument
- * provided to the memoized function is coerced to a string and used as the
- * cache key. The `fn` is invoked with the `this` binding of the memoized
- * function. Modified from lodash.
- *
- * @param {Function} fn Function to have its output memoized.
- * @param {Function} context Function to resolve the cache key.
- * @return {Function} Returns the new memoized function.
- */
- function memoize(fn, resolver) {
- if (!isFunction(fn) || (resolver && !isFunction(resolver))) {
- throw new TypeError('Expected a function');
- }
-
- var memoized = function() {
- var cache = memoized.cache,
- key = resolver ? resolver.apply(this, arguments) : arguments[0];
-
- if (hasOwn(cache, key)) {
- return cache[key];
- }
- var result = fn.apply(this, arguments);
- cache[key] = result;
- return result;
- };
-
- memoized.cache = {};
-
- return memoized;
- }
-
- module.exports = memoize;
-
-
diff --git a/node_modules/mout/function/partial.js b/node_modules/mout/function/partial.js
deleted file mode 100644
index fbebb2d..0000000
--- a/node_modules/mout/function/partial.js
+++ /dev/null
@@ -1,31 +0,0 @@
-var indexOf = require('../array/indexOf');
-var slice = require('../array/slice');
-var take = require('../array/take');
-
- var _ = {};
-
- /**
- * Creates a partially applied function.
- */
- function partial(f) {
- var as = slice(arguments, 1);
- var has_ = indexOf(as, _) !== -1;
-
- return function() {
- var rest = slice(arguments);
-
- // Don't waste time checking for placeholders if there aren't any.
- var args = has_ ? take(as.length, function(i) {
- var a = as[i];
- return a === _ ? rest.shift() : a;
- }) : as;
-
- return f.apply(this, rest.length ? args.concat(rest) : args);
- };
- }
-
- partial._ = _;
-
- module.exports = partial;
-
-
diff --git a/node_modules/mout/function/prop.js b/node_modules/mout/function/prop.js
deleted file mode 100644
index 734acb7..0000000
--- a/node_modules/mout/function/prop.js
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- /**
- * Returns a function that gets a property of the passed object
- */
- function prop(name){
- return function(obj){
- return obj[name];
- };
- }
-
- module.exports = prop;
-
-
diff --git a/node_modules/mout/function/series.js b/node_modules/mout/function/series.js
deleted file mode 100644
index 25159c2..0000000
--- a/node_modules/mout/function/series.js
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
- /**
- * Returns a function that will execute a list of functions in sequence
- * passing the same arguments to each one. (useful for batch processing
- * items during a forEach loop)
- */
- function series(){
- var fns = arguments;
- return function(){
- var i = 0,
- n = fns.length;
- while (i < n) {
- fns[i].apply(this, arguments);
- i += 1;
- }
- };
- }
-
- module.exports = series;
-
-
diff --git a/node_modules/mout/function/throttle.js b/node_modules/mout/function/throttle.js
deleted file mode 100644
index 0a5e161..0000000
--- a/node_modules/mout/function/throttle.js
+++ /dev/null
@@ -1,33 +0,0 @@
-var now = require('../time/now');
-
- /**
- */
- function throttle(fn, delay){
- var context, timeout, result, args,
- diff, prevCall = 0;
- function delayed(){
- prevCall = now();
- timeout = null;
- result = fn.apply(context, args);
- }
- function throttled(){
- context = this;
- args = arguments;
- diff = delay - (now() - prevCall);
- if (diff <= 0) {
- clearTimeout(timeout);
- delayed();
- } else if (! timeout) {
- timeout = setTimeout(delayed, diff);
- }
- return result;
- }
- throttled.cancel = function(){
- clearTimeout(timeout);
- };
- return throttled;
- }
-
- module.exports = throttle;
-
-
diff --git a/node_modules/mout/function/timeout.js b/node_modules/mout/function/timeout.js
deleted file mode 100644
index 509dd68..0000000
--- a/node_modules/mout/function/timeout.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var slice = require('../array/slice');
-
- /**
- * Delays the call of a function within a given context.
- */
- function timeout(fn, millis, context){
-
- var args = slice(arguments, 3);
-
- return setTimeout(function() {
- fn.apply(context, args);
- }, millis);
- }
-
- module.exports = timeout;
-
-
diff --git a/node_modules/mout/function/times.js b/node_modules/mout/function/times.js
deleted file mode 100644
index 04a11c2..0000000
--- a/node_modules/mout/function/times.js
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- /**
- * Iterates over a callback a set amount of times
- */
- function times(n, callback, thisObj){
- var i = -1;
- while (++i < n) {
- if ( callback.call(thisObj, i) === false ) {
- break;
- }
- }
- }
-
- module.exports = times;
-
-
diff --git a/node_modules/mout/function/wrap.js b/node_modules/mout/function/wrap.js
deleted file mode 100644
index 82d77ff..0000000
--- a/node_modules/mout/function/wrap.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var partial = require('./partial');
-
- /**
- * Returns the first function passed as an argument to the second,
- * allowing you to adjust arguments, run code before and after, and
- * conditionally execute the original function.
- */
- function wrap(fn, wrapper){
- return partial(wrapper, fn);
- }
-
- module.exports = wrap;
-
-
diff --git a/node_modules/mout/index.js b/node_modules/mout/index.js
deleted file mode 100644
index 7c47774..0000000
--- a/node_modules/mout/index.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/**@license
- * mout v1.2.4 | http://moutjs.com | MIT license
- */
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'VERSION' : '1.2.4',
- 'array' : require('./array'),
- 'collection' : require('./collection'),
- 'date' : require('./date'),
- 'function' : require('./function'),
- 'lang' : require('./lang'),
- 'math' : require('./math'),
- 'number' : require('./number'),
- 'object' : require('./object'),
- 'queryString' : require('./queryString'),
- 'random' : require('./random'),
- 'string' : require('./string'),
- 'time' : require('./time'),
- 'fn' : require('./function')
-};
-
-
diff --git a/node_modules/mout/lang.js b/node_modules/mout/lang.js
deleted file mode 100644
index 150007f..0000000
--- a/node_modules/mout/lang.js
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'GLOBAL' : require('./lang/GLOBAL'),
- 'clone' : require('./lang/clone'),
- 'createObject' : require('./lang/createObject'),
- 'ctorApply' : require('./lang/ctorApply'),
- 'deepClone' : require('./lang/deepClone'),
- 'deepEquals' : require('./lang/deepEquals'),
- 'defaults' : require('./lang/defaults'),
- 'inheritPrototype' : require('./lang/inheritPrototype'),
- 'is' : require('./lang/is'),
- 'isArguments' : require('./lang/isArguments'),
- 'isArray' : require('./lang/isArray'),
- 'isBoolean' : require('./lang/isBoolean'),
- 'isDate' : require('./lang/isDate'),
- 'isEmpty' : require('./lang/isEmpty'),
- 'isFinite' : require('./lang/isFinite'),
- 'isFunction' : require('./lang/isFunction'),
- 'isInteger' : require('./lang/isInteger'),
- 'isKind' : require('./lang/isKind'),
- 'isNaN' : require('./lang/isNaN'),
- 'isNull' : require('./lang/isNull'),
- 'isNumber' : require('./lang/isNumber'),
- 'isObject' : require('./lang/isObject'),
- 'isPlainObject' : require('./lang/isPlainObject'),
- 'isPrimitive' : require('./lang/isPrimitive'),
- 'isRegExp' : require('./lang/isRegExp'),
- 'isString' : require('./lang/isString'),
- 'isUndefined' : require('./lang/isUndefined'),
- 'isnt' : require('./lang/isnt'),
- 'kindOf' : require('./lang/kindOf'),
- 'toArray' : require('./lang/toArray'),
- 'toNumber' : require('./lang/toNumber'),
- 'toString' : require('./lang/toString')
-};
-
-
diff --git a/node_modules/mout/lang/GLOBAL.js b/node_modules/mout/lang/GLOBAL.js
deleted file mode 100644
index 4d759ba..0000000
--- a/node_modules/mout/lang/GLOBAL.js
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- // Reference to the global context (works on ES3 and ES5-strict mode)
- //jshint -W061, -W064
- module.exports = Function('return this')();
-
-
diff --git a/node_modules/mout/lang/clone.js b/node_modules/mout/lang/clone.js
deleted file mode 100644
index e515487..0000000
--- a/node_modules/mout/lang/clone.js
+++ /dev/null
@@ -1,49 +0,0 @@
-var kindOf = require('./kindOf');
-var isPlainObject = require('./isPlainObject');
-var mixIn = require('../object/mixIn');
-
- /**
- * Clone native types.
- */
- function clone(val){
- switch (kindOf(val)) {
- case 'Object':
- return cloneObject(val);
- case 'Array':
- return cloneArray(val);
- case 'RegExp':
- return cloneRegExp(val);
- case 'Date':
- return cloneDate(val);
- default:
- return val;
- }
- }
-
- function cloneObject(source) {
- if (isPlainObject(source)) {
- return mixIn({}, source);
- } else {
- return source;
- }
- }
-
- function cloneRegExp(r) {
- var flags = '';
- flags += r.multiline ? 'm' : '';
- flags += r.global ? 'g' : '';
- flags += r.ignoreCase ? 'i' : '';
- return new RegExp(r.source, flags);
- }
-
- function cloneDate(date) {
- return new Date(+date);
- }
-
- function cloneArray(arr) {
- return arr.slice();
- }
-
- module.exports = clone;
-
-
diff --git a/node_modules/mout/lang/createObject.js b/node_modules/mout/lang/createObject.js
deleted file mode 100644
index bbc14c1..0000000
--- a/node_modules/mout/lang/createObject.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var mixIn = require('../object/mixIn');
-
- /**
- * Create Object using prototypal inheritance and setting custom properties.
- * - Mix between Douglas Crockford Prototypal Inheritance and the EcmaScript 5 `Object.create()` method.
- * @param {object} parent Parent Object.
- * @param {object} [props] Object properties.
- * @return {object} Created object.
- */
- function createObject(parent, props){
- function F(){}
- F.prototype = parent;
- return mixIn(new F(), props);
-
- }
- module.exports = createObject;
-
-
diff --git a/node_modules/mout/lang/ctorApply.js b/node_modules/mout/lang/ctorApply.js
deleted file mode 100644
index 077cde4..0000000
--- a/node_modules/mout/lang/ctorApply.js
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
- var bind = Function.prototype.bind;
-
- /**
- * Do fn.apply on a constructor.
- */
- function ctorApply(ctor, args) {
- var Bound = bind.bind(ctor, undefined).apply(undefined, args);
- return new Bound();
- }
-
- module.exports = ctorApply;
-
-
diff --git a/node_modules/mout/lang/deepClone.js b/node_modules/mout/lang/deepClone.js
deleted file mode 100644
index 25fd95f..0000000
--- a/node_modules/mout/lang/deepClone.js
+++ /dev/null
@@ -1,48 +0,0 @@
-var clone = require('./clone');
-var forOwn = require('../object/forOwn');
-var kindOf = require('./kindOf');
-var isPlainObject = require('./isPlainObject');
-
- /**
- * Recursively clone native types.
- */
- function deepClone(val, instanceClone) {
- switch ( kindOf(val) ) {
- case 'Object':
- return cloneObject(val, instanceClone);
- case 'Array':
- return cloneArray(val, instanceClone);
- default:
- return clone(val);
- }
- }
-
- function cloneObject(source, instanceClone) {
- if (isPlainObject(source)) {
- var out = {};
- forOwn(source, function(val, key) {
- this[key] = deepClone(val, instanceClone);
- }, out);
- return out;
- } else if (instanceClone) {
- return instanceClone(source);
- } else {
- return source;
- }
- }
-
- function cloneArray(arr, instanceClone) {
- var out = [],
- i = -1,
- n = arr.length,
- val;
- while (++i < n) {
- out[i] = deepClone(arr[i], instanceClone);
- }
- return out;
- }
-
- module.exports = deepClone;
-
-
-
diff --git a/node_modules/mout/lang/deepEquals.js b/node_modules/mout/lang/deepEquals.js
deleted file mode 100644
index bf2b90d..0000000
--- a/node_modules/mout/lang/deepEquals.js
+++ /dev/null
@@ -1,30 +0,0 @@
-var is = require('./is');
-var isObject = require('./isObject');
-var isArray = require('./isArray');
-var objEquals = require('../object/equals');
-var arrEquals = require('../array/equals');
-
- /**
- * Recursively checks for same properties and values.
- */
- function deepEquals(a, b, callback){
- callback = callback || is;
-
- var bothObjects = isObject(a) && isObject(b);
- var bothArrays = !bothObjects && isArray(a) && isArray(b);
-
- if (!bothObjects && !bothArrays) {
- return callback(a, b);
- }
-
- function compare(a, b){
- return deepEquals(a, b, callback);
- }
-
- var method = bothObjects ? objEquals : arrEquals;
- return method(a, b, compare);
- }
-
- module.exports = deepEquals;
-
-
diff --git a/node_modules/mout/lang/defaults.js b/node_modules/mout/lang/defaults.js
deleted file mode 100644
index 1111b2e..0000000
--- a/node_modules/mout/lang/defaults.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var toArray = require('./toArray');
-var find = require('../array/find');
-
- /**
- * Return first non void argument
- */
- function defaults(var_args){
- return find(toArray(arguments), nonVoid);
- }
-
- function nonVoid(val){
- return val != null;
- }
-
- module.exports = defaults;
-
-
diff --git a/node_modules/mout/lang/inheritPrototype.js b/node_modules/mout/lang/inheritPrototype.js
deleted file mode 100644
index 1c9da1f..0000000
--- a/node_modules/mout/lang/inheritPrototype.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var createObject = require('./createObject');
-
- /**
- * Inherit prototype from another Object.
- * - inspired by Nicholas Zackas Solution
- * @param {object} child Child object
- * @param {object} parent Parent Object
- */
- function inheritPrototype(child, parent){
- var p = createObject(parent.prototype);
- p.constructor = child;
- child.prototype = p;
- child.super_ = parent;
- return p;
- }
-
- module.exports = inheritPrototype;
-
diff --git a/node_modules/mout/lang/is.js b/node_modules/mout/lang/is.js
deleted file mode 100644
index 4a83573..0000000
--- a/node_modules/mout/lang/is.js
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- /**
- * Check if both arguments are egal.
- */
- function is(x, y){
- // implementation borrowed from harmony:egal spec
- if (x === y) {
- // 0 === -0, but they are not identical
- return x !== 0 || 1 / x === 1 / y;
- }
-
- // NaN !== NaN, but they are identical.
- // NaNs are the only non-reflexive value, i.e., if x !== x,
- // then x is a NaN.
- // isNaN is broken: it converts its argument to number, so
- // isNaN("foo") => true
- return x !== x && y !== y;
- }
-
- module.exports = is;
-
-
diff --git a/node_modules/mout/lang/isArguments.js b/node_modules/mout/lang/isArguments.js
deleted file mode 100644
index f7b08ba..0000000
--- a/node_modules/mout/lang/isArguments.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var isKind = require('./isKind');
-
- /**
- */
- var isArgs = isKind(arguments, 'Arguments')?
- function(val){
- return isKind(val, 'Arguments');
- } :
- function(val){
- // Arguments is an Object on IE7
- return !!(val && Object.prototype.hasOwnProperty.call(val, 'callee'));
- };
-
- module.exports = isArgs;
-
diff --git a/node_modules/mout/lang/isArray.js b/node_modules/mout/lang/isArray.js
deleted file mode 100644
index 262ee40..0000000
--- a/node_modules/mout/lang/isArray.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var isKind = require('./isKind');
- /**
- */
- var isArray = Array.isArray || function (val) {
- return isKind(val, 'Array');
- };
- module.exports = isArray;
-
diff --git a/node_modules/mout/lang/isBoolean.js b/node_modules/mout/lang/isBoolean.js
deleted file mode 100644
index 86557cb..0000000
--- a/node_modules/mout/lang/isBoolean.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var isKind = require('./isKind');
- /**
- */
- function isBoolean(val) {
- return isKind(val, 'Boolean');
- }
- module.exports = isBoolean;
-
diff --git a/node_modules/mout/lang/isDate.js b/node_modules/mout/lang/isDate.js
deleted file mode 100644
index 4a5130f..0000000
--- a/node_modules/mout/lang/isDate.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var isKind = require('./isKind');
- /**
- */
- function isDate(val) {
- return isKind(val, 'Date');
- }
- module.exports = isDate;
-
diff --git a/node_modules/mout/lang/isEmpty.js b/node_modules/mout/lang/isEmpty.js
deleted file mode 100644
index c7854c6..0000000
--- a/node_modules/mout/lang/isEmpty.js
+++ /dev/null
@@ -1,24 +0,0 @@
-var forOwn = require('../object/forOwn');
-var isArray = require('./isArray');
-
- function isEmpty(val){
- if (val == null) {
- // typeof null == 'object' so we check it first
- return true;
- } else if ( typeof val === 'string' || isArray(val) ) {
- return !val.length;
- } else if ( typeof val === 'object' ) {
- var result = true;
- forOwn(val, function(){
- result = false;
- return false; // break loop
- });
- return result;
- } else {
- return true;
- }
- }
-
- module.exports = isEmpty;
-
-
diff --git a/node_modules/mout/lang/isFinite.js b/node_modules/mout/lang/isFinite.js
deleted file mode 100644
index 812e317..0000000
--- a/node_modules/mout/lang/isFinite.js
+++ /dev/null
@@ -1,20 +0,0 @@
-var isNumber = require('./isNumber');
-var GLOBAL = require('./GLOBAL');
-
- /**
- * Check if value is finite
- */
- function isFinite(val){
- var is = false;
- if (typeof val === 'string' && val !== '') {
- is = GLOBAL.isFinite( parseFloat(val) );
- } else if (isNumber(val)){
- // need to use isNumber because of Number constructor
- is = GLOBAL.isFinite( val );
- }
- return is;
- }
-
- module.exports = isFinite;
-
-
diff --git a/node_modules/mout/lang/isFunction.js b/node_modules/mout/lang/isFunction.js
deleted file mode 100644
index 216879f..0000000
--- a/node_modules/mout/lang/isFunction.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var isKind = require('./isKind');
- /**
- */
- function isFunction(val) {
- return isKind(val, 'Function');
- }
- module.exports = isFunction;
-
diff --git a/node_modules/mout/lang/isInteger.js b/node_modules/mout/lang/isInteger.js
deleted file mode 100644
index 29f95d9..0000000
--- a/node_modules/mout/lang/isInteger.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var isNumber = require('./isNumber');
-
- /**
- * Check if value is an integer
- */
- function isInteger(val){
- return isNumber(val) && (val % 1 === 0);
- }
-
- module.exports = isInteger;
-
-
diff --git a/node_modules/mout/lang/isKind.js b/node_modules/mout/lang/isKind.js
deleted file mode 100644
index 02301e0..0000000
--- a/node_modules/mout/lang/isKind.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var kindOf = require('./kindOf');
- /**
- * Check if value is from a specific "kind".
- */
- function isKind(val, kind){
- return kindOf(val) === kind;
- }
- module.exports = isKind;
-
diff --git a/node_modules/mout/lang/isNaN.js b/node_modules/mout/lang/isNaN.js
deleted file mode 100644
index b1018ec..0000000
--- a/node_modules/mout/lang/isNaN.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var isNumber = require('./isNumber');
-var $isNaN = require('../number/isNaN');
-
- /**
- * Check if value is NaN for realz
- */
- function isNaN(val){
- // based on the fact that NaN !== NaN
- // need to check if it's a number to avoid conflicts with host objects
- // also need to coerce ToNumber to avoid edge case `new Number(NaN)`
- return !isNumber(val) || $isNaN(Number(val));
- }
-
- module.exports = isNaN;
-
-
diff --git a/node_modules/mout/lang/isNull.js b/node_modules/mout/lang/isNull.js
deleted file mode 100644
index 6252f9e..0000000
--- a/node_modules/mout/lang/isNull.js
+++ /dev/null
@@ -1,9 +0,0 @@
-
- /**
- */
- function isNull(val){
- return val === null;
- }
- module.exports = isNull;
-
-
diff --git a/node_modules/mout/lang/isNumber.js b/node_modules/mout/lang/isNumber.js
deleted file mode 100644
index 126c1cc..0000000
--- a/node_modules/mout/lang/isNumber.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var isKind = require('./isKind');
- /**
- */
- function isNumber(val) {
- return isKind(val, 'Number');
- }
- module.exports = isNumber;
-
diff --git a/node_modules/mout/lang/isObject.js b/node_modules/mout/lang/isObject.js
deleted file mode 100644
index 7350c89..0000000
--- a/node_modules/mout/lang/isObject.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var isKind = require('./isKind');
- /**
- */
- function isObject(val) {
- return isKind(val, 'Object');
- }
- module.exports = isObject;
-
diff --git a/node_modules/mout/lang/isPlainObject.js b/node_modules/mout/lang/isPlainObject.js
deleted file mode 100644
index b81342e..0000000
--- a/node_modules/mout/lang/isPlainObject.js
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- /**
- * Checks if the value is created by the `Object` constructor.
- */
- function isPlainObject(value) {
- return (!!value && typeof value === 'object' &&
- value.constructor === Object);
- }
-
- module.exports = isPlainObject;
-
-
diff --git a/node_modules/mout/lang/isPrimitive.js b/node_modules/mout/lang/isPrimitive.js
deleted file mode 100644
index e255475..0000000
--- a/node_modules/mout/lang/isPrimitive.js
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
- /**
- * Checks if the object is a primitive
- */
- function isPrimitive(value) {
- // Using switch fallthrough because it's simple to read and is
- // generally fast: http://jsperf.com/testing-value-is-primitive/5
- switch (typeof value) {
- case "string":
- case "number":
- case "boolean":
- return true;
- }
-
- return value == null;
- }
-
- module.exports = isPrimitive;
-
-
diff --git a/node_modules/mout/lang/isRegExp.js b/node_modules/mout/lang/isRegExp.js
deleted file mode 100644
index fc5459a..0000000
--- a/node_modules/mout/lang/isRegExp.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var isKind = require('./isKind');
- /**
- */
- function isRegExp(val) {
- return isKind(val, 'RegExp');
- }
- module.exports = isRegExp;
-
diff --git a/node_modules/mout/lang/isString.js b/node_modules/mout/lang/isString.js
deleted file mode 100644
index f890658..0000000
--- a/node_modules/mout/lang/isString.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var isKind = require('./isKind');
- /**
- */
- function isString(val) {
- return isKind(val, 'String');
- }
- module.exports = isString;
-
diff --git a/node_modules/mout/lang/isUndefined.js b/node_modules/mout/lang/isUndefined.js
deleted file mode 100644
index fb2261d..0000000
--- a/node_modules/mout/lang/isUndefined.js
+++ /dev/null
@@ -1,10 +0,0 @@
-
- var UNDEF;
-
- /**
- */
- function isUndef(val){
- return val === UNDEF;
- }
- module.exports = isUndef;
-
diff --git a/node_modules/mout/lang/isnt.js b/node_modules/mout/lang/isnt.js
deleted file mode 100644
index 9dad58c..0000000
--- a/node_modules/mout/lang/isnt.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var is = require('./is');
-
- /**
- * Check if both values are not identical/egal
- */
- function isnt(x, y){
- return !is(x, y);
- }
-
- module.exports = isnt;
-
-
diff --git a/node_modules/mout/lang/kindOf.js b/node_modules/mout/lang/kindOf.js
deleted file mode 100644
index c3d43ba..0000000
--- a/node_modules/mout/lang/kindOf.js
+++ /dev/null
@@ -1,9 +0,0 @@
-
- /**
- * Gets the "kind" of value. (e.g. "String", "Number", etc)
- */
- function kindOf(val) {
- return Object.prototype.toString.call(val).slice(8, -1);
- }
- module.exports = kindOf;
-
diff --git a/node_modules/mout/lang/toArray.js b/node_modules/mout/lang/toArray.js
deleted file mode 100644
index 1f3a2b6..0000000
--- a/node_modules/mout/lang/toArray.js
+++ /dev/null
@@ -1,30 +0,0 @@
-var kindOf = require('./kindOf');
-var GLOBAL = require('./GLOBAL');
-
- /**
- * Convert array-like object into array
- */
- function toArray(val){
- var ret = [],
- kind = kindOf(val),
- n;
-
- if (val != null) {
- if ( val.length == null || kind === 'String' || kind === 'Function' || kind === 'RegExp' || val === GLOBAL ) {
- //string, regexp, function have .length but user probably just want
- //to wrap value into an array..
- ret[ret.length] = val;
- } else {
- //window returns true on isObject in IE7 and may have length
- //property. `typeof NodeList` returns `function` on Safari so
- //we can't use it (#58)
- n = val.length;
- while (n--) {
- ret[n] = val[n];
- }
- }
- }
- return ret;
- }
- module.exports = toArray;
-
diff --git a/node_modules/mout/lang/toNumber.js b/node_modules/mout/lang/toNumber.js
deleted file mode 100644
index 8b6df34..0000000
--- a/node_modules/mout/lang/toNumber.js
+++ /dev/null
@@ -1,20 +0,0 @@
-var isArray = require('./isArray');
-
- /**
- * covert value into number if numeric
- */
- function toNumber(val){
- // numberic values should come first because of -0
- if (typeof val === 'number') return val;
- // we want all falsy values (besides -0) to return zero to avoid
- // headaches
- if (!val) return 0;
- if (typeof val === 'string') return parseFloat(val);
- // arrays are edge cases. `Number([4]) === 4`
- if (isArray(val)) return NaN;
- return Number(val);
- }
-
- module.exports = toNumber;
-
-
diff --git a/node_modules/mout/lang/toString.js b/node_modules/mout/lang/toString.js
deleted file mode 100644
index ae5c2b0..0000000
--- a/node_modules/mout/lang/toString.js
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- /**
- * Typecast a value to a String, using an empty string value for null or
- * undefined.
- */
- function toString(val){
- return val == null ? '' : val.toString();
- }
-
- module.exports = toString;
-
-
diff --git a/node_modules/mout/math.js b/node_modules/mout/math.js
deleted file mode 100644
index bd3ec5a..0000000
--- a/node_modules/mout/math.js
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'ceil' : require('./math/ceil'),
- 'clamp' : require('./math/clamp'),
- 'countSteps' : require('./math/countSteps'),
- 'floor' : require('./math/floor'),
- 'inRange' : require('./math/inRange'),
- 'isNear' : require('./math/isNear'),
- 'lerp' : require('./math/lerp'),
- 'loop' : require('./math/loop'),
- 'map' : require('./math/map'),
- 'norm' : require('./math/norm'),
- 'overflow' : require('./math/overflow'),
- 'round' : require('./math/round')
-};
-
-
diff --git a/node_modules/mout/math/ceil.js b/node_modules/mout/math/ceil.js
deleted file mode 100644
index a279e15..0000000
--- a/node_modules/mout/math/ceil.js
+++ /dev/null
@@ -1,11 +0,0 @@
-
- /**
- * Round value up with a custom radix.
- */
- function ceil(val, step){
- step = Math.abs(step || 1);
- return Math.ceil(val / step) * step;
- }
-
- module.exports = ceil;
-
diff --git a/node_modules/mout/math/clamp.js b/node_modules/mout/math/clamp.js
deleted file mode 100644
index e929a9a..0000000
--- a/node_modules/mout/math/clamp.js
+++ /dev/null
@@ -1,9 +0,0 @@
-
- /**
- * Clamps value inside range.
- */
- function clamp(val, min, max){
- return val < min? min : (val > max? max : val);
- }
- module.exports = clamp;
-
diff --git a/node_modules/mout/math/countSteps.js b/node_modules/mout/math/countSteps.js
deleted file mode 100644
index 60ac90c..0000000
--- a/node_modules/mout/math/countSteps.js
+++ /dev/null
@@ -1,16 +0,0 @@
-
- /**
- * Count number of full steps.
- */
- function countSteps(val, step, overflow){
- val = Math.floor(val / step);
-
- if (overflow) {
- return val % overflow;
- }
-
- return val;
- }
-
- module.exports = countSteps;
-
diff --git a/node_modules/mout/math/floor.js b/node_modules/mout/math/floor.js
deleted file mode 100644
index 9de5053..0000000
--- a/node_modules/mout/math/floor.js
+++ /dev/null
@@ -1,10 +0,0 @@
-
- /**
- * Floor value to full steps.
- */
- function floor(val, step){
- step = Math.abs(step || 1);
- return Math.floor(val / step) * step;
- }
- module.exports = floor;
-
diff --git a/node_modules/mout/math/inRange.js b/node_modules/mout/math/inRange.js
deleted file mode 100644
index 763218f..0000000
--- a/node_modules/mout/math/inRange.js
+++ /dev/null
@@ -1,11 +0,0 @@
-
- /**
- * Checks if value is inside the range.
- */
- function inRange(val, min, max, threshold){
- threshold = threshold || 0;
- return (val + threshold >= min && val - threshold <= max);
- }
-
- module.exports = inRange;
-
diff --git a/node_modules/mout/math/isNear.js b/node_modules/mout/math/isNear.js
deleted file mode 100644
index 45486b6..0000000
--- a/node_modules/mout/math/isNear.js
+++ /dev/null
@@ -1,9 +0,0 @@
-
- /**
- * Check if value is close to target.
- */
- function isNear(val, target, threshold){
- return (Math.abs(val - target) <= threshold);
- }
- module.exports = isNear;
-
diff --git a/node_modules/mout/math/lerp.js b/node_modules/mout/math/lerp.js
deleted file mode 100644
index 111e271..0000000
--- a/node_modules/mout/math/lerp.js
+++ /dev/null
@@ -1,11 +0,0 @@
-
- /**
- * Linear interpolation.
- * IMPORTANT:will return `Infinity` if numbers overflow Number.MAX_VALUE
- */
- function lerp(ratio, start, end){
- return start + (end - start) * ratio;
- }
-
- module.exports = lerp;
-
diff --git a/node_modules/mout/math/loop.js b/node_modules/mout/math/loop.js
deleted file mode 100644
index 35207c1..0000000
--- a/node_modules/mout/math/loop.js
+++ /dev/null
@@ -1,10 +0,0 @@
-
- /**
- * Loops value inside range.
- */
- function loop(val, min, max){
- return val < min? max : (val > max? min : val);
- }
-
- module.exports = loop;
-
diff --git a/node_modules/mout/math/map.js b/node_modules/mout/math/map.js
deleted file mode 100644
index 96c4b78..0000000
--- a/node_modules/mout/math/map.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var lerp = require('./lerp');
-var norm = require('./norm');
- /**
- * Maps a number from one scale to another.
- * @example map(3, 0, 4, -1, 1) -> 0.5
- */
- function map(val, min1, max1, min2, max2){
- return lerp( norm(val, min1, max1), min2, max2 );
- }
- module.exports = map;
-
diff --git a/node_modules/mout/math/norm.js b/node_modules/mout/math/norm.js
deleted file mode 100644
index 8ee53d8..0000000
--- a/node_modules/mout/math/norm.js
+++ /dev/null
@@ -1,13 +0,0 @@
-
- /**
- * Gets normalized ratio of value inside range.
- */
- function norm(val, min, max){
- if (val < min || val > max) {
- throw new RangeError('value (' + val + ') must be between ' + min + ' and ' + max);
- }
-
- return val === max ? 1 : (val - min) / (max - min);
- }
- module.exports = norm;
-
diff --git a/node_modules/mout/math/overflow.js b/node_modules/mout/math/overflow.js
deleted file mode 100644
index af4950c..0000000
--- a/node_modules/mout/math/overflow.js
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- /**
- * Wraps number within bounds both positive and negative
- */
- function overflow(number, min, max){
- if ( max === undefined ) {
- max = min;
- min = 0;
- }
-
- var difference = max - min;
-
- if ( number < min ) {
- number += difference * ( ~~( ( min - number ) / difference ) + 1 );
- }
-
- return min + ( number - min ) % difference;
- }
-
- module.exports = overflow;
-
-
diff --git a/node_modules/mout/math/round.js b/node_modules/mout/math/round.js
deleted file mode 100644
index d108e6c..0000000
--- a/node_modules/mout/math/round.js
+++ /dev/null
@@ -1,12 +0,0 @@
-
- /**
- * Round number to a specific radix
- */
- function round(value, radix){
- radix = radix || 1; // default round 1
- return Math.round(value / radix) * radix;
- }
-
- module.exports = round;
-
-
diff --git a/node_modules/mout/number.js b/node_modules/mout/number.js
deleted file mode 100644
index ba7034a..0000000
--- a/node_modules/mout/number.js
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'MAX_INT' : require('./number/MAX_INT'),
- 'MAX_SAFE_INTEGER' : require('./number/MAX_SAFE_INTEGER'),
- 'MAX_UINT' : require('./number/MAX_UINT'),
- 'MIN_INT' : require('./number/MIN_INT'),
- 'abbreviate' : require('./number/abbreviate'),
- 'currencyFormat' : require('./number/currencyFormat'),
- 'enforcePrecision' : require('./number/enforcePrecision'),
- 'isNaN' : require('./number/isNaN'),
- 'nth' : require('./number/nth'),
- 'ordinal' : require('./number/ordinal'),
- 'pad' : require('./number/pad'),
- 'rol' : require('./number/rol'),
- 'ror' : require('./number/ror'),
- 'sign' : require('./number/sign'),
- 'toInt' : require('./number/toInt'),
- 'toUInt' : require('./number/toUInt'),
- 'toUInt31' : require('./number/toUInt31')
-};
-
-
diff --git a/node_modules/mout/number/MAX_INT.js b/node_modules/mout/number/MAX_INT.js
deleted file mode 100644
index 1d6f0e4..0000000
--- a/node_modules/mout/number/MAX_INT.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * @constant Maximum 32-bit signed integer value. (2^31 - 1)
- */
-
- module.exports = 2147483647;
-
diff --git a/node_modules/mout/number/MAX_SAFE_INTEGER.js b/node_modules/mout/number/MAX_SAFE_INTEGER.js
deleted file mode 100644
index b13e538..0000000
--- a/node_modules/mout/number/MAX_SAFE_INTEGER.js
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- // maximum safe integer (Math.pow(2, 53) - 1)
- // see: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer
- module.exports = 9007199254740991;
-
-
diff --git a/node_modules/mout/number/MAX_UINT.js b/node_modules/mout/number/MAX_UINT.js
deleted file mode 100644
index 700da0f..0000000
--- a/node_modules/mout/number/MAX_UINT.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * @constant Maximum 32-bit unsigned integet value (2^32 - 1)
- */
-
- module.exports = 4294967295;
-
diff --git a/node_modules/mout/number/MIN_INT.js b/node_modules/mout/number/MIN_INT.js
deleted file mode 100644
index b34ab2c..0000000
--- a/node_modules/mout/number/MIN_INT.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * @constant Minimum 32-bit signed integer value (-2^31).
- */
-
- module.exports = -2147483648;
-
diff --git a/node_modules/mout/number/abbreviate.js b/node_modules/mout/number/abbreviate.js
deleted file mode 100644
index a5061c9..0000000
--- a/node_modules/mout/number/abbreviate.js
+++ /dev/null
@@ -1,43 +0,0 @@
-var enforcePrecision = require('./enforcePrecision');
- var _defaultDict = {
- thousand: "K",
- million: "M",
- billion: "B",
- };
-
- /**
- * Abbreviate number if bigger than 1000. (eg: 2.5K, 17.5M, 3.4B, ...)
- */
- function abbreviateNumber(val, nDecimals, dict) {
- nDecimals = nDecimals != null ? nDecimals : 1;
- dict = dict || _defaultDict;
- val = enforcePrecision(val, nDecimals);
-
- var str, mod;
- var negative = false;
-
- if (val < 0) {
- val = -val;
- negative = true;
- }
-
- if (val < 1000000) {
- mod = enforcePrecision(val / 1000, nDecimals);
- // might overflow to next scale during rounding
- str = mod < 1000 ? mod + dict.thousand : 1 + dict.million;
- } else if (val < 1000000000) {
- mod = enforcePrecision(val / 1000000, nDecimals);
- str = mod < 1000 ? mod + dict.million : 1 + dict.billion;
- } else {
- str = enforcePrecision(val / 1000000000, nDecimals) + dict.billion;
- }
-
- if (negative) {
- str = "-" + str;
- }
-
- return str;
- }
-
- module.exports = abbreviateNumber;
-
diff --git a/node_modules/mout/number/currencyFormat.js b/node_modules/mout/number/currencyFormat.js
deleted file mode 100644
index c85a668..0000000
--- a/node_modules/mout/number/currencyFormat.js
+++ /dev/null
@@ -1,27 +0,0 @@
-var toNumber = require('../lang/toNumber');
-
- /**
- * Converts number into currency format
- */
- function currencyFormat(val, nDecimalDigits, decimalSeparator, thousandsSeparator) {
- val = toNumber(val);
- nDecimalDigits = nDecimalDigits == null? 2 : nDecimalDigits;
- decimalSeparator = decimalSeparator == null? '.' : decimalSeparator;
- thousandsSeparator = thousandsSeparator == null? ',' : thousandsSeparator;
-
- //can't use enforce precision since it returns a number and we are
- //doing a RegExp over the string
- var fixed = val.toFixed(nDecimalDigits),
- //separate begin [$1], middle [$2] and decimal digits [$4]
- parts = new RegExp('^(-?\\d{1,3})((?:\\d{3})+)(\\.(\\d{'+ nDecimalDigits +'}))?$').exec( fixed );
-
- if(parts){ //val >= 1000 || val <= -1000
- return parts[1] + parts[2].replace(/\d{3}/g, thousandsSeparator + '$&') + (parts[4] ? decimalSeparator + parts[4] : '');
- }else{
- return fixed.replace('.', decimalSeparator);
- }
- }
-
- module.exports = currencyFormat;
-
-
diff --git a/node_modules/mout/number/enforcePrecision.js b/node_modules/mout/number/enforcePrecision.js
deleted file mode 100644
index 3d3b2d4..0000000
--- a/node_modules/mout/number/enforcePrecision.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var toNumber = require('../lang/toNumber');
- /**
- * Enforce a specific amount of decimal digits and also fix floating
- * point rounding issues.
- */
- function enforcePrecision(val, nDecimalDigits){
- val = toNumber(val);
- var pow = Math.pow(10, nDecimalDigits);
- return +(Math.round(val * pow) / pow).toFixed(nDecimalDigits);
- }
- module.exports = enforcePrecision;
-
diff --git a/node_modules/mout/number/isNaN.js b/node_modules/mout/number/isNaN.js
deleted file mode 100644
index 3799f3b..0000000
--- a/node_modules/mout/number/isNaN.js
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- /**
- * ES6 Number.isNaN
- * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN
- */
- function isNaN(val){
- // jshint eqeqeq:false
- return typeof val === 'number' && val != val;
- }
-
- module.exports = isNaN;
-
-
diff --git a/node_modules/mout/number/nth.js b/node_modules/mout/number/nth.js
deleted file mode 100644
index 43ffb21..0000000
--- a/node_modules/mout/number/nth.js
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
- /**
- * Returns "nth" of number (1 = "st", 2 = "nd", 3 = "rd", 4..10 = "th", ...)
- */
- function nth(i) {
- var t = (i % 100);
- if (t >= 10 && t <= 20) {
- return 'th';
- }
- switch(i % 10) {
- case 1:
- return 'st';
- case 2:
- return 'nd';
- case 3:
- return 'rd';
- default:
- return 'th';
- }
- }
-
- module.exports = nth;
-
-
diff --git a/node_modules/mout/number/ordinal.js b/node_modules/mout/number/ordinal.js
deleted file mode 100644
index 939a0fa..0000000
--- a/node_modules/mout/number/ordinal.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var toInt = require('./toInt');
-var nth = require('./nth');
-
- /**
- * converts number into ordinal form (1st, 2nd, 3rd, 4th, ...)
- */
- function ordinal(n){
- n = toInt(n);
- return n + nth(n);
- }
-
- module.exports = ordinal;
-
-
diff --git a/node_modules/mout/number/pad.js b/node_modules/mout/number/pad.js
deleted file mode 100644
index 1f83af4..0000000
--- a/node_modules/mout/number/pad.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var lpad = require('../string/lpad');
-var toNumber = require('../lang/toNumber');
-
- /**
- * Add padding zeros if n.length < minLength.
- */
- function pad(n, minLength, char){
- n = toNumber(n);
- return lpad(''+ n, minLength, char || '0');
- }
-
- module.exports = pad;
-
-
diff --git a/node_modules/mout/number/rol.js b/node_modules/mout/number/rol.js
deleted file mode 100644
index ecd58da..0000000
--- a/node_modules/mout/number/rol.js
+++ /dev/null
@@ -1,10 +0,0 @@
-
- /**
- * Bitwise circular shift left
- * http://en.wikipedia.org/wiki/Circular_shift
- */
- function rol(val, shift){
- return (val << shift) | (val >> (32 - shift));
- }
- module.exports = rol;
-
diff --git a/node_modules/mout/number/ror.js b/node_modules/mout/number/ror.js
deleted file mode 100644
index 2eda81d..0000000
--- a/node_modules/mout/number/ror.js
+++ /dev/null
@@ -1,10 +0,0 @@
-
- /**
- * Bitwise circular shift right
- * http://en.wikipedia.org/wiki/Circular_shift
- */
- function ror(val, shift){
- return (val >> shift) | (val << (32 - shift));
- }
- module.exports = ror;
-
diff --git a/node_modules/mout/number/sign.js b/node_modules/mout/number/sign.js
deleted file mode 100644
index 7f9a1e2..0000000
--- a/node_modules/mout/number/sign.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var toNumber = require('../lang/toNumber');
-
- /**
- * Get sign of the value.
- */
- function sign(val) {
- var num = toNumber(val);
- if (num === 0) return num; // +0 and +0 === 0
- if (isNaN(num)) return num; // NaN
- return num < 0? -1 : 1;
- }
-
- module.exports = sign;
-
-
diff --git a/node_modules/mout/number/toInt.js b/node_modules/mout/number/toInt.js
deleted file mode 100644
index 72fd7de..0000000
--- a/node_modules/mout/number/toInt.js
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- /**
- * "Convert" value into an 32-bit integer.
- * Works like `Math.floor` if val > 0 and `Math.ceil` if val < 0.
- * IMPORTANT: val will wrap at 2^31 and -2^31.
- * Perf tests: http://jsperf.com/vs-vs-parseint-bitwise-operators/7
- */
- function toInt(val){
- // we do not use lang/toNumber because of perf and also because it
- // doesn't break the functionality
- return ~~val;
- }
-
- module.exports = toInt;
-
-
diff --git a/node_modules/mout/number/toUInt.js b/node_modules/mout/number/toUInt.js
deleted file mode 100644
index d279656..0000000
--- a/node_modules/mout/number/toUInt.js
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
- /**
- * "Convert" value into a 32-bit unsigned integer.
- * IMPORTANT: Value will wrap at 2^32.
- */
- function toUInt(val){
- // we do not use lang/toNumber because of perf and also because it
- // doesn't break the functionality
- return val >>> 0;
- }
-
- module.exports = toUInt;
-
-
diff --git a/node_modules/mout/number/toUInt31.js b/node_modules/mout/number/toUInt31.js
deleted file mode 100644
index 6cd3bb5..0000000
--- a/node_modules/mout/number/toUInt31.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var MAX_INT = require('./MAX_INT');
-
- /**
- * "Convert" value into an 31-bit unsigned integer (since 1 bit is used for sign).
- * IMPORTANT: value wil wrap at 2^31, if negative will return 0.
- */
- function toUInt31(val){
- // we do not use lang/toNumber because of perf and also because it
- // doesn't break the functionality
- return (val <= 0)? 0 : (val > MAX_INT? ~~(val % (MAX_INT + 1)) : ~~val);
- }
-
- module.exports = toUInt31;
-
-
diff --git a/node_modules/mout/object.js b/node_modules/mout/object.js
deleted file mode 100644
index ee1e94e..0000000
--- a/node_modules/mout/object.js
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'bindAll' : require('./object/bindAll'),
- 'contains' : require('./object/contains'),
- 'deepFillIn' : require('./object/deepFillIn'),
- 'deepMatches' : require('./object/deepMatches'),
- 'deepMixIn' : require('./object/deepMixIn'),
- 'equals' : require('./object/equals'),
- 'every' : require('./object/every'),
- 'fillIn' : require('./object/fillIn'),
- 'filter' : require('./object/filter'),
- 'find' : require('./object/find'),
- 'flatten' : require('./object/flatten'),
- 'forIn' : require('./object/forIn'),
- 'forOwn' : require('./object/forOwn'),
- 'functions' : require('./object/functions'),
- 'get' : require('./object/get'),
- 'has' : require('./object/has'),
- 'hasOwn' : require('./object/hasOwn'),
- 'keys' : require('./object/keys'),
- 'map' : require('./object/map'),
- 'matches' : require('./object/matches'),
- 'max' : require('./object/max'),
- 'merge' : require('./object/merge'),
- 'min' : require('./object/min'),
- 'mixIn' : require('./object/mixIn'),
- 'namespace' : require('./object/namespace'),
- 'omit' : require('./object/omit'),
- 'pick' : require('./object/pick'),
- 'pluck' : require('./object/pluck'),
- 'reduce' : require('./object/reduce'),
- 'reject' : require('./object/reject'),
- 'result' : require('./object/result'),
- 'set' : require('./object/set'),
- 'size' : require('./object/size'),
- 'some' : require('./object/some'),
- 'unset' : require('./object/unset'),
- 'values' : require('./object/values')
-};
-
-
diff --git a/node_modules/mout/object/bindAll.js b/node_modules/mout/object/bindAll.js
deleted file mode 100644
index c8a2034..0000000
--- a/node_modules/mout/object/bindAll.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var functions = require('./functions');
-var bind = require('../function/bind');
-var forEach = require('../array/forEach');
-var slice = require('../array/slice');
-
- /**
- * Binds methods of the object to be run in it's own context.
- */
- function bindAll(obj, rest_methodNames){
- var keys = arguments.length > 1?
- slice(arguments, 1) : functions(obj);
- forEach(keys, function(key){
- obj[key] = bind(obj[key], obj);
- });
- }
-
- module.exports = bindAll;
-
-
diff --git a/node_modules/mout/object/contains.js b/node_modules/mout/object/contains.js
deleted file mode 100644
index 8076e2c..0000000
--- a/node_modules/mout/object/contains.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var some = require('./some');
-
- /**
- * Check if object contains value
- */
- function contains(obj, needle) {
- return some(obj, function(val) {
- return (val === needle);
- });
- }
- module.exports = contains;
-
-
diff --git a/node_modules/mout/object/deepFillIn.js b/node_modules/mout/object/deepFillIn.js
deleted file mode 100644
index 6568ea8..0000000
--- a/node_modules/mout/object/deepFillIn.js
+++ /dev/null
@@ -1,33 +0,0 @@
-var forOwn = require('./forOwn');
-var isPlainObject = require('../lang/isPlainObject');
-
- /**
- * Deeply copy missing properties in the target from the defaults.
- */
- function deepFillIn(target, defaults){
- var i = 0,
- n = arguments.length,
- obj;
-
- while(++i < n) {
- obj = arguments[i];
- if (obj) {
- // jshint loopfunc: true
- forOwn(obj, function(newValue, key) {
- var curValue = target[key];
- if (curValue == null) {
- target[key] = newValue;
- } else if (isPlainObject(curValue) &&
- isPlainObject(newValue)) {
- deepFillIn(curValue, newValue);
- }
- });
- }
- }
-
- return target;
- }
-
- module.exports = deepFillIn;
-
-
diff --git a/node_modules/mout/object/deepMatches.js b/node_modules/mout/object/deepMatches.js
deleted file mode 100644
index 4beaf57..0000000
--- a/node_modules/mout/object/deepMatches.js
+++ /dev/null
@@ -1,56 +0,0 @@
-var forOwn = require('./forOwn');
-var isArray = require('../lang/isArray');
-
- function containsMatch(array, pattern) {
- var i = -1, length = array.length;
- while (++i < length) {
- if (deepMatches(array[i], pattern)) {
- return true;
- }
- }
-
- return false;
- }
-
- function matchArray(target, pattern) {
- var i = -1, patternLength = pattern.length;
- while (++i < patternLength) {
- if (!containsMatch(target, pattern[i])) {
- return false;
- }
- }
-
- return true;
- }
-
- function matchObject(target, pattern) {
- var result = true;
- forOwn(pattern, function(val, key) {
- if (!deepMatches(target[key], val)) {
- // Return false to break out of forOwn early
- return (result = false);
- }
- });
-
- return result;
- }
-
- /**
- * Recursively check if the objects match.
- */
- function deepMatches(target, pattern){
- if (target && typeof target === 'object' &&
- pattern && typeof pattern === 'object') {
- if (isArray(target) && isArray(pattern)) {
- return matchArray(target, pattern);
- } else {
- return matchObject(target, pattern);
- }
- } else {
- return target === pattern;
- }
- }
-
- module.exports = deepMatches;
-
-
diff --git a/node_modules/mout/object/deepMixIn.js b/node_modules/mout/object/deepMixIn.js
deleted file mode 100644
index a97e98d..0000000
--- a/node_modules/mout/object/deepMixIn.js
+++ /dev/null
@@ -1,34 +0,0 @@
-var forOwn = require('./forOwn');
-var isPlainObject = require('../lang/isPlainObject');
-
- /**
- * Mixes objects into the target object, recursively mixing existing child
- * objects.
- */
- function deepMixIn(target, objects) {
- var i = 0,
- n = arguments.length,
- obj;
-
- while(++i < n){
- obj = arguments[i];
- if (obj) {
- forOwn(obj, copyProp, target);
- }
- }
-
- return target;
- }
-
- function copyProp(val, key) {
- var existing = this[key];
- if (isPlainObject(val) && isPlainObject(existing)) {
- deepMixIn(existing, val);
- } else {
- this[key] = val;
- }
- }
-
- module.exports = deepMixIn;
-
-
diff --git a/node_modules/mout/object/equals.js b/node_modules/mout/object/equals.js
deleted file mode 100644
index 7c89ab8..0000000
--- a/node_modules/mout/object/equals.js
+++ /dev/null
@@ -1,33 +0,0 @@
-var hasOwn = require('./hasOwn');
-var every = require('./every');
-var isObject = require('../lang/isObject');
-var is = require('../lang/is');
-
- // Makes a function to compare the object values from the specified compare
- // operation callback.
- function makeCompare(callback) {
- return function(value, key) {
- return hasOwn(this, key) && callback(value, this[key]);
- };
- }
-
- function checkProperties(value, key) {
- return hasOwn(this, key);
- }
-
- /**
- * Checks if two objects have the same keys and values.
- */
- function equals(a, b, callback) {
- callback = callback || is;
-
- if (!isObject(a) || !isObject(b)) {
- return callback(a, b);
- }
-
- return (every(a, makeCompare(callback), b) &&
- every(b, checkProperties, a));
- }
-
- module.exports = equals;
-
diff --git a/node_modules/mout/object/every.js b/node_modules/mout/object/every.js
deleted file mode 100644
index 01106e5..0000000
--- a/node_modules/mout/object/every.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var forOwn = require('./forOwn');
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Object every
- */
- function every(obj, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var result = true;
- forOwn(obj, function(val, key) {
- // we consider any falsy values as "false" on purpose so shorthand
- // syntax can be used to check property existence
- if (!callback(val, key, obj)) {
- result = false;
- return false; // break
- }
- });
- return result;
- }
-
- module.exports = every;
-
-
diff --git a/node_modules/mout/object/fillIn.js b/node_modules/mout/object/fillIn.js
deleted file mode 100644
index 4010e28..0000000
--- a/node_modules/mout/object/fillIn.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var forEach = require('../array/forEach');
-var slice = require('../array/slice');
-var forOwn = require('./forOwn');
-
- /**
- * Copy missing properties in the obj from the defaults.
- */
- function fillIn(obj, var_defaults){
- forEach(slice(arguments, 1), function(base){
- forOwn(base, function(val, key){
- if (obj[key] == null) {
- obj[key] = val;
- }
- });
- });
- return obj;
- }
-
- module.exports = fillIn;
-
-
diff --git a/node_modules/mout/object/filter.js b/node_modules/mout/object/filter.js
deleted file mode 100644
index 3a83a92..0000000
--- a/node_modules/mout/object/filter.js
+++ /dev/null
@@ -1,20 +0,0 @@
-var forOwn = require('./forOwn');
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Creates a new object with all the properties where the callback returns
- * true.
- */
- function filterValues(obj, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var output = {};
- forOwn(obj, function(value, key, obj) {
- if (callback(value, key, obj)) {
- output[key] = value;
- }
- });
-
- return output;
- }
- module.exports = filterValues;
-
diff --git a/node_modules/mout/object/find.js b/node_modules/mout/object/find.js
deleted file mode 100644
index d39c070..0000000
--- a/node_modules/mout/object/find.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var some = require('./some');
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Returns first item that matches criteria
- */
- function find(obj, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var result;
- some(obj, function(value, key, obj) {
- if (callback(value, key, obj)) {
- result = value;
- return true; //break
- }
- });
- return result;
- }
-
- module.exports = find;
-
-
diff --git a/node_modules/mout/object/flatten.js b/node_modules/mout/object/flatten.js
deleted file mode 100644
index a356f15..0000000
--- a/node_modules/mout/object/flatten.js
+++ /dev/null
@@ -1,38 +0,0 @@
-var forOwn = require('./forOwn');
-var isPlainObject = require('../lang/isPlainObject');
-
- /*
- * Helper function to flatten to a destination object.
- * Used to remove the need to create intermediate objects while flattening.
- */
- function flattenTo(obj, result, prefix, level) {
- forOwn(obj, function (value, key) {
- var nestedPrefix = prefix ? prefix + '.' + key : key;
-
- if (level !== 0 && isPlainObject(value)) {
- flattenTo(value, result, nestedPrefix, level - 1);
- } else {
- result[nestedPrefix] = value;
- }
- });
-
- return result;
- }
-
- /**
- * Recursively flattens an object.
- * A new object containing all the elements is returned.
- * If level is specified, it will only flatten up to that level.
- */
- function flatten(obj, level) {
- if (obj == null) {
- return {};
- }
-
- level = level == null ? -1 : level;
- return flattenTo(obj, {}, '', level);
- }
-
- module.exports = flatten;
-
-
diff --git a/node_modules/mout/object/forIn.js b/node_modules/mout/object/forIn.js
deleted file mode 100644
index 7fe96ce..0000000
--- a/node_modules/mout/object/forIn.js
+++ /dev/null
@@ -1,76 +0,0 @@
-var hasOwn = require('./hasOwn');
-
- var _hasDontEnumBug,
- _dontEnums;
-
- function checkDontEnum(){
- _dontEnums = [
- 'toString',
- 'toLocaleString',
- 'valueOf',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'constructor'
- ];
-
- _hasDontEnumBug = true;
-
- for (var key in {'toString': null}) {
- _hasDontEnumBug = false;
- }
- }
-
- /**
- * Similar to Array/forEach but works over object properties and fixes Don't
- * Enum bug on IE.
- * based on: http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation
- */
- function forIn(obj, fn, thisObj){
- var key, i = 0;
- // no need to check if argument is a real object that way we can use
- // it for arrays, functions, date, etc.
-
- //post-pone check till needed
- if (_hasDontEnumBug == null) checkDontEnum();
-
- for (key in obj) {
- if (exec(fn, obj, key, thisObj) === false) {
- break;
- }
- }
-
-
- if (_hasDontEnumBug) {
- var ctor = obj.constructor,
- isProto = !!ctor && obj === ctor.prototype;
-
- while (key = _dontEnums[i++]) {
- // For constructor, if it is a prototype object the constructor
- // is always non-enumerable unless defined otherwise (and
- // enumerated above). For non-prototype objects, it will have
- // to be defined on this object, since it cannot be defined on
- // any prototype objects.
- //
- // For other [[DontEnum]] properties, check if the value is
- // different than Object prototype value.
- if (
- (key !== 'constructor' ||
- (!isProto && hasOwn(obj, key))) &&
- obj[key] !== Object.prototype[key]
- ) {
- if (exec(fn, obj, key, thisObj) === false) {
- break;
- }
- }
- }
- }
- }
-
- function exec(fn, obj, key, thisObj){
- return fn.call(thisObj, obj[key], key, obj);
- }
-
- module.exports = forIn;
-
-
diff --git a/node_modules/mout/object/forOwn.js b/node_modules/mout/object/forOwn.js
deleted file mode 100644
index 5f2dfbf..0000000
--- a/node_modules/mout/object/forOwn.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var hasOwn = require('./hasOwn');
-var forIn = require('./forIn');
-
- /**
- * Similar to Array/forEach but works over object properties and fixes Don't
- * Enum bug on IE.
- * based on: http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation
- */
- function forOwn(obj, fn, thisObj){
- forIn(obj, function(val, key){
- if (hasOwn(obj, key)) {
- return fn.call(thisObj, obj[key], key, obj);
- }
- });
- }
-
- module.exports = forOwn;
-
-
diff --git a/node_modules/mout/object/functions.js b/node_modules/mout/object/functions.js
deleted file mode 100644
index f571797..0000000
--- a/node_modules/mout/object/functions.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var forIn = require('./forIn');
-
- /**
- * return a list of all enumerable properties that have function values
- */
- function functions(obj){
- var keys = [];
- forIn(obj, function(val, key){
- if (typeof val === 'function'){
- keys.push(key);
- }
- });
- return keys.sort();
- }
-
- module.exports = functions;
-
-
diff --git a/node_modules/mout/object/get.js b/node_modules/mout/object/get.js
deleted file mode 100644
index 46b6ed6..0000000
--- a/node_modules/mout/object/get.js
+++ /dev/null
@@ -1,20 +0,0 @@
-var isPrimitive = require('../lang/isPrimitive');
-
- /**
- * get "nested" object property
- */
- function get(obj, prop){
- if (!obj) return;
- var parts = prop.split('.'),
- last = parts.pop();
- while (prop = parts.shift()) {
- obj = obj[prop];
- if (obj == null) return;
- }
-
- return obj[last];
- }
-
- module.exports = get;
-
-
diff --git a/node_modules/mout/object/has.js b/node_modules/mout/object/has.js
deleted file mode 100644
index ca9f228..0000000
--- a/node_modules/mout/object/has.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var get = require('./get');
-
- var UNDEF;
-
- /**
- * Check if object has nested property.
- */
- function has(obj, prop){
- return get(obj, prop) !== UNDEF;
- }
-
- module.exports = has;
-
-
-
diff --git a/node_modules/mout/object/hasOwn.js b/node_modules/mout/object/hasOwn.js
deleted file mode 100644
index 7e3c82a..0000000
--- a/node_modules/mout/object/hasOwn.js
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- /**
- * Safer Object.hasOwnProperty
- */
- function hasOwn(obj, prop){
- return Object.prototype.hasOwnProperty.call(obj, prop);
- }
-
- module.exports = hasOwn;
-
-
diff --git a/node_modules/mout/object/keys.js b/node_modules/mout/object/keys.js
deleted file mode 100644
index dd2f4f5..0000000
--- a/node_modules/mout/object/keys.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var forOwn = require('./forOwn');
-
- /**
- * Get object keys
- */
- var keys = Object.keys || function (obj) {
- var keys = [];
- forOwn(obj, function(val, key){
- keys.push(key);
- });
- return keys;
- };
-
- module.exports = keys;
-
-
diff --git a/node_modules/mout/object/map.js b/node_modules/mout/object/map.js
deleted file mode 100644
index dd449a7..0000000
--- a/node_modules/mout/object/map.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var forOwn = require('./forOwn');
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Creates a new object where all the values are the result of calling
- * `callback`.
- */
- function mapValues(obj, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var output = {};
- forOwn(obj, function(val, key, obj) {
- output[key] = callback(val, key, obj);
- });
-
- return output;
- }
- module.exports = mapValues;
-
diff --git a/node_modules/mout/object/matches.js b/node_modules/mout/object/matches.js
deleted file mode 100644
index 6074faa..0000000
--- a/node_modules/mout/object/matches.js
+++ /dev/null
@@ -1,20 +0,0 @@
-var forOwn = require('./forOwn');
-
- /**
- * checks if a object contains all given properties/values
- */
- function matches(target, props){
- // can't use "object/every" because of circular dependency
- var result = true;
- forOwn(props, function(val, key){
- if (target[key] !== val) {
- // break loop at first difference
- return (result = false);
- }
- });
- return result;
- }
-
- module.exports = matches;
-
-
diff --git a/node_modules/mout/object/max.js b/node_modules/mout/object/max.js
deleted file mode 100644
index 3e8e92c..0000000
--- a/node_modules/mout/object/max.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var arrMax = require('../array/max');
-var values = require('./values');
-
- /**
- * Returns maximum value inside object.
- */
- function max(obj, compareFn) {
- return arrMax(values(obj), compareFn);
- }
-
- module.exports = max;
-
diff --git a/node_modules/mout/object/merge.js b/node_modules/mout/object/merge.js
deleted file mode 100644
index 6961f60..0000000
--- a/node_modules/mout/object/merge.js
+++ /dev/null
@@ -1,40 +0,0 @@
-var hasOwn = require('./hasOwn');
-var deepClone = require('../lang/deepClone');
-var isObject = require('../lang/isObject');
-
- /**
- * Deep merge objects.
- */
- function merge() {
- var i = 1,
- key, val, obj, target;
-
- // make sure we don't modify source element and it's properties
- // objects are passed by reference
- target = deepClone( arguments[0] );
-
- while (obj = arguments[i++]) {
- for (key in obj) {
- if ( ! hasOwn(obj, key) ) {
- continue;
- }
-
- val = obj[key];
-
- if ( isObject(val) && isObject(target[key]) ){
- // inception, deep merge objects
- target[key] = merge(target[key], val);
- } else {
- // make sure arrays, regexp, date, objects are cloned
- target[key] = deepClone(val);
- }
-
- }
- }
-
- return target;
- }
-
- module.exports = merge;
-
-
diff --git a/node_modules/mout/object/min.js b/node_modules/mout/object/min.js
deleted file mode 100644
index e1e6697..0000000
--- a/node_modules/mout/object/min.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var arrMin = require('../array/min');
-var values = require('./values');
-
- /**
- * Returns minimum value inside object.
- */
- function min(obj, iterator) {
- return arrMin(values(obj), iterator);
- }
-
- module.exports = min;
-
diff --git a/node_modules/mout/object/mixIn.js b/node_modules/mout/object/mixIn.js
deleted file mode 100644
index 55ec8fd..0000000
--- a/node_modules/mout/object/mixIn.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var forOwn = require('./forOwn');
-
- /**
- * Combine properties from all the objects into first one.
- * - This method affects target object in place, if you want to create a new Object pass an empty object as first param.
- * @param {object} target Target Object
- * @param {...object} objects Objects to be combined (0...n objects).
- * @return {object} Target Object.
- */
- function mixIn(target, objects){
- var i = 0,
- n = arguments.length,
- obj;
- while(++i < n){
- obj = arguments[i];
- if (obj != null) {
- forOwn(obj, copyProp, target);
- }
- }
- return target;
- }
-
- function copyProp(val, key){
- this[key] = val;
- }
-
- module.exports = mixIn;
-
diff --git a/node_modules/mout/object/namespace.js b/node_modules/mout/object/namespace.js
deleted file mode 100644
index c6e79f6..0000000
--- a/node_modules/mout/object/namespace.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var forEach = require('../array/forEach');
-
- /**
- * Create nested object if non-existent
- */
- function namespace(obj, path){
- if (!path) return obj;
- forEach(path.split('.'), function(key){
- if (!obj[key]) {
- obj[key] = {};
- }
- obj = obj[key];
- });
- return obj;
- }
-
- module.exports = namespace;
-
-
diff --git a/node_modules/mout/object/omit.js b/node_modules/mout/object/omit.js
deleted file mode 100644
index 7a5ef05..0000000
--- a/node_modules/mout/object/omit.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var slice = require('../array/slice');
-var contains = require('../array/contains');
-
- /**
- * Return a copy of the object, filtered to only contain properties except the blacklisted keys.
- */
- function omit(obj, var_keys){
- var keys = typeof arguments[1] !== 'string'? arguments[1] : slice(arguments, 1),
- out = {};
-
- for (var property in obj) {
- if (obj.hasOwnProperty(property) && !contains(keys, property)) {
- out[property] = obj[property];
- }
- }
- return out;
- }
-
- module.exports = omit;
-
-
diff --git a/node_modules/mout/object/pick.js b/node_modules/mout/object/pick.js
deleted file mode 100644
index da5a564..0000000
--- a/node_modules/mout/object/pick.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var slice = require('../array/slice');
-
- /**
- * Return a copy of the object, filtered to only have values for the whitelisted keys.
- */
- function pick(obj, var_keys){
- var keys = typeof arguments[1] !== 'string'? arguments[1] : slice(arguments, 1),
- out = {},
- i = 0, key;
- while (key = keys[i++]) {
- out[key] = obj[key];
- }
- return out;
- }
-
- module.exports = pick;
-
-
diff --git a/node_modules/mout/object/pluck.js b/node_modules/mout/object/pluck.js
deleted file mode 100644
index e844df4..0000000
--- a/node_modules/mout/object/pluck.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var map = require('./map');
-var prop = require('../function/prop');
-
- /**
- * Extract a list of property values.
- */
- function pluck(obj, propName){
- return map(obj, prop(propName));
- }
-
- module.exports = pluck;
-
-
diff --git a/node_modules/mout/object/reduce.js b/node_modules/mout/object/reduce.js
deleted file mode 100644
index 6f19a3a..0000000
--- a/node_modules/mout/object/reduce.js
+++ /dev/null
@@ -1,29 +0,0 @@
-var forOwn = require('./forOwn');
-var size = require('./size');
-
- /**
- * Object reduce
- */
- function reduce(obj, callback, memo, thisObj) {
- var initial = arguments.length > 2;
-
- if (!size(obj) && !initial) {
- throw new Error('reduce of empty object with no initial value');
- }
-
- forOwn(obj, function(value, key, list) {
- if (!initial) {
- memo = value;
- initial = true;
- }
- else {
- memo = callback.call(thisObj, memo, value, key, list);
- }
- });
-
- return memo;
- }
-
- module.exports = reduce;
-
-
diff --git a/node_modules/mout/object/reject.js b/node_modules/mout/object/reject.js
deleted file mode 100644
index 7464379..0000000
--- a/node_modules/mout/object/reject.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var filter = require('./filter');
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Object reject
- */
- function reject(obj, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- return filter(obj, function(value, index, obj) {
- return !callback(value, index, obj);
- }, thisObj);
- }
-
- module.exports = reject;
-
-
diff --git a/node_modules/mout/object/result.js b/node_modules/mout/object/result.js
deleted file mode 100644
index 0efdd41..0000000
--- a/node_modules/mout/object/result.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var isFunction = require('../lang/isFunction');
-
- function result(obj, prop) {
- var property = obj[prop];
-
- if(property === undefined) {
- return;
- }
-
- return isFunction(property) ? property.call(obj) : property;
- }
-
- module.exports = result;
-
diff --git a/node_modules/mout/object/set.js b/node_modules/mout/object/set.js
deleted file mode 100644
index f8562ea..0000000
--- a/node_modules/mout/object/set.js
+++ /dev/null
@@ -1,22 +0,0 @@
-var namespace = require('./namespace');
-
- /**
- * set "nested" object property
- */
- function set(obj, prop, val){
- var stringifiedProp = prop.toString();
- // prototype pollution mitigation
- if(stringifiedProp.includes('__proto__') || stringifiedProp.includes('prototype') || stringifiedProp.includes('constructor')) {
- return false;
- }
- var parts = (/^(.+)\.(.+)$/).exec(stringifiedProp);
- if (parts){
- namespace(obj, parts[1])[parts[2]] = val;
- } else {
- obj[stringifiedProp] = val;
- }
- }
-
- module.exports = set;
-
-
diff --git a/node_modules/mout/object/size.js b/node_modules/mout/object/size.js
deleted file mode 100644
index 9788595..0000000
--- a/node_modules/mout/object/size.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var forOwn = require('./forOwn');
-
- /**
- * Get object size
- */
- function size(obj) {
- var count = 0;
- forOwn(obj, function(){
- count++;
- });
- return count;
- }
-
- module.exports = size;
-
-
diff --git a/node_modules/mout/object/some.js b/node_modules/mout/object/some.js
deleted file mode 100644
index 384c6f3..0000000
--- a/node_modules/mout/object/some.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var forOwn = require('./forOwn');
-var makeIterator = require('../function/makeIterator_');
-
- /**
- * Object some
- */
- function some(obj, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var result = false;
- forOwn(obj, function(val, key) {
- if (callback(val, key, obj)) {
- result = true;
- return false; // break
- }
- });
- return result;
- }
-
- module.exports = some;
-
-
diff --git a/node_modules/mout/object/unset.js b/node_modules/mout/object/unset.js
deleted file mode 100644
index 343bca0..0000000
--- a/node_modules/mout/object/unset.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var has = require('./has');
-
- /**
- * Unset object property.
- */
- function unset(obj, prop){
- if (has(obj, prop)) {
- var parts = prop.split('.'),
- last = parts.pop();
- while (prop = parts.shift()) {
- obj = obj[prop];
- }
- return (delete obj[last]);
-
- } else {
- // if property doesn't exist treat as deleted
- return true;
- }
- }
-
- module.exports = unset;
-
-
diff --git a/node_modules/mout/object/values.js b/node_modules/mout/object/values.js
deleted file mode 100644
index 265a693..0000000
--- a/node_modules/mout/object/values.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var forOwn = require('./forOwn');
-
- /**
- * Get object values
- */
- function values(obj) {
- var vals = [];
- forOwn(obj, function(val, key){
- vals.push(val);
- });
- return vals;
- }
-
- module.exports = values;
-
-
diff --git a/node_modules/mout/package.json b/node_modules/mout/package.json
deleted file mode 100644
index d828084..0000000
--- a/node_modules/mout/package.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "name": "mout",
- "description": "Modular Utilities",
- "version": "1.2.4",
- "homepage": "http://moutjs.com/",
- "author": "Miller Medeiros (http://blog.millermedeiros.com)",
- "contributors": [
- "Adam Nowotny",
- "André Cruz ",
- "Conrad Zimmerman (http://www.conradz.com)",
- "Friedemann Altrock ",
- "Igor Almeida ",
- "Jarrod Overson (http://jarrodoverson.com)",
- "Mathias Paumgarten ",
- "Zach Shipley"
- ],
- "keywords": [
- "utilities",
- "functional",
- "amd-utils",
- "stdlib"
- ],
- "repository": {
- "type": "git",
- "url": "git://github.com/mout/mout.git"
- },
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/mout/mout/issues/"
- },
- "main": "./index.js",
- "scripts": {
- "pretest": "node build pkg",
- "test": "istanbul test tests/runner.js --hook-run-in-context"
- },
- "directories": {
- "doc": "./doc"
- },
- "devDependencies": {
- "commander": "~2.16.0",
- "handlebars": "~4.7.7",
- "istanbul": "~0.4.5",
- "jasmine-node": "^1.15.0",
- "jshint": "~2.9.5",
- "mdoc": "~0.5.3",
- "nodefy": "~0.2.2",
- "regenerate": "~1.4.0",
- "requirejs": "~2.3.5",
- "rimraf": "~2.6.2",
- "rocambole": "~0.7.0"
- },
- "testling": {
- "preprocess": "node build testling",
- "browsers": {
- "ie": [
- 7,
- 8,
- 9,
- 10
- ],
- "firefox": [
- 17,
- "nightly"
- ],
- "chrome": [
- 23,
- "canary"
- ],
- "opera": [
- 12,
- "next"
- ],
- "safari": [
- 5.1,
- 6
- ],
- "iphone": [
- 6
- ],
- "ipad": [
- 6
- ]
- },
- "scripts": [
- "tests/lib/jasmine/jasmine.js",
- "tests/lib/jasmine/jasmine.async.js",
- "tests/lib/jasmine/jasmine-tap.js",
- "tests/lib/requirejs/require.js",
- "tests/testling/src.js",
- "tests/testling/specs.js",
- "tests/runner.js"
- ]
- }
-}
\ No newline at end of file
diff --git a/node_modules/mout/queryString.js b/node_modules/mout/queryString.js
deleted file mode 100644
index 22685a7..0000000
--- a/node_modules/mout/queryString.js
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'contains' : require('./queryString/contains'),
- 'decode' : require('./queryString/decode'),
- 'encode' : require('./queryString/encode'),
- 'getParam' : require('./queryString/getParam'),
- 'getQuery' : require('./queryString/getQuery'),
- 'parse' : require('./queryString/parse'),
- 'setParam' : require('./queryString/setParam')
-};
-
-
diff --git a/node_modules/mout/queryString/contains.js b/node_modules/mout/queryString/contains.js
deleted file mode 100644
index da678cf..0000000
--- a/node_modules/mout/queryString/contains.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var getQuery = require('./getQuery');
-
- /**
- * Checks if query string contains parameter.
- */
- function contains(url, paramName) {
- var regex = new RegExp('(\\?|&)'+ paramName +'=', 'g'); //matches `?param=` or `¶m=`
- return regex.test(getQuery(url));
- }
-
- module.exports = contains;
-
diff --git a/node_modules/mout/queryString/decode.js b/node_modules/mout/queryString/decode.js
deleted file mode 100644
index c1b2cab..0000000
--- a/node_modules/mout/queryString/decode.js
+++ /dev/null
@@ -1,36 +0,0 @@
-var typecast = require('../string/typecast');
-var isArray = require('../lang/isArray');
-var hasOwn = require('../object/hasOwn');
-
- /**
- * Decode query string into an object of keys => vals.
- */
- function decode(queryStr, shouldTypecast) {
- var queryArr = (queryStr || '').replace('?', '').split('&'),
- reg = /([^=]+)=(.+)/,
- i = -1,
- obj = {},
- equalIndex, cur, pValue, pName;
-
- while ((cur = queryArr[++i])) {
- equalIndex = cur.indexOf('=');
- pName = cur.substring(0, equalIndex);
- pValue = decodeURIComponent(cur.substring(equalIndex + 1));
- if (shouldTypecast !== false) {
- pValue = typecast(pValue);
- }
- if (hasOwn(obj, pName)){
- if(isArray(obj[pName])){
- obj[pName].push(pValue);
- } else {
- obj[pName] = [obj[pName], pValue];
- }
- } else {
- obj[pName] = pValue;
- }
- }
- return obj;
- }
-
- module.exports = decode;
-
diff --git a/node_modules/mout/queryString/encode.js b/node_modules/mout/queryString/encode.js
deleted file mode 100644
index 3a4fd0a..0000000
--- a/node_modules/mout/queryString/encode.js
+++ /dev/null
@@ -1,27 +0,0 @@
-var forOwn = require('../object/forOwn');
-var isArray = require('../lang/isArray');
-var forEach = require('../array/forEach');
-
- /**
- * Encode object into a query string.
- */
- function encode(obj){
- var query = [],
- arrValues, reg;
- forOwn(obj, function (val, key) {
- if (isArray(val)) {
- arrValues = key + '=';
- reg = new RegExp('&'+key+'+=$');
- forEach(val, function (aValue) {
- arrValues += encodeURIComponent(aValue) + '&' + key + '=';
- });
- query.push(arrValues.replace(reg, ''));
- } else {
- query.push(key + '=' + encodeURIComponent(val));
- }
- });
- return (query.length) ? '?' + query.join('&') : '';
- }
-
- module.exports = encode;
-
diff --git a/node_modules/mout/queryString/getParam.js b/node_modules/mout/queryString/getParam.js
deleted file mode 100644
index f149c3e..0000000
--- a/node_modules/mout/queryString/getParam.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var typecast = require('../string/typecast');
-var getQuery = require('./getQuery');
-
- /**
- * Get query parameter value.
- */
- function getParam(url, param, shouldTypecast){
- var regexp = new RegExp('(\\?|&)'+ param + '=([^&]*)'), //matches `?param=value` or `¶m=value`, value = $2
- result = regexp.exec( getQuery(url) ),
- val = (result && result[2])? result[2] : null;
- return shouldTypecast === false? val : typecast(val);
- }
-
- module.exports = getParam;
-
diff --git a/node_modules/mout/queryString/getQuery.js b/node_modules/mout/queryString/getQuery.js
deleted file mode 100644
index 9d4402e..0000000
--- a/node_modules/mout/queryString/getQuery.js
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- /**
- * Gets full query as string with all special chars decoded.
- */
- function getQuery(url) {
- // url = url.replace(/#.*\?/, '?'); //removes hash (to avoid getting hash query)
- var queryString = /\?[a-zA-Z0-9\=\&\%\$\-\_\.\+\!\*\'\(\)\,]+/.exec(url); //valid chars according to: http://www.ietf.org/rfc/rfc1738.txt
- return (queryString)? decodeURIComponent(queryString[0].replace(/\+/g,' ')) : '';
- }
-
- module.exports = getQuery;
-
diff --git a/node_modules/mout/queryString/parse.js b/node_modules/mout/queryString/parse.js
deleted file mode 100644
index 532906c..0000000
--- a/node_modules/mout/queryString/parse.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var decode = require('./decode');
-var getQuery = require('./getQuery');
-
- /**
- * Get query string, parses and decodes it.
- */
- function parse(url, shouldTypecast) {
- return decode(getQuery(url), shouldTypecast);
- }
-
- module.exports = parse;
-
-
diff --git a/node_modules/mout/queryString/setParam.js b/node_modules/mout/queryString/setParam.js
deleted file mode 100644
index 052a9ba..0000000
--- a/node_modules/mout/queryString/setParam.js
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- /**
- * Set query string parameter value
- */
- function setParam(url, paramName, value){
- url = url || '';
-
- var re = new RegExp('(\\?|&)'+ paramName +'=[^&]*' );
- var param = paramName +'='+ encodeURIComponent( value );
-
- if ( re.test(url) ) {
- return url.replace(re, '$1'+ param);
- } else {
- if (url.indexOf('?') === -1) {
- url += '?';
- }
- if (url.indexOf('=') !== -1) {
- url += '&';
- }
- return url + param;
- }
-
- }
-
- module.exports = setParam;
-
-
diff --git a/node_modules/mout/random.js b/node_modules/mout/random.js
deleted file mode 100644
index a924a10..0000000
--- a/node_modules/mout/random.js
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'choice' : require('./random/choice'),
- 'guid' : require('./random/guid'),
- 'rand' : require('./random/rand'),
- 'randBit' : require('./random/randBit'),
- 'randBool' : require('./random/randBool'),
- 'randHex' : require('./random/randHex'),
- 'randInt' : require('./random/randInt'),
- 'randSign' : require('./random/randSign'),
- 'randString' : require('./random/randString'),
- 'random' : require('./random/random')
-};
-
-
diff --git a/node_modules/mout/random/choice.js b/node_modules/mout/random/choice.js
deleted file mode 100644
index 51aa82a..0000000
--- a/node_modules/mout/random/choice.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var randInt = require('./randInt');
-var isArray = require('../lang/isArray');
-
- /**
- * Returns a random element from the supplied arguments
- * or from the array (if single argument is an array).
- */
- function choice(items) {
- var target = (arguments.length === 1 && isArray(items))? items : arguments;
- return target[ randInt(0, target.length - 1) ];
- }
-
- module.exports = choice;
-
-
diff --git a/node_modules/mout/random/guid.js b/node_modules/mout/random/guid.js
deleted file mode 100644
index 41f6edd..0000000
--- a/node_modules/mout/random/guid.js
+++ /dev/null
@@ -1,24 +0,0 @@
-var randHex = require('./randHex');
-var choice = require('./choice');
-
- /**
- * Returns pseudo-random guid (UUID v4)
- * IMPORTANT: it's not totally "safe" since randHex/choice uses Math.random
- * by default and sequences can be predicted in some cases. See the
- * "random/random" documentation for more info about it and how to replace
- * the default PRNG.
- */
- function guid() {
- return (
- randHex(8)+'-'+
- randHex(4)+'-'+
- // v4 UUID always contain "4" at this position to specify it was
- // randomly generated
- '4' + randHex(3) +'-'+
- // v4 UUID always contain chars [a,b,8,9] at this position
- choice(8, 9, 'a', 'b') + randHex(3)+'-'+
- randHex(12)
- );
- }
- module.exports = guid;
-
diff --git a/node_modules/mout/random/rand.js b/node_modules/mout/random/rand.js
deleted file mode 100644
index 782dec8..0000000
--- a/node_modules/mout/random/rand.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var random = require('./random');
-var MIN_INT = require('../number/MIN_INT');
-var MAX_INT = require('../number/MAX_INT');
-
- /**
- * Returns random number inside range
- */
- function rand(min, max){
- min = min == null? MIN_INT : min;
- max = max == null? MAX_INT : max;
- return min + (max - min) * random();
- }
-
- module.exports = rand;
-
diff --git a/node_modules/mout/random/randBit.js b/node_modules/mout/random/randBit.js
deleted file mode 100644
index 04f7aa5..0000000
--- a/node_modules/mout/random/randBit.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var randBool = require('./randBool');
-
- /**
- * Returns random bit (0 or 1)
- */
- function randomBit() {
- return randBool()? 1 : 0;
- }
-
- module.exports = randomBit;
-
diff --git a/node_modules/mout/random/randBool.js b/node_modules/mout/random/randBool.js
deleted file mode 100644
index d3d35cb..0000000
--- a/node_modules/mout/random/randBool.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var random = require('./random');
-
- /**
- * returns a random boolean value (true or false)
- */
- function randBool(){
- return random() >= 0.5;
- }
-
- module.exports = randBool;
-
-
diff --git a/node_modules/mout/random/randHex.js b/node_modules/mout/random/randHex.js
deleted file mode 100644
index d8d711c..0000000
--- a/node_modules/mout/random/randHex.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var choice = require('./choice');
-
- var _chars = '0123456789abcdef'.split('');
-
- /**
- * Returns a random hexadecimal string
- */
- function randHex(size){
- size = size && size > 0? size : 6;
- var str = '';
- while (size--) {
- str += choice(_chars);
- }
- return str;
- }
-
- module.exports = randHex;
-
-
diff --git a/node_modules/mout/random/randInt.js b/node_modules/mout/random/randInt.js
deleted file mode 100644
index e237d96..0000000
--- a/node_modules/mout/random/randInt.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var MIN_INT = require('../number/MIN_INT');
-var MAX_INT = require('../number/MAX_INT');
-var rand = require('./rand');
-
- /**
- * Gets random integer inside range or snap to min/max values.
- */
- function randInt(min, max){
- min = min == null? MIN_INT : ~~min;
- max = max == null? MAX_INT : ~~max;
- // can't be max + 0.5 otherwise it will round up if `rand`
- // returns `max` causing it to overflow range.
- // -0.5 and + 0.49 are required to avoid bias caused by rounding
- return Math.round( rand(min - 0.5, max + 0.499999999999) );
- }
-
- module.exports = randInt;
-
diff --git a/node_modules/mout/random/randSign.js b/node_modules/mout/random/randSign.js
deleted file mode 100644
index 75a1a51..0000000
--- a/node_modules/mout/random/randSign.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var randBool = require('./randBool');
-
- /**
- * Returns random sign (-1 or 1)
- */
- function randomSign() {
- return randBool()? 1 : -1;
- }
-
- module.exports = randomSign;
-
diff --git a/node_modules/mout/random/randString.js b/node_modules/mout/random/randString.js
deleted file mode 100644
index e3c3597..0000000
--- a/node_modules/mout/random/randString.js
+++ /dev/null
@@ -1,27 +0,0 @@
-var isNumber = require('../lang/isNumber');
-var isString = require('../lang/isString');
-var randInt = require('./randInt');
-
- var defaultDictionary = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
-
- function randomString(length, dictionary) {
- if(!isNumber(length) || length <= 0) {
- length = 8;
- }
-
- if(!isString(dictionary) || dictionary.length < 1) {
- dictionary = defaultDictionary;
- }
-
- var result = '',
- domain = dictionary.length - 1;
-
- while(length--) {
- result += dictionary[randInt(0, domain)];
- }
-
- return result;
- }
-
- module.exports = randomString;
-
diff --git a/node_modules/mout/random/random.js b/node_modules/mout/random/random.js
deleted file mode 100644
index 670a3cc..0000000
--- a/node_modules/mout/random/random.js
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
- /**
- * Just a wrapper to Math.random. No methods inside mout/random should call
- * Math.random() directly so we can inject the pseudo-random number
- * generator if needed (ie. in case we need a seeded random or a better
- * algorithm than the native one)
- */
- function random(){
- return random.get();
- }
-
- // we expose the method so it can be swapped if needed
- random.get = Math.random;
-
- module.exports = random;
-
-
diff --git a/node_modules/mout/src/array.js b/node_modules/mout/src/array.js
deleted file mode 100644
index 489b8fc..0000000
--- a/node_modules/mout/src/array.js
+++ /dev/null
@@ -1,57 +0,0 @@
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'append' : require('./array/append'),
- 'collect' : require('./array/collect'),
- 'combine' : require('./array/combine'),
- 'compact' : require('./array/compact'),
- 'contains' : require('./array/contains'),
- 'difference' : require('./array/difference'),
- 'equals' : require('./array/equals'),
- 'every' : require('./array/every'),
- 'filter' : require('./array/filter'),
- 'find' : require('./array/find'),
- 'findIndex' : require('./array/findIndex'),
- 'findLast' : require('./array/findLast'),
- 'findLastIndex' : require('./array/findLastIndex'),
- 'flatten' : require('./array/flatten'),
- 'forEach' : require('./array/forEach'),
- 'groupBy' : require('./array/groupBy'),
- 'indexOf' : require('./array/indexOf'),
- 'indicesOf' : require('./array/indicesOf'),
- 'insert' : require('./array/insert'),
- 'intersection' : require('./array/intersection'),
- 'invoke' : require('./array/invoke'),
- 'join' : require('./array/join'),
- 'last' : require('./array/last'),
- 'lastIndexOf' : require('./array/lastIndexOf'),
- 'map' : require('./array/map'),
- 'max' : require('./array/max'),
- 'min' : require('./array/min'),
- 'pick' : require('./array/pick'),
- 'pluck' : require('./array/pluck'),
- 'range' : require('./array/range'),
- 'reduce' : require('./array/reduce'),
- 'reduceRight' : require('./array/reduceRight'),
- 'reject' : require('./array/reject'),
- 'remove' : require('./array/remove'),
- 'removeAll' : require('./array/removeAll'),
- 'repeat' : require('./array/repeat'),
- 'reverse' : require('./array/reverse'),
- 'shuffle' : require('./array/shuffle'),
- 'slice' : require('./array/slice'),
- 'some' : require('./array/some'),
- 'sort' : require('./array/sort'),
- 'sortBy' : require('./array/sortBy'),
- 'split' : require('./array/split'),
- 'take' : require('./array/take'),
- 'toLookup' : require('./array/toLookup'),
- 'union' : require('./array/union'),
- 'unique' : require('./array/unique'),
- 'xor' : require('./array/xor'),
- 'zip' : require('./array/zip')
-};
-
-});
diff --git a/node_modules/mout/src/array/append.js b/node_modules/mout/src/array/append.js
deleted file mode 100644
index 549d875..0000000
--- a/node_modules/mout/src/array/append.js
+++ /dev/null
@@ -1,21 +0,0 @@
-define(function () {
-
- /**
- * Appends an array to the end of another.
- * The first array will be modified.
- */
- function append(arr1, arr2) {
- if (arr2 == null) {
- return arr1;
- }
-
- var pad = arr1.length,
- i = -1,
- len = arr2.length;
- while (++i < len) {
- arr1[pad + i] = arr2[i];
- }
- return arr1;
- }
- return append;
-});
diff --git a/node_modules/mout/src/array/collect.js b/node_modules/mout/src/array/collect.js
deleted file mode 100644
index 8f60cda..0000000
--- a/node_modules/mout/src/array/collect.js
+++ /dev/null
@@ -1,26 +0,0 @@
-define(['./append', '../function/makeIterator_'], function (append, makeIterator) {
-
- /**
- * Maps the items in the array and concatenates the result arrays.
- */
- function collect(arr, callback, thisObj){
- callback = makeIterator(callback, thisObj);
- var results = [];
- if (arr == null) {
- return results;
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- var value = callback(arr[i], i, arr);
- if (value != null) {
- append(results, value);
- }
- }
-
- return results;
- }
-
- return collect;
-
-});
diff --git a/node_modules/mout/src/array/combine.js b/node_modules/mout/src/array/combine.js
deleted file mode 100644
index 22efb86..0000000
--- a/node_modules/mout/src/array/combine.js
+++ /dev/null
@@ -1,22 +0,0 @@
-define(['./indexOf'], function (indexOf) {
-
- /**
- * Combines an array with all the items of another.
- * Does not allow duplicates and is case and type sensitive.
- */
- function combine(arr1, arr2) {
- if (arr2 == null) {
- return arr1;
- }
-
- var i = -1, len = arr2.length;
- while (++i < len) {
- if (indexOf(arr1, arr2[i]) === -1) {
- arr1.push(arr2[i]);
- }
- }
-
- return arr1;
- }
- return combine;
-});
diff --git a/node_modules/mout/src/array/compact.js b/node_modules/mout/src/array/compact.js
deleted file mode 100644
index 02a8109..0000000
--- a/node_modules/mout/src/array/compact.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['./filter'], function (filter) {
-
- /**
- * Remove all null/undefined items from array.
- */
- function compact(arr) {
- return filter(arr, function(val){
- return (val != null);
- });
- }
-
- return compact;
-});
diff --git a/node_modules/mout/src/array/contains.js b/node_modules/mout/src/array/contains.js
deleted file mode 100644
index fca4f7c..0000000
--- a/node_modules/mout/src/array/contains.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define(['./indexOf'], function (indexOf) {
-
- /**
- * If array contains values.
- */
- function contains(arr, val) {
- return indexOf(arr, val) !== -1;
- }
- return contains;
-});
diff --git a/node_modules/mout/src/array/difference.js b/node_modules/mout/src/array/difference.js
deleted file mode 100644
index 0d52c25..0000000
--- a/node_modules/mout/src/array/difference.js
+++ /dev/null
@@ -1,19 +0,0 @@
-define(['./unique', './filter', './some', './contains', './slice'], function (unique, filter, some, contains, slice) {
-
-
- /**
- * Return a new Array with elements that aren't present in the other Arrays.
- */
- function difference(arr) {
- var arrs = slice(arguments, 1),
- result = filter(unique(arr), function(needle){
- return !some(arrs, function(haystack){
- return contains(haystack, needle);
- });
- });
- return result;
- }
-
- return difference;
-
-});
diff --git a/node_modules/mout/src/array/equals.js b/node_modules/mout/src/array/equals.js
deleted file mode 100644
index 0e3e148..0000000
--- a/node_modules/mout/src/array/equals.js
+++ /dev/null
@@ -1,28 +0,0 @@
-define(['../lang/is', '../lang/isArray', './every'], function(is, isArray, every) {
-
- /**
- * Compares if both arrays have the same elements
- */
- function equals(a, b, callback){
- callback = callback || is;
-
- if (!isArray(a) || !isArray(b)) {
- return callback(a, b);
- }
-
- if (a.length !== b.length) {
- return false;
- }
-
- return every(a, makeCompare(callback), b);
- }
-
- function makeCompare(callback) {
- return function(value, i) {
- return i in this && callback(value, this[i]);
- };
- }
-
- return equals;
-
-});
diff --git a/node_modules/mout/src/array/every.js b/node_modules/mout/src/array/every.js
deleted file mode 100644
index 78ba46d..0000000
--- a/node_modules/mout/src/array/every.js
+++ /dev/null
@@ -1,27 +0,0 @@
-define(['../function/makeIterator_'], function (makeIterator) {
-
- /**
- * Array every
- */
- function every(arr, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var result = true;
- if (arr == null) {
- return result;
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- // we iterate over sparse items since there is no way to make it
- // work properly on IE 7-8. see #64
- if (!callback(arr[i], i, arr) ) {
- result = false;
- break;
- }
- }
-
- return result;
- }
-
- return every;
-});
diff --git a/node_modules/mout/src/array/filter.js b/node_modules/mout/src/array/filter.js
deleted file mode 100644
index 38add18..0000000
--- a/node_modules/mout/src/array/filter.js
+++ /dev/null
@@ -1,26 +0,0 @@
-define(['../function/makeIterator_'], function (makeIterator) {
-
- /**
- * Array filter
- */
- function filter(arr, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var results = [];
- if (arr == null) {
- return results;
- }
-
- var i = -1, len = arr.length, value;
- while (++i < len) {
- value = arr[i];
- if (callback(value, i, arr)) {
- results.push(value);
- }
- }
-
- return results;
- }
-
- return filter;
-
-});
diff --git a/node_modules/mout/src/array/find.js b/node_modules/mout/src/array/find.js
deleted file mode 100644
index 3957dcd..0000000
--- a/node_modules/mout/src/array/find.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['./findIndex'], function (findIndex) {
-
- /**
- * Returns first item that matches criteria
- */
- function find(arr, iterator, thisObj){
- var idx = findIndex(arr, iterator, thisObj);
- return idx >= 0? arr[idx] : void(0);
- }
-
- return find;
-
-});
diff --git a/node_modules/mout/src/array/findIndex.js b/node_modules/mout/src/array/findIndex.js
deleted file mode 100644
index 59dfeeb..0000000
--- a/node_modules/mout/src/array/findIndex.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define(['../function/makeIterator_'], function (makeIterator) {
-
- /**
- * Returns the index of the first item that matches criteria
- */
- function findIndex(arr, iterator, thisObj){
- iterator = makeIterator(iterator, thisObj);
- if (arr == null) {
- return -1;
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- if (iterator(arr[i], i, arr)) {
- return i;
- }
- }
-
- return -1;
- }
-
- return findIndex;
-});
diff --git a/node_modules/mout/src/array/findLast.js b/node_modules/mout/src/array/findLast.js
deleted file mode 100644
index 9308fa6..0000000
--- a/node_modules/mout/src/array/findLast.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['./findLastIndex'], function (findLastIndex) {
-
- /**
- * Returns last item that matches criteria
- */
- function findLast(arr, iterator, thisObj){
- var idx = findLastIndex(arr, iterator, thisObj);
- return idx >= 0? arr[idx] : void(0);
- }
-
- return findLast;
-
-});
diff --git a/node_modules/mout/src/array/findLastIndex.js b/node_modules/mout/src/array/findLastIndex.js
deleted file mode 100644
index 45f266e..0000000
--- a/node_modules/mout/src/array/findLastIndex.js
+++ /dev/null
@@ -1,24 +0,0 @@
-define(['../function/makeIterator_'], function (makeIterator) {
-
- /**
- * Returns the index of the last item that matches criteria
- */
- function findLastIndex(arr, iterator, thisObj){
- iterator = makeIterator(iterator, thisObj);
- if (arr == null) {
- return -1;
- }
-
- var n = arr.length;
- while (--n >= 0) {
- if (iterator(arr[n], n, arr)) {
- return n;
- }
- }
-
- return -1;
- }
-
- return findLastIndex;
-
-});
diff --git a/node_modules/mout/src/array/flatten.js b/node_modules/mout/src/array/flatten.js
deleted file mode 100644
index 3035b33..0000000
--- a/node_modules/mout/src/array/flatten.js
+++ /dev/null
@@ -1,44 +0,0 @@
-define(['../lang/isArray', './append'], function (isArray, append) {
-
- /*
- * Helper function to flatten to a destination array.
- * Used to remove the need to create intermediate arrays while flattening.
- */
- function flattenTo(arr, result, level) {
- if (level === 0) {
- append(result, arr);
- return result;
- }
-
- var value,
- i = -1,
- len = arr.length;
- while (++i < len) {
- value = arr[i];
- if (isArray(value)) {
- flattenTo(value, result, level - 1);
- } else {
- result.push(value);
- }
- }
- return result;
- }
-
- /**
- * Recursively flattens an array.
- * A new array containing all the elements is returned.
- * If level is specified, it will only flatten up to that level.
- */
- function flatten(arr, level) {
- if (arr == null) {
- return [];
- }
-
- level = level == null ? -1 : level;
- return flattenTo(arr, [], level);
- }
-
- return flatten;
-
-});
-
diff --git a/node_modules/mout/src/array/forEach.js b/node_modules/mout/src/array/forEach.js
deleted file mode 100644
index 0e04586..0000000
--- a/node_modules/mout/src/array/forEach.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define(function () {
-
- /**
- * Array forEach
- */
- function forEach(arr, callback, thisObj) {
- if (arr == null) {
- return;
- }
- var i = -1,
- len = arr.length;
- while (++i < len) {
- // we iterate over sparse items since there is no way to make it
- // work properly on IE 7-8. see #64
- if ( callback.call(thisObj, arr[i], i, arr) === false ) {
- break;
- }
- }
- }
-
- return forEach;
-
-});
diff --git a/node_modules/mout/src/array/groupBy.js b/node_modules/mout/src/array/groupBy.js
deleted file mode 100644
index 47906be..0000000
--- a/node_modules/mout/src/array/groupBy.js
+++ /dev/null
@@ -1,32 +0,0 @@
-define([
- '../array/forEach',
- '../function/identity',
- '../function/makeIterator_'
-], function(forEach, identity, makeIterator) {
-
- /**
- * Bucket the array values.
- */
- function groupBy(arr, categorize, thisObj) {
- if (categorize) {
- categorize = makeIterator(categorize, thisObj);
- } else {
- // Default to identity function.
- categorize = identity;
- }
-
- var buckets = {};
- forEach(arr, function(element) {
- var bucket = categorize(element);
- if (!(bucket in buckets)) {
- buckets[bucket] = [];
- }
-
- buckets[bucket].push(element);
- });
-
- return buckets;
- }
-
- return groupBy;
-});
diff --git a/node_modules/mout/src/array/indexOf.js b/node_modules/mout/src/array/indexOf.js
deleted file mode 100644
index 0e75f99..0000000
--- a/node_modules/mout/src/array/indexOf.js
+++ /dev/null
@@ -1,28 +0,0 @@
-define(function () {
-
- /**
- * Array.indexOf
- */
- function indexOf(arr, item, fromIndex) {
- fromIndex = fromIndex || 0;
- if (arr == null) {
- return -1;
- }
-
- var len = arr.length,
- i = fromIndex < 0 ? len + fromIndex : fromIndex;
- while (i < len) {
- // we iterate over sparse items since there is no way to make it
- // work properly on IE 7-8. see #64
- if (arr[i] === item) {
- return i;
- }
-
- i++;
- }
-
- return -1;
- }
-
- return indexOf;
-});
diff --git a/node_modules/mout/src/array/indicesOf.js b/node_modules/mout/src/array/indicesOf.js
deleted file mode 100644
index c17006b..0000000
--- a/node_modules/mout/src/array/indicesOf.js
+++ /dev/null
@@ -1,28 +0,0 @@
-define(function () {
-
- /**
- * Array indicesOf
- */
- function indicesOf(arr, item, fromIndex) {
- var results = [];
- if (arr == null) {
- return results;
- }
-
- fromIndex = typeof fromIndex === 'number' ? fromIndex : 0;
-
- var length = arr.length;
- var cursor = fromIndex >= 0 ? fromIndex : length + fromIndex;
-
- while (cursor < length) {
- if (arr[cursor] === item) {
- results.push(cursor);
- }
- cursor++;
- }
-
- return results;
- }
-
- return indicesOf;
-});
diff --git a/node_modules/mout/src/array/insert.js b/node_modules/mout/src/array/insert.js
deleted file mode 100644
index a3d7196..0000000
--- a/node_modules/mout/src/array/insert.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(['./difference', './slice'], function (difference, slice) {
-
- /**
- * Insert item into array if not already present.
- */
- function insert(arr, rest_items) {
- var diff = difference(slice(arguments, 1), arr);
- if (diff.length) {
- Array.prototype.push.apply(arr, diff);
- }
- return arr.length;
- }
- return insert;
-});
diff --git a/node_modules/mout/src/array/intersection.js b/node_modules/mout/src/array/intersection.js
deleted file mode 100644
index 8d0baa4..0000000
--- a/node_modules/mout/src/array/intersection.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define(['./unique', './filter', './every', './contains', './slice'], function (unique, filter, every, contains, slice) {
-
-
- /**
- * Return a new Array with elements common to all Arrays.
- * - based on underscore.js implementation
- */
- function intersection(arr) {
- var arrs = slice(arguments, 1),
- result = filter(unique(arr), function(needle){
- return every(arrs, function(haystack){
- return contains(haystack, needle);
- });
- });
- return result;
- }
-
- return intersection;
-
-});
diff --git a/node_modules/mout/src/array/invoke.js b/node_modules/mout/src/array/invoke.js
deleted file mode 100644
index 860d72a..0000000
--- a/node_modules/mout/src/array/invoke.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define(['./slice'], function (slice) {
-
- /**
- * Call `methodName` on each item of the array passing custom arguments if
- * needed.
- */
- function invoke(arr, methodName, var_args){
- if (arr == null) {
- return arr;
- }
-
- var args = slice(arguments, 2);
- var i = -1, len = arr.length, value;
- while (++i < len) {
- value = arr[i];
- value[methodName].apply(value, args);
- }
-
- return arr;
- }
-
- return invoke;
-});
diff --git a/node_modules/mout/src/array/join.js b/node_modules/mout/src/array/join.js
deleted file mode 100644
index 2c618d2..0000000
--- a/node_modules/mout/src/array/join.js
+++ /dev/null
@@ -1,17 +0,0 @@
-define(['./filter'], function(filter) {
-
- function isValidString(val) {
- return (val != null && val !== '');
- }
-
- /**
- * Joins strings with the specified separator inserted between each value.
- * Null values and empty strings will be excluded.
- */
- function join(items, separator) {
- separator = separator || '';
- return filter(items, isValidString).join(separator);
- }
-
- return join;
-});
diff --git a/node_modules/mout/src/array/last.js b/node_modules/mout/src/array/last.js
deleted file mode 100644
index 2c85296..0000000
--- a/node_modules/mout/src/array/last.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(function () {
-
- /**
- * Returns last element of array.
- */
- function last(arr){
- if (arr == null || arr.length < 1) {
- return undefined;
- }
-
- return arr[arr.length - 1];
- }
-
- return last;
-
-});
diff --git a/node_modules/mout/src/array/lastIndexOf.js b/node_modules/mout/src/array/lastIndexOf.js
deleted file mode 100644
index 931235f..0000000
--- a/node_modules/mout/src/array/lastIndexOf.js
+++ /dev/null
@@ -1,28 +0,0 @@
-define(function () {
-
- /**
- * Array lastIndexOf
- */
- function lastIndexOf(arr, item, fromIndex) {
- if (arr == null) {
- return -1;
- }
-
- var len = arr.length;
- fromIndex = (fromIndex == null || fromIndex >= len)? len - 1 : fromIndex;
- fromIndex = (fromIndex < 0)? len + fromIndex : fromIndex;
-
- while (fromIndex >= 0) {
- // we iterate over sparse items since there is no way to make it
- // work properly on IE 7-8. see #64
- if (arr[fromIndex] === item) {
- return fromIndex;
- }
- fromIndex--;
- }
-
- return -1;
- }
-
- return lastIndexOf;
-});
diff --git a/node_modules/mout/src/array/map.js b/node_modules/mout/src/array/map.js
deleted file mode 100644
index 14377ab..0000000
--- a/node_modules/mout/src/array/map.js
+++ /dev/null
@@ -1,22 +0,0 @@
-define(['../function/makeIterator_'], function (makeIterator) {
-
- /**
- * Array map
- */
- function map(arr, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var results = [];
- if (arr == null){
- return results;
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- results[i] = callback(arr[i], i, arr);
- }
-
- return results;
- }
-
- return map;
-});
diff --git a/node_modules/mout/src/array/max.js b/node_modules/mout/src/array/max.js
deleted file mode 100644
index d0628f0..0000000
--- a/node_modules/mout/src/array/max.js
+++ /dev/null
@@ -1,34 +0,0 @@
-define(['../function/makeIterator_'], function (makeIterator) {
-
- /**
- * Return maximum value inside array
- */
- function max(arr, iterator, thisObj){
- if (arr == null || !arr.length) {
- return Infinity;
- } else if (arr.length && !iterator) {
- return Math.max.apply(Math, arr);
- } else {
- iterator = makeIterator(iterator, thisObj);
- var result,
- compare = -Infinity,
- value,
- temp;
-
- var i = -1, len = arr.length;
- while (++i < len) {
- value = arr[i];
- temp = iterator(value, i, arr);
- if (temp > compare) {
- compare = temp;
- result = value;
- }
- }
-
- return result;
- }
- }
-
- return max;
-
-});
diff --git a/node_modules/mout/src/array/min.js b/node_modules/mout/src/array/min.js
deleted file mode 100644
index 07a0c71..0000000
--- a/node_modules/mout/src/array/min.js
+++ /dev/null
@@ -1,34 +0,0 @@
-define(['../function/makeIterator_'], function (makeIterator) {
-
- /**
- * Return minimum value inside array
- */
- function min(arr, iterator, thisObj){
- if (arr == null || !arr.length) {
- return -Infinity;
- } else if (arr.length && !iterator) {
- return Math.min.apply(Math, arr);
- } else {
- iterator = makeIterator(iterator, thisObj);
- var result,
- compare = Infinity,
- value,
- temp;
-
- var i = -1, len = arr.length;
- while (++i < len) {
- value = arr[i];
- temp = iterator(value, i, arr);
- if (temp < compare) {
- compare = temp;
- result = value;
- }
- }
-
- return result;
- }
- }
-
- return min;
-
-});
diff --git a/node_modules/mout/src/array/pick.js b/node_modules/mout/src/array/pick.js
deleted file mode 100644
index dc5b222..0000000
--- a/node_modules/mout/src/array/pick.js
+++ /dev/null
@@ -1,31 +0,0 @@
-define(['../random/randInt'], function (randInt) {
-
- /**
- * Remove random item(s) from the Array and return it.
- * Returns an Array of items if [nItems] is provided or a single item if
- * it isn't specified.
- */
- function pick(arr, nItems){
- if (nItems != null) {
- var result = [];
- if (nItems > 0 && arr && arr.length) {
- nItems = nItems > arr.length? arr.length : nItems;
- while (nItems--) {
- result.push( pickOne(arr) );
- }
- }
- return result;
- }
- return (arr && arr.length)? pickOne(arr) : void(0);
- }
-
-
- function pickOne(arr){
- var idx = randInt(0, arr.length - 1);
- return arr.splice(idx, 1)[0];
- }
-
-
- return pick;
-
-});
diff --git a/node_modules/mout/src/array/pluck.js b/node_modules/mout/src/array/pluck.js
deleted file mode 100644
index c908856..0000000
--- a/node_modules/mout/src/array/pluck.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(['./map'], function (map) {
-
- /**
- * Extract a list of property values.
- */
- function pluck(arr, propName){
- return map(arr, propName);
- }
-
- return pluck;
-
-});
diff --git a/node_modules/mout/src/array/range.js b/node_modules/mout/src/array/range.js
deleted file mode 100644
index 148ebf9..0000000
--- a/node_modules/mout/src/array/range.js
+++ /dev/null
@@ -1,27 +0,0 @@
-define(['../math/countSteps'], function (countSteps) {
-
- /**
- * Returns an Array of numbers inside range.
- */
- function range(start, stop, step) {
- if (stop == null) {
- stop = start;
- start = 0;
- }
- step = step || 1;
-
- var result = [],
- nSteps = countSteps(stop - start, step),
- i = start;
-
- while (i <= stop) {
- result.push(i);
- i += step;
- }
-
- return result;
- }
-
- return range;
-
-});
diff --git a/node_modules/mout/src/array/reduce.js b/node_modules/mout/src/array/reduce.js
deleted file mode 100644
index 5f97ae8..0000000
--- a/node_modules/mout/src/array/reduce.js
+++ /dev/null
@@ -1,33 +0,0 @@
-define(function () {
-
- /**
- * Array reduce
- */
- function reduce(arr, fn, initVal) {
- // check for args.length since initVal might be "undefined" see #gh-57
- var hasInit = arguments.length > 2,
- result = initVal;
-
- if (arr == null || !arr.length) {
- if (!hasInit) {
- throw new Error('reduce of empty array with no initial value');
- } else {
- return initVal;
- }
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- if (!hasInit) {
- result = arr[i];
- hasInit = true;
- } else {
- result = fn(result, arr[i], i, arr);
- }
- }
-
- return result;
- }
-
- return reduce;
-});
diff --git a/node_modules/mout/src/array/reduceRight.js b/node_modules/mout/src/array/reduceRight.js
deleted file mode 100644
index ddae0e7..0000000
--- a/node_modules/mout/src/array/reduceRight.js
+++ /dev/null
@@ -1,34 +0,0 @@
-define(function () {
-
- /**
- * Array reduceRight
- */
- function reduceRight(arr, fn, initVal) {
- // check for args.length since initVal might be "undefined" see #gh-57
- var hasInit = arguments.length > 2;
-
- if (arr == null || !arr.length) {
- if (hasInit) {
- return initVal;
- } else {
- throw new Error('reduce of empty array with no initial value');
- }
- }
-
- var i = arr.length, result = initVal, value;
- while (--i >= 0) {
- // we iterate over sparse items since there is no way to make it
- // work properly on IE 7-8. see #64
- value = arr[i];
- if (!hasInit) {
- result = value;
- hasInit = true;
- } else {
- result = fn(result, value, i, arr);
- }
- }
- return result;
- }
-
- return reduceRight;
-});
diff --git a/node_modules/mout/src/array/reject.js b/node_modules/mout/src/array/reject.js
deleted file mode 100644
index cad4038..0000000
--- a/node_modules/mout/src/array/reject.js
+++ /dev/null
@@ -1,25 +0,0 @@
-define(['../function/makeIterator_'], function(makeIterator) {
-
- /**
- * Array reject
- */
- function reject(arr, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var results = [];
- if (arr == null) {
- return results;
- }
-
- var i = -1, len = arr.length, value;
- while (++i < len) {
- value = arr[i];
- if (!callback(value, i, arr)) {
- results.push(value);
- }
- }
-
- return results;
- }
-
- return reject;
-});
diff --git a/node_modules/mout/src/array/remove.js b/node_modules/mout/src/array/remove.js
deleted file mode 100644
index dec9134..0000000
--- a/node_modules/mout/src/array/remove.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['./indexOf'], function(indexOf){
-
- /**
- * Remove a single item from the array.
- * (it won't remove duplicates, just a single item)
- */
- function remove(arr, item){
- var idx = indexOf(arr, item);
- if (idx !== -1) arr.splice(idx, 1);
- }
-
- return remove;
-});
diff --git a/node_modules/mout/src/array/removeAll.js b/node_modules/mout/src/array/removeAll.js
deleted file mode 100644
index e81022b..0000000
--- a/node_modules/mout/src/array/removeAll.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define(['./indexOf'], function(indexOf){
-
- /**
- * Remove all instances of an item from array.
- */
- function removeAll(arr, item){
- var idx = indexOf(arr, item);
- while (idx !== -1) {
- arr.splice(idx, 1);
- idx = indexOf(arr, item, idx);
- }
- }
-
- return removeAll;
-});
diff --git a/node_modules/mout/src/array/repeat.js b/node_modules/mout/src/array/repeat.js
deleted file mode 100644
index 5ac3c3e..0000000
--- a/node_modules/mout/src/array/repeat.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(function() {
-
- /**
- * Create an array of size N and fill with a value.
- * This function will throw an exception in case
- * you pass a negative number.
- */
- function repeat(n, value) {
- var arr = new Array(n);
- return arr.fill(value);
- }
-
- return repeat;
-});
diff --git a/node_modules/mout/src/array/reverse.js b/node_modules/mout/src/array/reverse.js
deleted file mode 100644
index b970427..0000000
--- a/node_modules/mout/src/array/reverse.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(function () {
-
- /**
- * Returns a copy of the array in reversed order.
- */
- function reverse(array) {
- var copy = array.slice();
- copy.reverse();
- return copy;
- }
-
- return reverse;
-
-});
diff --git a/node_modules/mout/src/array/shuffle.js b/node_modules/mout/src/array/shuffle.js
deleted file mode 100644
index 1965b66..0000000
--- a/node_modules/mout/src/array/shuffle.js
+++ /dev/null
@@ -1,28 +0,0 @@
-define(['../random/randInt'], function (randInt) {
-
- /**
- * Shuffle array items.
- */
- function shuffle(arr) {
- var results = [],
- rnd;
- if (arr == null) {
- return results;
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- if (!i) {
- results[0] = arr[0];
- } else {
- rnd = randInt(0, i);
- results[i] = results[rnd];
- results[rnd] = arr[i];
- }
- }
-
- return results;
- }
-
- return shuffle;
-});
diff --git a/node_modules/mout/src/array/slice.js b/node_modules/mout/src/array/slice.js
deleted file mode 100644
index 994caba..0000000
--- a/node_modules/mout/src/array/slice.js
+++ /dev/null
@@ -1,35 +0,0 @@
-define(function () {
-
- /**
- * Create slice of source array or array-like object
- */
- function slice(arr, start, end){
- var len = arr.length;
-
- if (start == null) {
- start = 0;
- } else if (start < 0) {
- start = Math.max(len + start, 0);
- } else {
- start = Math.min(start, len);
- }
-
- if (end == null) {
- end = len;
- } else if (end < 0) {
- end = Math.max(len + end, 0);
- } else {
- end = Math.min(end, len);
- }
-
- var result = [];
- while (start < end) {
- result.push(arr[start++]);
- }
-
- return result;
- }
-
- return slice;
-
-});
diff --git a/node_modules/mout/src/array/some.js b/node_modules/mout/src/array/some.js
deleted file mode 100644
index e46a978..0000000
--- a/node_modules/mout/src/array/some.js
+++ /dev/null
@@ -1,27 +0,0 @@
-define(['../function/makeIterator_'], function (makeIterator) {
-
- /**
- * Array some
- */
- function some(arr, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var result = false;
- if (arr == null) {
- return result;
- }
-
- var i = -1, len = arr.length;
- while (++i < len) {
- // we iterate over sparse items since there is no way to make it
- // work properly on IE 7-8. see #64
- if ( callback(arr[i], i, arr) ) {
- result = true;
- break;
- }
- }
-
- return result;
- }
-
- return some;
-});
diff --git a/node_modules/mout/src/array/sort.js b/node_modules/mout/src/array/sort.js
deleted file mode 100644
index 4c19404..0000000
--- a/node_modules/mout/src/array/sort.js
+++ /dev/null
@@ -1,55 +0,0 @@
-define(function () {
-
- /**
- * Merge sort (http://en.wikipedia.org/wiki/Merge_sort)
- */
- function mergeSort(arr, compareFn) {
- if (arr == null) {
- return [];
- } else if (arr.length < 2) {
- return arr;
- }
-
- if (compareFn == null) {
- compareFn = defaultCompare;
- }
-
- var mid, left, right;
-
- mid = ~~(arr.length / 2);
- left = mergeSort( arr.slice(0, mid), compareFn );
- right = mergeSort( arr.slice(mid, arr.length), compareFn );
-
- return merge(left, right, compareFn);
- }
-
- function defaultCompare(a, b) {
- return a < b ? -1 : (a > b? 1 : 0);
- }
-
- function merge(left, right, compareFn) {
- var result = [];
-
- while (left.length && right.length) {
- if (compareFn(left[0], right[0]) <= 0) {
- // if 0 it should preserve same order (stable)
- result.push(left.shift());
- } else {
- result.push(right.shift());
- }
- }
-
- if (left.length) {
- result.push.apply(result, left);
- }
-
- if (right.length) {
- result.push.apply(result, right);
- }
-
- return result;
- }
-
- return mergeSort;
-
-});
diff --git a/node_modules/mout/src/array/sortBy.js b/node_modules/mout/src/array/sortBy.js
deleted file mode 100644
index 2797194..0000000
--- a/node_modules/mout/src/array/sortBy.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(['./sort', '../function/makeIterator_'], function (sort, makeIterator) {
-
- /*
- * Sort array by the result of the callback
- */
- function sortBy(arr, callback, context){
- callback = makeIterator(callback, context);
-
- return sort(arr, function(a, b) {
- a = callback(a);
- b = callback(b);
- return (a < b) ? -1 : ((a > b) ? 1 : 0);
- });
- }
-
- return sortBy;
-
-});
diff --git a/node_modules/mout/src/array/split.js b/node_modules/mout/src/array/split.js
deleted file mode 100644
index a17275e..0000000
--- a/node_modules/mout/src/array/split.js
+++ /dev/null
@@ -1,35 +0,0 @@
-define(function() {
-
- /**
- * Split array into a fixed number of segments.
- */
- function split(array, segments) {
- segments = segments || 2;
- var results = [];
- if (array == null) {
- return results;
- }
-
- var minLength = Math.floor(array.length / segments),
- remainder = array.length % segments,
- i = 0,
- len = array.length,
- segmentIndex = 0,
- segmentLength;
-
- while (i < len) {
- segmentLength = minLength;
- if (segmentIndex < remainder) {
- segmentLength++;
- }
-
- results.push(array.slice(i, i + segmentLength));
-
- segmentIndex++;
- i += segmentLength;
- }
-
- return results;
- }
- return split;
-});
diff --git a/node_modules/mout/src/array/take.js b/node_modules/mout/src/array/take.js
deleted file mode 100644
index 74b8241..0000000
--- a/node_modules/mout/src/array/take.js
+++ /dev/null
@@ -1,24 +0,0 @@
-define(function () {
-
- /**
- * Iterates over a callback a set amount of times
- * returning the results
- */
- function take(n, callback, thisObj){
- var i = -1;
- var arr = [];
- if( !thisObj ){
- while(++i < n){
- arr[i] = callback(i, n);
- }
- } else {
- while(++i < n){
- arr[i] = callback.call(thisObj, i, n);
- }
- }
- return arr;
- }
-
- return take;
-
-});
diff --git a/node_modules/mout/src/array/toLookup.js b/node_modules/mout/src/array/toLookup.js
deleted file mode 100644
index aac8fd1..0000000
--- a/node_modules/mout/src/array/toLookup.js
+++ /dev/null
@@ -1,28 +0,0 @@
-define(['../lang/isFunction'], function (isFunction) {
-
- /**
- * Creates an object that holds a lookup for the objects in the array.
- */
- function toLookup(arr, key) {
- var result = {};
- if (arr == null) {
- return result;
- }
-
- var i = -1, len = arr.length, value;
- if (isFunction(key)) {
- while (++i < len) {
- value = arr[i];
- result[key(value)] = value;
- }
- } else {
- while (++i < len) {
- value = arr[i];
- result[value[key]] = value;
- }
- }
-
- return result;
- }
- return toLookup;
-});
diff --git a/node_modules/mout/src/array/union.js b/node_modules/mout/src/array/union.js
deleted file mode 100644
index 5f9922e..0000000
--- a/node_modules/mout/src/array/union.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(['./unique', './append'], function (unique, append) {
-
- /**
- * Concat multiple arrays and remove duplicates
- */
- function union(arrs) {
- var results = [];
- var i = -1, len = arguments.length;
- while (++i < len) {
- append(results, arguments[i]);
- }
-
- return unique(results);
- }
-
- return union;
-
-});
diff --git a/node_modules/mout/src/array/unique.js b/node_modules/mout/src/array/unique.js
deleted file mode 100644
index c4a011a..0000000
--- a/node_modules/mout/src/array/unique.js
+++ /dev/null
@@ -1,25 +0,0 @@
-define(['./filter'], function(filter){
-
- /**
- * @return {array} Array of unique items
- */
- function unique(arr, compare){
- compare = compare || isEqual;
- return filter(arr, function(item, i, arr){
- var n = arr.length;
- while (++i < n) {
- if ( compare(item, arr[i]) ) {
- return false;
- }
- }
- return true;
- });
- }
-
- function isEqual(a, b){
- return a === b;
- }
-
- return unique;
-});
-
diff --git a/node_modules/mout/src/array/xor.js b/node_modules/mout/src/array/xor.js
deleted file mode 100644
index 7df89d9..0000000
--- a/node_modules/mout/src/array/xor.js
+++ /dev/null
@@ -1,24 +0,0 @@
-define(['./unique', './filter', './contains'], function (unique, filter, contains) {
-
-
- /**
- * Exclusive OR. Returns items that are present in a single array.
- * - like ptyhon's `symmetric_difference`
- */
- function xor(arr1, arr2) {
- arr1 = unique(arr1);
- arr2 = unique(arr2);
-
- var a1 = filter(arr1, function(item){
- return !contains(arr2, item);
- }),
- a2 = filter(arr2, function(item){
- return !contains(arr1, item);
- });
-
- return a1.concat(a2);
- }
-
- return xor;
-
-});
diff --git a/node_modules/mout/src/array/zip.js b/node_modules/mout/src/array/zip.js
deleted file mode 100644
index bd0dbb8..0000000
--- a/node_modules/mout/src/array/zip.js
+++ /dev/null
@@ -1,27 +0,0 @@
-define(['./max', './map'], function (max, map) {
-
- function getLength(arr) {
- return arr == null ? 0 : arr.length;
- }
-
- /**
- * Merges together the values of each of the arrays with the values at the
- * corresponding position.
- */
- function zip(arr){
- var len = arr ? max(map(arguments, getLength)) : 0,
- results = [],
- i = -1;
- while (++i < len) {
- // jshint loopfunc: true
- results.push(map(arguments, function(item) {
- return item == null ? undefined : item[i];
- }));
- }
-
- return results;
- }
-
- return zip;
-
-});
diff --git a/node_modules/mout/src/collection.js b/node_modules/mout/src/collection.js
deleted file mode 100644
index 386e6da..0000000
--- a/node_modules/mout/src/collection.js
+++ /dev/null
@@ -1,22 +0,0 @@
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'contains' : require('./collection/contains'),
- 'every' : require('./collection/every'),
- 'filter' : require('./collection/filter'),
- 'find' : require('./collection/find'),
- 'forEach' : require('./collection/forEach'),
- 'make_' : require('./collection/make_'),
- 'map' : require('./collection/map'),
- 'max' : require('./collection/max'),
- 'min' : require('./collection/min'),
- 'pluck' : require('./collection/pluck'),
- 'reduce' : require('./collection/reduce'),
- 'reject' : require('./collection/reject'),
- 'size' : require('./collection/size'),
- 'some' : require('./collection/some')
-};
-
-});
diff --git a/node_modules/mout/src/collection/contains.js b/node_modules/mout/src/collection/contains.js
deleted file mode 100644
index 192167e..0000000
--- a/node_modules/mout/src/collection/contains.js
+++ /dev/null
@@ -1,7 +0,0 @@
-define(['./make_', '../array/contains', '../object/contains'], function (make, arrContains, objContains) {
-
- /**
- */
- return make(arrContains, objContains);
-
-});
diff --git a/node_modules/mout/src/collection/every.js b/node_modules/mout/src/collection/every.js
deleted file mode 100644
index 6317f50..0000000
--- a/node_modules/mout/src/collection/every.js
+++ /dev/null
@@ -1,7 +0,0 @@
-define(['./make_', '../array/every', '../object/every'], function (make, arrEvery, objEvery) {
-
- /**
- */
- return make(arrEvery, objEvery);
-
-});
diff --git a/node_modules/mout/src/collection/filter.js b/node_modules/mout/src/collection/filter.js
deleted file mode 100644
index 4e7fadc..0000000
--- a/node_modules/mout/src/collection/filter.js
+++ /dev/null
@@ -1,22 +0,0 @@
-define(['./forEach', '../function/makeIterator_'], function (forEach, makeIterator) {
-
- /**
- * filter collection values, returns array.
- */
- function filter(list, iterator, thisObj) {
- iterator = makeIterator(iterator, thisObj);
- var results = [];
- if (!list) {
- return results;
- }
- forEach(list, function(value, index, list) {
- if (iterator(value, index, list)) {
- results[results.length] = value;
- }
- });
- return results;
- }
-
- return filter;
-
-});
diff --git a/node_modules/mout/src/collection/find.js b/node_modules/mout/src/collection/find.js
deleted file mode 100644
index 681f941..0000000
--- a/node_modules/mout/src/collection/find.js
+++ /dev/null
@@ -1,8 +0,0 @@
-define(['./make_', '../array/find', '../object/find'], function(make, arrFind, objFind) {
-
- /**
- * Find value that returns true on iterator check.
- */
- return make(arrFind, objFind);
-
-});
diff --git a/node_modules/mout/src/collection/forEach.js b/node_modules/mout/src/collection/forEach.js
deleted file mode 100644
index 3b39d3e..0000000
--- a/node_modules/mout/src/collection/forEach.js
+++ /dev/null
@@ -1,7 +0,0 @@
-define(['./make_', '../array/forEach', '../object/forOwn'], function (make, arrForEach, objForEach) {
-
- /**
- */
- return make(arrForEach, objForEach);
-
-});
diff --git a/node_modules/mout/src/collection/make_.js b/node_modules/mout/src/collection/make_.js
deleted file mode 100644
index 290a651..0000000
--- a/node_modules/mout/src/collection/make_.js
+++ /dev/null
@@ -1,19 +0,0 @@
-define(['../array/slice'], function(slice){
-
- /**
- * internal method used to create other collection modules.
- */
- function makeCollectionMethod(arrMethod, objMethod, defaultReturn) {
- return function(){
- var args = slice(arguments);
- if (args[0] == null) {
- return defaultReturn;
- }
- // array-like is treated as array
- return (typeof args[0].length === 'number')? arrMethod.apply(null, args) : objMethod.apply(null, args);
- };
- }
-
- return makeCollectionMethod;
-
-});
diff --git a/node_modules/mout/src/collection/map.js b/node_modules/mout/src/collection/map.js
deleted file mode 100644
index 96e2498..0000000
--- a/node_modules/mout/src/collection/map.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define(['../lang/isObject', '../object/values', '../array/map', '../function/makeIterator_'], function (isObject, values, arrMap, makeIterator) {
-
- /**
- * Map collection values, returns Array.
- */
- function map(list, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- // list.length to check array-like object, if not array-like
- // we simply map all the object values
- if( isObject(list) && list.length == null ){
- list = values(list);
- }
- return arrMap(list, function (val, key, list) {
- return callback(val, key, list);
- });
- }
-
- return map;
-
-});
diff --git a/node_modules/mout/src/collection/max.js b/node_modules/mout/src/collection/max.js
deleted file mode 100644
index de9a6da..0000000
--- a/node_modules/mout/src/collection/max.js
+++ /dev/null
@@ -1,8 +0,0 @@
-define(['./make_', '../array/max', '../object/max'], function (make, arrMax, objMax) {
-
- /**
- * Get maximum value inside collection
- */
- return make(arrMax, objMax);
-
-});
diff --git a/node_modules/mout/src/collection/min.js b/node_modules/mout/src/collection/min.js
deleted file mode 100644
index f0c239a..0000000
--- a/node_modules/mout/src/collection/min.js
+++ /dev/null
@@ -1,8 +0,0 @@
-define(['./make_', '../array/min', '../object/min'], function (make, arrMin, objMin) {
-
- /**
- * Get minimum value inside collection.
- */
- return make(arrMin, objMin);
-
-});
diff --git a/node_modules/mout/src/collection/pluck.js b/node_modules/mout/src/collection/pluck.js
deleted file mode 100644
index ef784a7..0000000
--- a/node_modules/mout/src/collection/pluck.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(['./map'], function (map) {
-
- /**
- * Extract a list of property values.
- */
- function pluck(list, key) {
- return map(list, function(value) {
- return value[key];
- });
- }
-
- return pluck;
-
-});
diff --git a/node_modules/mout/src/collection/reduce.js b/node_modules/mout/src/collection/reduce.js
deleted file mode 100644
index bd05d43..0000000
--- a/node_modules/mout/src/collection/reduce.js
+++ /dev/null
@@ -1,7 +0,0 @@
-define(['./make_', '../array/reduce', '../object/reduce'], function (make, arrReduce, objReduce) {
-
- /**
- */
- return make(arrReduce, objReduce);
-
-});
diff --git a/node_modules/mout/src/collection/reject.js b/node_modules/mout/src/collection/reject.js
deleted file mode 100644
index 581adfd..0000000
--- a/node_modules/mout/src/collection/reject.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define(['./filter', '../function/makeIterator_'], function (filter, makeIterator) {
-
- /**
- * Inverse or collection/filter
- */
- function reject(list, iterator, thisObj) {
- iterator = makeIterator(iterator, thisObj);
- return filter(list, function(value, index, list) {
- return !iterator(value, index, list);
- }, thisObj);
- }
-
- return reject;
-
-});
diff --git a/node_modules/mout/src/collection/size.js b/node_modules/mout/src/collection/size.js
deleted file mode 100644
index 4e5ab41..0000000
--- a/node_modules/mout/src/collection/size.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(['../lang/isArray', '../object/size'], function (isArray, objSize) {
-
- /**
- * Get collection size
- */
- function size(list) {
- if (!list) {
- return 0;
- }
- if (isArray(list)) {
- return list.length;
- }
- return objSize(list);
- }
-
- return size;
-
-});
diff --git a/node_modules/mout/src/collection/some.js b/node_modules/mout/src/collection/some.js
deleted file mode 100644
index c0aebee..0000000
--- a/node_modules/mout/src/collection/some.js
+++ /dev/null
@@ -1,7 +0,0 @@
-define(['./make_', '../array/some', '../object/some'], function (make, arrSome, objSome) {
-
- /**
- */
- return make(arrSome, objSome);
-
-});
diff --git a/node_modules/mout/src/date.js b/node_modules/mout/src/date.js
deleted file mode 100644
index b3038ee..0000000
--- a/node_modules/mout/src/date.js
+++ /dev/null
@@ -1,22 +0,0 @@
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'dayOfTheYear' : require('./date/dayOfTheYear'),
- 'diff' : require('./date/diff'),
- 'i18n_' : require('./date/i18n_'),
- 'isLeapYear' : require('./date/isLeapYear'),
- 'isSame' : require('./date/isSame'),
- 'parseIso' : require('./date/parseIso'),
- 'quarter' : require('./date/quarter'),
- 'startOf' : require('./date/startOf'),
- 'strftime' : require('./date/strftime'),
- 'timezoneAbbr' : require('./date/timezoneAbbr'),
- 'timezoneOffset' : require('./date/timezoneOffset'),
- 'totalDaysInMonth' : require('./date/totalDaysInMonth'),
- 'totalDaysInYear' : require('./date/totalDaysInYear'),
- 'weekOfTheYear' : require('./date/weekOfTheYear')
-};
-
-});
diff --git a/node_modules/mout/src/date/dayOfTheYear.js b/node_modules/mout/src/date/dayOfTheYear.js
deleted file mode 100644
index dc77ae1..0000000
--- a/node_modules/mout/src/date/dayOfTheYear.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['../lang/isDate'], function (isDate) {
-
- /**
- * return the day of the year (1..366)
- */
- function dayOfTheYear(date){
- return (Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()) -
- Date.UTC(date.getFullYear(), 0, 1)) / 86400000 + 1;
- }
-
- return dayOfTheYear;
-
-});
diff --git a/node_modules/mout/src/date/diff.js b/node_modules/mout/src/date/diff.js
deleted file mode 100644
index 667165f..0000000
--- a/node_modules/mout/src/date/diff.js
+++ /dev/null
@@ -1,128 +0,0 @@
-define(['./totalDaysInMonth', './totalDaysInYear', '../time/convert'], function(totalDaysInMonth, totalDaysInYear, convert){
-
- /**
- * calculate the difference between dates (range)
- */
- function diff(start, end, unitName){
- // sort the dates to make it easier to process (specially year/month)
- if (start > end) {
- var swap = start;
- start = end;
- end = swap;
- }
-
- var output;
-
- if (unitName === 'month') {
- output = getMonthsDiff(start, end);
- } else if (unitName === 'year'){
- output = getYearsDiff(start, end);
- } else if (unitName != null) {
- if (unitName === 'day') {
- // ignore timezone difference because of daylight savings time
- start = toUtc(start);
- end = toUtc(end);
- }
- output = convert(end - start, 'ms', unitName);
- } else {
- output = end - start;
- }
-
- return output;
- }
-
-
- function toUtc(d){
- // we ignore timezone differences on purpose because of daylight
- // savings time, otherwise it would return fractional days/weeks even
- // if a full day elapsed. eg:
- // Wed Feb 12 2014 00:00:00 GMT-0200 (BRST)
- // Sun Feb 16 2014 00:00:00 GMT-0300 (BRT)
- // diff should be 4 days and not 4.041666666666667
- return Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(),
- d.getHours(), d.getMinutes(), d.getSeconds(),
- d.getMilliseconds());
- }
-
-
- function getMonthsDiff(start, end){
- return getElapsedMonths(start, end) +
- getElapsedYears(start, end) * 12 +
- getFractionalMonth(start, end);
- }
-
-
- function getYearsDiff(start, end){
- var elapsedYears = getElapsedYears(start, end);
- return elapsedYears + getFractionalYear(start, end, elapsedYears);
- }
-
-
- function getElapsedMonths(start, end){
- var monthDiff = end.getMonth() - start.getMonth();
- if (monthDiff < 0) {
- monthDiff += 12;
- }
- // less than a full month
- if (start.getDate() > end.getDate()) {
- monthDiff -= 1;
- }
- return monthDiff;
- }
-
-
- function getElapsedYears(start, end){
- var yearDiff = end.getFullYear() - start.getFullYear();
- // less than a full year
- if (start.getMonth() > end.getMonth()) {
- yearDiff -= 1;
- }
- return yearDiff;
- }
-
-
- function getFractionalMonth(start, end){
- var fractionalDiff = 0;
- var startDay = start.getDate();
- var endDay = end.getDate();
-
- if (startDay !== endDay) {
- var startTotalDays = totalDaysInMonth(start);
- var endTotalDays = totalDaysInMonth(end);
- var totalDays;
- var daysElapsed;
-
- if (startDay > endDay) {
- // eg: Jan 29 - Feb 27 (29 days elapsed but not a full month)
- var baseDay = startTotalDays - startDay;
- daysElapsed = endDay + baseDay;
- // total days should be relative to 1st day of next month if
- // startDay > endTotalDays
- totalDays = (startDay > endTotalDays)?
- endTotalDays + baseDay + 1 : startDay + baseDay;
- } else {
- // fractional is only based on endMonth eg: Jan 12 - Feb 18
- // (6 fractional days, 28 days until next full month)
- daysElapsed = endDay - startDay;
- totalDays = endTotalDays;
- }
-
- fractionalDiff = daysElapsed / totalDays;
- }
-
- return fractionalDiff;
- }
-
-
- function getFractionalYear(start, end, elapsedYears){
- var base = elapsedYears?
- new Date(end.getFullYear(), start.getMonth(), start.getDate()) :
- start;
- var elapsedDays = diff(base, end, 'day');
- return elapsedDays / totalDaysInYear(end);
- }
-
-
- return diff;
-
-});
diff --git a/node_modules/mout/src/date/i18n/de-DE.js b/node_modules/mout/src/date/i18n/de-DE.js
deleted file mode 100644
index 46f5c6a..0000000
--- a/node_modules/mout/src/date/i18n/de-DE.js
+++ /dev/null
@@ -1,61 +0,0 @@
-define(function(){
- // de-DE (German)
- return {
- "am" : "",
- "pm" : "",
-
- "x": "%d/%m/%y",
- "X": "%H:%M:%S",
- "c": "%a %d %b %Y %H:%M:%S %Z",
-
- "months" : [
- "Januar",
- "Februar",
- "März",
- "April",
- "Mai",
- "Juni",
- "Juli",
- "August",
- "September",
- "Oktober",
- "November",
- "Dezember"
- ],
-
- "months_abbr" : [
- "Jan",
- "Febr",
- "März",
- "Apr",
- "Mai",
- "Juni",
- "Juli",
- "Aug",
- "Sept",
- "Okt",
- "Nov",
- "Dez"
- ],
-
- "days" : [
- "Sonntag",
- "Montag",
- "Dienstag",
- "Mittwoch",
- "Donnerstag",
- "Freitag",
- "Samstag"
- ],
-
- "days_abbr" : [
- "So",
- "Mo",
- "Di",
- "Mi",
- "Do",
- "Fr",
- "Sa"
- ]
- };
-});
diff --git a/node_modules/mout/src/date/i18n/en-US.js b/node_modules/mout/src/date/i18n/en-US.js
deleted file mode 100644
index 5e640c2..0000000
--- a/node_modules/mout/src/date/i18n/en-US.js
+++ /dev/null
@@ -1,61 +0,0 @@
-define(function(){
- // en-US (English, United States)
- return {
- "am" : "AM",
- "pm" : "PM",
-
- "x": "%m/%d/%y",
- "X": "%H:%M:%S",
- "c": "%a %d %b %Y %I:%M:%S %p %Z",
-
- "months" : [
- "January",
- "February",
- "March",
- "April",
- "May",
- "June",
- "July",
- "August",
- "September",
- "October",
- "November",
- "December"
- ],
-
- "months_abbr" : [
- "Jan",
- "Feb",
- "Mar",
- "Apr",
- "May",
- "Jun",
- "Jul",
- "Aug",
- "Sep",
- "Oct",
- "Nov",
- "Dec"
- ],
-
- "days" : [
- "Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday"
- ],
-
- "days_abbr" : [
- "Sun",
- "Mon",
- "Tue",
- "Wed",
- "Thu",
- "Fri",
- "Sat"
- ]
- };
-});
diff --git a/node_modules/mout/src/date/i18n/pt-BR.js b/node_modules/mout/src/date/i18n/pt-BR.js
deleted file mode 100644
index 47256dd..0000000
--- a/node_modules/mout/src/date/i18n/pt-BR.js
+++ /dev/null
@@ -1,61 +0,0 @@
-define(function(){
- // pt-BR (Brazillian Portuguese)
- return {
- "am" : "",
- "pm" : "",
-
- "x": "%d/%m/%y",
- "X": "%H:%M:%S",
- "c": "%a %d %b %Y %H:%M:%S %Z",
-
- "months" : [
- "Janeiro",
- "Fevereiro",
- "Março",
- "Abril",
- "Maio",
- "Junho",
- "Julho",
- "Agosto",
- "Setembro",
- "Outubro",
- "Novembro",
- "Dezembro"
- ],
-
- "months_abbr" : [
- "Jan",
- "Fev",
- "Mar",
- "Abr",
- "Mai",
- "Jun",
- "Jul",
- "Ago",
- "Set",
- "Out",
- "Nov",
- "Dez"
- ],
-
- "days" : [
- "Domingo",
- "Segunda",
- "Terça",
- "Quarta",
- "Quinta",
- "Sexta",
- "Sábado"
- ],
-
- "days_abbr" : [
- "Dom",
- "Seg",
- "Ter",
- "Qua",
- "Qui",
- "Sex",
- "Sáb"
- ]
- };
-});
diff --git a/node_modules/mout/src/date/i18n/ru.js b/node_modules/mout/src/date/i18n/ru.js
deleted file mode 100644
index 89f0d06..0000000
--- a/node_modules/mout/src/date/i18n/ru.js
+++ /dev/null
@@ -1,61 +0,0 @@
-define(function(){
- // ru (Russian)
- return {
- "am" : "",
- "pm" : "",
-
- "x": "%d.%m.%Y",
- "X": "%H:%M:%S",
- "c": "%a, %e %b %Y г., %H:%M",
-
- "months" : [
- "Январь",
- "Февраль",
- "Март",
- "Апрель",
- "Май",
- "Июнь",
- "Июль",
- "Август",
- "Сентябрь",
- "Октябрь",
- "Ноябрь",
- "Декабрь"
- ],
-
- "months_abbr" : [
- "Янв.",
- "Февр.",
- "Март",
- "Апр.",
- "Май",
- "Июнь",
- "Июль",
- "Авг.",
- "Сент.",
- "Окт.",
- "Нояб.",
- "Дек."
- ],
-
- "days" : [
- "Воскресенье",
- "Понедельник",
- "Вторник",
- "Среда",
- "Четверг",
- "Пятница",
- "Суббота"
- ],
-
- "days_abbr" : [
- "Вс",
- "Пн",
- "Вт",
- "Ср",
- "Чт",
- "Пт",
- "Сб"
- ]
- };
-});
diff --git a/node_modules/mout/src/date/i18n_.js b/node_modules/mout/src/date/i18n_.js
deleted file mode 100644
index c04ce88..0000000
--- a/node_modules/mout/src/date/i18n_.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['../object/mixIn', './i18n/en-US'], function(mixIn, enUS){
-
- // we also use mixIn to make sure we don't affect the original locale
- var activeLocale = mixIn({}, enUS, {
- // we expose a "set" method to allow overriding the global locale
- set : function(localeData){
- mixIn(activeLocale, localeData);
- }
- });
-
- return activeLocale;
-
-});
diff --git a/node_modules/mout/src/date/isLeapYear.js b/node_modules/mout/src/date/isLeapYear.js
deleted file mode 100644
index e400b43..0000000
--- a/node_modules/mout/src/date/isLeapYear.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define(['../lang/isDate'], function (isDate) {
-
- /**
- * checks if it's a leap year
- */
- function isLeapYear(fullYear){
- if (isDate(fullYear)) {
- fullYear = fullYear.getFullYear();
- }
- return fullYear % 400 === 0 || (fullYear % 100 !== 0 && fullYear % 4 === 0);
- }
-
- return isLeapYear;
-
-});
diff --git a/node_modules/mout/src/date/isSame.js b/node_modules/mout/src/date/isSame.js
deleted file mode 100644
index f30531f..0000000
--- a/node_modules/mout/src/date/isSame.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(['./startOf'], function (startOf) {
-
- /**
- * Check if date is "same" with optional period
- */
- function isSame(date1, date2, period){
- if (period) {
- date1 = startOf(date1, period);
- date2 = startOf(date2, period);
- }
- return Number(date1) === Number(date2);
- }
-
- return isSame;
-
-});
diff --git a/node_modules/mout/src/date/parseIso.js b/node_modules/mout/src/date/parseIso.js
deleted file mode 100644
index b21c879..0000000
--- a/node_modules/mout/src/date/parseIso.js
+++ /dev/null
@@ -1,146 +0,0 @@
-define(['../array/some'], function (some) {
-
- var datePatterns = [
- /^([0-9]{4})$/, // YYYY
- /^([0-9]{4})-([0-9]{2})$/, // YYYY-MM (YYYYMM not allowed)
- /^([0-9]{4})-?([0-9]{2})-?([0-9]{2})$/ // YYYY-MM-DD or YYYYMMDD
- ];
- var ORD_DATE = /^([0-9]{4})-?([0-9]{3})$/; // YYYY-DDD
-
- var timePatterns = [
- /^([0-9]{2}(?:\.[0-9]*)?)$/, // HH.hh
- /^([0-9]{2}):?([0-9]{2}(?:\.[0-9]*)?)$/, // HH:MM.mm
- /^([0-9]{2}):?([0-9]{2}):?([0-9]{2}(\.[0-9]*)?)$/ // HH:MM:SS.ss
- ];
-
- var DATE_TIME = /^(.+)T(.+)$/;
- var TIME_ZONE = /^(.+)([+\-])([0-9]{2}):?([0-9]{2})$/;
-
- function matchAll(str, patterns) {
- var match;
- var found = some(patterns, function(pattern) {
- return !!(match = pattern.exec(str));
- });
-
- return found ? match : null;
- }
-
- function getDate(year, month, day) {
- var date = new Date(Date.UTC(year, month, day));
-
- // Explicitly set year to avoid Date.UTC making dates < 100 relative to
- // 1900
- date.setUTCFullYear(year);
-
- var valid =
- date.getUTCFullYear() === year &&
- date.getUTCMonth() === month &&
- date.getUTCDate() === day;
- return valid ? +date : NaN;
- }
-
- function parseOrdinalDate(str) {
- var match = ORD_DATE.exec(str);
- if (match ) {
- var year = +match[1],
- day = +match[2],
- date = new Date(Date.UTC(year, 0, day));
-
- if (date.getUTCFullYear() === year) {
- return +date;
- }
- }
-
- return NaN;
- }
-
- function parseDate(str) {
- var match, year, month, day;
-
- match = matchAll(str, datePatterns);
- if (match === null) {
- // Ordinal dates are verified differently.
- return parseOrdinalDate(str);
- }
-
- year = (match[1] === void 0) ? 0 : +match[1];
- month = (match[2] === void 0) ? 0 : +match[2] - 1;
- day = (match[3] === void 0) ? 1 : +match[3];
-
- return getDate(year, month, day);
- }
-
- function getTime(hr, min, sec) {
- var valid =
- (hr < 24 && hr >= 0 &&
- min < 60 && min >= 0 &&
- sec < 60 && min >= 0) ||
- (hr === 24 && min === 0 && sec === 0);
- if (!valid) {
- return NaN;
- }
-
- return ((hr * 60 + min) * 60 + sec) * 1000;
- }
-
- function parseOffset(str) {
- var match;
- if (str.charAt(str.length - 1) === 'Z') {
- str = str.substring(0, str.length - 1);
- } else {
- match = TIME_ZONE.exec(str);
- if (match) {
- var hours = +match[3],
- minutes = (match[4] === void 0) ? 0 : +match[4],
- offset = getTime(hours, minutes, 0);
-
- if (match[2] === '-') {
- offset *= -1;
- }
-
- return { offset: offset, time: match[1] };
- }
- }
-
- // No time zone specified, assume UTC
- return { offset: 0, time: str };
- }
-
- function parseTime(str) {
- var match;
- var offset = parseOffset(str);
-
- str = offset.time;
- offset = offset.offset;
- if (isNaN(offset)) {
- return NaN;
- }
-
- match = matchAll(str, timePatterns);
- if (match === null) {
- return NaN;
- }
-
- var hours = (match[1] === void 0) ? 0 : +match[1],
- minutes = (match[2] === void 0) ? 0 : +match[2],
- seconds = (match[3] === void 0) ? 0 : +match[3];
-
- return getTime(hours, minutes, seconds) - offset;
- }
-
- /**
- * Parse an ISO8601 formatted date string, and return a Date object.
- */
- function parseISO8601(str){
- var match = DATE_TIME.exec(str);
- if (!match) {
- // No time specified
- return parseDate(str);
- }
-
- return parseDate(match[1]) + parseTime(match[2]);
- }
-
- return parseISO8601;
-
-});
diff --git a/node_modules/mout/src/date/quarter.js b/node_modules/mout/src/date/quarter.js
deleted file mode 100644
index 62b9206..0000000
--- a/node_modules/mout/src/date/quarter.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(function () {
-
- /**
- * gets date quarter
- */
- function quarter(date){
- var month = date.getMonth();
- if (month < 3) return 1;
- if (month < 6) return 2;
- if (month < 9) return 3;
- return 4;
- }
-
- return quarter;
-
-});
diff --git a/node_modules/mout/src/date/startOf.js b/node_modules/mout/src/date/startOf.js
deleted file mode 100644
index 747f114..0000000
--- a/node_modules/mout/src/date/startOf.js
+++ /dev/null
@@ -1,54 +0,0 @@
-define(['../lang/clone'], function (clone) {
-
- /**
- * get a new Date object representing start of period
- */
- function startOf(date, period){
- date = clone(date);
-
- // intentionally removed "break" from switch since start of
- // month/year/etc should also reset the following periods
- switch (period) {
- case 'year':
- date.setMonth(0);
- /* falls through */
- case 'month':
- date.setDate(1);
- /* falls through */
- case 'week':
- case 'day':
- date.setHours(0);
- /* falls through */
- case 'hour':
- date.setMinutes(0);
- /* falls through */
- case 'minute':
- date.setSeconds(0);
- /* falls through */
- case 'second':
- date.setMilliseconds(0);
- break;
- default:
- throw new Error('"'+ period +'" is not a valid period');
- }
-
- // week is the only case that should reset the weekDay and maybe even
- // overflow to previous month
- if (period === 'week') {
- var weekDay = date.getDay();
- var baseDate = date.getDate();
- if (weekDay) {
- if (weekDay >= baseDate) {
- //start of the week is on previous month
- date.setDate(0);
- }
- date.setDate(date.getDate() - date.getDay());
- }
- }
-
- return date;
- }
-
- return startOf;
-
-});
diff --git a/node_modules/mout/src/date/strftime.js b/node_modules/mout/src/date/strftime.js
deleted file mode 100644
index 9c09c69..0000000
--- a/node_modules/mout/src/date/strftime.js
+++ /dev/null
@@ -1,115 +0,0 @@
-define(['../number/pad', '../string/lpad', './i18n_', './dayOfTheYear', './timezoneOffset', './timezoneAbbr', './weekOfTheYear'], function (pad, lpad, i18n, dayOfTheYear, timezoneOffset, timezoneAbbr, weekOfTheYear) {
-
- var _combinations = {
- 'D': '%m/%d/%y',
- 'F': '%Y-%m-%d',
- 'r': '%I:%M:%S %p',
- 'R': '%H:%M',
- 'T': '%H:%M:%S',
- 'x': 'locale',
- 'X': 'locale',
- 'c': 'locale'
- };
-
-
- /**
- * format date based on strftime format
- */
- function strftime(date, format, localeData){
- localeData = localeData || i18n;
- var reToken = /%([a-z%])/gi;
-
- function makeIterator(fn) {
- return function(match, token){
- return fn(date, token, localeData);
- };
- }
-
- return format
- .replace(reToken, makeIterator(expandCombinations))
- .replace(reToken, makeIterator(convertToken));
- }
-
-
- function expandCombinations(date, token, l10n){
- if (token in _combinations) {
- var expanded = _combinations[token];
- return expanded === 'locale'? l10n[token] : expanded;
- } else {
- return '%'+ token;
- }
- }
-
-
- function convertToken(date, token, l10n){
- switch (token){
- case 'a':
- return l10n.days_abbr[date.getDay()];
- case 'A':
- return l10n.days[date.getDay()];
- case 'h':
- case 'b':
- return l10n.months_abbr[date.getMonth()];
- case 'B':
- return l10n.months[date.getMonth()];
- case 'C':
- return pad(Math.floor(date.getFullYear() / 100), 2);
- case 'd':
- return pad(date.getDate(), 2);
- case 'e':
- return pad(date.getDate(), 2, ' ');
- case 'H':
- return pad(date.getHours(), 2);
- case 'I':
- return pad(date.getHours() % 12, 2);
- case 'j':
- return pad(dayOfTheYear(date), 3);
- case 'l':
- return lpad(date.getHours() % 12, 2);
- case 'L':
- return pad(date.getMilliseconds(), 3);
- case 'm':
- return pad(date.getMonth() + 1, 2);
- case 'M':
- return pad(date.getMinutes(), 2);
- case 'n':
- return '\n';
- case 'p':
- return date.getHours() >= 12? l10n.pm : l10n.am;
- case 'P':
- return convertToken(date, 'p', l10n).toLowerCase();
- case 's':
- return date.getTime() / 1000;
- case 'S':
- return pad(date.getSeconds(), 2);
- case 't':
- return '\t';
- case 'u':
- var day = date.getDay();
- return day === 0? 7 : day;
- case 'U':
- return pad(weekOfTheYear(date), 2);
- case 'w':
- return date.getDay();
- case 'W':
- return pad(weekOfTheYear(date, 1), 2);
- case 'y':
- return pad(date.getFullYear() % 100, 2);
- case 'Y':
- return pad(date.getFullYear(), 4);
- case 'z':
- return timezoneOffset(date);
- case 'Z':
- return timezoneAbbr(date);
- case '%':
- return '%';
- default:
- // keep unrecognized tokens
- return '%'+ token;
- }
- }
-
-
- return strftime;
-
-});
diff --git a/node_modules/mout/src/date/timezoneAbbr.js b/node_modules/mout/src/date/timezoneAbbr.js
deleted file mode 100644
index 225a685..0000000
--- a/node_modules/mout/src/date/timezoneAbbr.js
+++ /dev/null
@@ -1,17 +0,0 @@
-define(['./timezoneOffset'], function(timezoneOffset) {
-
- /**
- * Abbreviated time zone name or similar information.
- */
- function timezoneAbbr(date){
- // Date.toString gives different results depending on the
- // browser/system so we fallback to timezone offset
- // chrome: 'Mon Apr 08 2013 09:02:04 GMT-0300 (BRT)'
- // IE: 'Mon Apr 8 09:02:04 UTC-0300 2013'
- var tz = /\(([A-Z]{3,4})\)/.exec(date.toString());
- return tz? tz[1] : timezoneOffset(date);
- }
-
- return timezoneAbbr;
-
-});
diff --git a/node_modules/mout/src/date/timezoneOffset.js b/node_modules/mout/src/date/timezoneOffset.js
deleted file mode 100644
index ca06705..0000000
--- a/node_modules/mout/src/date/timezoneOffset.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(['../number/pad'], function (pad) {
-
- /**
- * time zone as hour and minute offset from UTC (e.g. +0900)
- */
- function timezoneOffset(date){
- var offset = date.getTimezoneOffset();
- var abs = Math.abs(offset);
- var h = pad(Math.floor(abs / 60), 2);
- var m = pad(abs % 60, 2);
- return (offset > 0? '-' : '+') + h + m;
- }
-
- return timezoneOffset;
-
-});
diff --git a/node_modules/mout/src/date/totalDaysInMonth.js b/node_modules/mout/src/date/totalDaysInMonth.js
deleted file mode 100644
index 9aaafd7..0000000
--- a/node_modules/mout/src/date/totalDaysInMonth.js
+++ /dev/null
@@ -1,22 +0,0 @@
-define(['../lang/isDate', './isLeapYear'], function (isDate, isLeapYear) {
-
- var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
-
- /**
- * returns the total amount of days in the month (considering leap years)
- */
- function totalDaysInMonth(fullYear, monthIndex){
- if (isDate(fullYear)) {
- monthIndex = fullYear.getMonth();
- }
-
- if (monthIndex === 1 && isLeapYear(fullYear)) {
- return 29;
- } else {
- return DAYS_IN_MONTH[monthIndex];
- }
- }
-
- return totalDaysInMonth;
-
-});
diff --git a/node_modules/mout/src/date/totalDaysInYear.js b/node_modules/mout/src/date/totalDaysInYear.js
deleted file mode 100644
index e9036b4..0000000
--- a/node_modules/mout/src/date/totalDaysInYear.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['./isLeapYear'], function (isLeapYear) {
-
- /**
- * return the amount of days in the year following the gregorian calendar
- * and leap years
- */
- function totalDaysInYear(fullYear){
- return isLeapYear(fullYear)? 366 : 365;
- }
-
- return totalDaysInYear;
-
-});
diff --git a/node_modules/mout/src/date/weekOfTheYear.js b/node_modules/mout/src/date/weekOfTheYear.js
deleted file mode 100644
index 8dabc45..0000000
--- a/node_modules/mout/src/date/weekOfTheYear.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(['./dayOfTheYear'], function (dayOfTheYear) {
-
- /**
- * Return the week of the year based on given firstDayOfWeek
- */
- function weekOfTheYear(date, firstDayOfWeek){
- firstDayOfWeek = firstDayOfWeek == null? 0 : firstDayOfWeek;
- var doy = dayOfTheYear(date);
- var dow = (7 + date.getDay() - firstDayOfWeek) % 7;
- var relativeWeekDay = 6 - firstDayOfWeek - dow;
- return Math.floor((doy + relativeWeekDay) / 7);
- }
-
- return weekOfTheYear;
-
-});
diff --git a/node_modules/mout/src/function.js b/node_modules/mout/src/function.js
deleted file mode 100644
index a2f667e..0000000
--- a/node_modules/mout/src/function.js
+++ /dev/null
@@ -1,25 +0,0 @@
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'after' : require('./function/after'),
- 'awaitDelay' : require('./function/awaitDelay'),
- 'bind' : require('./function/bind'),
- 'compose' : require('./function/compose'),
- 'constant' : require('./function/constant'),
- 'debounce' : require('./function/debounce'),
- 'func' : require('./function/func'),
- 'identity' : require('./function/identity'),
- 'makeIterator_' : require('./function/makeIterator_'),
- 'memoize' : require('./function/memoize'),
- 'partial' : require('./function/partial'),
- 'prop' : require('./function/prop'),
- 'series' : require('./function/series'),
- 'throttle' : require('./function/throttle'),
- 'timeout' : require('./function/timeout'),
- 'times' : require('./function/times'),
- 'wrap' : require('./function/wrap')
-};
-
-});
diff --git a/node_modules/mout/src/function/after.js b/node_modules/mout/src/function/after.js
deleted file mode 100644
index e4ccf65..0000000
--- a/node_modules/mout/src/function/after.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(function () {
-
- /**
- * Calls closure only after callback is called x times
- */
- function after(closure, times){
- return function () {
- if (--times <= 0) closure();
- };
- }
-
- return after;
-
-});
diff --git a/node_modules/mout/src/function/awaitDelay.js b/node_modules/mout/src/function/awaitDelay.js
deleted file mode 100644
index 88bea6e..0000000
--- a/node_modules/mout/src/function/awaitDelay.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define(['../time/now', './timeout', '../array/append'], function (now, timeout, append) {
-
- /**
- * Ensure a minimum delay for callbacks
- */
- function awaitDelay( callback, delay ){
- var baseTime = now() + delay;
- return function() {
- // ensure all browsers will execute it asynchronously (avoid hard
- // to catch errors) not using "0" because of old browsers and also
- // since new browsers increase the value to be at least "4"
- // http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout
- var ms = Math.max(baseTime - now(), 4);
- return timeout.apply(this, append([callback, ms, this], arguments));
- };
- }
-
- return awaitDelay;
-
-});
diff --git a/node_modules/mout/src/function/bind.js b/node_modules/mout/src/function/bind.js
deleted file mode 100644
index 787c298..0000000
--- a/node_modules/mout/src/function/bind.js
+++ /dev/null
@@ -1,19 +0,0 @@
-define(['../array/slice'], function(slice){
-
- /**
- * Return a function that will execute in the given context, optionally adding any additional supplied parameters to the beginning of the arguments collection.
- * @param {Function} fn Function.
- * @param {object} context Execution context.
- * @param {rest} args Arguments (0...n arguments).
- * @return {Function} Wrapped Function.
- */
- function bind(fn, context, args){
- var argsArr = slice(arguments, 2); //curried args
- return function(){
- return fn.apply(context, argsArr.concat(slice(arguments)));
- };
- }
-
- return bind;
-});
-
diff --git a/node_modules/mout/src/function/compose.js b/node_modules/mout/src/function/compose.js
deleted file mode 100644
index d8b228f..0000000
--- a/node_modules/mout/src/function/compose.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define(function () {
-
- /**
- * Returns a function that composes multiple functions, passing results to
- * each other.
- */
- function compose() {
- var fns = arguments;
- return function(arg){
- // only cares about the first argument since the chain can only
- // deal with a single return value anyway. It should start from
- // the last fn.
- var n = fns.length;
- while (n--) {
- arg = fns[n].call(this, arg);
- }
- return arg;
- };
- }
-
- return compose;
-
-});
diff --git a/node_modules/mout/src/function/constant.js b/node_modules/mout/src/function/constant.js
deleted file mode 100644
index addd412..0000000
--- a/node_modules/mout/src/function/constant.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(function () {
-
- /**
- * Returns a new function that will return the value
- */
- function constant(value){
- return function() {
- return value;
- };
- }
-
- return constant;
-
-});
diff --git a/node_modules/mout/src/function/debounce.js b/node_modules/mout/src/function/debounce.js
deleted file mode 100644
index 8c5fd47..0000000
--- a/node_modules/mout/src/function/debounce.js
+++ /dev/null
@@ -1,32 +0,0 @@
-define(function () {
-
- /**
- * Debounce callback execution
- */
- function debounce(fn, threshold, isAsap){
- var timeout, result;
- function debounced(){
- var args = arguments, context = this;
- function delayed(){
- if (! isAsap) {
- result = fn.apply(context, args);
- }
- timeout = null;
- }
- if (timeout) {
- clearTimeout(timeout);
- } else if (isAsap) {
- result = fn.apply(context, args);
- }
- timeout = setTimeout(delayed, threshold);
- return result;
- }
- debounced.cancel = function(){
- clearTimeout(timeout);
- };
- return debounced;
- }
-
- return debounce;
-
-});
diff --git a/node_modules/mout/src/function/func.js b/node_modules/mout/src/function/func.js
deleted file mode 100644
index b920e00..0000000
--- a/node_modules/mout/src/function/func.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(function () {
-
- /**
- * Returns a function that call a method on the passed object
- */
- function func(name){
- return function(obj){
- return obj[name]();
- };
- }
-
- return func;
-
-});
diff --git a/node_modules/mout/src/function/identity.js b/node_modules/mout/src/function/identity.js
deleted file mode 100644
index 59f7182..0000000
--- a/node_modules/mout/src/function/identity.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(function () {
-
- /**
- * Returns the first argument provided to it.
- */
- function identity(val){
- return val;
- }
-
- return identity;
-
-});
diff --git a/node_modules/mout/src/function/makeIterator_.js b/node_modules/mout/src/function/makeIterator_.js
deleted file mode 100644
index 771ea19..0000000
--- a/node_modules/mout/src/function/makeIterator_.js
+++ /dev/null
@@ -1,32 +0,0 @@
-define(['./identity', './prop', '../object/deepMatches'], function(identity, prop, deepMatches) {
-
- /**
- * Converts argument into a valid iterator.
- * Used internally on most array/object/collection methods that receives a
- * callback/iterator providing a shortcut syntax.
- */
- function makeIterator(src, thisObj){
- if (src == null) {
- return identity;
- }
- switch(typeof src) {
- case 'function':
- // function is the first to improve perf (most common case)
- // also avoid using `Function#call` if not needed, which boosts
- // perf a lot in some cases
- return (typeof thisObj !== 'undefined')? function(val, i, arr){
- return src.call(thisObj, val, i, arr);
- } : src;
- case 'object':
- return function(val){
- return deepMatches(val, src);
- };
- case 'string':
- case 'number':
- return prop(src);
- }
- }
-
- return makeIterator;
-
-});
diff --git a/node_modules/mout/src/function/memoize.js b/node_modules/mout/src/function/memoize.js
deleted file mode 100644
index 8833fee..0000000
--- a/node_modules/mout/src/function/memoize.js
+++ /dev/null
@@ -1,39 +0,0 @@
-define(['../lang/isFunction', '../object/hasOwn'], function(isFunction, hasOwn){
-
- /**
- * Creates a function that memoizes the result of `fn`. If `resolver` is
- * provided it determines the cache key for storing the result based on the
- * arguments provided to the memoized function. By default, the first argument
- * provided to the memoized function is coerced to a string and used as the
- * cache key. The `fn` is invoked with the `this` binding of the memoized
- * function. Modified from lodash.
- *
- * @param {Function} fn Function to have its output memoized.
- * @param {Function} context Function to resolve the cache key.
- * @return {Function} Returns the new memoized function.
- */
- function memoize(fn, resolver) {
- if (!isFunction(fn) || (resolver && !isFunction(resolver))) {
- throw new TypeError('Expected a function');
- }
-
- var memoized = function() {
- var cache = memoized.cache,
- key = resolver ? resolver.apply(this, arguments) : arguments[0];
-
- if (hasOwn(cache, key)) {
- return cache[key];
- }
- var result = fn.apply(this, arguments);
- cache[key] = result;
- return result;
- };
-
- memoized.cache = {};
-
- return memoized;
- }
-
- return memoize;
-});
-
diff --git a/node_modules/mout/src/function/partial.js b/node_modules/mout/src/function/partial.js
deleted file mode 100644
index a9e9d76..0000000
--- a/node_modules/mout/src/function/partial.js
+++ /dev/null
@@ -1,29 +0,0 @@
-define(['../array/indexOf', '../array/slice', '../array/take'], function (indexOf, slice, take) {
-
- var _ = {};
-
- /**
- * Creates a partially applied function.
- */
- function partial(f) {
- var as = slice(arguments, 1);
- var has_ = indexOf(as, _) !== -1;
-
- return function() {
- var rest = slice(arguments);
-
- // Don't waste time checking for placeholders if there aren't any.
- var args = has_ ? take(as.length, function(i) {
- var a = as[i];
- return a === _ ? rest.shift() : a;
- }) : as;
-
- return f.apply(this, rest.length ? args.concat(rest) : args);
- };
- }
-
- partial._ = _;
-
- return partial;
-
-});
diff --git a/node_modules/mout/src/function/prop.js b/node_modules/mout/src/function/prop.js
deleted file mode 100644
index c9df78c..0000000
--- a/node_modules/mout/src/function/prop.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(function () {
-
- /**
- * Returns a function that gets a property of the passed object
- */
- function prop(name){
- return function(obj){
- return obj[name];
- };
- }
-
- return prop;
-
-});
diff --git a/node_modules/mout/src/function/series.js b/node_modules/mout/src/function/series.js
deleted file mode 100644
index c8856a2..0000000
--- a/node_modules/mout/src/function/series.js
+++ /dev/null
@@ -1,22 +0,0 @@
-define(function () {
-
- /**
- * Returns a function that will execute a list of functions in sequence
- * passing the same arguments to each one. (useful for batch processing
- * items during a forEach loop)
- */
- function series(){
- var fns = arguments;
- return function(){
- var i = 0,
- n = fns.length;
- while (i < n) {
- fns[i].apply(this, arguments);
- i += 1;
- }
- };
- }
-
- return series;
-
-});
diff --git a/node_modules/mout/src/function/throttle.js b/node_modules/mout/src/function/throttle.js
deleted file mode 100644
index 9fb47b2..0000000
--- a/node_modules/mout/src/function/throttle.js
+++ /dev/null
@@ -1,33 +0,0 @@
-define(['../time/now'], function (now) {
-
- /**
- */
- function throttle(fn, delay){
- var context, timeout, result, args,
- diff, prevCall = 0;
- function delayed(){
- prevCall = now();
- timeout = null;
- result = fn.apply(context, args);
- }
- function throttled(){
- context = this;
- args = arguments;
- diff = delay - (now() - prevCall);
- if (diff <= 0) {
- clearTimeout(timeout);
- delayed();
- } else if (! timeout) {
- timeout = setTimeout(delayed, diff);
- }
- return result;
- }
- throttled.cancel = function(){
- clearTimeout(timeout);
- };
- return throttled;
- }
-
- return throttle;
-
-});
diff --git a/node_modules/mout/src/function/timeout.js b/node_modules/mout/src/function/timeout.js
deleted file mode 100644
index 61b832c..0000000
--- a/node_modules/mout/src/function/timeout.js
+++ /dev/null
@@ -1,17 +0,0 @@
-define(['../array/slice'], function (slice) {
-
- /**
- * Delays the call of a function within a given context.
- */
- function timeout(fn, millis, context){
-
- var args = slice(arguments, 3);
-
- return setTimeout(function() {
- fn.apply(context, args);
- }, millis);
- }
-
- return timeout;
-
-});
diff --git a/node_modules/mout/src/function/times.js b/node_modules/mout/src/function/times.js
deleted file mode 100644
index ec10cae..0000000
--- a/node_modules/mout/src/function/times.js
+++ /dev/null
@@ -1,17 +0,0 @@
-define(function () {
-
- /**
- * Iterates over a callback a set amount of times
- */
- function times(n, callback, thisObj){
- var i = -1;
- while (++i < n) {
- if ( callback.call(thisObj, i) === false ) {
- break;
- }
- }
- }
-
- return times;
-
-});
diff --git a/node_modules/mout/src/function/wrap.js b/node_modules/mout/src/function/wrap.js
deleted file mode 100644
index b2f54dd..0000000
--- a/node_modules/mout/src/function/wrap.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(['./partial'], function (partial) {
-
- /**
- * Returns the first function passed as an argument to the second,
- * allowing you to adjust arguments, run code before and after, and
- * conditionally execute the original function.
- */
- function wrap(fn, wrapper){
- return partial(wrapper, fn);
- }
-
- return wrap;
-
-});
diff --git a/node_modules/mout/src/index.js b/node_modules/mout/src/index.js
deleted file mode 100644
index bfa6c24..0000000
--- a/node_modules/mout/src/index.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/**@license
- * mout v1.2.4 | http://moutjs.com | MIT license
- */
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'VERSION' : '1.2.4',
- 'array' : require('./array'),
- 'collection' : require('./collection'),
- 'date' : require('./date'),
- 'function' : require('./function'),
- 'lang' : require('./lang'),
- 'math' : require('./math'),
- 'number' : require('./number'),
- 'object' : require('./object'),
- 'queryString' : require('./queryString'),
- 'random' : require('./random'),
- 'string' : require('./string'),
- 'time' : require('./time'),
- 'fn' : require('./function')
-};
-
-});
diff --git a/node_modules/mout/src/lang.js b/node_modules/mout/src/lang.js
deleted file mode 100644
index df713a5..0000000
--- a/node_modules/mout/src/lang.js
+++ /dev/null
@@ -1,40 +0,0 @@
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'GLOBAL' : require('./lang/GLOBAL'),
- 'clone' : require('./lang/clone'),
- 'createObject' : require('./lang/createObject'),
- 'ctorApply' : require('./lang/ctorApply'),
- 'deepClone' : require('./lang/deepClone'),
- 'deepEquals' : require('./lang/deepEquals'),
- 'defaults' : require('./lang/defaults'),
- 'inheritPrototype' : require('./lang/inheritPrototype'),
- 'is' : require('./lang/is'),
- 'isArguments' : require('./lang/isArguments'),
- 'isArray' : require('./lang/isArray'),
- 'isBoolean' : require('./lang/isBoolean'),
- 'isDate' : require('./lang/isDate'),
- 'isEmpty' : require('./lang/isEmpty'),
- 'isFinite' : require('./lang/isFinite'),
- 'isFunction' : require('./lang/isFunction'),
- 'isInteger' : require('./lang/isInteger'),
- 'isKind' : require('./lang/isKind'),
- 'isNaN' : require('./lang/isNaN'),
- 'isNull' : require('./lang/isNull'),
- 'isNumber' : require('./lang/isNumber'),
- 'isObject' : require('./lang/isObject'),
- 'isPlainObject' : require('./lang/isPlainObject'),
- 'isPrimitive' : require('./lang/isPrimitive'),
- 'isRegExp' : require('./lang/isRegExp'),
- 'isString' : require('./lang/isString'),
- 'isUndefined' : require('./lang/isUndefined'),
- 'isnt' : require('./lang/isnt'),
- 'kindOf' : require('./lang/kindOf'),
- 'toArray' : require('./lang/toArray'),
- 'toNumber' : require('./lang/toNumber'),
- 'toString' : require('./lang/toString')
-};
-
-});
diff --git a/node_modules/mout/src/lang/GLOBAL.js b/node_modules/mout/src/lang/GLOBAL.js
deleted file mode 100644
index dcd4a42..0000000
--- a/node_modules/mout/src/lang/GLOBAL.js
+++ /dev/null
@@ -1,7 +0,0 @@
-define(function () {
-
- // Reference to the global context (works on ES3 and ES5-strict mode)
- //jshint -W061, -W064
- return Function('return this')();
-
-});
diff --git a/node_modules/mout/src/lang/clone.js b/node_modules/mout/src/lang/clone.js
deleted file mode 100644
index d3429fd..0000000
--- a/node_modules/mout/src/lang/clone.js
+++ /dev/null
@@ -1,47 +0,0 @@
-define(['./kindOf', './isPlainObject', '../object/mixIn'], function (kindOf, isPlainObject, mixIn) {
-
- /**
- * Clone native types.
- */
- function clone(val){
- switch (kindOf(val)) {
- case 'Object':
- return cloneObject(val);
- case 'Array':
- return cloneArray(val);
- case 'RegExp':
- return cloneRegExp(val);
- case 'Date':
- return cloneDate(val);
- default:
- return val;
- }
- }
-
- function cloneObject(source) {
- if (isPlainObject(source)) {
- return mixIn({}, source);
- } else {
- return source;
- }
- }
-
- function cloneRegExp(r) {
- var flags = '';
- flags += r.multiline ? 'm' : '';
- flags += r.global ? 'g' : '';
- flags += r.ignoreCase ? 'i' : '';
- return new RegExp(r.source, flags);
- }
-
- function cloneDate(date) {
- return new Date(+date);
- }
-
- function cloneArray(arr) {
- return arr.slice();
- }
-
- return clone;
-
-});
diff --git a/node_modules/mout/src/lang/createObject.js b/node_modules/mout/src/lang/createObject.js
deleted file mode 100644
index f766150..0000000
--- a/node_modules/mout/src/lang/createObject.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(['../object/mixIn'], function(mixIn){
-
- /**
- * Create Object using prototypal inheritance and setting custom properties.
- * - Mix between Douglas Crockford Prototypal Inheritance and the EcmaScript 5 `Object.create()` method.
- * @param {object} parent Parent Object.
- * @param {object} [props] Object properties.
- * @return {object} Created object.
- */
- function createObject(parent, props){
- function F(){}
- F.prototype = parent;
- return mixIn(new F(), props);
-
- }
- return createObject;
-});
-
diff --git a/node_modules/mout/src/lang/ctorApply.js b/node_modules/mout/src/lang/ctorApply.js
deleted file mode 100644
index d0674b1..0000000
--- a/node_modules/mout/src/lang/ctorApply.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define(function () {
-
- var bind = Function.prototype.bind;
-
- /**
- * Do fn.apply on a constructor.
- */
- function ctorApply(ctor, args) {
- var Bound = bind.bind(ctor, undefined).apply(undefined, args);
- return new Bound();
- }
-
- return ctorApply;
-
-});
diff --git a/node_modules/mout/src/lang/deepClone.js b/node_modules/mout/src/lang/deepClone.js
deleted file mode 100644
index d45c10a..0000000
--- a/node_modules/mout/src/lang/deepClone.js
+++ /dev/null
@@ -1,45 +0,0 @@
-define(['./clone', '../object/forOwn', './kindOf', './isPlainObject'], function (clone, forOwn, kindOf, isPlainObject) {
-
- /**
- * Recursively clone native types.
- */
- function deepClone(val, instanceClone) {
- switch ( kindOf(val) ) {
- case 'Object':
- return cloneObject(val, instanceClone);
- case 'Array':
- return cloneArray(val, instanceClone);
- default:
- return clone(val);
- }
- }
-
- function cloneObject(source, instanceClone) {
- if (isPlainObject(source)) {
- var out = {};
- forOwn(source, function(val, key) {
- this[key] = deepClone(val, instanceClone);
- }, out);
- return out;
- } else if (instanceClone) {
- return instanceClone(source);
- } else {
- return source;
- }
- }
-
- function cloneArray(arr, instanceClone) {
- var out = [],
- i = -1,
- n = arr.length,
- val;
- while (++i < n) {
- out[i] = deepClone(arr[i], instanceClone);
- }
- return out;
- }
-
- return deepClone;
-
-});
-
diff --git a/node_modules/mout/src/lang/deepEquals.js b/node_modules/mout/src/lang/deepEquals.js
deleted file mode 100644
index f4eda1a..0000000
--- a/node_modules/mout/src/lang/deepEquals.js
+++ /dev/null
@@ -1,26 +0,0 @@
-define(['./is', './isObject', './isArray', '../object/equals', '../array/equals'], function (is, isObject, isArray, objEquals, arrEquals) {
-
- /**
- * Recursively checks for same properties and values.
- */
- function deepEquals(a, b, callback){
- callback = callback || is;
-
- var bothObjects = isObject(a) && isObject(b);
- var bothArrays = !bothObjects && isArray(a) && isArray(b);
-
- if (!bothObjects && !bothArrays) {
- return callback(a, b);
- }
-
- function compare(a, b){
- return deepEquals(a, b, callback);
- }
-
- var method = bothObjects ? objEquals : arrEquals;
- return method(a, b, compare);
- }
-
- return deepEquals;
-
-});
diff --git a/node_modules/mout/src/lang/defaults.js b/node_modules/mout/src/lang/defaults.js
deleted file mode 100644
index 5156b1b..0000000
--- a/node_modules/mout/src/lang/defaults.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(['./toArray', '../array/find'], function (toArray, find) {
-
- /**
- * Return first non void argument
- */
- function defaults(var_args){
- return find(toArray(arguments), nonVoid);
- }
-
- function nonVoid(val){
- return val != null;
- }
-
- return defaults;
-
-});
diff --git a/node_modules/mout/src/lang/inheritPrototype.js b/node_modules/mout/src/lang/inheritPrototype.js
deleted file mode 100644
index 64c9178..0000000
--- a/node_modules/mout/src/lang/inheritPrototype.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(['./createObject'], function(createObject){
-
- /**
- * Inherit prototype from another Object.
- * - inspired by Nicholas Zackas Solution
- * @param {object} child Child object
- * @param {object} parent Parent Object
- */
- function inheritPrototype(child, parent){
- var p = createObject(parent.prototype);
- p.constructor = child;
- child.prototype = p;
- child.super_ = parent;
- return p;
- }
-
- return inheritPrototype;
-});
diff --git a/node_modules/mout/src/lang/is.js b/node_modules/mout/src/lang/is.js
deleted file mode 100644
index 261a207..0000000
--- a/node_modules/mout/src/lang/is.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define(function () {
-
- /**
- * Check if both arguments are egal.
- */
- function is(x, y){
- // implementation borrowed from harmony:egal spec
- if (x === y) {
- // 0 === -0, but they are not identical
- return x !== 0 || 1 / x === 1 / y;
- }
-
- // NaN !== NaN, but they are identical.
- // NaNs are the only non-reflexive value, i.e., if x !== x,
- // then x is a NaN.
- // isNaN is broken: it converts its argument to number, so
- // isNaN("foo") => true
- return x !== x && y !== y;
- }
-
- return is;
-
-});
diff --git a/node_modules/mout/src/lang/isArguments.js b/node_modules/mout/src/lang/isArguments.js
deleted file mode 100644
index f889ee8..0000000
--- a/node_modules/mout/src/lang/isArguments.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define(['./isKind'], function (isKind) {
-
- /**
- */
- var isArgs = isKind(arguments, 'Arguments')?
- function(val){
- return isKind(val, 'Arguments');
- } :
- function(val){
- // Arguments is an Object on IE7
- return !!(val && Object.prototype.hasOwnProperty.call(val, 'callee'));
- };
-
- return isArgs;
-});
diff --git a/node_modules/mout/src/lang/isArray.js b/node_modules/mout/src/lang/isArray.js
deleted file mode 100644
index 886e2aa..0000000
--- a/node_modules/mout/src/lang/isArray.js
+++ /dev/null
@@ -1,8 +0,0 @@
-define(['./isKind'], function (isKind) {
- /**
- */
- var isArray = Array.isArray || function (val) {
- return isKind(val, 'Array');
- };
- return isArray;
-});
diff --git a/node_modules/mout/src/lang/isBoolean.js b/node_modules/mout/src/lang/isBoolean.js
deleted file mode 100644
index 1ca27a6..0000000
--- a/node_modules/mout/src/lang/isBoolean.js
+++ /dev/null
@@ -1,8 +0,0 @@
-define(['./isKind'], function (isKind) {
- /**
- */
- function isBoolean(val) {
- return isKind(val, 'Boolean');
- }
- return isBoolean;
-});
diff --git a/node_modules/mout/src/lang/isDate.js b/node_modules/mout/src/lang/isDate.js
deleted file mode 100644
index 2708d67..0000000
--- a/node_modules/mout/src/lang/isDate.js
+++ /dev/null
@@ -1,8 +0,0 @@
-define(['./isKind'], function (isKind) {
- /**
- */
- function isDate(val) {
- return isKind(val, 'Date');
- }
- return isDate;
-});
diff --git a/node_modules/mout/src/lang/isEmpty.js b/node_modules/mout/src/lang/isEmpty.js
deleted file mode 100644
index 8b67750..0000000
--- a/node_modules/mout/src/lang/isEmpty.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define(['../object/forOwn', './isArray'], function (forOwn, isArray) {
-
- function isEmpty(val){
- if (val == null) {
- // typeof null == 'object' so we check it first
- return true;
- } else if ( typeof val === 'string' || isArray(val) ) {
- return !val.length;
- } else if ( typeof val === 'object' ) {
- var result = true;
- forOwn(val, function(){
- result = false;
- return false; // break loop
- });
- return result;
- } else {
- return true;
- }
- }
-
- return isEmpty;
-
-});
diff --git a/node_modules/mout/src/lang/isFinite.js b/node_modules/mout/src/lang/isFinite.js
deleted file mode 100644
index 05c29ac..0000000
--- a/node_modules/mout/src/lang/isFinite.js
+++ /dev/null
@@ -1,19 +0,0 @@
-define(['./isNumber', './GLOBAL'], function (isNumber, GLOBAL) {
-
- /**
- * Check if value is finite
- */
- function isFinite(val){
- var is = false;
- if (typeof val === 'string' && val !== '') {
- is = GLOBAL.isFinite( parseFloat(val) );
- } else if (isNumber(val)){
- // need to use isNumber because of Number constructor
- is = GLOBAL.isFinite( val );
- }
- return is;
- }
-
- return isFinite;
-
-});
diff --git a/node_modules/mout/src/lang/isFunction.js b/node_modules/mout/src/lang/isFunction.js
deleted file mode 100644
index ff5df7f..0000000
--- a/node_modules/mout/src/lang/isFunction.js
+++ /dev/null
@@ -1,8 +0,0 @@
-define(['./isKind'], function (isKind) {
- /**
- */
- function isFunction(val) {
- return isKind(val, 'Function');
- }
- return isFunction;
-});
diff --git a/node_modules/mout/src/lang/isInteger.js b/node_modules/mout/src/lang/isInteger.js
deleted file mode 100644
index 1931f51..0000000
--- a/node_modules/mout/src/lang/isInteger.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(['./isNumber'], function (isNumber) {
-
- /**
- * Check if value is an integer
- */
- function isInteger(val){
- return isNumber(val) && (val % 1 === 0);
- }
-
- return isInteger;
-
-});
diff --git a/node_modules/mout/src/lang/isKind.js b/node_modules/mout/src/lang/isKind.js
deleted file mode 100644
index 6937a12..0000000
--- a/node_modules/mout/src/lang/isKind.js
+++ /dev/null
@@ -1,9 +0,0 @@
-define(['./kindOf'], function (kindOf) {
- /**
- * Check if value is from a specific "kind".
- */
- function isKind(val, kind){
- return kindOf(val) === kind;
- }
- return isKind;
-});
diff --git a/node_modules/mout/src/lang/isNaN.js b/node_modules/mout/src/lang/isNaN.js
deleted file mode 100644
index 2219404..0000000
--- a/node_modules/mout/src/lang/isNaN.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define(['./isNumber', '../number/isNaN'], function (isNumber, $isNaN) {
-
- /**
- * Check if value is NaN for realz
- */
- function isNaN(val){
- // based on the fact that NaN !== NaN
- // need to check if it's a number to avoid conflicts with host objects
- // also need to coerce ToNumber to avoid edge case `new Number(NaN)`
- return !isNumber(val) || $isNaN(Number(val));
- }
-
- return isNaN;
-
-});
diff --git a/node_modules/mout/src/lang/isNull.js b/node_modules/mout/src/lang/isNull.js
deleted file mode 100644
index 506e05e..0000000
--- a/node_modules/mout/src/lang/isNull.js
+++ /dev/null
@@ -1,9 +0,0 @@
-define(function () {
- /**
- */
- function isNull(val){
- return val === null;
- }
- return isNull;
-});
-
diff --git a/node_modules/mout/src/lang/isNumber.js b/node_modules/mout/src/lang/isNumber.js
deleted file mode 100644
index 9a832c5..0000000
--- a/node_modules/mout/src/lang/isNumber.js
+++ /dev/null
@@ -1,8 +0,0 @@
-define(['./isKind'], function (isKind) {
- /**
- */
- function isNumber(val) {
- return isKind(val, 'Number');
- }
- return isNumber;
-});
diff --git a/node_modules/mout/src/lang/isObject.js b/node_modules/mout/src/lang/isObject.js
deleted file mode 100644
index 0befb06..0000000
--- a/node_modules/mout/src/lang/isObject.js
+++ /dev/null
@@ -1,8 +0,0 @@
-define(['./isKind'], function (isKind) {
- /**
- */
- function isObject(val) {
- return isKind(val, 'Object');
- }
- return isObject;
-});
diff --git a/node_modules/mout/src/lang/isPlainObject.js b/node_modules/mout/src/lang/isPlainObject.js
deleted file mode 100644
index 406a279..0000000
--- a/node_modules/mout/src/lang/isPlainObject.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(function () {
-
- /**
- * Checks if the value is created by the `Object` constructor.
- */
- function isPlainObject(value) {
- return (!!value && typeof value === 'object' &&
- value.constructor === Object);
- }
-
- return isPlainObject;
-
-});
diff --git a/node_modules/mout/src/lang/isPrimitive.js b/node_modules/mout/src/lang/isPrimitive.js
deleted file mode 100644
index c4035ea..0000000
--- a/node_modules/mout/src/lang/isPrimitive.js
+++ /dev/null
@@ -1,21 +0,0 @@
-define(function() {
-
- /**
- * Checks if the object is a primitive
- */
- function isPrimitive(value) {
- // Using switch fallthrough because it's simple to read and is
- // generally fast: http://jsperf.com/testing-value-is-primitive/5
- switch (typeof value) {
- case "string":
- case "number":
- case "boolean":
- return true;
- }
-
- return value == null;
- }
-
- return isPrimitive;
-
-});
diff --git a/node_modules/mout/src/lang/isRegExp.js b/node_modules/mout/src/lang/isRegExp.js
deleted file mode 100644
index d78a03d..0000000
--- a/node_modules/mout/src/lang/isRegExp.js
+++ /dev/null
@@ -1,8 +0,0 @@
-define(['./isKind'], function (isKind) {
- /**
- */
- function isRegExp(val) {
- return isKind(val, 'RegExp');
- }
- return isRegExp;
-});
diff --git a/node_modules/mout/src/lang/isString.js b/node_modules/mout/src/lang/isString.js
deleted file mode 100644
index 8a42fe0..0000000
--- a/node_modules/mout/src/lang/isString.js
+++ /dev/null
@@ -1,8 +0,0 @@
-define(['./isKind'], function (isKind) {
- /**
- */
- function isString(val) {
- return isKind(val, 'String');
- }
- return isString;
-});
diff --git a/node_modules/mout/src/lang/isUndefined.js b/node_modules/mout/src/lang/isUndefined.js
deleted file mode 100644
index c57b28e..0000000
--- a/node_modules/mout/src/lang/isUndefined.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define(function () {
- var UNDEF;
-
- /**
- */
- function isUndef(val){
- return val === UNDEF;
- }
- return isUndef;
-});
diff --git a/node_modules/mout/src/lang/isnt.js b/node_modules/mout/src/lang/isnt.js
deleted file mode 100644
index d433622..0000000
--- a/node_modules/mout/src/lang/isnt.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(['./is'], function (is) {
-
- /**
- * Check if both values are not identical/egal
- */
- function isnt(x, y){
- return !is(x, y);
- }
-
- return isnt;
-
-});
diff --git a/node_modules/mout/src/lang/kindOf.js b/node_modules/mout/src/lang/kindOf.js
deleted file mode 100644
index 4c7dc4c..0000000
--- a/node_modules/mout/src/lang/kindOf.js
+++ /dev/null
@@ -1,9 +0,0 @@
-define(function () {
- /**
- * Gets the "kind" of value. (e.g. "String", "Number", etc)
- */
- function kindOf(val) {
- return Object.prototype.toString.call(val).slice(8, -1);
- }
- return kindOf;
-});
diff --git a/node_modules/mout/src/lang/toArray.js b/node_modules/mout/src/lang/toArray.js
deleted file mode 100644
index ad04d07..0000000
--- a/node_modules/mout/src/lang/toArray.js
+++ /dev/null
@@ -1,29 +0,0 @@
-define(['./kindOf', './GLOBAL'], function (kindOf, GLOBAL) {
-
- /**
- * Convert array-like object into array
- */
- function toArray(val){
- var ret = [],
- kind = kindOf(val),
- n;
-
- if (val != null) {
- if ( val.length == null || kind === 'String' || kind === 'Function' || kind === 'RegExp' || val === GLOBAL ) {
- //string, regexp, function have .length but user probably just want
- //to wrap value into an array..
- ret[ret.length] = val;
- } else {
- //window returns true on isObject in IE7 and may have length
- //property. `typeof NodeList` returns `function` on Safari so
- //we can't use it (#58)
- n = val.length;
- while (n--) {
- ret[n] = val[n];
- }
- }
- }
- return ret;
- }
- return toArray;
-});
diff --git a/node_modules/mout/src/lang/toNumber.js b/node_modules/mout/src/lang/toNumber.js
deleted file mode 100644
index 3976738..0000000
--- a/node_modules/mout/src/lang/toNumber.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define(['./isArray'], function (isArray) {
-
- /**
- * covert value into number if numeric
- */
- function toNumber(val){
- // numberic values should come first because of -0
- if (typeof val === 'number') return val;
- // we want all falsy values (besides -0) to return zero to avoid
- // headaches
- if (!val) return 0;
- if (typeof val === 'string') return parseFloat(val);
- // arrays are edge cases. `Number([4]) === 4`
- if (isArray(val)) return NaN;
- return Number(val);
- }
-
- return toNumber;
-
-});
diff --git a/node_modules/mout/src/lang/toString.js b/node_modules/mout/src/lang/toString.js
deleted file mode 100644
index c28b89a..0000000
--- a/node_modules/mout/src/lang/toString.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(function () {
-
- /**
- * Typecast a value to a String, using an empty string value for null or
- * undefined.
- */
- function toString(val){
- return val == null ? '' : val.toString();
- }
-
- return toString;
-
-});
diff --git a/node_modules/mout/src/math.js b/node_modules/mout/src/math.js
deleted file mode 100644
index 481e44f..0000000
--- a/node_modules/mout/src/math.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'ceil' : require('./math/ceil'),
- 'clamp' : require('./math/clamp'),
- 'countSteps' : require('./math/countSteps'),
- 'floor' : require('./math/floor'),
- 'inRange' : require('./math/inRange'),
- 'isNear' : require('./math/isNear'),
- 'lerp' : require('./math/lerp'),
- 'loop' : require('./math/loop'),
- 'map' : require('./math/map'),
- 'norm' : require('./math/norm'),
- 'overflow' : require('./math/overflow'),
- 'round' : require('./math/round')
-};
-
-});
diff --git a/node_modules/mout/src/math/ceil.js b/node_modules/mout/src/math/ceil.js
deleted file mode 100644
index d73b058..0000000
--- a/node_modules/mout/src/math/ceil.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(function(){
- /**
- * Round value up with a custom radix.
- */
- function ceil(val, step){
- step = Math.abs(step || 1);
- return Math.ceil(val / step) * step;
- }
-
- return ceil;
-});
diff --git a/node_modules/mout/src/math/clamp.js b/node_modules/mout/src/math/clamp.js
deleted file mode 100644
index fb5a148..0000000
--- a/node_modules/mout/src/math/clamp.js
+++ /dev/null
@@ -1,9 +0,0 @@
-define(function(){
- /**
- * Clamps value inside range.
- */
- function clamp(val, min, max){
- return val < min? min : (val > max? max : val);
- }
- return clamp;
-});
diff --git a/node_modules/mout/src/math/countSteps.js b/node_modules/mout/src/math/countSteps.js
deleted file mode 100644
index 0ecb32f..0000000
--- a/node_modules/mout/src/math/countSteps.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(function(){
- /**
- * Count number of full steps.
- */
- function countSteps(val, step, overflow){
- val = Math.floor(val / step);
-
- if (overflow) {
- return val % overflow;
- }
-
- return val;
- }
-
- return countSteps;
-});
diff --git a/node_modules/mout/src/math/floor.js b/node_modules/mout/src/math/floor.js
deleted file mode 100644
index 8a4456b..0000000
--- a/node_modules/mout/src/math/floor.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define(function(){
- /**
- * Floor value to full steps.
- */
- function floor(val, step){
- step = Math.abs(step || 1);
- return Math.floor(val / step) * step;
- }
- return floor;
-});
diff --git a/node_modules/mout/src/math/inRange.js b/node_modules/mout/src/math/inRange.js
deleted file mode 100644
index 0c89053..0000000
--- a/node_modules/mout/src/math/inRange.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(function(){
- /**
- * Checks if value is inside the range.
- */
- function inRange(val, min, max, threshold){
- threshold = threshold || 0;
- return (val + threshold >= min && val - threshold <= max);
- }
-
- return inRange;
-});
diff --git a/node_modules/mout/src/math/isNear.js b/node_modules/mout/src/math/isNear.js
deleted file mode 100644
index b308a0b..0000000
--- a/node_modules/mout/src/math/isNear.js
+++ /dev/null
@@ -1,9 +0,0 @@
-define(function(){
- /**
- * Check if value is close to target.
- */
- function isNear(val, target, threshold){
- return (Math.abs(val - target) <= threshold);
- }
- return isNear;
-});
diff --git a/node_modules/mout/src/math/lerp.js b/node_modules/mout/src/math/lerp.js
deleted file mode 100644
index 26b99d0..0000000
--- a/node_modules/mout/src/math/lerp.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(function(){
- /**
- * Linear interpolation.
- * IMPORTANT:will return `Infinity` if numbers overflow Number.MAX_VALUE
- */
- function lerp(ratio, start, end){
- return start + (end - start) * ratio;
- }
-
- return lerp;
-});
diff --git a/node_modules/mout/src/math/loop.js b/node_modules/mout/src/math/loop.js
deleted file mode 100644
index c735ecf..0000000
--- a/node_modules/mout/src/math/loop.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define(function(){
- /**
- * Loops value inside range.
- */
- function loop(val, min, max){
- return val < min? max : (val > max? min : val);
- }
-
- return loop;
-});
diff --git a/node_modules/mout/src/math/map.js b/node_modules/mout/src/math/map.js
deleted file mode 100644
index bf7dc5d..0000000
--- a/node_modules/mout/src/math/map.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define(['./lerp', './norm'], function(lerp, norm){
- /**
- * Maps a number from one scale to another.
- * @example map(3, 0, 4, -1, 1) -> 0.5
- */
- function map(val, min1, max1, min2, max2){
- return lerp( norm(val, min1, max1), min2, max2 );
- }
- return map;
-});
diff --git a/node_modules/mout/src/math/norm.js b/node_modules/mout/src/math/norm.js
deleted file mode 100644
index 724d4f5..0000000
--- a/node_modules/mout/src/math/norm.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(function(){
- /**
- * Gets normalized ratio of value inside range.
- */
- function norm(val, min, max){
- if (val < min || val > max) {
- throw new RangeError('value (' + val + ') must be between ' + min + ' and ' + max);
- }
-
- return val === max ? 1 : (val - min) / (max - min);
- }
- return norm;
-});
diff --git a/node_modules/mout/src/math/overflow.js b/node_modules/mout/src/math/overflow.js
deleted file mode 100644
index d9fd529..0000000
--- a/node_modules/mout/src/math/overflow.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define(function () {
-
- /**
- * Wraps number within bounds both positive and negative
- */
- function overflow(number, min, max){
- if ( max === undefined ) {
- max = min;
- min = 0;
- }
-
- var difference = max - min;
-
- if ( number < min ) {
- number += difference * ( ~~( ( min - number ) / difference ) + 1 );
- }
-
- return min + ( number - min ) % difference;
- }
-
- return overflow;
-
-});
diff --git a/node_modules/mout/src/math/round.js b/node_modules/mout/src/math/round.js
deleted file mode 100644
index b43e4ac..0000000
--- a/node_modules/mout/src/math/round.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(function () {
- /**
- * Round number to a specific radix
- */
- function round(value, radix){
- radix = radix || 1; // default round 1
- return Math.round(value / radix) * radix;
- }
-
- return round;
-
-});
diff --git a/node_modules/mout/src/number.js b/node_modules/mout/src/number.js
deleted file mode 100644
index ffdb2cd..0000000
--- a/node_modules/mout/src/number.js
+++ /dev/null
@@ -1,25 +0,0 @@
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'MAX_INT' : require('./number/MAX_INT'),
- 'MAX_SAFE_INTEGER' : require('./number/MAX_SAFE_INTEGER'),
- 'MAX_UINT' : require('./number/MAX_UINT'),
- 'MIN_INT' : require('./number/MIN_INT'),
- 'abbreviate' : require('./number/abbreviate'),
- 'currencyFormat' : require('./number/currencyFormat'),
- 'enforcePrecision' : require('./number/enforcePrecision'),
- 'isNaN' : require('./number/isNaN'),
- 'nth' : require('./number/nth'),
- 'ordinal' : require('./number/ordinal'),
- 'pad' : require('./number/pad'),
- 'rol' : require('./number/rol'),
- 'ror' : require('./number/ror'),
- 'sign' : require('./number/sign'),
- 'toInt' : require('./number/toInt'),
- 'toUInt' : require('./number/toUInt'),
- 'toUInt31' : require('./number/toUInt31')
-};
-
-});
diff --git a/node_modules/mout/src/number/MAX_INT.js b/node_modules/mout/src/number/MAX_INT.js
deleted file mode 100644
index 23a6e1a..0000000
--- a/node_modules/mout/src/number/MAX_INT.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * @constant Maximum 32-bit signed integer value. (2^31 - 1)
- */
-define(function(){
- return 2147483647;
-});
diff --git a/node_modules/mout/src/number/MAX_SAFE_INTEGER.js b/node_modules/mout/src/number/MAX_SAFE_INTEGER.js
deleted file mode 100644
index ecdc62e..0000000
--- a/node_modules/mout/src/number/MAX_SAFE_INTEGER.js
+++ /dev/null
@@ -1,7 +0,0 @@
-define(function () {
-
- // maximum safe integer (Math.pow(2, 53) - 1)
- // see: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer
- return 9007199254740991;
-
-});
diff --git a/node_modules/mout/src/number/MAX_UINT.js b/node_modules/mout/src/number/MAX_UINT.js
deleted file mode 100644
index a035096..0000000
--- a/node_modules/mout/src/number/MAX_UINT.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * @constant Maximum 32-bit unsigned integet value (2^32 - 1)
- */
-define(function(){
- return 4294967295;
-});
diff --git a/node_modules/mout/src/number/MIN_INT.js b/node_modules/mout/src/number/MIN_INT.js
deleted file mode 100644
index 9b3e978..0000000
--- a/node_modules/mout/src/number/MIN_INT.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/**
- * @constant Minimum 32-bit signed integer value (-2^31).
- */
-define(function(){
- return -2147483648;
-});
diff --git a/node_modules/mout/src/number/abbreviate.js b/node_modules/mout/src/number/abbreviate.js
deleted file mode 100644
index 4e17a8f..0000000
--- a/node_modules/mout/src/number/abbreviate.js
+++ /dev/null
@@ -1,43 +0,0 @@
-define(["./enforcePrecision"], function (enforcePrecision) {
- var _defaultDict = {
- thousand: "K",
- million: "M",
- billion: "B",
- };
-
- /**
- * Abbreviate number if bigger than 1000. (eg: 2.5K, 17.5M, 3.4B, ...)
- */
- function abbreviateNumber(val, nDecimals, dict) {
- nDecimals = nDecimals != null ? nDecimals : 1;
- dict = dict || _defaultDict;
- val = enforcePrecision(val, nDecimals);
-
- var str, mod;
- var negative = false;
-
- if (val < 0) {
- val = -val;
- negative = true;
- }
-
- if (val < 1000000) {
- mod = enforcePrecision(val / 1000, nDecimals);
- // might overflow to next scale during rounding
- str = mod < 1000 ? mod + dict.thousand : 1 + dict.million;
- } else if (val < 1000000000) {
- mod = enforcePrecision(val / 1000000, nDecimals);
- str = mod < 1000 ? mod + dict.million : 1 + dict.billion;
- } else {
- str = enforcePrecision(val / 1000000000, nDecimals) + dict.billion;
- }
-
- if (negative) {
- str = "-" + str;
- }
-
- return str;
- }
-
- return abbreviateNumber;
-});
diff --git a/node_modules/mout/src/number/currencyFormat.js b/node_modules/mout/src/number/currencyFormat.js
deleted file mode 100644
index 1e5fecb..0000000
--- a/node_modules/mout/src/number/currencyFormat.js
+++ /dev/null
@@ -1,27 +0,0 @@
-define(['../lang/toNumber'], function (toNumber) {
-
- /**
- * Converts number into currency format
- */
- function currencyFormat(val, nDecimalDigits, decimalSeparator, thousandsSeparator) {
- val = toNumber(val);
- nDecimalDigits = nDecimalDigits == null? 2 : nDecimalDigits;
- decimalSeparator = decimalSeparator == null? '.' : decimalSeparator;
- thousandsSeparator = thousandsSeparator == null? ',' : thousandsSeparator;
-
- //can't use enforce precision since it returns a number and we are
- //doing a RegExp over the string
- var fixed = val.toFixed(nDecimalDigits),
- //separate begin [$1], middle [$2] and decimal digits [$4]
- parts = new RegExp('^(-?\\d{1,3})((?:\\d{3})+)(\\.(\\d{'+ nDecimalDigits +'}))?$').exec( fixed );
-
- if(parts){ //val >= 1000 || val <= -1000
- return parts[1] + parts[2].replace(/\d{3}/g, thousandsSeparator + '$&') + (parts[4] ? decimalSeparator + parts[4] : '');
- }else{
- return fixed.replace('.', decimalSeparator);
- }
- }
-
- return currencyFormat;
-
-});
diff --git a/node_modules/mout/src/number/enforcePrecision.js b/node_modules/mout/src/number/enforcePrecision.js
deleted file mode 100644
index 1e65e50..0000000
--- a/node_modules/mout/src/number/enforcePrecision.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(['../lang/toNumber'], function(toNumber){
- /**
- * Enforce a specific amount of decimal digits and also fix floating
- * point rounding issues.
- */
- function enforcePrecision(val, nDecimalDigits){
- val = toNumber(val);
- var pow = Math.pow(10, nDecimalDigits);
- return +(Math.round(val * pow) / pow).toFixed(nDecimalDigits);
- }
- return enforcePrecision;
-});
diff --git a/node_modules/mout/src/number/isNaN.js b/node_modules/mout/src/number/isNaN.js
deleted file mode 100644
index 3f1ebb6..0000000
--- a/node_modules/mout/src/number/isNaN.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(function () {
-
- /**
- * ES6 Number.isNaN
- * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN
- */
- function isNaN(val){
- // jshint eqeqeq:false
- return typeof val === 'number' && val != val;
- }
-
- return isNaN;
-
-});
diff --git a/node_modules/mout/src/number/nth.js b/node_modules/mout/src/number/nth.js
deleted file mode 100644
index e991e2b..0000000
--- a/node_modules/mout/src/number/nth.js
+++ /dev/null
@@ -1,25 +0,0 @@
-define(function () {
-
- /**
- * Returns "nth" of number (1 = "st", 2 = "nd", 3 = "rd", 4..10 = "th", ...)
- */
- function nth(i) {
- var t = (i % 100);
- if (t >= 10 && t <= 20) {
- return 'th';
- }
- switch(i % 10) {
- case 1:
- return 'st';
- case 2:
- return 'nd';
- case 3:
- return 'rd';
- default:
- return 'th';
- }
- }
-
- return nth;
-
-});
diff --git a/node_modules/mout/src/number/ordinal.js b/node_modules/mout/src/number/ordinal.js
deleted file mode 100644
index 17927fc..0000000
--- a/node_modules/mout/src/number/ordinal.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['./toInt', './nth'], function (toInt, nth) {
-
- /**
- * converts number into ordinal form (1st, 2nd, 3rd, 4th, ...)
- */
- function ordinal(n){
- n = toInt(n);
- return n + nth(n);
- }
-
- return ordinal;
-
-});
diff --git a/node_modules/mout/src/number/pad.js b/node_modules/mout/src/number/pad.js
deleted file mode 100644
index 194a3df..0000000
--- a/node_modules/mout/src/number/pad.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['../string/lpad', '../lang/toNumber'], function(lpad, toNumber){
-
- /**
- * Add padding zeros if n.length < minLength.
- */
- function pad(n, minLength, char){
- n = toNumber(n);
- return lpad(''+ n, minLength, char || '0');
- }
-
- return pad;
-
-});
diff --git a/node_modules/mout/src/number/rol.js b/node_modules/mout/src/number/rol.js
deleted file mode 100644
index a148f44..0000000
--- a/node_modules/mout/src/number/rol.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define(function(){
- /**
- * Bitwise circular shift left
- * http://en.wikipedia.org/wiki/Circular_shift
- */
- function rol(val, shift){
- return (val << shift) | (val >> (32 - shift));
- }
- return rol;
-});
diff --git a/node_modules/mout/src/number/ror.js b/node_modules/mout/src/number/ror.js
deleted file mode 100644
index b5c66f9..0000000
--- a/node_modules/mout/src/number/ror.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define(function(){
- /**
- * Bitwise circular shift right
- * http://en.wikipedia.org/wiki/Circular_shift
- */
- function ror(val, shift){
- return (val >> shift) | (val << (32 - shift));
- }
- return ror;
-});
diff --git a/node_modules/mout/src/number/sign.js b/node_modules/mout/src/number/sign.js
deleted file mode 100644
index b387c95..0000000
--- a/node_modules/mout/src/number/sign.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define(['../lang/toNumber'], function (toNumber) {
-
- /**
- * Get sign of the value.
- */
- function sign(val) {
- var num = toNumber(val);
- if (num === 0) return num; // +0 and +0 === 0
- if (isNaN(num)) return num; // NaN
- return num < 0? -1 : 1;
- }
-
- return sign;
-
-});
diff --git a/node_modules/mout/src/number/toInt.js b/node_modules/mout/src/number/toInt.js
deleted file mode 100644
index 5ea59e5..0000000
--- a/node_modules/mout/src/number/toInt.js
+++ /dev/null
@@ -1,17 +0,0 @@
-define(function(){
-
- /**
- * "Convert" value into an 32-bit integer.
- * Works like `Math.floor` if val > 0 and `Math.ceil` if val < 0.
- * IMPORTANT: val will wrap at 2^31 and -2^31.
- * Perf tests: http://jsperf.com/vs-vs-parseint-bitwise-operators/7
- */
- function toInt(val){
- // we do not use lang/toNumber because of perf and also because it
- // doesn't break the functionality
- return ~~val;
- }
-
- return toInt;
-
-});
diff --git a/node_modules/mout/src/number/toUInt.js b/node_modules/mout/src/number/toUInt.js
deleted file mode 100644
index 36bbdad..0000000
--- a/node_modules/mout/src/number/toUInt.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define(function () {
-
- /**
- * "Convert" value into a 32-bit unsigned integer.
- * IMPORTANT: Value will wrap at 2^32.
- */
- function toUInt(val){
- // we do not use lang/toNumber because of perf and also because it
- // doesn't break the functionality
- return val >>> 0;
- }
-
- return toUInt;
-
-});
diff --git a/node_modules/mout/src/number/toUInt31.js b/node_modules/mout/src/number/toUInt31.js
deleted file mode 100644
index c1c4aff..0000000
--- a/node_modules/mout/src/number/toUInt31.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define(['./MAX_INT'], function(MAX_INT){
-
- /**
- * "Convert" value into an 31-bit unsigned integer (since 1 bit is used for sign).
- * IMPORTANT: value wil wrap at 2^31, if negative will return 0.
- */
- function toUInt31(val){
- // we do not use lang/toNumber because of perf and also because it
- // doesn't break the functionality
- return (val <= 0)? 0 : (val > MAX_INT? ~~(val % (MAX_INT + 1)) : ~~val);
- }
-
- return toUInt31;
-
-});
diff --git a/node_modules/mout/src/object.js b/node_modules/mout/src/object.js
deleted file mode 100644
index 93cb49e..0000000
--- a/node_modules/mout/src/object.js
+++ /dev/null
@@ -1,44 +0,0 @@
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'bindAll' : require('./object/bindAll'),
- 'contains' : require('./object/contains'),
- 'deepFillIn' : require('./object/deepFillIn'),
- 'deepMatches' : require('./object/deepMatches'),
- 'deepMixIn' : require('./object/deepMixIn'),
- 'equals' : require('./object/equals'),
- 'every' : require('./object/every'),
- 'fillIn' : require('./object/fillIn'),
- 'filter' : require('./object/filter'),
- 'find' : require('./object/find'),
- 'flatten' : require('./object/flatten'),
- 'forIn' : require('./object/forIn'),
- 'forOwn' : require('./object/forOwn'),
- 'functions' : require('./object/functions'),
- 'get' : require('./object/get'),
- 'has' : require('./object/has'),
- 'hasOwn' : require('./object/hasOwn'),
- 'keys' : require('./object/keys'),
- 'map' : require('./object/map'),
- 'matches' : require('./object/matches'),
- 'max' : require('./object/max'),
- 'merge' : require('./object/merge'),
- 'min' : require('./object/min'),
- 'mixIn' : require('./object/mixIn'),
- 'namespace' : require('./object/namespace'),
- 'omit' : require('./object/omit'),
- 'pick' : require('./object/pick'),
- 'pluck' : require('./object/pluck'),
- 'reduce' : require('./object/reduce'),
- 'reject' : require('./object/reject'),
- 'result' : require('./object/result'),
- 'set' : require('./object/set'),
- 'size' : require('./object/size'),
- 'some' : require('./object/some'),
- 'unset' : require('./object/unset'),
- 'values' : require('./object/values')
-};
-
-});
diff --git a/node_modules/mout/src/object/bindAll.js b/node_modules/mout/src/object/bindAll.js
deleted file mode 100644
index 76576d6..0000000
--- a/node_modules/mout/src/object/bindAll.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(['./functions', '../function/bind', '../array/forEach', '../array/slice'], function (functions, bind, forEach, slice) {
-
- /**
- * Binds methods of the object to be run in it's own context.
- */
- function bindAll(obj, rest_methodNames){
- var keys = arguments.length > 1?
- slice(arguments, 1) : functions(obj);
- forEach(keys, function(key){
- obj[key] = bind(obj[key], obj);
- });
- }
-
- return bindAll;
-
-});
diff --git a/node_modules/mout/src/object/contains.js b/node_modules/mout/src/object/contains.js
deleted file mode 100644
index 297e898..0000000
--- a/node_modules/mout/src/object/contains.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['./some'], function (some) {
-
- /**
- * Check if object contains value
- */
- function contains(obj, needle) {
- return some(obj, function(val) {
- return (val === needle);
- });
- }
- return contains;
-
-});
diff --git a/node_modules/mout/src/object/deepFillIn.js b/node_modules/mout/src/object/deepFillIn.js
deleted file mode 100644
index ee69c3d..0000000
--- a/node_modules/mout/src/object/deepFillIn.js
+++ /dev/null
@@ -1,32 +0,0 @@
-define(['./forOwn', '../lang/isPlainObject'], function (forOwn, isPlainObject) {
-
- /**
- * Deeply copy missing properties in the target from the defaults.
- */
- function deepFillIn(target, defaults){
- var i = 0,
- n = arguments.length,
- obj;
-
- while(++i < n) {
- obj = arguments[i];
- if (obj) {
- // jshint loopfunc: true
- forOwn(obj, function(newValue, key) {
- var curValue = target[key];
- if (curValue == null) {
- target[key] = newValue;
- } else if (isPlainObject(curValue) &&
- isPlainObject(newValue)) {
- deepFillIn(curValue, newValue);
- }
- });
- }
- }
-
- return target;
- }
-
- return deepFillIn;
-
-});
diff --git a/node_modules/mout/src/object/deepMatches.js b/node_modules/mout/src/object/deepMatches.js
deleted file mode 100644
index ffd43e3..0000000
--- a/node_modules/mout/src/object/deepMatches.js
+++ /dev/null
@@ -1,55 +0,0 @@
-define(['./forOwn', '../lang/isArray'], function(forOwn, isArray) {
-
- function containsMatch(array, pattern) {
- var i = -1, length = array.length;
- while (++i < length) {
- if (deepMatches(array[i], pattern)) {
- return true;
- }
- }
-
- return false;
- }
-
- function matchArray(target, pattern) {
- var i = -1, patternLength = pattern.length;
- while (++i < patternLength) {
- if (!containsMatch(target, pattern[i])) {
- return false;
- }
- }
-
- return true;
- }
-
- function matchObject(target, pattern) {
- var result = true;
- forOwn(pattern, function(val, key) {
- if (!deepMatches(target[key], val)) {
- // Return false to break out of forOwn early
- return (result = false);
- }
- });
-
- return result;
- }
-
- /**
- * Recursively check if the objects match.
- */
- function deepMatches(target, pattern){
- if (target && typeof target === 'object' &&
- pattern && typeof pattern === 'object') {
- if (isArray(target) && isArray(pattern)) {
- return matchArray(target, pattern);
- } else {
- return matchObject(target, pattern);
- }
- } else {
- return target === pattern;
- }
- }
-
- return deepMatches;
-
-});
diff --git a/node_modules/mout/src/object/deepMixIn.js b/node_modules/mout/src/object/deepMixIn.js
deleted file mode 100644
index 1b4178e..0000000
--- a/node_modules/mout/src/object/deepMixIn.js
+++ /dev/null
@@ -1,33 +0,0 @@
-define(['./forOwn', '../lang/isPlainObject'], function (forOwn, isPlainObject) {
-
- /**
- * Mixes objects into the target object, recursively mixing existing child
- * objects.
- */
- function deepMixIn(target, objects) {
- var i = 0,
- n = arguments.length,
- obj;
-
- while(++i < n){
- obj = arguments[i];
- if (obj) {
- forOwn(obj, copyProp, target);
- }
- }
-
- return target;
- }
-
- function copyProp(val, key) {
- var existing = this[key];
- if (isPlainObject(val) && isPlainObject(existing)) {
- deepMixIn(existing, val);
- } else {
- this[key] = val;
- }
- }
-
- return deepMixIn;
-
-});
diff --git a/node_modules/mout/src/object/equals.js b/node_modules/mout/src/object/equals.js
deleted file mode 100644
index aeb8740..0000000
--- a/node_modules/mout/src/object/equals.js
+++ /dev/null
@@ -1,30 +0,0 @@
-define(['./hasOwn', './every', '../lang/isObject', '../lang/is'], function(hasOwn, every, isObject, is) {
-
- // Makes a function to compare the object values from the specified compare
- // operation callback.
- function makeCompare(callback) {
- return function(value, key) {
- return hasOwn(this, key) && callback(value, this[key]);
- };
- }
-
- function checkProperties(value, key) {
- return hasOwn(this, key);
- }
-
- /**
- * Checks if two objects have the same keys and values.
- */
- function equals(a, b, callback) {
- callback = callback || is;
-
- if (!isObject(a) || !isObject(b)) {
- return callback(a, b);
- }
-
- return (every(a, makeCompare(callback), b) &&
- every(b, checkProperties, a));
- }
-
- return equals;
-});
diff --git a/node_modules/mout/src/object/every.js b/node_modules/mout/src/object/every.js
deleted file mode 100644
index 52983a5..0000000
--- a/node_modules/mout/src/object/every.js
+++ /dev/null
@@ -1,22 +0,0 @@
-define(['./forOwn', '../function/makeIterator_'], function(forOwn, makeIterator) {
-
- /**
- * Object every
- */
- function every(obj, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var result = true;
- forOwn(obj, function(val, key) {
- // we consider any falsy values as "false" on purpose so shorthand
- // syntax can be used to check property existence
- if (!callback(val, key, obj)) {
- result = false;
- return false; // break
- }
- });
- return result;
- }
-
- return every;
-
-});
diff --git a/node_modules/mout/src/object/fillIn.js b/node_modules/mout/src/object/fillIn.js
deleted file mode 100644
index 363beab..0000000
--- a/node_modules/mout/src/object/fillIn.js
+++ /dev/null
@@ -1,19 +0,0 @@
-define(['../array/forEach', '../array/slice', './forOwn'], function (forEach, slice, forOwn) {
-
- /**
- * Copy missing properties in the obj from the defaults.
- */
- function fillIn(obj, var_defaults){
- forEach(slice(arguments, 1), function(base){
- forOwn(base, function(val, key){
- if (obj[key] == null) {
- obj[key] = val;
- }
- });
- });
- return obj;
- }
-
- return fillIn;
-
-});
diff --git a/node_modules/mout/src/object/filter.js b/node_modules/mout/src/object/filter.js
deleted file mode 100644
index f213b91..0000000
--- a/node_modules/mout/src/object/filter.js
+++ /dev/null
@@ -1,19 +0,0 @@
-define(['./forOwn', '../function/makeIterator_'], function(forOwn, makeIterator) {
-
- /**
- * Creates a new object with all the properties where the callback returns
- * true.
- */
- function filterValues(obj, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var output = {};
- forOwn(obj, function(value, key, obj) {
- if (callback(value, key, obj)) {
- output[key] = value;
- }
- });
-
- return output;
- }
- return filterValues;
-});
diff --git a/node_modules/mout/src/object/find.js b/node_modules/mout/src/object/find.js
deleted file mode 100644
index 47e6b09..0000000
--- a/node_modules/mout/src/object/find.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define(['./some', '../function/makeIterator_'], function(some, makeIterator) {
-
- /**
- * Returns first item that matches criteria
- */
- function find(obj, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var result;
- some(obj, function(value, key, obj) {
- if (callback(value, key, obj)) {
- result = value;
- return true; //break
- }
- });
- return result;
- }
-
- return find;
-
-});
diff --git a/node_modules/mout/src/object/flatten.js b/node_modules/mout/src/object/flatten.js
deleted file mode 100644
index 4fe07af..0000000
--- a/node_modules/mout/src/object/flatten.js
+++ /dev/null
@@ -1,37 +0,0 @@
-define(['./forOwn', '../lang/isPlainObject'], function (forOwn, isPlainObject) {
-
- /*
- * Helper function to flatten to a destination object.
- * Used to remove the need to create intermediate objects while flattening.
- */
- function flattenTo(obj, result, prefix, level) {
- forOwn(obj, function (value, key) {
- var nestedPrefix = prefix ? prefix + '.' + key : key;
-
- if (level !== 0 && isPlainObject(value)) {
- flattenTo(value, result, nestedPrefix, level - 1);
- } else {
- result[nestedPrefix] = value;
- }
- });
-
- return result;
- }
-
- /**
- * Recursively flattens an object.
- * A new object containing all the elements is returned.
- * If level is specified, it will only flatten up to that level.
- */
- function flatten(obj, level) {
- if (obj == null) {
- return {};
- }
-
- level = level == null ? -1 : level;
- return flattenTo(obj, {}, '', level);
- }
-
- return flatten;
-
-});
diff --git a/node_modules/mout/src/object/forIn.js b/node_modules/mout/src/object/forIn.js
deleted file mode 100644
index 90f2706..0000000
--- a/node_modules/mout/src/object/forIn.js
+++ /dev/null
@@ -1,76 +0,0 @@
-define(['./hasOwn'], function (hasOwn) {
-
- var _hasDontEnumBug,
- _dontEnums;
-
- function checkDontEnum(){
- _dontEnums = [
- 'toString',
- 'toLocaleString',
- 'valueOf',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'constructor'
- ];
-
- _hasDontEnumBug = true;
-
- for (var key in {'toString': null}) {
- _hasDontEnumBug = false;
- }
- }
-
- /**
- * Similar to Array/forEach but works over object properties and fixes Don't
- * Enum bug on IE.
- * based on: http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation
- */
- function forIn(obj, fn, thisObj){
- var key, i = 0;
- // no need to check if argument is a real object that way we can use
- // it for arrays, functions, date, etc.
-
- //post-pone check till needed
- if (_hasDontEnumBug == null) checkDontEnum();
-
- for (key in obj) {
- if (exec(fn, obj, key, thisObj) === false) {
- break;
- }
- }
-
-
- if (_hasDontEnumBug) {
- var ctor = obj.constructor,
- isProto = !!ctor && obj === ctor.prototype;
-
- while (key = _dontEnums[i++]) {
- // For constructor, if it is a prototype object the constructor
- // is always non-enumerable unless defined otherwise (and
- // enumerated above). For non-prototype objects, it will have
- // to be defined on this object, since it cannot be defined on
- // any prototype objects.
- //
- // For other [[DontEnum]] properties, check if the value is
- // different than Object prototype value.
- if (
- (key !== 'constructor' ||
- (!isProto && hasOwn(obj, key))) &&
- obj[key] !== Object.prototype[key]
- ) {
- if (exec(fn, obj, key, thisObj) === false) {
- break;
- }
- }
- }
- }
- }
-
- function exec(fn, obj, key, thisObj){
- return fn.call(thisObj, obj[key], key, obj);
- }
-
- return forIn;
-
-});
diff --git a/node_modules/mout/src/object/forOwn.js b/node_modules/mout/src/object/forOwn.js
deleted file mode 100644
index b40cbaf..0000000
--- a/node_modules/mout/src/object/forOwn.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(['./hasOwn', './forIn'], function (hasOwn, forIn) {
-
- /**
- * Similar to Array/forEach but works over object properties and fixes Don't
- * Enum bug on IE.
- * based on: http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation
- */
- function forOwn(obj, fn, thisObj){
- forIn(obj, function(val, key){
- if (hasOwn(obj, key)) {
- return fn.call(thisObj, obj[key], key, obj);
- }
- });
- }
-
- return forOwn;
-
-});
diff --git a/node_modules/mout/src/object/functions.js b/node_modules/mout/src/object/functions.js
deleted file mode 100644
index 60fee3d..0000000
--- a/node_modules/mout/src/object/functions.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(['./forIn'], function (forIn) {
-
- /**
- * return a list of all enumerable properties that have function values
- */
- function functions(obj){
- var keys = [];
- forIn(obj, function(val, key){
- if (typeof val === 'function'){
- keys.push(key);
- }
- });
- return keys.sort();
- }
-
- return functions;
-
-});
diff --git a/node_modules/mout/src/object/get.js b/node_modules/mout/src/object/get.js
deleted file mode 100644
index d8298ca..0000000
--- a/node_modules/mout/src/object/get.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define(['../lang/isPrimitive'], function (isPrimitive) {
-
- /**
- * get "nested" object property
- */
- function get(obj, prop){
- if (!obj) return;
- var parts = prop.split('.'),
- last = parts.pop();
- while (prop = parts.shift()) {
- obj = obj[prop];
- if (obj == null) return;
- }
-
- return obj[last];
- }
-
- return get;
-
-});
diff --git a/node_modules/mout/src/object/has.js b/node_modules/mout/src/object/has.js
deleted file mode 100644
index cc29817..0000000
--- a/node_modules/mout/src/object/has.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define(['./get'], function (get) {
-
- var UNDEF;
-
- /**
- * Check if object has nested property.
- */
- function has(obj, prop){
- return get(obj, prop) !== UNDEF;
- }
-
- return has;
-
-});
-
diff --git a/node_modules/mout/src/object/hasOwn.js b/node_modules/mout/src/object/hasOwn.js
deleted file mode 100644
index 5c53bcf..0000000
--- a/node_modules/mout/src/object/hasOwn.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(function () {
-
- /**
- * Safer Object.hasOwnProperty
- */
- function hasOwn(obj, prop){
- return Object.prototype.hasOwnProperty.call(obj, prop);
- }
-
- return hasOwn;
-
-});
diff --git a/node_modules/mout/src/object/keys.js b/node_modules/mout/src/object/keys.js
deleted file mode 100644
index ed7c4f9..0000000
--- a/node_modules/mout/src/object/keys.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(['./forOwn'], function (forOwn) {
-
- /**
- * Get object keys
- */
- var keys = Object.keys || function (obj) {
- var keys = [];
- forOwn(obj, function(val, key){
- keys.push(key);
- });
- return keys;
- };
-
- return keys;
-
-});
diff --git a/node_modules/mout/src/object/map.js b/node_modules/mout/src/object/map.js
deleted file mode 100644
index 2958f6b..0000000
--- a/node_modules/mout/src/object/map.js
+++ /dev/null
@@ -1,17 +0,0 @@
-define(['./forOwn', '../function/makeIterator_'], function(forOwn, makeIterator) {
-
- /**
- * Creates a new object where all the values are the result of calling
- * `callback`.
- */
- function mapValues(obj, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var output = {};
- forOwn(obj, function(val, key, obj) {
- output[key] = callback(val, key, obj);
- });
-
- return output;
- }
- return mapValues;
-});
diff --git a/node_modules/mout/src/object/matches.js b/node_modules/mout/src/object/matches.js
deleted file mode 100644
index 73ff427..0000000
--- a/node_modules/mout/src/object/matches.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define(['./forOwn'], function (forOwn) {
-
- /**
- * checks if a object contains all given properties/values
- */
- function matches(target, props){
- // can't use "object/every" because of circular dependency
- var result = true;
- forOwn(props, function(val, key){
- if (target[key] !== val) {
- // break loop at first difference
- return (result = false);
- }
- });
- return result;
- }
-
- return matches;
-
-});
diff --git a/node_modules/mout/src/object/max.js b/node_modules/mout/src/object/max.js
deleted file mode 100644
index ef311dc..0000000
--- a/node_modules/mout/src/object/max.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(['../array/max', './values'], function(arrMax, values) {
-
- /**
- * Returns maximum value inside object.
- */
- function max(obj, compareFn) {
- return arrMax(values(obj), compareFn);
- }
-
- return max;
-});
diff --git a/node_modules/mout/src/object/merge.js b/node_modules/mout/src/object/merge.js
deleted file mode 100644
index d7cfede..0000000
--- a/node_modules/mout/src/object/merge.js
+++ /dev/null
@@ -1,38 +0,0 @@
-define(['./hasOwn', '../lang/deepClone', '../lang/isObject'], function (hasOwn, deepClone, isObject) {
-
- /**
- * Deep merge objects.
- */
- function merge() {
- var i = 1,
- key, val, obj, target;
-
- // make sure we don't modify source element and it's properties
- // objects are passed by reference
- target = deepClone( arguments[0] );
-
- while (obj = arguments[i++]) {
- for (key in obj) {
- if ( ! hasOwn(obj, key) ) {
- continue;
- }
-
- val = obj[key];
-
- if ( isObject(val) && isObject(target[key]) ){
- // inception, deep merge objects
- target[key] = merge(target[key], val);
- } else {
- // make sure arrays, regexp, date, objects are cloned
- target[key] = deepClone(val);
- }
-
- }
- }
-
- return target;
- }
-
- return merge;
-
-});
diff --git a/node_modules/mout/src/object/min.js b/node_modules/mout/src/object/min.js
deleted file mode 100644
index 9fb4c1a..0000000
--- a/node_modules/mout/src/object/min.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(['../array/min', './values'], function(arrMin, values) {
-
- /**
- * Returns minimum value inside object.
- */
- function min(obj, iterator) {
- return arrMin(values(obj), iterator);
- }
-
- return min;
-});
diff --git a/node_modules/mout/src/object/mixIn.js b/node_modules/mout/src/object/mixIn.js
deleted file mode 100644
index 6210b7e..0000000
--- a/node_modules/mout/src/object/mixIn.js
+++ /dev/null
@@ -1,28 +0,0 @@
-define(['./forOwn'], function(forOwn){
-
- /**
- * Combine properties from all the objects into first one.
- * - This method affects target object in place, if you want to create a new Object pass an empty object as first param.
- * @param {object} target Target Object
- * @param {...object} objects Objects to be combined (0...n objects).
- * @return {object} Target Object.
- */
- function mixIn(target, objects){
- var i = 0,
- n = arguments.length,
- obj;
- while(++i < n){
- obj = arguments[i];
- if (obj != null) {
- forOwn(obj, copyProp, target);
- }
- }
- return target;
- }
-
- function copyProp(val, key){
- this[key] = val;
- }
-
- return mixIn;
-});
diff --git a/node_modules/mout/src/object/namespace.js b/node_modules/mout/src/object/namespace.js
deleted file mode 100644
index 7ed65db..0000000
--- a/node_modules/mout/src/object/namespace.js
+++ /dev/null
@@ -1,19 +0,0 @@
-define(['../array/forEach'], function (forEach) {
-
- /**
- * Create nested object if non-existent
- */
- function namespace(obj, path){
- if (!path) return obj;
- forEach(path.split('.'), function(key){
- if (!obj[key]) {
- obj[key] = {};
- }
- obj = obj[key];
- });
- return obj;
- }
-
- return namespace;
-
-});
diff --git a/node_modules/mout/src/object/omit.js b/node_modules/mout/src/object/omit.js
deleted file mode 100644
index 829cc58..0000000
--- a/node_modules/mout/src/object/omit.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define(['../array/slice', '../array/contains'], function(slice, contains){
-
- /**
- * Return a copy of the object, filtered to only contain properties except the blacklisted keys.
- */
- function omit(obj, var_keys){
- var keys = typeof arguments[1] !== 'string'? arguments[1] : slice(arguments, 1),
- out = {};
-
- for (var property in obj) {
- if (obj.hasOwnProperty(property) && !contains(keys, property)) {
- out[property] = obj[property];
- }
- }
- return out;
- }
-
- return omit;
-
-});
diff --git a/node_modules/mout/src/object/pick.js b/node_modules/mout/src/object/pick.js
deleted file mode 100644
index 9d5e351..0000000
--- a/node_modules/mout/src/object/pick.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(['../array/slice'], function(slice){
-
- /**
- * Return a copy of the object, filtered to only have values for the whitelisted keys.
- */
- function pick(obj, var_keys){
- var keys = typeof arguments[1] !== 'string'? arguments[1] : slice(arguments, 1),
- out = {},
- i = 0, key;
- while (key = keys[i++]) {
- out[key] = obj[key];
- }
- return out;
- }
-
- return pick;
-
-});
diff --git a/node_modules/mout/src/object/pluck.js b/node_modules/mout/src/object/pluck.js
deleted file mode 100644
index d47744b..0000000
--- a/node_modules/mout/src/object/pluck.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(['./map', '../function/prop'], function (map, prop) {
-
- /**
- * Extract a list of property values.
- */
- function pluck(obj, propName){
- return map(obj, prop(propName));
- }
-
- return pluck;
-
-});
diff --git a/node_modules/mout/src/object/reduce.js b/node_modules/mout/src/object/reduce.js
deleted file mode 100644
index d3a5778..0000000
--- a/node_modules/mout/src/object/reduce.js
+++ /dev/null
@@ -1,28 +0,0 @@
-define(['./forOwn', './size'], function(forOwn, size) {
-
- /**
- * Object reduce
- */
- function reduce(obj, callback, memo, thisObj) {
- var initial = arguments.length > 2;
-
- if (!size(obj) && !initial) {
- throw new Error('reduce of empty object with no initial value');
- }
-
- forOwn(obj, function(value, key, list) {
- if (!initial) {
- memo = value;
- initial = true;
- }
- else {
- memo = callback.call(thisObj, memo, value, key, list);
- }
- });
-
- return memo;
- }
-
- return reduce;
-
-});
diff --git a/node_modules/mout/src/object/reject.js b/node_modules/mout/src/object/reject.js
deleted file mode 100644
index 8429642..0000000
--- a/node_modules/mout/src/object/reject.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define(['./filter', '../function/makeIterator_'], function (filter, makeIterator) {
-
- /**
- * Object reject
- */
- function reject(obj, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- return filter(obj, function(value, index, obj) {
- return !callback(value, index, obj);
- }, thisObj);
- }
-
- return reject;
-
-});
diff --git a/node_modules/mout/src/object/result.js b/node_modules/mout/src/object/result.js
deleted file mode 100644
index 133572d..0000000
--- a/node_modules/mout/src/object/result.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(['../lang/isFunction'], function (isFunction) {
-
- function result(obj, prop) {
- var property = obj[prop];
-
- if(property === undefined) {
- return;
- }
-
- return isFunction(property) ? property.call(obj) : property;
- }
-
- return result;
-});
diff --git a/node_modules/mout/src/object/set.js b/node_modules/mout/src/object/set.js
deleted file mode 100644
index 5b658e8..0000000
--- a/node_modules/mout/src/object/set.js
+++ /dev/null
@@ -1,22 +0,0 @@
-define(['./namespace'], function (namespace) {
-
- /**
- * set "nested" object property
- */
- function set(obj, prop, val){
- var stringifiedProp = prop.toString();
- // prototype pollution mitigation
- if(stringifiedProp.includes('__proto__') || stringifiedProp.includes('prototype') || stringifiedProp.includes('constructor')) {
- return false;
- }
- var parts = (/^(.+)\.(.+)$/).exec(stringifiedProp);
- if (parts){
- namespace(obj, parts[1])[parts[2]] = val;
- } else {
- obj[stringifiedProp] = val;
- }
- }
-
- return set;
-
-});
diff --git a/node_modules/mout/src/object/size.js b/node_modules/mout/src/object/size.js
deleted file mode 100644
index c6e377c..0000000
--- a/node_modules/mout/src/object/size.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(['./forOwn'], function (forOwn) {
-
- /**
- * Get object size
- */
- function size(obj) {
- var count = 0;
- forOwn(obj, function(){
- count++;
- });
- return count;
- }
-
- return size;
-
-});
diff --git a/node_modules/mout/src/object/some.js b/node_modules/mout/src/object/some.js
deleted file mode 100644
index 1bd6fda..0000000
--- a/node_modules/mout/src/object/some.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define(['./forOwn', '../function/makeIterator_'], function(forOwn, makeIterator) {
-
- /**
- * Object some
- */
- function some(obj, callback, thisObj) {
- callback = makeIterator(callback, thisObj);
- var result = false;
- forOwn(obj, function(val, key) {
- if (callback(val, key, obj)) {
- result = true;
- return false; // break
- }
- });
- return result;
- }
-
- return some;
-
-});
diff --git a/node_modules/mout/src/object/unset.js b/node_modules/mout/src/object/unset.js
deleted file mode 100644
index 787fc19..0000000
--- a/node_modules/mout/src/object/unset.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define(['./has'], function (has) {
-
- /**
- * Unset object property.
- */
- function unset(obj, prop){
- if (has(obj, prop)) {
- var parts = prop.split('.'),
- last = parts.pop();
- while (prop = parts.shift()) {
- obj = obj[prop];
- }
- return (delete obj[last]);
-
- } else {
- // if property doesn't exist treat as deleted
- return true;
- }
- }
-
- return unset;
-
-});
diff --git a/node_modules/mout/src/object/values.js b/node_modules/mout/src/object/values.js
deleted file mode 100644
index b311fd0..0000000
--- a/node_modules/mout/src/object/values.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(['./forOwn'], function (forOwn) {
-
- /**
- * Get object values
- */
- function values(obj) {
- var vals = [];
- forOwn(obj, function(val, key){
- vals.push(val);
- });
- return vals;
- }
-
- return values;
-
-});
diff --git a/node_modules/mout/src/queryString.js b/node_modules/mout/src/queryString.js
deleted file mode 100644
index 4434612..0000000
--- a/node_modules/mout/src/queryString.js
+++ /dev/null
@@ -1,15 +0,0 @@
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'contains' : require('./queryString/contains'),
- 'decode' : require('./queryString/decode'),
- 'encode' : require('./queryString/encode'),
- 'getParam' : require('./queryString/getParam'),
- 'getQuery' : require('./queryString/getQuery'),
- 'parse' : require('./queryString/parse'),
- 'setParam' : require('./queryString/setParam')
-};
-
-});
diff --git a/node_modules/mout/src/queryString/contains.js b/node_modules/mout/src/queryString/contains.js
deleted file mode 100644
index a6d11cc..0000000
--- a/node_modules/mout/src/queryString/contains.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(['./getQuery'], function (getQuery) {
-
- /**
- * Checks if query string contains parameter.
- */
- function contains(url, paramName) {
- var regex = new RegExp('(\\?|&)'+ paramName +'=', 'g'); //matches `?param=` or `¶m=`
- return regex.test(getQuery(url));
- }
-
- return contains;
-});
diff --git a/node_modules/mout/src/queryString/decode.js b/node_modules/mout/src/queryString/decode.js
deleted file mode 100644
index a37c123..0000000
--- a/node_modules/mout/src/queryString/decode.js
+++ /dev/null
@@ -1,34 +0,0 @@
-define(['../string/typecast', '../lang/isArray', '../object/hasOwn'], function (typecast, isArray, hasOwn) {
-
- /**
- * Decode query string into an object of keys => vals.
- */
- function decode(queryStr, shouldTypecast) {
- var queryArr = (queryStr || '').replace('?', '').split('&'),
- reg = /([^=]+)=(.+)/,
- i = -1,
- obj = {},
- equalIndex, cur, pValue, pName;
-
- while ((cur = queryArr[++i])) {
- equalIndex = cur.indexOf('=');
- pName = cur.substring(0, equalIndex);
- pValue = decodeURIComponent(cur.substring(equalIndex + 1));
- if (shouldTypecast !== false) {
- pValue = typecast(pValue);
- }
- if (hasOwn(obj, pName)){
- if(isArray(obj[pName])){
- obj[pName].push(pValue);
- } else {
- obj[pName] = [obj[pName], pValue];
- }
- } else {
- obj[pName] = pValue;
- }
- }
- return obj;
- }
-
- return decode;
-});
diff --git a/node_modules/mout/src/queryString/encode.js b/node_modules/mout/src/queryString/encode.js
deleted file mode 100644
index c249287..0000000
--- a/node_modules/mout/src/queryString/encode.js
+++ /dev/null
@@ -1,25 +0,0 @@
-define(['../object/forOwn','../lang/isArray','../array/forEach'], function (forOwn,isArray,forEach) {
-
- /**
- * Encode object into a query string.
- */
- function encode(obj){
- var query = [],
- arrValues, reg;
- forOwn(obj, function (val, key) {
- if (isArray(val)) {
- arrValues = key + '=';
- reg = new RegExp('&'+key+'+=$');
- forEach(val, function (aValue) {
- arrValues += encodeURIComponent(aValue) + '&' + key + '=';
- });
- query.push(arrValues.replace(reg, ''));
- } else {
- query.push(key + '=' + encodeURIComponent(val));
- }
- });
- return (query.length) ? '?' + query.join('&') : '';
- }
-
- return encode;
-});
diff --git a/node_modules/mout/src/queryString/getParam.js b/node_modules/mout/src/queryString/getParam.js
deleted file mode 100644
index d981372..0000000
--- a/node_modules/mout/src/queryString/getParam.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(['../string/typecast', './getQuery'], function (typecast, getQuery) {
-
- /**
- * Get query parameter value.
- */
- function getParam(url, param, shouldTypecast){
- var regexp = new RegExp('(\\?|&)'+ param + '=([^&]*)'), //matches `?param=value` or `¶m=value`, value = $2
- result = regexp.exec( getQuery(url) ),
- val = (result && result[2])? result[2] : null;
- return shouldTypecast === false? val : typecast(val);
- }
-
- return getParam;
-});
diff --git a/node_modules/mout/src/queryString/getQuery.js b/node_modules/mout/src/queryString/getQuery.js
deleted file mode 100644
index 995e00d..0000000
--- a/node_modules/mout/src/queryString/getQuery.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(function () {
-
- /**
- * Gets full query as string with all special chars decoded.
- */
- function getQuery(url) {
- // url = url.replace(/#.*\?/, '?'); //removes hash (to avoid getting hash query)
- var queryString = /\?[a-zA-Z0-9\=\&\%\$\-\_\.\+\!\*\'\(\)\,]+/.exec(url); //valid chars according to: http://www.ietf.org/rfc/rfc1738.txt
- return (queryString)? decodeURIComponent(queryString[0].replace(/\+/g,' ')) : '';
- }
-
- return getQuery;
-});
diff --git a/node_modules/mout/src/queryString/parse.js b/node_modules/mout/src/queryString/parse.js
deleted file mode 100644
index ac153e3..0000000
--- a/node_modules/mout/src/queryString/parse.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(['./decode', './getQuery'], function (decode, getQuery) {
-
- /**
- * Get query string, parses and decodes it.
- */
- function parse(url, shouldTypecast) {
- return decode(getQuery(url), shouldTypecast);
- }
-
- return parse;
-});
-
diff --git a/node_modules/mout/src/queryString/setParam.js b/node_modules/mout/src/queryString/setParam.js
deleted file mode 100644
index 97081aa..0000000
--- a/node_modules/mout/src/queryString/setParam.js
+++ /dev/null
@@ -1,28 +0,0 @@
-define(function () {
-
- /**
- * Set query string parameter value
- */
- function setParam(url, paramName, value){
- url = url || '';
-
- var re = new RegExp('(\\?|&)'+ paramName +'=[^&]*' );
- var param = paramName +'='+ encodeURIComponent( value );
-
- if ( re.test(url) ) {
- return url.replace(re, '$1'+ param);
- } else {
- if (url.indexOf('?') === -1) {
- url += '?';
- }
- if (url.indexOf('=') !== -1) {
- url += '&';
- }
- return url + param;
- }
-
- }
-
- return setParam;
-
-});
diff --git a/node_modules/mout/src/random.js b/node_modules/mout/src/random.js
deleted file mode 100644
index b47f203..0000000
--- a/node_modules/mout/src/random.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'choice' : require('./random/choice'),
- 'guid' : require('./random/guid'),
- 'rand' : require('./random/rand'),
- 'randBit' : require('./random/randBit'),
- 'randBool' : require('./random/randBool'),
- 'randHex' : require('./random/randHex'),
- 'randInt' : require('./random/randInt'),
- 'randSign' : require('./random/randSign'),
- 'randString' : require('./random/randString'),
- 'random' : require('./random/random')
-};
-
-});
diff --git a/node_modules/mout/src/random/choice.js b/node_modules/mout/src/random/choice.js
deleted file mode 100644
index 0d0c38d..0000000
--- a/node_modules/mout/src/random/choice.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(['./randInt', '../lang/isArray'], function (randInt, isArray) {
-
- /**
- * Returns a random element from the supplied arguments
- * or from the array (if single argument is an array).
- */
- function choice(items) {
- var target = (arguments.length === 1 && isArray(items))? items : arguments;
- return target[ randInt(0, target.length - 1) ];
- }
-
- return choice;
-
-});
diff --git a/node_modules/mout/src/random/guid.js b/node_modules/mout/src/random/guid.js
deleted file mode 100644
index 82f3a2d..0000000
--- a/node_modules/mout/src/random/guid.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define(['./randHex', './choice'], function (randHex, choice) {
-
- /**
- * Returns pseudo-random guid (UUID v4)
- * IMPORTANT: it's not totally "safe" since randHex/choice uses Math.random
- * by default and sequences can be predicted in some cases. See the
- * "random/random" documentation for more info about it and how to replace
- * the default PRNG.
- */
- function guid() {
- return (
- randHex(8)+'-'+
- randHex(4)+'-'+
- // v4 UUID always contain "4" at this position to specify it was
- // randomly generated
- '4' + randHex(3) +'-'+
- // v4 UUID always contain chars [a,b,8,9] at this position
- choice(8, 9, 'a', 'b') + randHex(3)+'-'+
- randHex(12)
- );
- }
- return guid;
-});
diff --git a/node_modules/mout/src/random/rand.js b/node_modules/mout/src/random/rand.js
deleted file mode 100644
index b8c231d..0000000
--- a/node_modules/mout/src/random/rand.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['./random', '../number/MIN_INT', '../number/MAX_INT'], function(random, MIN_INT, MAX_INT){
-
- /**
- * Returns random number inside range
- */
- function rand(min, max){
- min = min == null? MIN_INT : min;
- max = max == null? MAX_INT : max;
- return min + (max - min) * random();
- }
-
- return rand;
-});
diff --git a/node_modules/mout/src/random/randBit.js b/node_modules/mout/src/random/randBit.js
deleted file mode 100644
index 398fa2c..0000000
--- a/node_modules/mout/src/random/randBit.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(['./randBool'], function (randBool) {
-
- /**
- * Returns random bit (0 or 1)
- */
- function randomBit() {
- return randBool()? 1 : 0;
- }
-
- return randomBit;
-});
diff --git a/node_modules/mout/src/random/randBool.js b/node_modules/mout/src/random/randBool.js
deleted file mode 100644
index 8d9be0b..0000000
--- a/node_modules/mout/src/random/randBool.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(['./random'], function (random) {
-
- /**
- * returns a random boolean value (true or false)
- */
- function randBool(){
- return random() >= 0.5;
- }
-
- return randBool;
-
-});
diff --git a/node_modules/mout/src/random/randHex.js b/node_modules/mout/src/random/randHex.js
deleted file mode 100644
index 6e9bf1c..0000000
--- a/node_modules/mout/src/random/randHex.js
+++ /dev/null
@@ -1,19 +0,0 @@
-define(['./choice'], function (choice) {
-
- var _chars = '0123456789abcdef'.split('');
-
- /**
- * Returns a random hexadecimal string
- */
- function randHex(size){
- size = size && size > 0? size : 6;
- var str = '';
- while (size--) {
- str += choice(_chars);
- }
- return str;
- }
-
- return randHex;
-
-});
diff --git a/node_modules/mout/src/random/randInt.js b/node_modules/mout/src/random/randInt.js
deleted file mode 100644
index 1750e9d..0000000
--- a/node_modules/mout/src/random/randInt.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(['../number/MIN_INT', '../number/MAX_INT', './rand'], function(MIN_INT, MAX_INT, rand){
-
- /**
- * Gets random integer inside range or snap to min/max values.
- */
- function randInt(min, max){
- min = min == null? MIN_INT : ~~min;
- max = max == null? MAX_INT : ~~max;
- // can't be max + 0.5 otherwise it will round up if `rand`
- // returns `max` causing it to overflow range.
- // -0.5 and + 0.49 are required to avoid bias caused by rounding
- return Math.round( rand(min - 0.5, max + 0.499999999999) );
- }
-
- return randInt;
-});
diff --git a/node_modules/mout/src/random/randSign.js b/node_modules/mout/src/random/randSign.js
deleted file mode 100644
index 1171b40..0000000
--- a/node_modules/mout/src/random/randSign.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(['./randBool'], function (randBool) {
-
- /**
- * Returns random sign (-1 or 1)
- */
- function randomSign() {
- return randBool()? 1 : -1;
- }
-
- return randomSign;
-});
diff --git a/node_modules/mout/src/random/randString.js b/node_modules/mout/src/random/randString.js
deleted file mode 100644
index d309d08..0000000
--- a/node_modules/mout/src/random/randString.js
+++ /dev/null
@@ -1,29 +0,0 @@
-define([
- '../lang/isNumber',
- '../lang/isString',
- './randInt'
-], function (isNumber, isString, randInt) {
-
- var defaultDictionary = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
-
- function randomString(length, dictionary) {
- if(!isNumber(length) || length <= 0) {
- length = 8;
- }
-
- if(!isString(dictionary) || dictionary.length < 1) {
- dictionary = defaultDictionary;
- }
-
- var result = '',
- domain = dictionary.length - 1;
-
- while(length--) {
- result += dictionary[randInt(0, domain)];
- }
-
- return result;
- }
-
- return randomString;
-});
diff --git a/node_modules/mout/src/random/random.js b/node_modules/mout/src/random/random.js
deleted file mode 100644
index 4270822..0000000
--- a/node_modules/mout/src/random/random.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(function () {
-
- /**
- * Just a wrapper to Math.random. No methods inside mout/random should call
- * Math.random() directly so we can inject the pseudo-random number
- * generator if needed (ie. in case we need a seeded random or a better
- * algorithm than the native one)
- */
- function random(){
- return random.get();
- }
-
- // we expose the method so it can be swapped if needed
- random.get = Math.random;
-
- return random;
-
-});
diff --git a/node_modules/mout/src/string.js b/node_modules/mout/src/string.js
deleted file mode 100644
index 49effa7..0000000
--- a/node_modules/mout/src/string.js
+++ /dev/null
@@ -1,47 +0,0 @@
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'WHITE_SPACES' : require('./string/WHITE_SPACES'),
- 'camelCase' : require('./string/camelCase'),
- 'contains' : require('./string/contains'),
- 'crop' : require('./string/crop'),
- 'endsWith' : require('./string/endsWith'),
- 'escapeHtml' : require('./string/escapeHtml'),
- 'escapeRegExp' : require('./string/escapeRegExp'),
- 'escapeUnicode' : require('./string/escapeUnicode'),
- 'hyphenate' : require('./string/hyphenate'),
- 'insert' : require('./string/insert'),
- 'interpolate' : require('./string/interpolate'),
- 'lowerCase' : require('./string/lowerCase'),
- 'lpad' : require('./string/lpad'),
- 'ltrim' : require('./string/ltrim'),
- 'makePath' : require('./string/makePath'),
- 'normalizeLineBreaks' : require('./string/normalizeLineBreaks'),
- 'pascalCase' : require('./string/pascalCase'),
- 'properCase' : require('./string/properCase'),
- 'removeNonASCII' : require('./string/removeNonASCII'),
- 'removeNonWord' : require('./string/removeNonWord'),
- 'repeat' : require('./string/repeat'),
- 'replace' : require('./string/replace'),
- 'replaceAccents' : require('./string/replaceAccents'),
- 'rpad' : require('./string/rpad'),
- 'rtrim' : require('./string/rtrim'),
- 'sentenceCase' : require('./string/sentenceCase'),
- 'slugify' : require('./string/slugify'),
- 'startsWith' : require('./string/startsWith'),
- 'stripHtmlTags' : require('./string/stripHtmlTags'),
- 'stripMargin' : require('./string/stripMargin'),
- 'trim' : require('./string/trim'),
- 'truncate' : require('./string/truncate'),
- 'typecast' : require('./string/typecast'),
- 'unCamelCase' : require('./string/unCamelCase'),
- 'underscore' : require('./string/underscore'),
- 'unescapeHtml' : require('./string/unescapeHtml'),
- 'unescapeUnicode' : require('./string/unescapeUnicode'),
- 'unhyphenate' : require('./string/unhyphenate'),
- 'upperCase' : require('./string/upperCase')
-};
-
-});
diff --git a/node_modules/mout/src/string/WHITE_SPACES.js b/node_modules/mout/src/string/WHITE_SPACES.js
deleted file mode 100644
index e830d86..0000000
--- a/node_modules/mout/src/string/WHITE_SPACES.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(function() {
- /**
- * Contains all Unicode white-spaces. Taken from
- * http://en.wikipedia.org/wiki/Whitespace_character.
- */
- return [
- ' ', '\n', '\r', '\t', '\f', '\v', '\u00A0', '\u1680', '\u180E',
- '\u2000', '\u2001', '\u2002', '\u2003', '\u2004', '\u2005', '\u2006',
- '\u2007', '\u2008', '\u2009', '\u200A', '\u2028', '\u2029', '\u202F',
- '\u205F', '\u3000'
- ];
-});
diff --git a/node_modules/mout/src/string/camelCase.js b/node_modules/mout/src/string/camelCase.js
deleted file mode 100644
index 68cf274..0000000
--- a/node_modules/mout/src/string/camelCase.js
+++ /dev/null
@@ -1,30 +0,0 @@
-define(['../lang/toString', './replaceAccents', './removeNonWord', './upperCase', './lowerCase'], function(toString, replaceAccents, removeNonWord, upperCase, lowerCase){
- /**
- * Convert string to camelCase text.
- */
- function camelCase(str){
- str = toString(str);
- str = replaceAccents(str);
- str = removeNonWord(str)
- .replace(/[\-_]/g, ' '); // convert all hyphens and underscores to spaces
-
- // handle acronyms
- // matches lowercase chars && uppercase words
- if (/[a-z]/.test(str) && /^|\s[A-Z]+\s|$/.test(str)) {
- // we convert any word that isn't all caps into lowercase
- str = str.replace(/\s(\w+)/g, function(word, m) {
- return /^[A-Z]+$/.test(m) ? word : lowerCase(word);
- });
- } else if (/\s/.test(str)) {
- // if it doesn't contain an acronym and it has spaces we should
- // convert every word to lowercase
- str = lowerCase(str);
- }
-
- return str
- .replace(/\s[a-z]/g, upperCase) // convert first char of each word to UPPERCASE
- .replace(/^\s*[A-Z]+/g, lowerCase) // convert first word to lowercase
- .replace(/\s+/g, ''); // remove spaces
- }
- return camelCase;
-});
diff --git a/node_modules/mout/src/string/contains.js b/node_modules/mout/src/string/contains.js
deleted file mode 100644
index 825b5a5..0000000
--- a/node_modules/mout/src/string/contains.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(['../lang/toString'], function(toString) {
-
- /**
- * Searches for a given substring
- */
- function contains(str, substring, fromIndex){
- str = toString(str);
- substring = toString(substring);
- return str.indexOf(substring, fromIndex) !== -1;
- }
-
- return contains;
-
-});
diff --git a/node_modules/mout/src/string/crop.js b/node_modules/mout/src/string/crop.js
deleted file mode 100644
index 3c073f0..0000000
--- a/node_modules/mout/src/string/crop.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(['../lang/toString', './truncate'], function (toString, truncate) {
- /**
- * Truncate string at full words.
- */
- function crop(str, maxChars, append) {
- str = toString(str);
- return truncate(str, maxChars, append, true);
- }
-
- return crop;
-});
diff --git a/node_modules/mout/src/string/endsWith.js b/node_modules/mout/src/string/endsWith.js
deleted file mode 100644
index 31a73f2..0000000
--- a/node_modules/mout/src/string/endsWith.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['../lang/toString'], function(toString) {
- /**
- * Checks if string ends with specified suffix.
- */
- function endsWith(str, suffix) {
- str = toString(str);
- suffix = toString(suffix);
-
- return str.indexOf(suffix, str.length - suffix.length) !== -1;
- }
-
- return endsWith;
-});
diff --git a/node_modules/mout/src/string/escapeHtml.js b/node_modules/mout/src/string/escapeHtml.js
deleted file mode 100644
index de34b61..0000000
--- a/node_modules/mout/src/string/escapeHtml.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(['../lang/toString'], function(toString) {
-
- /**
- * Escapes a string for insertion into HTML.
- */
- function escapeHtml(str){
- str = toString(str)
- .replace(/&/g, '&')
- .replace(//g, '>')
- .replace(/'/g, ''')
- .replace(/"/g, '"');
- return str;
- }
-
- return escapeHtml;
-
-});
diff --git a/node_modules/mout/src/string/escapeRegExp.js b/node_modules/mout/src/string/escapeRegExp.js
deleted file mode 100644
index 862655b..0000000
--- a/node_modules/mout/src/string/escapeRegExp.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(['../lang/toString'], function(toString) {
-
- /**
- * Escape RegExp string chars.
- */
- function escapeRegExp(str) {
- return toString(str).replace(/\W/g,'\\$&');
- }
-
- return escapeRegExp;
-
-});
diff --git a/node_modules/mout/src/string/escapeUnicode.js b/node_modules/mout/src/string/escapeUnicode.js
deleted file mode 100644
index bd5e8c4..0000000
--- a/node_modules/mout/src/string/escapeUnicode.js
+++ /dev/null
@@ -1,21 +0,0 @@
-define(['../lang/toString'], function(toString) {
-
- /**
- * Escape string into unicode sequences
- */
- function escapeUnicode(str, shouldEscapePrintable){
- str = toString(str);
- return str.replace(/[\s\S]/g, function(ch){
- // skip printable ASCII chars if we should not escape them
- if (!shouldEscapePrintable && (/[\x20-\x7E]/).test(ch)) {
- return ch;
- }
- // we use "000" and slice(-4) for brevity, need to pad zeros,
- // unicode escape always have 4 chars after "\u"
- return '\\u'+ ('000'+ ch.charCodeAt(0).toString(16)).slice(-4);
- });
- }
-
- return escapeUnicode;
-
-});
diff --git a/node_modules/mout/src/string/hyphenate.js b/node_modules/mout/src/string/hyphenate.js
deleted file mode 100644
index 679c405..0000000
--- a/node_modules/mout/src/string/hyphenate.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(['../lang/toString', './slugify', './unCamelCase'], function(toString, slugify, unCamelCase){
- /**
- * Replaces spaces with hyphens, split camelCase text, remove non-word chars, remove accents and convert to lower case.
- */
- function hyphenate(str){
- str = toString(str);
- str = unCamelCase(str);
- return slugify(str, "-");
- }
-
- return hyphenate;
-});
diff --git a/node_modules/mout/src/string/insert.js b/node_modules/mout/src/string/insert.js
deleted file mode 100644
index 79c45be..0000000
--- a/node_modules/mout/src/string/insert.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define(['../math/clamp', '../lang/toString'], function (clamp, toString) {
-
- /**
- * Inserts a string at a given index.
- */
- function insert(string, index, partial){
- string = toString(string);
-
- if (index < 0) {
- index = string.length + index;
- }
-
- index = clamp(index, 0, string.length);
-
- return string.substr(0, index) + partial + string.substr(index);
- }
-
- return insert;
-
-});
diff --git a/node_modules/mout/src/string/interpolate.js b/node_modules/mout/src/string/interpolate.js
deleted file mode 100644
index b5e7f4b..0000000
--- a/node_modules/mout/src/string/interpolate.js
+++ /dev/null
@@ -1,21 +0,0 @@
-define([
- '../lang/toString',
- '../object/get'
-], function(toString, get) {
-
- var stache = /\{\{([^\}]+)\}\}/g; //mustache-like
-
- /**
- * String interpolation
- */
- function interpolate(template, replacements, syntax){
- template = toString(template);
- var replaceFn = function(match, prop){
- return toString( get(replacements, prop) );
- };
- return template.replace(syntax || stache, replaceFn);
- }
-
- return interpolate;
-
-});
diff --git a/node_modules/mout/src/string/lowerCase.js b/node_modules/mout/src/string/lowerCase.js
deleted file mode 100644
index b045d69..0000000
--- a/node_modules/mout/src/string/lowerCase.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(['../lang/toString'], function(toString){
- /**
- * "Safer" String.toLowerCase()
- */
- function lowerCase(str){
- str = toString(str);
- return str.toLowerCase();
- }
-
- return lowerCase;
-});
diff --git a/node_modules/mout/src/string/lpad.js b/node_modules/mout/src/string/lpad.js
deleted file mode 100644
index 134b415..0000000
--- a/node_modules/mout/src/string/lpad.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(['../lang/toString', './repeat'], function(toString, repeat) {
-
- /**
- * Pad string with `char` if its' length is smaller than `minLen`
- */
- function lpad(str, minLen, ch) {
- str = toString(str);
- ch = ch || ' ';
-
- return (str.length < minLen) ?
- repeat(ch, minLen - str.length) + str : str;
- }
-
- return lpad;
-
-});
diff --git a/node_modules/mout/src/string/ltrim.js b/node_modules/mout/src/string/ltrim.js
deleted file mode 100644
index 477df95..0000000
--- a/node_modules/mout/src/string/ltrim.js
+++ /dev/null
@@ -1,33 +0,0 @@
-define(['../lang/toString', './WHITE_SPACES'], function(toString, WHITE_SPACES){
- /**
- * Remove chars from beginning of string.
- */
- function ltrim(str, chars) {
- str = toString(str);
- chars = chars || WHITE_SPACES;
-
- var start = 0,
- len = str.length,
- charLen = chars.length,
- found = true,
- i, c;
-
- while (found && start < len) {
- found = false;
- i = -1;
- c = str.charAt(start);
-
- while (++i < charLen) {
- if (c === chars[i]) {
- found = true;
- start++;
- break;
- }
- }
- }
-
- return (start >= len) ? '' : str.substr(start, len);
- }
-
- return ltrim;
-});
diff --git a/node_modules/mout/src/string/makePath.js b/node_modules/mout/src/string/makePath.js
deleted file mode 100644
index 3a6869e..0000000
--- a/node_modules/mout/src/string/makePath.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(['../array/join', '../array/slice'], function(join, slice){
-
- /**
- * Group arguments as path segments, if any of the args is `null` or an
- * empty string it will be ignored from resulting path.
- */
- function makePath(var_args){
- var result = join(slice(arguments), '/');
- // need to disconsider duplicate '/' after protocol (eg: 'http://')
- return result.replace(/([^:\/]|^)\/{2,}/g, '$1/');
- }
-
- return makePath;
-});
diff --git a/node_modules/mout/src/string/normalizeLineBreaks.js b/node_modules/mout/src/string/normalizeLineBreaks.js
deleted file mode 100644
index 44e4194..0000000
--- a/node_modules/mout/src/string/normalizeLineBreaks.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(['../lang/toString'], function (toString) {
-
- /**
- * Convert line-breaks from DOS/MAC to a single standard (UNIX by default)
- */
- function normalizeLineBreaks(str, lineEnd) {
- str = toString(str);
- lineEnd = lineEnd || '\n';
-
- return str
- .replace(/\r\n/g, lineEnd) // DOS
- .replace(/\r/g, lineEnd) // Mac
- .replace(/\n/g, lineEnd); // Unix
- }
-
- return normalizeLineBreaks;
-
-});
diff --git a/node_modules/mout/src/string/pascalCase.js b/node_modules/mout/src/string/pascalCase.js
deleted file mode 100644
index ead9ead..0000000
--- a/node_modules/mout/src/string/pascalCase.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(['../lang/toString', './camelCase', './upperCase'], function(toString, camelCase, upperCase){
- /**
- * camelCase + UPPERCASE first char
- */
- function pascalCase(str){
- str = toString(str);
- return camelCase(str).replace(/^[a-z]/, upperCase);
- }
-
- return pascalCase;
-});
diff --git a/node_modules/mout/src/string/properCase.js b/node_modules/mout/src/string/properCase.js
deleted file mode 100644
index 2987b50..0000000
--- a/node_modules/mout/src/string/properCase.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(['../lang/toString', './lowerCase', './upperCase'], function(toString, lowerCase, upperCase){
- /**
- * UPPERCASE first char of each word.
- */
- function properCase(str){
- str = toString(str);
- return lowerCase(str).replace(/^\w|\s\w/g, upperCase);
- }
-
- return properCase;
-});
diff --git a/node_modules/mout/src/string/removeNonASCII.js b/node_modules/mout/src/string/removeNonASCII.js
deleted file mode 100644
index 4905869..0000000
--- a/node_modules/mout/src/string/removeNonASCII.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(['../lang/toString'], function(toString){
- /**
- * Remove non-printable ASCII chars
- */
- function removeNonASCII(str){
- str = toString(str);
-
- // Matches non-printable ASCII chars -
- // http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
- return str.replace(/[^\x20-\x7E]/g, '');
- }
-
- return removeNonASCII;
-});
diff --git a/node_modules/mout/src/string/removeNonWord.js b/node_modules/mout/src/string/removeNonWord.js
deleted file mode 100644
index fb737d7..0000000
--- a/node_modules/mout/src/string/removeNonWord.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(['../lang/toString'], function(toString){
- // This pattern is generated by the _build/pattern-removeNonWord.js script
- var PATTERN = /[^\x20\x2D0-9A-Z\x5Fa-z\xC0-\xD6\xD8-\xF6\xF8-\xFF]/g;
-
- /**
- * Remove non-word chars.
- */
- function removeNonWord(str){
- str = toString(str);
- return str.replace(PATTERN, '');
- }
-
- return removeNonWord;
-});
diff --git a/node_modules/mout/src/string/repeat.js b/node_modules/mout/src/string/repeat.js
deleted file mode 100644
index 0a25d83..0000000
--- a/node_modules/mout/src/string/repeat.js
+++ /dev/null
@@ -1,25 +0,0 @@
-define(['../lang/toString', '../number/toInt'], function(toString, toInt){
-
- /**
- * Repeat string n times
- */
- function repeat(str, n){
- var result = '';
- str = toString(str);
- n = toInt(n);
- if (n < 1) {
- return '';
- }
- while (n > 0) {
- if (n % 2) {
- result += str;
- }
- n = Math.floor(n / 2);
- str += str;
- }
- return result;
- }
-
- return repeat;
-
-});
diff --git a/node_modules/mout/src/string/replace.js b/node_modules/mout/src/string/replace.js
deleted file mode 100644
index 8b762fd..0000000
--- a/node_modules/mout/src/string/replace.js
+++ /dev/null
@@ -1,32 +0,0 @@
-define(['../lang/toString', '../lang/toArray'], function (toString, toArray) {
-
- /**
- * Replace string(s) with the replacement(s) in the source.
- */
- function replace(str, search, replacements) {
- str = toString(str);
- search = toArray(search);
- replacements = toArray(replacements);
-
- var searchLength = search.length,
- replacementsLength = replacements.length;
-
- if (replacementsLength !== 1 && searchLength !== replacementsLength) {
- throw new Error('Unequal number of searches and replacements');
- }
-
- var i = -1;
- while (++i < searchLength) {
- // Use the first replacement for all searches if only one
- // replacement is provided
- str = str.replace(
- search[i],
- replacements[(replacementsLength === 1) ? 0 : i]);
- }
-
- return str;
- }
-
- return replace;
-
-});
diff --git a/node_modules/mout/src/string/replaceAccents.js b/node_modules/mout/src/string/replaceAccents.js
deleted file mode 100644
index 3a63f55..0000000
--- a/node_modules/mout/src/string/replaceAccents.js
+++ /dev/null
@@ -1,36 +0,0 @@
-define(['../lang/toString'], function(toString){
- /**
- * Replaces all accented chars with regular ones
- */
- function replaceAccents(str){
- str = toString(str);
-
- // verifies if the String has accents and replace them
- if (str.search(/[\xC0-\xFF]/g) > -1) {
- str = str
- .replace(/[\xC0-\xC5]/g, "A")
- .replace(/[\xC6]/g, "AE")
- .replace(/[\xC7]/g, "C")
- .replace(/[\xC8-\xCB]/g, "E")
- .replace(/[\xCC-\xCF]/g, "I")
- .replace(/[\xD0]/g, "D")
- .replace(/[\xD1]/g, "N")
- .replace(/[\xD2-\xD6\xD8]/g, "O")
- .replace(/[\xD9-\xDC]/g, "U")
- .replace(/[\xDD]/g, "Y")
- .replace(/[\xDE]/g, "P")
- .replace(/[\xE0-\xE5]/g, "a")
- .replace(/[\xE6]/g, "ae")
- .replace(/[\xE7]/g, "c")
- .replace(/[\xE8-\xEB]/g, "e")
- .replace(/[\xEC-\xEF]/g, "i")
- .replace(/[\xF1]/g, "n")
- .replace(/[\xF2-\xF6\xF8]/g, "o")
- .replace(/[\xF9-\xFC]/g, "u")
- .replace(/[\xFE]/g, "p")
- .replace(/[\xFD\xFF]/g, "y");
- }
- return str;
- }
- return replaceAccents;
-});
diff --git a/node_modules/mout/src/string/rpad.js b/node_modules/mout/src/string/rpad.js
deleted file mode 100644
index 2efd9c8..0000000
--- a/node_modules/mout/src/string/rpad.js
+++ /dev/null
@@ -1,14 +0,0 @@
-define(['../lang/toString', './repeat'], function (toString, repeat) {
-
- /**
- * Pad string with `char` if its' length is smaller than `minLen`
- */
- function rpad(str, minLen, ch) {
- str = toString(str);
- ch = ch || ' ';
- return (str.length < minLen)? str + repeat(ch, minLen - str.length) : str;
- }
-
- return rpad;
-
-});
diff --git a/node_modules/mout/src/string/rtrim.js b/node_modules/mout/src/string/rtrim.js
deleted file mode 100644
index a4cc282..0000000
--- a/node_modules/mout/src/string/rtrim.js
+++ /dev/null
@@ -1,32 +0,0 @@
-define(['../lang/toString', './WHITE_SPACES'], function(toString, WHITE_SPACES){
- /**
- * Remove chars from end of string.
- */
- function rtrim(str, chars) {
- str = toString(str);
- chars = chars || WHITE_SPACES;
-
- var end = str.length - 1,
- charLen = chars.length,
- found = true,
- i, c;
-
- while (found && end >= 0) {
- found = false;
- i = -1;
- c = str.charAt(end);
-
- while (++i < charLen) {
- if (c === chars[i]) {
- found = true;
- end--;
- break;
- }
- }
- }
-
- return (end >= 0) ? str.substring(0, end + 1) : '';
- }
-
- return rtrim;
-});
diff --git a/node_modules/mout/src/string/sentenceCase.js b/node_modules/mout/src/string/sentenceCase.js
deleted file mode 100644
index cfe45af..0000000
--- a/node_modules/mout/src/string/sentenceCase.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['../lang/toString', './lowerCase', './upperCase'], function(toString, lowerCase, upperCase){
- /**
- * UPPERCASE first char of each sentence and lowercase other chars.
- */
- function sentenceCase(str){
- str = toString(str);
-
- // Replace first char of each sentence (new line or after '.\s+') to
- // UPPERCASE
- return lowerCase(str).replace(/(^\w)|\.\s+(\w)/gm, upperCase);
- }
- return sentenceCase;
-});
diff --git a/node_modules/mout/src/string/slugify.js b/node_modules/mout/src/string/slugify.js
deleted file mode 100644
index b70f3f5..0000000
--- a/node_modules/mout/src/string/slugify.js
+++ /dev/null
@@ -1,21 +0,0 @@
-define(['../lang/toString', './replaceAccents', './removeNonWord', './trim'], function(toString, replaceAccents, removeNonWord, trim){
- /**
- * Convert to lower case, remove accents, remove non-word chars and
- * replace spaces with the specified delimiter.
- * Does not split camelCase text.
- */
- function slugify(str, delimiter){
- str = toString(str);
-
- if (delimiter == null) {
- delimiter = "-";
- }
- str = replaceAccents(str);
- str = removeNonWord(str);
- str = trim(str) //should come after removeNonWord
- .replace(/ +/g, delimiter) //replace spaces with delimiter
- .toLowerCase();
- return str;
- }
- return slugify;
-});
diff --git a/node_modules/mout/src/string/startsWith.js b/node_modules/mout/src/string/startsWith.js
deleted file mode 100644
index 88ae545..0000000
--- a/node_modules/mout/src/string/startsWith.js
+++ /dev/null
@@ -1,13 +0,0 @@
-define(['../lang/toString'], function (toString) {
- /**
- * Checks if string starts with specified prefix.
- */
- function startsWith(str, prefix) {
- str = toString(str);
- prefix = toString(prefix);
-
- return str.indexOf(prefix) === 0;
- }
-
- return startsWith;
-});
diff --git a/node_modules/mout/src/string/stripHtmlTags.js b/node_modules/mout/src/string/stripHtmlTags.js
deleted file mode 100644
index e8da956..0000000
--- a/node_modules/mout/src/string/stripHtmlTags.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(['../lang/toString'], function(toString){
- /**
- * Remove HTML tags from string.
- */
- function stripHtmlTags(str){
- str = toString(str);
-
- return str.replace(/<[^>]*>/g, '');
- }
- return stripHtmlTags;
-});
diff --git a/node_modules/mout/src/string/stripMargin.js b/node_modules/mout/src/string/stripMargin.js
deleted file mode 100644
index 24f9a1e..0000000
--- a/node_modules/mout/src/string/stripMargin.js
+++ /dev/null
@@ -1,21 +0,0 @@
-define(['../lang/toString', './escapeRegExp'], function (toString, escapeRegExp) {
- var DEFAULT_MARGIN_CHAR = '|';
- /**
- * Strip leading characters followed by 'marginChar' from every line in a String.
- *
- * marginChar defaults to '|'.
- */
- function stripMargin(str, marginChar) {
- var regexp;
-
- marginChar = escapeRegExp(marginChar || DEFAULT_MARGIN_CHAR);
- str = toString(str);
-
- regexp = new RegExp('^.*' + marginChar, 'gm');
-
- return str.replace(regexp, '');
- }
-
- return stripMargin;
-
-});
diff --git a/node_modules/mout/src/string/trim.js b/node_modules/mout/src/string/trim.js
deleted file mode 100644
index 5552604..0000000
--- a/node_modules/mout/src/string/trim.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(['../lang/toString', './WHITE_SPACES', './ltrim', './rtrim'], function(toString, WHITE_SPACES, ltrim, rtrim){
- /**
- * Remove white-spaces from beginning and end of string.
- */
- function trim(str, chars) {
- str = toString(str);
- chars = chars || WHITE_SPACES;
- return ltrim(rtrim(str, chars), chars);
- }
-
- return trim;
-});
diff --git a/node_modules/mout/src/string/truncate.js b/node_modules/mout/src/string/truncate.js
deleted file mode 100644
index 34000d9..0000000
--- a/node_modules/mout/src/string/truncate.js
+++ /dev/null
@@ -1,20 +0,0 @@
-define(['../lang/toString', './trim'], function(toString, trim){
- /**
- * Limit number of chars.
- */
- function truncate(str, maxChars, append, onlyFullWords){
- str = toString(str);
- append = append || '...';
- maxChars = onlyFullWords? maxChars + 1 : maxChars;
-
- str = trim(str);
- if(str.length <= maxChars){
- return str;
- }
- str = str.substr(0, maxChars - append.length);
- //crop at last space or remove trailing whitespace
- str = onlyFullWords? str.substr(0, str.lastIndexOf(' ')) : trim(str);
- return str + append;
- }
- return truncate;
-});
diff --git a/node_modules/mout/src/string/typecast.js b/node_modules/mout/src/string/typecast.js
deleted file mode 100644
index a7c8315..0000000
--- a/node_modules/mout/src/string/typecast.js
+++ /dev/null
@@ -1,29 +0,0 @@
-define(function () {
-
- var UNDEF;
-
- /**
- * Parses string and convert it into a native value.
- */
- function typecast(val) {
- var r;
- if ( val === null || val === 'null' ) {
- r = null;
- } else if ( val === 'true' ) {
- r = true;
- } else if ( val === 'false' ) {
- r = false;
- } else if ( val === UNDEF || val === 'undefined' ) {
- r = UNDEF;
- } else if ( val === '' || isNaN(val) ) {
- //isNaN('') returns false
- r = val;
- } else {
- //parseFloat(null || '') returns NaN
- r = parseFloat(val);
- }
- return r;
- }
-
- return typecast;
-});
diff --git a/node_modules/mout/src/string/unCamelCase.js b/node_modules/mout/src/string/unCamelCase.js
deleted file mode 100644
index eeef39b..0000000
--- a/node_modules/mout/src/string/unCamelCase.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define(['../lang/toString'], function(toString){
-
- var CAMEL_CASE_BORDER = /([a-z\xE0-\xFF])([A-Z\xC0\xDF])/g;
-
- /**
- * Add space between camelCase text.
- */
- function unCamelCase(str, delimiter){
- if (delimiter == null) {
- delimiter = ' ';
- }
-
- function join(str, c1, c2) {
- return c1 + delimiter + c2;
- }
-
- str = toString(str);
- str = str.replace(CAMEL_CASE_BORDER, join);
- str = str.toLowerCase(); //add space between camelCase text
- return str;
- }
- return unCamelCase;
-});
diff --git a/node_modules/mout/src/string/underscore.js b/node_modules/mout/src/string/underscore.js
deleted file mode 100644
index 75dd464..0000000
--- a/node_modules/mout/src/string/underscore.js
+++ /dev/null
@@ -1,11 +0,0 @@
-define(['../lang/toString', './slugify', './unCamelCase'], function(toString, slugify, unCamelCase){
- /**
- * Replaces spaces with underscores, split camelCase text, remove non-word chars, remove accents and convert to lower case.
- */
- function underscore(str){
- str = toString(str);
- str = unCamelCase(str);
- return slugify(str, "_");
- }
- return underscore;
-});
diff --git a/node_modules/mout/src/string/unescapeHtml.js b/node_modules/mout/src/string/unescapeHtml.js
deleted file mode 100644
index ca89042..0000000
--- a/node_modules/mout/src/string/unescapeHtml.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(['../lang/toString'], function (toString) {
-
- /**
- * Unescapes HTML special chars
- */
- function unescapeHtml(str){
- str = toString(str)
- .replace(/&/g , '&')
- .replace(/</g , '<')
- .replace(/>/g , '>')
- .replace(/*39;/g , "'")
- .replace(/"/g, '"');
- return str;
- }
-
- return unescapeHtml;
-
-});
diff --git a/node_modules/mout/src/string/unescapeUnicode.js b/node_modules/mout/src/string/unescapeUnicode.js
deleted file mode 100644
index d4a7ba1..0000000
--- a/node_modules/mout/src/string/unescapeUnicode.js
+++ /dev/null
@@ -1,16 +0,0 @@
-define(['../lang/toString'], function(toString) {
-
- /**
- * Unescape unicode char sequences
- */
- function unescapeUnicode(str){
- str = toString(str);
- return str.replace(/\\u[0-9a-f]{4}/g, function(ch){
- var code = parseInt(ch.slice(2), 16);
- return String.fromCharCode(code);
- });
- }
-
- return unescapeUnicode;
-
-});
diff --git a/node_modules/mout/src/string/unhyphenate.js b/node_modules/mout/src/string/unhyphenate.js
deleted file mode 100644
index 6ac2fa4..0000000
--- a/node_modules/mout/src/string/unhyphenate.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define(['../lang/toString'], function(toString){
- /**
- * Replaces hyphens with spaces. (only hyphens between word chars)
- */
- function unhyphenate(str){
- str = toString(str);
- return str.replace(/(\w)(-)(\w)/g, '$1 $3');
- }
- return unhyphenate;
-});
diff --git a/node_modules/mout/src/string/upperCase.js b/node_modules/mout/src/string/upperCase.js
deleted file mode 100644
index 8b2073e..0000000
--- a/node_modules/mout/src/string/upperCase.js
+++ /dev/null
@@ -1,10 +0,0 @@
-define(['../lang/toString'], function(toString){
- /**
- * "Safer" String.toUpperCase()
- */
- function upperCase(str){
- str = toString(str);
- return str.toUpperCase();
- }
- return upperCase;
-});
diff --git a/node_modules/mout/src/time.js b/node_modules/mout/src/time.js
deleted file mode 100644
index 67c9068..0000000
--- a/node_modules/mout/src/time.js
+++ /dev/null
@@ -1,12 +0,0 @@
-define(function(require){
-
-//automatically generated, do not edit!
-//run `node build` instead
-return {
- 'convert' : require('./time/convert'),
- 'now' : require('./time/now'),
- 'parseMs' : require('./time/parseMs'),
- 'toTimeString' : require('./time/toTimeString')
-};
-
-});
diff --git a/node_modules/mout/src/time/convert.js b/node_modules/mout/src/time/convert.js
deleted file mode 100644
index 2de0cf2..0000000
--- a/node_modules/mout/src/time/convert.js
+++ /dev/null
@@ -1,41 +0,0 @@
-define(function () {
-
- /**
- * convert time into another unit
- */
- function convert(val, sourceUnitName, destinationUnitName){
- destinationUnitName = destinationUnitName || 'ms';
- return (val * getUnit(sourceUnitName)) / getUnit(destinationUnitName);
- }
-
-
- //TODO: maybe extract to a separate module
- function getUnit(unitName){
- switch(unitName){
- case 'ms':
- case 'millisecond':
- return 1;
- case 's':
- case 'second':
- return 1000;
- case 'm':
- case 'minute':
- return 60000;
- case 'h':
- case 'hour':
- return 3600000;
- case 'd':
- case 'day':
- return 86400000;
- case 'w':
- case 'week':
- return 604800000;
- default:
- throw new Error('"'+ unitName + '" is not a valid unit');
- }
- }
-
-
- return convert;
-
-});
diff --git a/node_modules/mout/src/time/now.js b/node_modules/mout/src/time/now.js
deleted file mode 100644
index 4b2d03c..0000000
--- a/node_modules/mout/src/time/now.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define(function () {
-
- /**
- * Get current time in miliseconds
- */
- function now(){
- // yes, we defer the work to another function to allow mocking it
- // during the tests
- return now.get();
- }
-
- now.get = (typeof Date.now === 'function')? Date.now : function(){
- return +(new Date());
- };
-
- return now;
-
-});
diff --git a/node_modules/mout/src/time/parseMs.js b/node_modules/mout/src/time/parseMs.js
deleted file mode 100644
index 964929a..0000000
--- a/node_modules/mout/src/time/parseMs.js
+++ /dev/null
@@ -1,17 +0,0 @@
-define(['../math/countSteps'], function(countSteps){
-
- /**
- * Parse timestamp into an object.
- */
- function parseMs(ms){
- return {
- milliseconds : countSteps(ms, 1, 1000),
- seconds : countSteps(ms, 1000, 60),
- minutes : countSteps(ms, 60000, 60),
- hours : countSteps(ms, 3600000, 24),
- days : countSteps(ms, 86400000)
- };
- }
-
- return parseMs;
-});
diff --git a/node_modules/mout/src/time/toTimeString.js b/node_modules/mout/src/time/toTimeString.js
deleted file mode 100644
index edf1821..0000000
--- a/node_modules/mout/src/time/toTimeString.js
+++ /dev/null
@@ -1,23 +0,0 @@
-define(['../math/countSteps', '../number/pad'], function(countSteps, pad){
-
- var HOUR = 3600000,
- MINUTE = 60000,
- SECOND = 1000;
-
- /**
- * Format timestamp into a time string.
- */
- function toTimeString(ms){
- var h = ms < HOUR ? 0 : countSteps(ms, HOUR),
- m = ms < MINUTE ? 0 : countSteps(ms, MINUTE, 60),
- s = ms < SECOND ? 0 : countSteps(ms, SECOND, 60),
- str = '';
-
- str += h? h + ':' : '';
- str += pad(m, 2) + ':';
- str += pad(s, 2);
-
- return str;
- }
- return toTimeString;
-});
diff --git a/node_modules/mout/string.js b/node_modules/mout/string.js
deleted file mode 100644
index fff8779..0000000
--- a/node_modules/mout/string.js
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'WHITE_SPACES' : require('./string/WHITE_SPACES'),
- 'camelCase' : require('./string/camelCase'),
- 'contains' : require('./string/contains'),
- 'crop' : require('./string/crop'),
- 'endsWith' : require('./string/endsWith'),
- 'escapeHtml' : require('./string/escapeHtml'),
- 'escapeRegExp' : require('./string/escapeRegExp'),
- 'escapeUnicode' : require('./string/escapeUnicode'),
- 'hyphenate' : require('./string/hyphenate'),
- 'insert' : require('./string/insert'),
- 'interpolate' : require('./string/interpolate'),
- 'lowerCase' : require('./string/lowerCase'),
- 'lpad' : require('./string/lpad'),
- 'ltrim' : require('./string/ltrim'),
- 'makePath' : require('./string/makePath'),
- 'normalizeLineBreaks' : require('./string/normalizeLineBreaks'),
- 'pascalCase' : require('./string/pascalCase'),
- 'properCase' : require('./string/properCase'),
- 'removeNonASCII' : require('./string/removeNonASCII'),
- 'removeNonWord' : require('./string/removeNonWord'),
- 'repeat' : require('./string/repeat'),
- 'replace' : require('./string/replace'),
- 'replaceAccents' : require('./string/replaceAccents'),
- 'rpad' : require('./string/rpad'),
- 'rtrim' : require('./string/rtrim'),
- 'sentenceCase' : require('./string/sentenceCase'),
- 'slugify' : require('./string/slugify'),
- 'startsWith' : require('./string/startsWith'),
- 'stripHtmlTags' : require('./string/stripHtmlTags'),
- 'stripMargin' : require('./string/stripMargin'),
- 'trim' : require('./string/trim'),
- 'truncate' : require('./string/truncate'),
- 'typecast' : require('./string/typecast'),
- 'unCamelCase' : require('./string/unCamelCase'),
- 'underscore' : require('./string/underscore'),
- 'unescapeHtml' : require('./string/unescapeHtml'),
- 'unescapeUnicode' : require('./string/unescapeUnicode'),
- 'unhyphenate' : require('./string/unhyphenate'),
- 'upperCase' : require('./string/upperCase')
-};
-
-
diff --git a/node_modules/mout/string/WHITE_SPACES.js b/node_modules/mout/string/WHITE_SPACES.js
deleted file mode 100644
index 03e0125..0000000
--- a/node_modules/mout/string/WHITE_SPACES.js
+++ /dev/null
@@ -1,12 +0,0 @@
-
- /**
- * Contains all Unicode white-spaces. Taken from
- * http://en.wikipedia.org/wiki/Whitespace_character.
- */
- module.exports = [
- ' ', '\n', '\r', '\t', '\f', '\v', '\u00A0', '\u1680', '\u180E',
- '\u2000', '\u2001', '\u2002', '\u2003', '\u2004', '\u2005', '\u2006',
- '\u2007', '\u2008', '\u2009', '\u200A', '\u2028', '\u2029', '\u202F',
- '\u205F', '\u3000'
- ];
-
diff --git a/node_modules/mout/string/camelCase.js b/node_modules/mout/string/camelCase.js
deleted file mode 100644
index e73a960..0000000
--- a/node_modules/mout/string/camelCase.js
+++ /dev/null
@@ -1,34 +0,0 @@
-var toString = require('../lang/toString');
-var replaceAccents = require('./replaceAccents');
-var removeNonWord = require('./removeNonWord');
-var upperCase = require('./upperCase');
-var lowerCase = require('./lowerCase');
- /**
- * Convert string to camelCase text.
- */
- function camelCase(str){
- str = toString(str);
- str = replaceAccents(str);
- str = removeNonWord(str)
- .replace(/[\-_]/g, ' '); // convert all hyphens and underscores to spaces
-
- // handle acronyms
- // matches lowercase chars && uppercase words
- if (/[a-z]/.test(str) && /^|\s[A-Z]+\s|$/.test(str)) {
- // we convert any word that isn't all caps into lowercase
- str = str.replace(/\s(\w+)/g, function(word, m) {
- return /^[A-Z]+$/.test(m) ? word : lowerCase(word);
- });
- } else if (/\s/.test(str)) {
- // if it doesn't contain an acronym and it has spaces we should
- // convert every word to lowercase
- str = lowerCase(str);
- }
-
- return str
- .replace(/\s[a-z]/g, upperCase) // convert first char of each word to UPPERCASE
- .replace(/^\s*[A-Z]+/g, lowerCase) // convert first word to lowercase
- .replace(/\s+/g, ''); // remove spaces
- }
- module.exports = camelCase;
-
diff --git a/node_modules/mout/string/contains.js b/node_modules/mout/string/contains.js
deleted file mode 100644
index cb22cae..0000000
--- a/node_modules/mout/string/contains.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var toString = require('../lang/toString');
-
- /**
- * Searches for a given substring
- */
- function contains(str, substring, fromIndex){
- str = toString(str);
- substring = toString(substring);
- return str.indexOf(substring, fromIndex) !== -1;
- }
-
- module.exports = contains;
-
-
diff --git a/node_modules/mout/string/crop.js b/node_modules/mout/string/crop.js
deleted file mode 100644
index 53b93b4..0000000
--- a/node_modules/mout/string/crop.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var toString = require('../lang/toString');
-var truncate = require('./truncate');
- /**
- * Truncate string at full words.
- */
- function crop(str, maxChars, append) {
- str = toString(str);
- return truncate(str, maxChars, append, true);
- }
-
- module.exports = crop;
-
diff --git a/node_modules/mout/string/endsWith.js b/node_modules/mout/string/endsWith.js
deleted file mode 100644
index d504e9d..0000000
--- a/node_modules/mout/string/endsWith.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var toString = require('../lang/toString');
- /**
- * Checks if string ends with specified suffix.
- */
- function endsWith(str, suffix) {
- str = toString(str);
- suffix = toString(suffix);
-
- return str.indexOf(suffix, str.length - suffix.length) !== -1;
- }
-
- module.exports = endsWith;
-
diff --git a/node_modules/mout/string/escapeHtml.js b/node_modules/mout/string/escapeHtml.js
deleted file mode 100644
index e67c4b2..0000000
--- a/node_modules/mout/string/escapeHtml.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var toString = require('../lang/toString');
-
- /**
- * Escapes a string for insertion into HTML.
- */
- function escapeHtml(str){
- str = toString(str)
- .replace(/&/g, '&')
- .replace(//g, '>')
- .replace(/'/g, ''')
- .replace(/"/g, '"');
- return str;
- }
-
- module.exports = escapeHtml;
-
-
diff --git a/node_modules/mout/string/escapeRegExp.js b/node_modules/mout/string/escapeRegExp.js
deleted file mode 100644
index 02d743c..0000000
--- a/node_modules/mout/string/escapeRegExp.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var toString = require('../lang/toString');
-
- /**
- * Escape RegExp string chars.
- */
- function escapeRegExp(str) {
- return toString(str).replace(/\W/g,'\\$&');
- }
-
- module.exports = escapeRegExp;
-
-
diff --git a/node_modules/mout/string/escapeUnicode.js b/node_modules/mout/string/escapeUnicode.js
deleted file mode 100644
index ec649ad..0000000
--- a/node_modules/mout/string/escapeUnicode.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var toString = require('../lang/toString');
-
- /**
- * Escape string into unicode sequences
- */
- function escapeUnicode(str, shouldEscapePrintable){
- str = toString(str);
- return str.replace(/[\s\S]/g, function(ch){
- // skip printable ASCII chars if we should not escape them
- if (!shouldEscapePrintable && (/[\x20-\x7E]/).test(ch)) {
- return ch;
- }
- // we use "000" and slice(-4) for brevity, need to pad zeros,
- // unicode escape always have 4 chars after "\u"
- return '\\u'+ ('000'+ ch.charCodeAt(0).toString(16)).slice(-4);
- });
- }
-
- module.exports = escapeUnicode;
-
-
diff --git a/node_modules/mout/string/hyphenate.js b/node_modules/mout/string/hyphenate.js
deleted file mode 100644
index 95e3243..0000000
--- a/node_modules/mout/string/hyphenate.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var toString = require('../lang/toString');
-var slugify = require('./slugify');
-var unCamelCase = require('./unCamelCase');
- /**
- * Replaces spaces with hyphens, split camelCase text, remove non-word chars, remove accents and convert to lower case.
- */
- function hyphenate(str){
- str = toString(str);
- str = unCamelCase(str);
- return slugify(str, "-");
- }
-
- module.exports = hyphenate;
-
diff --git a/node_modules/mout/string/insert.js b/node_modules/mout/string/insert.js
deleted file mode 100644
index 8f042c6..0000000
--- a/node_modules/mout/string/insert.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var clamp = require('../math/clamp');
-var toString = require('../lang/toString');
-
- /**
- * Inserts a string at a given index.
- */
- function insert(string, index, partial){
- string = toString(string);
-
- if (index < 0) {
- index = string.length + index;
- }
-
- index = clamp(index, 0, string.length);
-
- return string.substr(0, index) + partial + string.substr(index);
- }
-
- module.exports = insert;
-
-
diff --git a/node_modules/mout/string/interpolate.js b/node_modules/mout/string/interpolate.js
deleted file mode 100644
index efbbf7d..0000000
--- a/node_modules/mout/string/interpolate.js
+++ /dev/null
@@ -1,19 +0,0 @@
-var toString = require('../lang/toString');
-var get = require('../object/get');
-
- var stache = /\{\{([^\}]+)\}\}/g; //mustache-like
-
- /**
- * String interpolation
- */
- function interpolate(template, replacements, syntax){
- template = toString(template);
- var replaceFn = function(match, prop){
- return toString( get(replacements, prop) );
- };
- return template.replace(syntax || stache, replaceFn);
- }
-
- module.exports = interpolate;
-
-
diff --git a/node_modules/mout/string/lowerCase.js b/node_modules/mout/string/lowerCase.js
deleted file mode 100644
index 30bb7ad..0000000
--- a/node_modules/mout/string/lowerCase.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var toString = require('../lang/toString');
- /**
- * "Safer" String.toLowerCase()
- */
- function lowerCase(str){
- str = toString(str);
- return str.toLowerCase();
- }
-
- module.exports = lowerCase;
-
diff --git a/node_modules/mout/string/lpad.js b/node_modules/mout/string/lpad.js
deleted file mode 100644
index 63641d3..0000000
--- a/node_modules/mout/string/lpad.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var toString = require('../lang/toString');
-var repeat = require('./repeat');
-
- /**
- * Pad string with `char` if its' length is smaller than `minLen`
- */
- function lpad(str, minLen, ch) {
- str = toString(str);
- ch = ch || ' ';
-
- return (str.length < minLen) ?
- repeat(ch, minLen - str.length) + str : str;
- }
-
- module.exports = lpad;
-
-
diff --git a/node_modules/mout/string/ltrim.js b/node_modules/mout/string/ltrim.js
deleted file mode 100644
index 23d7b33..0000000
--- a/node_modules/mout/string/ltrim.js
+++ /dev/null
@@ -1,34 +0,0 @@
-var toString = require('../lang/toString');
-var WHITE_SPACES = require('./WHITE_SPACES');
- /**
- * Remove chars from beginning of string.
- */
- function ltrim(str, chars) {
- str = toString(str);
- chars = chars || WHITE_SPACES;
-
- var start = 0,
- len = str.length,
- charLen = chars.length,
- found = true,
- i, c;
-
- while (found && start < len) {
- found = false;
- i = -1;
- c = str.charAt(start);
-
- while (++i < charLen) {
- if (c === chars[i]) {
- found = true;
- start++;
- break;
- }
- }
- }
-
- return (start >= len) ? '' : str.substr(start, len);
- }
-
- module.exports = ltrim;
-
diff --git a/node_modules/mout/string/makePath.js b/node_modules/mout/string/makePath.js
deleted file mode 100644
index c337cec..0000000
--- a/node_modules/mout/string/makePath.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var join = require('../array/join');
-var slice = require('../array/slice');
-
- /**
- * Group arguments as path segments, if any of the args is `null` or an
- * empty string it will be ignored from resulting path.
- */
- function makePath(var_args){
- var result = join(slice(arguments), '/');
- // need to disconsider duplicate '/' after protocol (eg: 'http://')
- return result.replace(/([^:\/]|^)\/{2,}/g, '$1/');
- }
-
- module.exports = makePath;
-
diff --git a/node_modules/mout/string/normalizeLineBreaks.js b/node_modules/mout/string/normalizeLineBreaks.js
deleted file mode 100644
index 8a8dccf..0000000
--- a/node_modules/mout/string/normalizeLineBreaks.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var toString = require('../lang/toString');
-
- /**
- * Convert line-breaks from DOS/MAC to a single standard (UNIX by default)
- */
- function normalizeLineBreaks(str, lineEnd) {
- str = toString(str);
- lineEnd = lineEnd || '\n';
-
- return str
- .replace(/\r\n/g, lineEnd) // DOS
- .replace(/\r/g, lineEnd) // Mac
- .replace(/\n/g, lineEnd); // Unix
- }
-
- module.exports = normalizeLineBreaks;
-
-
diff --git a/node_modules/mout/string/pascalCase.js b/node_modules/mout/string/pascalCase.js
deleted file mode 100644
index fd19035..0000000
--- a/node_modules/mout/string/pascalCase.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var toString = require('../lang/toString');
-var camelCase = require('./camelCase');
-var upperCase = require('./upperCase');
- /**
- * camelCase + UPPERCASE first char
- */
- function pascalCase(str){
- str = toString(str);
- return camelCase(str).replace(/^[a-z]/, upperCase);
- }
-
- module.exports = pascalCase;
-
diff --git a/node_modules/mout/string/properCase.js b/node_modules/mout/string/properCase.js
deleted file mode 100644
index 61636be..0000000
--- a/node_modules/mout/string/properCase.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var toString = require('../lang/toString');
-var lowerCase = require('./lowerCase');
-var upperCase = require('./upperCase');
- /**
- * UPPERCASE first char of each word.
- */
- function properCase(str){
- str = toString(str);
- return lowerCase(str).replace(/^\w|\s\w/g, upperCase);
- }
-
- module.exports = properCase;
-
diff --git a/node_modules/mout/string/removeNonASCII.js b/node_modules/mout/string/removeNonASCII.js
deleted file mode 100644
index fb46381..0000000
--- a/node_modules/mout/string/removeNonASCII.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var toString = require('../lang/toString');
- /**
- * Remove non-printable ASCII chars
- */
- function removeNonASCII(str){
- str = toString(str);
-
- // Matches non-printable ASCII chars -
- // http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters
- return str.replace(/[^\x20-\x7E]/g, '');
- }
-
- module.exports = removeNonASCII;
-
diff --git a/node_modules/mout/string/removeNonWord.js b/node_modules/mout/string/removeNonWord.js
deleted file mode 100644
index ffb05a9..0000000
--- a/node_modules/mout/string/removeNonWord.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var toString = require('../lang/toString');
- // This pattern is generated by the _build/pattern-removeNonWord.js script
- var PATTERN = /[^\x20\x2D0-9A-Z\x5Fa-z\xC0-\xD6\xD8-\xF6\xF8-\xFF]/g;
-
- /**
- * Remove non-word chars.
- */
- function removeNonWord(str){
- str = toString(str);
- return str.replace(PATTERN, '');
- }
-
- module.exports = removeNonWord;
-
diff --git a/node_modules/mout/string/repeat.js b/node_modules/mout/string/repeat.js
deleted file mode 100644
index df0dc1e..0000000
--- a/node_modules/mout/string/repeat.js
+++ /dev/null
@@ -1,26 +0,0 @@
-var toString = require('../lang/toString');
-var toInt = require('../number/toInt');
-
- /**
- * Repeat string n times
- */
- function repeat(str, n){
- var result = '';
- str = toString(str);
- n = toInt(n);
- if (n < 1) {
- return '';
- }
- while (n > 0) {
- if (n % 2) {
- result += str;
- }
- n = Math.floor(n / 2);
- str += str;
- }
- return result;
- }
-
- module.exports = repeat;
-
-
diff --git a/node_modules/mout/string/replace.js b/node_modules/mout/string/replace.js
deleted file mode 100644
index 14433fc..0000000
--- a/node_modules/mout/string/replace.js
+++ /dev/null
@@ -1,33 +0,0 @@
-var toString = require('../lang/toString');
-var toArray = require('../lang/toArray');
-
- /**
- * Replace string(s) with the replacement(s) in the source.
- */
- function replace(str, search, replacements) {
- str = toString(str);
- search = toArray(search);
- replacements = toArray(replacements);
-
- var searchLength = search.length,
- replacementsLength = replacements.length;
-
- if (replacementsLength !== 1 && searchLength !== replacementsLength) {
- throw new Error('Unequal number of searches and replacements');
- }
-
- var i = -1;
- while (++i < searchLength) {
- // Use the first replacement for all searches if only one
- // replacement is provided
- str = str.replace(
- search[i],
- replacements[(replacementsLength === 1) ? 0 : i]);
- }
-
- return str;
- }
-
- module.exports = replace;
-
-
diff --git a/node_modules/mout/string/replaceAccents.js b/node_modules/mout/string/replaceAccents.js
deleted file mode 100644
index bb22126..0000000
--- a/node_modules/mout/string/replaceAccents.js
+++ /dev/null
@@ -1,36 +0,0 @@
-var toString = require('../lang/toString');
- /**
- * Replaces all accented chars with regular ones
- */
- function replaceAccents(str){
- str = toString(str);
-
- // verifies if the String has accents and replace them
- if (str.search(/[\xC0-\xFF]/g) > -1) {
- str = str
- .replace(/[\xC0-\xC5]/g, "A")
- .replace(/[\xC6]/g, "AE")
- .replace(/[\xC7]/g, "C")
- .replace(/[\xC8-\xCB]/g, "E")
- .replace(/[\xCC-\xCF]/g, "I")
- .replace(/[\xD0]/g, "D")
- .replace(/[\xD1]/g, "N")
- .replace(/[\xD2-\xD6\xD8]/g, "O")
- .replace(/[\xD9-\xDC]/g, "U")
- .replace(/[\xDD]/g, "Y")
- .replace(/[\xDE]/g, "P")
- .replace(/[\xE0-\xE5]/g, "a")
- .replace(/[\xE6]/g, "ae")
- .replace(/[\xE7]/g, "c")
- .replace(/[\xE8-\xEB]/g, "e")
- .replace(/[\xEC-\xEF]/g, "i")
- .replace(/[\xF1]/g, "n")
- .replace(/[\xF2-\xF6\xF8]/g, "o")
- .replace(/[\xF9-\xFC]/g, "u")
- .replace(/[\xFE]/g, "p")
- .replace(/[\xFD\xFF]/g, "y");
- }
- return str;
- }
- module.exports = replaceAccents;
-
diff --git a/node_modules/mout/string/rpad.js b/node_modules/mout/string/rpad.js
deleted file mode 100644
index 99f6378..0000000
--- a/node_modules/mout/string/rpad.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var toString = require('../lang/toString');
-var repeat = require('./repeat');
-
- /**
- * Pad string with `char` if its' length is smaller than `minLen`
- */
- function rpad(str, minLen, ch) {
- str = toString(str);
- ch = ch || ' ';
- return (str.length < minLen)? str + repeat(ch, minLen - str.length) : str;
- }
-
- module.exports = rpad;
-
-
diff --git a/node_modules/mout/string/rtrim.js b/node_modules/mout/string/rtrim.js
deleted file mode 100644
index 66ba80e..0000000
--- a/node_modules/mout/string/rtrim.js
+++ /dev/null
@@ -1,33 +0,0 @@
-var toString = require('../lang/toString');
-var WHITE_SPACES = require('./WHITE_SPACES');
- /**
- * Remove chars from end of string.
- */
- function rtrim(str, chars) {
- str = toString(str);
- chars = chars || WHITE_SPACES;
-
- var end = str.length - 1,
- charLen = chars.length,
- found = true,
- i, c;
-
- while (found && end >= 0) {
- found = false;
- i = -1;
- c = str.charAt(end);
-
- while (++i < charLen) {
- if (c === chars[i]) {
- found = true;
- end--;
- break;
- }
- }
- }
-
- return (end >= 0) ? str.substring(0, end + 1) : '';
- }
-
- module.exports = rtrim;
-
diff --git a/node_modules/mout/string/sentenceCase.js b/node_modules/mout/string/sentenceCase.js
deleted file mode 100644
index 354104c..0000000
--- a/node_modules/mout/string/sentenceCase.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var toString = require('../lang/toString');
-var lowerCase = require('./lowerCase');
-var upperCase = require('./upperCase');
- /**
- * UPPERCASE first char of each sentence and lowercase other chars.
- */
- function sentenceCase(str){
- str = toString(str);
-
- // Replace first char of each sentence (new line or after '.\s+') to
- // UPPERCASE
- return lowerCase(str).replace(/(^\w)|\.\s+(\w)/gm, upperCase);
- }
- module.exports = sentenceCase;
-
diff --git a/node_modules/mout/string/slugify.js b/node_modules/mout/string/slugify.js
deleted file mode 100644
index 305cb85..0000000
--- a/node_modules/mout/string/slugify.js
+++ /dev/null
@@ -1,24 +0,0 @@
-var toString = require('../lang/toString');
-var replaceAccents = require('./replaceAccents');
-var removeNonWord = require('./removeNonWord');
-var trim = require('./trim');
- /**
- * Convert to lower case, remove accents, remove non-word chars and
- * replace spaces with the specified delimiter.
- * Does not split camelCase text.
- */
- function slugify(str, delimiter){
- str = toString(str);
-
- if (delimiter == null) {
- delimiter = "-";
- }
- str = replaceAccents(str);
- str = removeNonWord(str);
- str = trim(str) //should come after removeNonWord
- .replace(/ +/g, delimiter) //replace spaces with delimiter
- .toLowerCase();
- return str;
- }
- module.exports = slugify;
-
diff --git a/node_modules/mout/string/startsWith.js b/node_modules/mout/string/startsWith.js
deleted file mode 100644
index bce2bd2..0000000
--- a/node_modules/mout/string/startsWith.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var toString = require('../lang/toString');
- /**
- * Checks if string starts with specified prefix.
- */
- function startsWith(str, prefix) {
- str = toString(str);
- prefix = toString(prefix);
-
- return str.indexOf(prefix) === 0;
- }
-
- module.exports = startsWith;
-
diff --git a/node_modules/mout/string/stripHtmlTags.js b/node_modules/mout/string/stripHtmlTags.js
deleted file mode 100644
index 01d17b0..0000000
--- a/node_modules/mout/string/stripHtmlTags.js
+++ /dev/null
@@ -1,11 +0,0 @@
-var toString = require('../lang/toString');
- /**
- * Remove HTML tags from string.
- */
- function stripHtmlTags(str){
- str = toString(str);
-
- return str.replace(/<[^>]*>/g, '');
- }
- module.exports = stripHtmlTags;
-
diff --git a/node_modules/mout/string/stripMargin.js b/node_modules/mout/string/stripMargin.js
deleted file mode 100644
index bdfc7ac..0000000
--- a/node_modules/mout/string/stripMargin.js
+++ /dev/null
@@ -1,22 +0,0 @@
-var toString = require('../lang/toString');
-var escapeRegExp = require('./escapeRegExp');
- var DEFAULT_MARGIN_CHAR = '|';
- /**
- * Strip leading characters followed by 'marginChar' from every line in a String.
- *
- * marginChar defaults to '|'.
- */
- function stripMargin(str, marginChar) {
- var regexp;
-
- marginChar = escapeRegExp(marginChar || DEFAULT_MARGIN_CHAR);
- str = toString(str);
-
- regexp = new RegExp('^.*' + marginChar, 'gm');
-
- return str.replace(regexp, '');
- }
-
- module.exports = stripMargin;
-
-
diff --git a/node_modules/mout/string/trim.js b/node_modules/mout/string/trim.js
deleted file mode 100644
index 9652b0c..0000000
--- a/node_modules/mout/string/trim.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var toString = require('../lang/toString');
-var WHITE_SPACES = require('./WHITE_SPACES');
-var ltrim = require('./ltrim');
-var rtrim = require('./rtrim');
- /**
- * Remove white-spaces from beginning and end of string.
- */
- function trim(str, chars) {
- str = toString(str);
- chars = chars || WHITE_SPACES;
- return ltrim(rtrim(str, chars), chars);
- }
-
- module.exports = trim;
-
diff --git a/node_modules/mout/string/truncate.js b/node_modules/mout/string/truncate.js
deleted file mode 100644
index a98d6c7..0000000
--- a/node_modules/mout/string/truncate.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var toString = require('../lang/toString');
-var trim = require('./trim');
- /**
- * Limit number of chars.
- */
- function truncate(str, maxChars, append, onlyFullWords){
- str = toString(str);
- append = append || '...';
- maxChars = onlyFullWords? maxChars + 1 : maxChars;
-
- str = trim(str);
- if(str.length <= maxChars){
- return str;
- }
- str = str.substr(0, maxChars - append.length);
- //crop at last space or remove trailing whitespace
- str = onlyFullWords? str.substr(0, str.lastIndexOf(' ')) : trim(str);
- return str + append;
- }
- module.exports = truncate;
-
diff --git a/node_modules/mout/string/typecast.js b/node_modules/mout/string/typecast.js
deleted file mode 100644
index c1386a4..0000000
--- a/node_modules/mout/string/typecast.js
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
- var UNDEF;
-
- /**
- * Parses string and convert it into a native value.
- */
- function typecast(val) {
- var r;
- if ( val === null || val === 'null' ) {
- r = null;
- } else if ( val === 'true' ) {
- r = true;
- } else if ( val === 'false' ) {
- r = false;
- } else if ( val === UNDEF || val === 'undefined' ) {
- r = UNDEF;
- } else if ( val === '' || isNaN(val) ) {
- //isNaN('') returns false
- r = val;
- } else {
- //parseFloat(null || '') returns NaN
- r = parseFloat(val);
- }
- return r;
- }
-
- module.exports = typecast;
-
diff --git a/node_modules/mout/string/unCamelCase.js b/node_modules/mout/string/unCamelCase.js
deleted file mode 100644
index 4968f37..0000000
--- a/node_modules/mout/string/unCamelCase.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var toString = require('../lang/toString');
-
- var CAMEL_CASE_BORDER = /([a-z\xE0-\xFF])([A-Z\xC0\xDF])/g;
-
- /**
- * Add space between camelCase text.
- */
- function unCamelCase(str, delimiter){
- if (delimiter == null) {
- delimiter = ' ';
- }
-
- function join(str, c1, c2) {
- return c1 + delimiter + c2;
- }
-
- str = toString(str);
- str = str.replace(CAMEL_CASE_BORDER, join);
- str = str.toLowerCase(); //add space between camelCase text
- return str;
- }
- module.exports = unCamelCase;
-
diff --git a/node_modules/mout/string/underscore.js b/node_modules/mout/string/underscore.js
deleted file mode 100644
index ebd6e2b..0000000
--- a/node_modules/mout/string/underscore.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var toString = require('../lang/toString');
-var slugify = require('./slugify');
-var unCamelCase = require('./unCamelCase');
- /**
- * Replaces spaces with underscores, split camelCase text, remove non-word chars, remove accents and convert to lower case.
- */
- function underscore(str){
- str = toString(str);
- str = unCamelCase(str);
- return slugify(str, "_");
- }
- module.exports = underscore;
-
diff --git a/node_modules/mout/string/unescapeHtml.js b/node_modules/mout/string/unescapeHtml.js
deleted file mode 100644
index ad1987d..0000000
--- a/node_modules/mout/string/unescapeHtml.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var toString = require('../lang/toString');
-
- /**
- * Unescapes HTML special chars
- */
- function unescapeHtml(str){
- str = toString(str)
- .replace(/&/g , '&')
- .replace(/</g , '<')
- .replace(/>/g , '>')
- .replace(/*39;/g , "'")
- .replace(/"/g, '"');
- return str;
- }
-
- module.exports = unescapeHtml;
-
-
diff --git a/node_modules/mout/string/unescapeUnicode.js b/node_modules/mout/string/unescapeUnicode.js
deleted file mode 100644
index 0b7fb73..0000000
--- a/node_modules/mout/string/unescapeUnicode.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var toString = require('../lang/toString');
-
- /**
- * Unescape unicode char sequences
- */
- function unescapeUnicode(str){
- str = toString(str);
- return str.replace(/\\u[0-9a-f]{4}/g, function(ch){
- var code = parseInt(ch.slice(2), 16);
- return String.fromCharCode(code);
- });
- }
-
- module.exports = unescapeUnicode;
-
-
diff --git a/node_modules/mout/string/unhyphenate.js b/node_modules/mout/string/unhyphenate.js
deleted file mode 100644
index 311dfa1..0000000
--- a/node_modules/mout/string/unhyphenate.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var toString = require('../lang/toString');
- /**
- * Replaces hyphens with spaces. (only hyphens between word chars)
- */
- function unhyphenate(str){
- str = toString(str);
- return str.replace(/(\w)(-)(\w)/g, '$1 $3');
- }
- module.exports = unhyphenate;
-
diff --git a/node_modules/mout/string/upperCase.js b/node_modules/mout/string/upperCase.js
deleted file mode 100644
index 6c92552..0000000
--- a/node_modules/mout/string/upperCase.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var toString = require('../lang/toString');
- /**
- * "Safer" String.toUpperCase()
- */
- function upperCase(str){
- str = toString(str);
- return str.toUpperCase();
- }
- module.exports = upperCase;
-
diff --git a/node_modules/mout/time.js b/node_modules/mout/time.js
deleted file mode 100644
index 9f53329..0000000
--- a/node_modules/mout/time.js
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-//automatically generated, do not edit!
-//run `node build` instead
-module.exports = {
- 'convert' : require('./time/convert'),
- 'now' : require('./time/now'),
- 'parseMs' : require('./time/parseMs'),
- 'toTimeString' : require('./time/toTimeString')
-};
-
-
diff --git a/node_modules/mout/time/convert.js b/node_modules/mout/time/convert.js
deleted file mode 100644
index 852a0f0..0000000
--- a/node_modules/mout/time/convert.js
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
- /**
- * convert time into another unit
- */
- function convert(val, sourceUnitName, destinationUnitName){
- destinationUnitName = destinationUnitName || 'ms';
- return (val * getUnit(sourceUnitName)) / getUnit(destinationUnitName);
- }
-
-
- //TODO: maybe extract to a separate module
- function getUnit(unitName){
- switch(unitName){
- case 'ms':
- case 'millisecond':
- return 1;
- case 's':
- case 'second':
- return 1000;
- case 'm':
- case 'minute':
- return 60000;
- case 'h':
- case 'hour':
- return 3600000;
- case 'd':
- case 'day':
- return 86400000;
- case 'w':
- case 'week':
- return 604800000;
- default:
- throw new Error('"'+ unitName + '" is not a valid unit');
- }
- }
-
-
- module.exports = convert;
-
-
diff --git a/node_modules/mout/time/now.js b/node_modules/mout/time/now.js
deleted file mode 100644
index 0cedb18..0000000
--- a/node_modules/mout/time/now.js
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
- /**
- * Get current time in miliseconds
- */
- function now(){
- // yes, we defer the work to another function to allow mocking it
- // during the tests
- return now.get();
- }
-
- now.get = (typeof Date.now === 'function')? Date.now : function(){
- return +(new Date());
- };
-
- module.exports = now;
-
-
diff --git a/node_modules/mout/time/parseMs.js b/node_modules/mout/time/parseMs.js
deleted file mode 100644
index 6d99797..0000000
--- a/node_modules/mout/time/parseMs.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var countSteps = require('../math/countSteps');
-
- /**
- * Parse timestamp into an object.
- */
- function parseMs(ms){
- return {
- milliseconds : countSteps(ms, 1, 1000),
- seconds : countSteps(ms, 1000, 60),
- minutes : countSteps(ms, 60000, 60),
- hours : countSteps(ms, 3600000, 24),
- days : countSteps(ms, 86400000)
- };
- }
-
- module.exports = parseMs;
-
diff --git a/node_modules/mout/time/toTimeString.js b/node_modules/mout/time/toTimeString.js
deleted file mode 100644
index 101d69f..0000000
--- a/node_modules/mout/time/toTimeString.js
+++ /dev/null
@@ -1,24 +0,0 @@
-var countSteps = require('../math/countSteps');
-var pad = require('../number/pad');
-
- var HOUR = 3600000,
- MINUTE = 60000,
- SECOND = 1000;
-
- /**
- * Format timestamp into a time string.
- */
- function toTimeString(ms){
- var h = ms < HOUR ? 0 : countSteps(ms, HOUR),
- m = ms < MINUTE ? 0 : countSteps(ms, MINUTE, 60),
- s = ms < SECOND ? 0 : countSteps(ms, SECOND, 60),
- str = '';
-
- str += h? h + ':' : '';
- str += pad(m, 2) + ':';
- str += pad(s, 2);
-
- return str;
- }
- module.exports = toTimeString;
-
diff --git a/node_modules/npm/LICENSE b/node_modules/npm/LICENSE
deleted file mode 100644
index 0b6c228..0000000
--- a/node_modules/npm/LICENSE
+++ /dev/null
@@ -1,235 +0,0 @@
-The npm application
-Copyright (c) npm, Inc. and Contributors
-Licensed on the terms of The Artistic License 2.0
-
-Node package dependencies of the npm application
-Copyright (c) their respective copyright owners
-Licensed on their respective license terms
-
-The npm public registry at https://registry.npmjs.org
-and the npm website at https://www.npmjs.com
-Operated by npm, Inc.
-Use governed by terms published on https://www.npmjs.com
-
-"Node.js"
-Trademark Joyent, Inc., https://joyent.com
-Neither npm nor npm, Inc. are affiliated with Joyent, Inc.
-
-The Node.js application
-Project of Node Foundation, https://nodejs.org
-
-The npm Logo
-Copyright (c) Mathias Pettersson and Brian Hammond
-
-"Gubblebum Blocky" typeface
-Copyright (c) Tjarda Koster, https://jelloween.deviantart.com
-Used with permission
-
-
---------
-
-
-The Artistic License 2.0
-
-Copyright (c) 2000-2006, The Perl Foundation.
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
-Preamble
-
-This license establishes the terms under which a given free software
-Package may be copied, modified, distributed, and/or redistributed.
-The intent is that the Copyright Holder maintains some artistic
-control over the development of that Package while still keeping the
-Package available as open source and free software.
-
-You are always permitted to make arrangements wholly outside of this
-license directly with the Copyright Holder of a given Package. If the
-terms of this license do not permit the full use that you propose to
-make of the Package, you should contact the Copyright Holder and seek
-a different licensing arrangement.
-
-Definitions
-
- "Copyright Holder" means the individual(s) or organization(s)
- named in the copyright notice for the entire Package.
-
- "Contributor" means any party that has contributed code or other
- material to the Package, in accordance with the Copyright Holder's
- procedures.
-
- "You" and "your" means any person who would like to copy,
- distribute, or modify the Package.
-
- "Package" means the collection of files distributed by the
- Copyright Holder, and derivatives of that collection and/or of
- those files. A given Package may consist of either the Standard
- Version, or a Modified Version.
-
- "Distribute" means providing a copy of the Package or making it
- accessible to anyone else, or in the case of a company or
- organization, to others outside of your company or organization.
-
- "Distributor Fee" means any fee that you charge for Distributing
- this Package or providing support for this Package to another
- party. It does not mean licensing fees.
-
- "Standard Version" refers to the Package if it has not been
- modified, or has been modified only in ways explicitly requested
- by the Copyright Holder.
-
- "Modified Version" means the Package, if it has been changed, and
- such changes were not explicitly requested by the Copyright
- Holder.
-
- "Original License" means this Artistic License as Distributed with
- the Standard Version of the Package, in its current version or as
- it may be modified by The Perl Foundation in the future.
-
- "Source" form means the source code, documentation source, and
- configuration files for the Package.
-
- "Compiled" form means the compiled bytecode, object code, binary,
- or any other form resulting from mechanical transformation or
- translation of the Source form.
-
-
-Permission for Use and Modification Without Distribution
-
-(1) You are permitted to use the Standard Version and create and use
-Modified Versions for any purpose without restriction, provided that
-you do not Distribute the Modified Version.
-
-
-Permissions for Redistribution of the Standard Version
-
-(2) You may Distribute verbatim copies of the Source form of the
-Standard Version of this Package in any medium without restriction,
-either gratis or for a Distributor Fee, provided that you duplicate
-all of the original copyright notices and associated disclaimers. At
-your discretion, such verbatim copies may or may not include a
-Compiled form of the Package.
-
-(3) You may apply any bug fixes, portability changes, and other
-modifications made available from the Copyright Holder. The resulting
-Package will still be considered the Standard Version, and as such
-will be subject to the Original License.
-
-
-Distribution of Modified Versions of the Package as Source
-
-(4) You may Distribute your Modified Version as Source (either gratis
-or for a Distributor Fee, and with or without a Compiled form of the
-Modified Version) provided that you clearly document how it differs
-from the Standard Version, including, but not limited to, documenting
-any non-standard features, executables, or modules, and provided that
-you do at least ONE of the following:
-
- (a) make the Modified Version available to the Copyright Holder
- of the Standard Version, under the Original License, so that the
- Copyright Holder may include your modifications in the Standard
- Version.
-
- (b) ensure that installation of your Modified Version does not
- prevent the user installing or running the Standard Version. In
- addition, the Modified Version must bear a name that is different
- from the name of the Standard Version.
-
- (c) allow anyone who receives a copy of the Modified Version to
- make the Source form of the Modified Version available to others
- under
-
- (i) the Original License or
-
- (ii) a license that permits the licensee to freely copy,
- modify and redistribute the Modified Version using the same
- licensing terms that apply to the copy that the licensee
- received, and requires that the Source form of the Modified
- Version, and of any works derived from it, be made freely
- available in that license fees are prohibited but Distributor
- Fees are allowed.
-
-
-Distribution of Compiled Forms of the Standard Version
-or Modified Versions without the Source
-
-(5) You may Distribute Compiled forms of the Standard Version without
-the Source, provided that you include complete instructions on how to
-get the Source of the Standard Version. Such instructions must be
-valid at the time of your distribution. If these instructions, at any
-time while you are carrying out such distribution, become invalid, you
-must provide new instructions on demand or cease further distribution.
-If you provide valid instructions or cease distribution within thirty
-days after you become aware that the instructions are invalid, then
-you do not forfeit any of your rights under this license.
-
-(6) You may Distribute a Modified Version in Compiled form without
-the Source, provided that you comply with Section 4 with respect to
-the Source of the Modified Version.
-
-
-Aggregating or Linking the Package
-
-(7) You may aggregate the Package (either the Standard Version or
-Modified Version) with other packages and Distribute the resulting
-aggregation provided that you do not charge a licensing fee for the
-Package. Distributor Fees are permitted, and licensing fees for other
-components in the aggregation are permitted. The terms of this license
-apply to the use and Distribution of the Standard or Modified Versions
-as included in the aggregation.
-
-(8) You are permitted to link Modified and Standard Versions with
-other works, to embed the Package in a larger work of your own, or to
-build stand-alone binary or bytecode versions of applications that
-include the Package, and Distribute the result without restriction,
-provided the result does not expose a direct interface to the Package.
-
-
-Items That are Not Considered Part of a Modified Version
-
-(9) Works (including, but not limited to, modules and scripts) that
-merely extend or make use of the Package, do not, by themselves, cause
-the Package to be a Modified Version. In addition, such works are not
-considered parts of the Package itself, and are not subject to the
-terms of this license.
-
-
-General Provisions
-
-(10) Any use, modification, and distribution of the Standard or
-Modified Versions is governed by this Artistic License. By using,
-modifying or distributing the Package, you accept this license. Do not
-use, modify, or distribute the Package, if you do not accept this
-license.
-
-(11) If your Modified Version has been derived from a Modified
-Version made by someone other than you, you are nevertheless required
-to ensure that your Modified Version complies with the requirements of
-this license.
-
-(12) This license does not grant you the right to use any trademark,
-service mark, tradename, or logo of the Copyright Holder.
-
-(13) This license includes the non-exclusive, worldwide,
-free-of-charge patent license to make, have made, use, offer to sell,
-sell, import and otherwise transfer the Package with respect to any
-patent claims licensable by the Copyright Holder that are necessarily
-infringed by the Package. If you institute patent litigation
-(including a cross-claim or counterclaim) against any party alleging
-that the Package constitutes direct or contributory patent
-infringement, then this Artistic License to you shall terminate on the
-date that such litigation is filed.
-
-(14) Disclaimer of Warranty:
-THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
-IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED
-WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
-NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL
-LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
---------
diff --git a/node_modules/npm/README.md b/node_modules/npm/README.md
deleted file mode 100644
index cffee24..0000000
--- a/node_modules/npm/README.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# npm - a JavaScript package manager
-
-[![npm version](https://img.shields.io/npm/v/npm.svg)](https://npm.im/npm)
-[![license](https://img.shields.io/npm/l/npm.svg)](https://npm.im/npm)
-[![CI - cli](https://github.com/npm/cli/actions/workflows/ci.yml/badge.svg)](https://github.com/npm/cli/actions/workflows/ci.yml)
-[![Benchmark Suite](https://github.com/npm/cli/actions/workflows/benchmark.yml/badge.svg)](https://github.com/npm/cli/actions/workflows/benchmark.yml)
-
-### Requirements
-
-One of the following versions of [Node.js](https://nodejs.org/en/download/) must be installed to run **`npm`**:
-
-* `18.x.x` >= `18.17.0`
-* `20.5.0` or higher
-
-### Installation
-
-**`npm`** comes bundled with [**`node`**](https://nodejs.org/), & most third-party distributions, by default. Officially supported downloads/distributions can be found at: [nodejs.org/en/download](https://nodejs.org/en/download)
-
-#### Direct Download
-
-You can download & install **`npm`** directly from [**npmjs**.com](https://npmjs.com/) using our custom `install.sh` script:
-
-```bash
-curl -qL https://www.npmjs.com/install.sh | sh
-```
-
-#### Node Version Managers
-
-If you're looking to manage multiple versions of **`Node.js`** &/or **`npm`**, consider using a [node version manager](https://github.com/search?q=node+version+manager+archived%3Afalse&type=repositories&ref=advsearch)
-
-### Usage
-
-```bash
-npm
-```
-
-### Links & Resources
-
-* [**Documentation**](https://docs.npmjs.com/) - Official docs & how-tos for all things **npm**
- * Note: you can also search docs locally with `npm help-search `
-* [**Bug Tracker**](https://github.com/npm/cli/issues) - Search or submit bugs against the CLI
-* [**Roadmap**](https://github.com/orgs/github/projects/4247/views/1?filterQuery=npm) - Track & follow along with our public roadmap
-* [**Feedback**](https://github.com/npm/feedback) - Contribute ideas & discussion around the npm registry, website & CLI
-* [**RFCs**](https://github.com/npm/rfcs) - Contribute ideas & specifications for the API/design of the npm CLI
-* [**Service Status**](https://status.npmjs.org/) - Monitor the current status & see incident reports for the website & registry
-* [**Project Status**](https://npm.github.io/statusboard/) - See the health of all our maintained OSS projects in one view
-* [**Events Calendar**](https://calendar.google.com/calendar/u/0/embed?src=npmjs.com_oonluqt8oftrt0vmgrfbg6q6go@group.calendar.google.com) - Keep track of our Open RFC calls, releases, meetups, conferences & more
-* [**Support**](https://www.npmjs.com/support) - Experiencing problems with the **npm** [website](https://npmjs.com) or [registry](https://registry.npmjs.org)? File a ticket [here](https://www.npmjs.com/support)
-
-### Acknowledgments
-
-* `npm` is configured to use the **npm Public Registry** at [https://registry.npmjs.org](https://registry.npmjs.org) by default; Usage of this registry is subject to **Terms of Use** available at [https://npmjs.com/policies/terms](https://npmjs.com/policies/terms)
-* You can configure `npm` to use any other compatible registry you prefer. You can read more about configuring third-party registries [here](https://docs.npmjs.com/cli/v7/using-npm/registry)
-
-### FAQ on Branding
-
-#### Is it "npm" or "NPM" or "Npm"?
-
-**`npm`** should never be capitalized unless it is being displayed in a location that is customarily all-capitals (ex. titles on `man` pages).
-
-#### Is "npm" an acronym for "Node Package Manager"?
-
-Contrary to popular belief, **`npm`** **is not** in fact an acronym for "Node Package Manager"; It is a recursive bacronymic abbreviation for **"npm is not an acronym"** (if the project was named "ninaa", then it would be an acronym). The precursor to **`npm`** was actually a bash utility named **"pm"**, which was the shortform name of **"pkgmakeinst"** - a bash function that installed various things on various platforms. If **`npm`** were to ever have been considered an acronym, it would be as "node pm" or, potentially "new pm".
diff --git a/node_modules/npm/bin/node-gyp-bin/node-gyp b/node_modules/npm/bin/node-gyp-bin/node-gyp
deleted file mode 100755
index 70efb6f..0000000
--- a/node_modules/npm/bin/node-gyp-bin/node-gyp
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env sh
-if [ "x$npm_config_node_gyp" = "x" ]; then
- node "`dirname "$0"`/../../node_modules/node-gyp/bin/node-gyp.js" "$@"
-else
- "$npm_config_node_gyp" "$@"
-fi
diff --git a/node_modules/npm/bin/node-gyp-bin/node-gyp.cmd b/node_modules/npm/bin/node-gyp-bin/node-gyp.cmd
deleted file mode 100755
index 6816e5b..0000000
--- a/node_modules/npm/bin/node-gyp-bin/node-gyp.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-if not defined npm_config_node_gyp (
- node "%~dp0\..\..\node_modules\node-gyp\bin\node-gyp.js" %*
-) else (
- node "%npm_config_node_gyp%" %*
-)
diff --git a/node_modules/npm/bin/npm b/node_modules/npm/bin/npm
deleted file mode 100755
index 7f210b9..0000000
--- a/node_modules/npm/bin/npm
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env bash
-
-# This is used by the Node.js installer, which expects the cygwin/mingw
-# shell script to already be present in the npm dependency folder.
-
-(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix
-
-basedir=`dirname "$0"`
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ `uname` = 'Linux' ] && type wslpath &>/dev/null ; then
- IS_WSL="true"
-fi
-
-function no_node_dir {
- # if this didn't work, then everything else below will fail
- echo "Could not determine Node.js install directory" >&2
- exit 1
-}
-
-NODE_EXE="$basedir/node.exe"
-if ! [ -x "$NODE_EXE" ]; then
- NODE_EXE="$basedir/node"
-fi
-if ! [ -x "$NODE_EXE" ]; then
- NODE_EXE=node
-fi
-
-# this path is passed to node.exe, so it needs to match whatever
-# kind of paths Node.js thinks it's using, typically win32 paths.
-CLI_BASEDIR="$("$NODE_EXE" -p 'require("path").dirname(process.execPath)' 2> /dev/null)"
-if [ $? -ne 0 ]; then
- # this fails under WSL 1 so add an additional message. we also suppress stderr above
- # because the actual error raised is not helpful. in WSL 1 node.exe cannot handle
- # output redirection properly. See https://github.com/microsoft/WSL/issues/2370
- if [ "$IS_WSL" == "true" ]; then
- echo "WSL 1 is not supported. Please upgrade to WSL 2 or above." >&2
- fi
- no_node_dir
-fi
-NPM_CLI_JS="$CLI_BASEDIR/node_modules/npm/bin/npm-cli.js"
-NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g`
-if [ $? -ne 0 ]; then
- no_node_dir
-fi
-NPM_PREFIX_NPM_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npm-cli.js"
-
-# a path that will fail -f test on any posix bash
-NPM_WSL_PATH="/.."
-
-# WSL can run Windows binaries, so we have to give it the win32 path
-# however, WSL bash tests against posix paths, so we need to construct that
-# to know if npm is installed globally.
-if [ "$IS_WSL" == "true" ]; then
- NPM_WSL_PATH=`wslpath "$NPM_PREFIX_NPM_CLI_JS"`
-fi
-if [ -f "$NPM_PREFIX_NPM_CLI_JS" ] || [ -f "$NPM_WSL_PATH" ]; then
- NPM_CLI_JS="$NPM_PREFIX_NPM_CLI_JS"
-fi
-
-"$NODE_EXE" "$NPM_CLI_JS" "$@"
diff --git a/node_modules/npm/bin/npm-cli.js b/node_modules/npm/bin/npm-cli.js
deleted file mode 100755
index 577abe0..0000000
--- a/node_modules/npm/bin/npm-cli.js
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/bin/env node
-require('../lib/cli.js')(process)
diff --git a/node_modules/npm/bin/npm.cmd b/node_modules/npm/bin/npm.cmd
deleted file mode 100755
index f111c59..0000000
--- a/node_modules/npm/bin/npm.cmd
+++ /dev/null
@@ -1,19 +0,0 @@
-:: Created by npm, please don't edit manually.
-@ECHO OFF
-
-SETLOCAL
-
-SET "NODE_EXE=%~dp0\node.exe"
-IF NOT EXIST "%NODE_EXE%" (
- SET "NODE_EXE=node"
-)
-
-SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
-FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
- SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
-)
-IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
- SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
-)
-
-"%NODE_EXE%" "%NPM_CLI_JS%" %*
diff --git a/node_modules/npm/bin/npm.ps1 b/node_modules/npm/bin/npm.ps1
deleted file mode 100644
index f2f236a..0000000
--- a/node_modules/npm/bin/npm.ps1
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-
-$nodeexe = "node$exe"
-$nodebin = $(Get-Command $nodeexe -ErrorAction SilentlyContinue -ErrorVariable F).Source
-if ($nodebin -eq $null) {
- Write-Host "$nodeexe not found."
- exit 1
-}
-$nodedir = $(New-Object -ComObject Scripting.FileSystemObject).GetFile("$nodebin").ParentFolder.Path
-
-$npmclijs="$nodedir/node_modules/npm/bin/npm-cli.js"
-$npmprefix=(& $nodeexe $npmclijs prefix -g)
-if ($LASTEXITCODE -ne 0) {
- Write-Host "Could not determine Node.js install directory"
- exit 1
-}
-$npmprefixclijs="$npmprefix/node_modules/npm/bin/npm-cli.js"
-
-# Support pipeline input
-if ($MyInvocation.ExpectingInput) {
- $input | & $nodeexe $npmprefixclijs $args
-} else {
- & $nodeexe $npmprefixclijs $args
-}
-$ret=$LASTEXITCODE
-exit $ret
diff --git a/node_modules/npm/bin/npx b/node_modules/npm/bin/npx
deleted file mode 100755
index 719ff8e..0000000
--- a/node_modules/npm/bin/npx
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env bash
-
-# This is used by the Node.js installer, which expects the cygwin/mingw
-# shell script to already be present in the npm dependency folder.
-
-(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix
-
-basedir=`dirname "$0"`
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ `uname` = 'Linux' ] && type wslpath &>/dev/null ; then
- IS_WSL="true"
-fi
-
-function no_node_dir {
- # if this didn't work, then everything else below will fail
- echo "Could not determine Node.js install directory" >&2
- exit 1
-}
-
-NODE_EXE="$basedir/node.exe"
-if ! [ -x "$NODE_EXE" ]; then
- NODE_EXE="$basedir/node"
-fi
-if ! [ -x "$NODE_EXE" ]; then
- NODE_EXE=node
-fi
-
-# this path is passed to node.exe, so it needs to match whatever
-# kind of paths Node.js thinks it's using, typically win32 paths.
-CLI_BASEDIR="$("$NODE_EXE" -p 'require("path").dirname(process.execPath)' 2> /dev/null)"
-if [ $? -ne 0 ]; then
- # this fails under WSL 1 so add an additional message. we also suppress stderr above
- # because the actual error raised is not helpful. in WSL 1 node.exe cannot handle
- # output redirection properly. See https://github.com/microsoft/WSL/issues/2370
- if [ "$IS_WSL" == "true" ]; then
- echo "WSL 1 is not supported. Please upgrade to WSL 2 or above." >&2
- fi
- no_node_dir
-fi
-NPM_CLI_JS="$CLI_BASEDIR/node_modules/npm/bin/npm-cli.js"
-NPX_CLI_JS="$CLI_BASEDIR/node_modules/npm/bin/npx-cli.js"
-NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g`
-if [ $? -ne 0 ]; then
- no_node_dir
-fi
-NPM_PREFIX_NPX_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npx-cli.js"
-
-# a path that will fail -f test on any posix bash
-NPX_WSL_PATH="/.."
-
-# WSL can run Windows binaries, so we have to give it the win32 path
-# however, WSL bash tests against posix paths, so we need to construct that
-# to know if npm is installed globally.
-if [ "$IS_WSL" == "true" ]; then
- NPX_WSL_PATH=`wslpath "$NPM_PREFIX_NPX_CLI_JS"`
-fi
-if [ -f "$NPM_PREFIX_NPX_CLI_JS" ] || [ -f "$NPX_WSL_PATH" ]; then
- NPX_CLI_JS="$NPM_PREFIX_NPX_CLI_JS"
-fi
-
-"$NODE_EXE" "$NPX_CLI_JS" "$@"
diff --git a/node_modules/npm/bin/npx-cli.js b/node_modules/npm/bin/npx-cli.js
deleted file mode 100755
index 17d96fb..0000000
--- a/node_modules/npm/bin/npx-cli.js
+++ /dev/null
@@ -1,130 +0,0 @@
-#!/usr/bin/env node
-
-const cli = require('../lib/cli.js')
-
-// run the resulting command as `npm exec ...args`
-process.argv[1] = require.resolve('./npm-cli.js')
-process.argv.splice(2, 0, 'exec')
-
-// TODO: remove the affordances for removed items in npm v9
-const removedSwitches = new Set([
- 'always-spawn',
- 'ignore-existing',
- 'shell-auto-fallback',
-])
-
-const removedOpts = new Set([
- 'npm',
- 'node-arg',
- 'n',
-])
-
-const removed = new Set([
- ...removedSwitches,
- ...removedOpts,
-])
-
-const { definitions, shorthands } = require('@npmcli/config/lib/definitions')
-const npmSwitches = Object.entries(definitions)
- .filter(([key, { type }]) => type === Boolean ||
- (Array.isArray(type) && type.includes(Boolean)))
- .map(([key]) => key)
-
-// things that don't take a value
-const switches = new Set([
- ...removedSwitches,
- ...npmSwitches,
- 'no-install',
- 'quiet',
- 'q',
- 'version',
- 'v',
- 'help',
- 'h',
-])
-
-// things that do take a value
-const opts = new Set([
- ...removedOpts,
- 'package',
- 'p',
- 'cache',
- 'userconfig',
- 'call',
- 'c',
- 'shell',
- 'npm',
- 'node-arg',
- 'n',
-])
-
-// break out of loop when we find a positional argument or --
-// If we find a positional arg, we shove -- in front of it, and
-// let the normal npm cli handle the rest.
-let i
-let sawRemovedFlags = false
-for (i = 3; i < process.argv.length; i++) {
- const arg = process.argv[i]
- if (arg === '--') {
- break
- } else if (/^-/.test(arg)) {
- const [key, ...v] = arg.replace(/^-+/, '').split('=')
-
- switch (key) {
- case 'p':
- process.argv[i] = ['--package', ...v].join('=')
- break
-
- case 'shell':
- process.argv[i] = ['--script-shell', ...v].join('=')
- break
-
- case 'no-install':
- process.argv[i] = '--yes=false'
- break
-
- default:
- // resolve shorthands and run again
- if (shorthands[key] && !removed.has(key)) {
- const a = [...shorthands[key]]
- if (v.length) {
- a.push(v.join('='))
- }
- process.argv.splice(i, 1, ...a)
- i--
- continue
- }
- break
- }
-
- if (removed.has(key)) {
- // eslint-disable-next-line no-console
- console.error(`npx: the --${key} argument has been removed.`)
- sawRemovedFlags = true
- process.argv.splice(i, 1)
- i--
- }
-
- if (v.length === 0 && !switches.has(key) &&
- (opts.has(key) || !/^-/.test(process.argv[i + 1]))) {
- // value will be next argument, skip over it.
- if (removed.has(key)) {
- // also remove the value for the cut key.
- process.argv.splice(i + 1, 1)
- } else {
- i++
- }
- }
- } else {
- // found a positional arg, put -- in front of it, and we're done
- process.argv.splice(i, 0, '--')
- break
- }
-}
-
-if (sawRemovedFlags) {
- // eslint-disable-next-line no-console
- console.error('See `npm help exec` for more information')
-}
-
-cli(process)
diff --git a/node_modules/npm/bin/npx.cmd b/node_modules/npm/bin/npx.cmd
deleted file mode 100755
index b79518e..0000000
--- a/node_modules/npm/bin/npx.cmd
+++ /dev/null
@@ -1,20 +0,0 @@
-:: Created by npm, please don't edit manually.
-@ECHO OFF
-
-SETLOCAL
-
-SET "NODE_EXE=%~dp0\node.exe"
-IF NOT EXIST "%NODE_EXE%" (
- SET "NODE_EXE=node"
-)
-
-SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
-SET "NPX_CLI_JS=%~dp0\node_modules\npm\bin\npx-cli.js"
-FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
- SET "NPM_PREFIX_NPX_CLI_JS=%%F\node_modules\npm\bin\npx-cli.js"
-)
-IF EXIST "%NPM_PREFIX_NPX_CLI_JS%" (
- SET "NPX_CLI_JS=%NPM_PREFIX_NPX_CLI_JS%"
-)
-
-"%NODE_EXE%" "%NPX_CLI_JS%" %*
diff --git a/node_modules/npm/bin/npx.ps1 b/node_modules/npm/bin/npx.ps1
deleted file mode 100644
index 437e2a7..0000000
--- a/node_modules/npm/bin/npx.ps1
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-
-$nodeexe = "node$exe"
-$nodebin = $(Get-Command $nodeexe -ErrorAction SilentlyContinue -ErrorVariable F).Source
-if ($nodebin -eq $null) {
- Write-Host "$nodeexe not found."
- exit 1
-}
-$nodedir = $(New-Object -ComObject Scripting.FileSystemObject).GetFile("$nodebin").ParentFolder.Path
-
-$npmclijs="$nodedir/node_modules/npm/bin/npm-cli.js"
-$npmprefix=(& $nodeexe $npmclijs prefix -g)
-if ($LASTEXITCODE -ne 0) {
- Write-Host "Could not determine Node.js install directory"
- exit 1
-}
-$npmprefixclijs="$npmprefix/node_modules/npm/bin/npx-cli.js"
-
-# Support pipeline input
-if ($MyInvocation.ExpectingInput) {
- $input | & $nodeexe $npmprefixclijs $args
-} else {
- & $nodeexe $npmprefixclijs $args
-}
-$ret=$LASTEXITCODE
-exit $ret
diff --git a/node_modules/npm/docs/content/commands/npm-access.md b/node_modules/npm/docs/content/commands/npm-access.md
deleted file mode 100644
index 9e9f385..0000000
--- a/node_modules/npm/docs/content/commands/npm-access.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-title: npm-access
-section: 1
-description: Set access level on published packages
----
-
-### Synopsis
-
-```bash
-npm access list packages [|| []
-npm access list collaborators [ []]
-npm access get status []
-npm access set status=public|private []
-npm access set mfa=none|publish|automation []
-npm access grant []
-npm access revoke []
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-Used to set access controls on private packages.
-
-For all of the subcommands, `npm access` will perform actions on the packages
-in the current working directory if no package name is passed to the
-subcommand.
-
-* public / restricted (deprecated):
- Set a package to be either publicly accessible or restricted.
-
-* grant / revoke (deprecated):
- Add or remove the ability of users and teams to have read-only or read-write
- access to a package.
-
-* 2fa-required / 2fa-not-required (deprecated):
- Configure whether a package requires that anyone publishing it have two-factor
- authentication enabled on their account.
-
-* ls-packages (deprecated):
- Show all of the packages a user or a team is able to access, along with the
- access level, except for read-only public packages (it won't print the whole
- registry listing)
-
-* ls-collaborators (deprecated):
- Show all of the access privileges for a package. Will only show permissions
- for packages to which you have at least read access. If `` is passed in,
- the list is filtered only to teams _that_ user happens to belong to.
-
-* edit (not implemented)
-
-### Details
-
-`npm access` always operates directly on the current registry, configurable
-from the command line using `--registry=`.
-
-Unscoped packages are *always public*.
-
-Scoped packages *default to restricted*, but you can either publish them as
-public using `npm publish --access=public`, or set their access as public using
-`npm access public` after the initial publish.
-
-You must have privileges to set the access of a package:
-
-* You are an owner of an unscoped or scoped package.
-* You are a member of the team that owns a scope.
-* You have been given read-write privileges for a package, either as a member
- of a team or directly as an owner.
-
-If you have two-factor authentication enabled then you'll be prompted to provide a second factor, or may use the `--otp=...` option to specify it on
-the command line.
-
-If your account is not paid, then attempts to publish scoped packages will
-fail with an HTTP 402 status code (logically enough), unless you use
-`--access=public`.
-
-Management of teams and team memberships is done with the `npm team` command.
-
-### Configuration
-
-#### `json`
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
-
-Not supported by all npm commands.
-
-
-
-#### `otp`
-
-* Default: null
-* Type: null or String
-
-This is a one-time password from a two-factor authenticator. It's needed
-when publishing or changing package permissions with `npm access`.
-
-If not set, and a registry response fails with a challenge for a one-time
-password, npm will prompt on the command line for one.
-
-
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-### See Also
-
-* [`libnpmaccess`](https://npm.im/libnpmaccess)
-* [npm team](/commands/npm-team)
-* [npm publish](/commands/npm-publish)
-* [npm config](/commands/npm-config)
-* [npm registry](/using-npm/registry)
diff --git a/node_modules/npm/docs/content/commands/npm-adduser.md b/node_modules/npm/docs/content/commands/npm-adduser.md
deleted file mode 100644
index e19b3e3..0000000
--- a/node_modules/npm/docs/content/commands/npm-adduser.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title: npm-adduser
-section: 1
-description: Add a registry user account
----
-
-### Synopsis
-
-```bash
-npm adduser
-
-alias: add-user
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-Create a new user in the specified registry, and save the credentials to
-the `.npmrc` file. If no registry is specified, the default registry
-will be used (see [`registry`](/using-npm/registry)).
-
-When using `legacy` for your `auth-type`, the username, password, and
-email are read in from prompts.
-
-### Configuration
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-#### `scope`
-
-* Default: the scope of the current project, if any, or ""
-* Type: String
-
-Associate an operation with a scope for a scoped registry.
-
-Useful when logging in to or out of a private registry:
-
-```
-# log in, linking the scope to the custom registry
-npm login --scope=@mycorp --registry=https://registry.mycorp.com
-
-# log out, removing the link and the auth token
-npm logout --scope=@mycorp
-```
-
-This will cause `@mycorp` to be mapped to the registry for future
-installation of packages specified according to the pattern
-`@mycorp/package`.
-
-This will also cause `npm init` to create a scoped package.
-
-```
-# accept all defaults, and create a package named "@foo/whatever",
-# instead of just named "whatever"
-npm init --scope=@foo --yes
-```
-
-
-
-#### `auth-type`
-
-* Default: "web"
-* Type: "legacy" or "web"
-
-What authentication strategy to use with `login`. Note that if an `otp`
-config is given, this value will always be set to `legacy`.
-
-
-
-### See Also
-
-* [npm registry](/using-npm/registry)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
-* [npm owner](/commands/npm-owner)
-* [npm whoami](/commands/npm-whoami)
-* [npm token](/commands/npm-token)
-* [npm profile](/commands/npm-profile)
diff --git a/node_modules/npm/docs/content/commands/npm-audit.md b/node_modules/npm/docs/content/commands/npm-audit.md
deleted file mode 100644
index 9b98734..0000000
--- a/node_modules/npm/docs/content/commands/npm-audit.md
+++ /dev/null
@@ -1,470 +0,0 @@
----
-title: npm-audit
-section: 1
-description: Run a security audit
----
-
-### Synopsis
-
-```bash
-npm audit [fix|signatures]
-```
-
-### Description
-
-The audit command submits a description of the dependencies configured in
-your project to your default registry and asks for a report of known
-vulnerabilities. If any vulnerabilities are found, then the impact and
-appropriate remediation will be calculated. If the `fix` argument is
-provided, then remediations will be applied to the package tree.
-
-The command will exit with a 0 exit code if no vulnerabilities were found.
-
-Note that some vulnerabilities cannot be fixed automatically and will
-require manual intervention or review. Also note that since `npm audit
-fix` runs a full-fledged `npm install` under the hood, all configs that
-apply to the installer will also apply to `npm install` -- so things like
-`npm audit fix --package-lock-only` will work as expected.
-
-By default, the audit command will exit with a non-zero code if any
-vulnerability is found. It may be useful in CI environments to include the
-`--audit-level` parameter to specify the minimum vulnerability level that
-will cause the command to fail. This option does not filter the report
-output, it simply changes the command's failure threshold.
-
-### Package lock
-
-By default npm requires a package-lock or shrinkwrap in order to run the
-audit. You can bypass the package lock with `--no-package-lock` but be
-aware the results may be different with every run, since npm will
-re-build the dependency tree each time.
-
-### Audit Signatures
-
-To ensure the integrity of packages you download from the public npm registry, or any registry that supports signatures, you can verify the registry signatures of downloaded packages using the npm CLI.
-
-Registry signatures can be verified using the following `audit` command:
-
-```bash
-$ npm audit signatures
-```
-
-The npm CLI supports registry signatures and signing keys provided by any registry if the following conventions are followed:
-
-1. Signatures are provided in the package's `packument` in each published version within the `dist` object:
-
-```json
-"dist":{
- "..omitted..": "..omitted..",
- "signatures": [{
- "keyid": "SHA256:{{SHA256_PUBLIC_KEY}}",
- "sig": "a312b9c3cb4a1b693e8ebac5ee1ca9cc01f2661c14391917dcb111517f72370809..."
- }]
-}
-```
-
-See this [example](https://registry.npmjs.org/light-cycle/1.4.3) of a signed package from the public npm registry.
-
-The `sig` is generated using the following template: `${package.name}@${package.version}:${package.dist.integrity}` and the `keyid` has to match one of the public signing keys below.
-
-2. Public signing keys are provided at `registry-host.tld/-/npm/v1/keys` in the following format:
-
-```
-{
- "keys": [{
- "expires": null,
- "keyid": "SHA256:{{SHA256_PUBLIC_KEY}}",
- "keytype": "ecdsa-sha2-nistp256",
- "scheme": "ecdsa-sha2-nistp256",
- "key": "{{B64_PUBLIC_KEY}}"
- }]
-}
-```
-
-Keys response:
-
-- `expires`: null or a simplified extended [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601"): `YYYY-MM-DDTHH:mm:ss.sssZ`
-- `keydid`: sha256 fingerprint of the public key
-- `keytype`: only `ecdsa-sha2-nistp256` is currently supported by the npm CLI
-- `scheme`: only `ecdsa-sha2-nistp256` is currently supported by the npm CLI
-- `key`: base64 encoded public key
-
-See this [example key's response from the public npm registry](https://registry.npmjs.org/-/npm/v1/keys").
-
-### Audit Endpoints
-
-There are two audit endpoints that npm may use to fetch vulnerability
-information: the `Bulk Advisory` endpoint and the `Quick Audit` endpoint.
-
-#### Bulk Advisory Endpoint
-
-As of version 7, npm uses the much faster `Bulk Advisory` endpoint to
-optimize the speed of calculating audit results.
-
-npm will generate a JSON payload with the name and list of versions of each
-package in the tree, and POST it to the default configured registry at
-the path `/-/npm/v1/security/advisories/bulk`.
-
-Any packages in the tree that do not have a `version` field in their
-package.json file will be ignored. If any `--omit` options are specified
-(either via the [`--omit` config](/using-npm/config#omit), or one of the
-shorthands such as `--production`, `--only=dev`, and so on), then packages will
-be omitted from the submitted payload as appropriate.
-
-If the registry responds with an error, or with an invalid response, then
-npm will attempt to load advisory data from the `Quick Audit` endpoint.
-
-The expected result will contain a set of advisory objects for each
-dependency that matches the advisory range. Each advisory object contains
-a `name`, `url`, `id`, `severity`, `vulnerable_versions`, and `title`.
-
-npm then uses these advisory objects to calculate vulnerabilities and
-meta-vulnerabilities of the dependencies within the tree.
-
-#### Quick Audit Endpoint
-
-If the `Bulk Advisory` endpoint returns an error, or invalid data, npm will
-attempt to load advisory data from the `Quick Audit` endpoint, which is
-considerably slower in most cases.
-
-The full package tree as found in `package-lock.json` is submitted, along
-with the following pieces of additional metadata:
-
-* `npm_version`
-* `node_version`
-* `platform`
-* `arch`
-* `node_env`
-
-All packages in the tree are submitted to the Quick Audit endpoint.
-Omitted dependency types are skipped when generating the report.
-
-#### Scrubbing
-
-Out of an abundance of caution, npm versions 5 and 6 would "scrub" any
-packages from the submitted report if their name contained a `/` character,
-so as to avoid leaking the names of potentially private packages or git
-URLs.
-
-However, in practice, this resulted in audits often failing to properly
-detect meta-vulnerabilities, because the tree would appear to be invalid
-due to missing dependencies, and prevented the detection of vulnerabilities
-in package trees that used git dependencies or private modules.
-
-This scrubbing has been removed from npm as of version 7.
-
-#### Calculating Meta-Vulnerabilities and Remediations
-
-npm uses the
-[`@npmcli/metavuln-calculator`](http://npm.im/@npmcli/metavuln-calculator)
-module to turn a set of security advisories into a set of "vulnerability"
-objects. A "meta-vulnerability" is a dependency that is vulnerable by
-virtue of dependence on vulnerable versions of a vulnerable package.
-
-For example, if the package `foo` is vulnerable in the range `>=1.0.2
-<2.0.0`, and the package `bar` depends on `foo@^1.1.0`, then that version
-of `bar` can only be installed by installing a vulnerable version of `foo`.
-In this case, `bar` is a "metavulnerability".
-
-Once metavulnerabilities for a given package are calculated, they are
-cached in the `~/.npm` folder and only re-evaluated if the advisory range
-changes, or a new version of the package is published (in which case, the
-new version is checked for metavulnerable status as well).
-
-If the chain of metavulnerabilities extends all the way to the root
-project, and it cannot be updated without changing its dependency ranges,
-then `npm audit fix` will require the `--force` option to apply the
-remediation. If remediations do not require changes to the dependency
-ranges, then all vulnerable packages will be updated to a version that does
-not have an advisory or metavulnerability posted against it.
-
-### Exit Code
-
-The `npm audit` command will exit with a 0 exit code if no vulnerabilities
-were found. The `npm audit fix` command will exit with 0 exit code if no
-vulnerabilities are found _or_ if the remediation is able to successfully
-fix all vulnerabilities.
-
-If vulnerabilities were found the exit code will depend on the
-[`audit-level` config](/using-npm/config#audit-level).
-
-### Examples
-
-Scan your project for vulnerabilities and automatically install any compatible
-updates to vulnerable dependencies:
-
-```bash
-$ npm audit fix
-```
-
-Run `audit fix` without modifying `node_modules`, but still updating the
-pkglock:
-
-```bash
-$ npm audit fix --package-lock-only
-```
-
-Skip updating `devDependencies`:
-
-```bash
-$ npm audit fix --only=prod
-```
-
-Have `audit fix` install SemVer-major updates to toplevel dependencies, not
-just SemVer-compatible ones:
-
-```bash
-$ npm audit fix --force
-```
-
-Do a dry run to get an idea of what `audit fix` will do, and _also_ output
-install information in JSON format:
-
-```bash
-$ npm audit fix --dry-run --json
-```
-
-Scan your project for vulnerabilities and just show the details, without
-fixing anything:
-
-```bash
-$ npm audit
-```
-
-Get the detailed audit report in JSON format:
-
-```bash
-$ npm audit --json
-```
-
-Fail an audit only if the results include a vulnerability with a level of moderate or higher:
-
-```bash
-$ npm audit --audit-level=moderate
-```
-
-### Configuration
-
-#### `audit-level`
-
-* Default: null
-* Type: null, "info", "low", "moderate", "high", "critical", or "none"
-
-The minimum level of vulnerability for `npm audit` to exit with a non-zero
-exit code.
-
-
-
-#### `dry-run`
-
-* Default: false
-* Type: Boolean
-
-Indicates that you don't want npm to make any changes and that it should
-only report what it would have done. This can be passed into any of the
-commands that modify your local installation, eg, `install`, `update`,
-`dedupe`, `uninstall`, as well as `pack` and `publish`.
-
-Note: This is NOT honored by other network related commands, eg `dist-tags`,
-`owner`, etc.
-
-
-
-#### `force`
-
-* Default: false
-* Type: Boolean
-
-Removes various protections against unfortunate side effects, common
-mistakes, unnecessary performance degradation, and malicious input.
-
-* Allow clobbering non-npm files in global installs.
-* Allow the `npm version` command to work on an unclean git repository.
-* Allow deleting the cache folder with `npm cache clean`.
-* Allow installing packages that have an `engines` declaration requiring a
- different version of npm.
-* Allow installing packages that have an `engines` declaration requiring a
- different version of `node`, even if `--engine-strict` is enabled.
-* Allow `npm audit fix` to install modules outside your stated dependency
- range (including SemVer-major changes).
-* Allow unpublishing all versions of a published package.
-* Allow conflicting peerDependencies to be installed in the root project.
-* Implicitly set `--yes` during `npm init`.
-* Allow clobbering existing values in `npm pkg`
-* Allow unpublishing of entire packages (not just a single version).
-
-If you don't have a clear idea of what you want to do, it is strongly
-recommended that you do not use this option!
-
-
-
-#### `json`
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
-
-Not supported by all npm commands.
-
-
-
-#### `package-lock-only`
-
-* Default: false
-* Type: Boolean
-
-If set to true, the current operation will only use the `package-lock.json`,
-ignoring `node_modules`.
-
-For `update` this means only the `package-lock.json` will be updated,
-instead of checking `node_modules` and downloading dependencies.
-
-For `list` this means the output will be based on the tree described by the
-`package-lock.json`, rather than the contents of `node_modules`.
-
-
-
-#### `package-lock`
-
-* Default: true
-* Type: Boolean
-
-If set to false, then ignore `package-lock.json` files when installing. This
-will also prevent _writing_ `package-lock.json` if `save` is true.
-
-
-
-#### `omit`
-
-* Default: 'dev' if the `NODE_ENV` environment variable is set to
- 'production', otherwise empty.
-* Type: "dev", "optional", or "peer" (can be set multiple times)
-
-Dependency types to omit from the installation tree on disk.
-
-Note that these dependencies _are_ still resolved and added to the
-`package-lock.json` or `npm-shrinkwrap.json` file. They are just not
-physically installed on disk.
-
-If a package type appears in both the `--include` and `--omit` lists, then
-it will be included.
-
-If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment
-variable will be set to `'production'` for all lifecycle scripts.
-
-
-
-#### `include`
-
-* Default:
-* Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-
-Option that allows for defining which types of dependencies to install.
-
-This is the inverse of `--omit=`.
-
-Dependency types specified in `--include` will not be omitted, regardless of
-the order in which omit/include are specified on the command-line.
-
-
-
-#### `foreground-scripts`
-
-* Default: false
-* Type: Boolean
-
-Run all build scripts (ie, `preinstall`, `install`, and `postinstall`)
-scripts for installed packages in the foreground process, sharing standard
-input, output, and error with the main npm process.
-
-Note that this will generally make installs run slower, and be much noisier,
-but can be useful for debugging.
-
-
-
-#### `ignore-scripts`
-
-* Default: false
-* Type: Boolean
-
-If true, npm does not run scripts specified in package.json files.
-
-Note that commands explicitly intended to run a particular script, such as
-`npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script`
-will still run their intended script if `ignore-scripts` is set, but they
-will *not* run any pre- or post-scripts.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-#### `install-links`
-
-* Default: false
-* Type: Boolean
-
-When set file: protocol dependencies will be packed and installed as regular
-dependencies instead of creating a symlink. This option has no effect on
-workspaces.
-
-
-
-### See Also
-
-* [npm install](/commands/npm-install)
-* [config](/using-npm/config)
diff --git a/node_modules/npm/docs/content/commands/npm-bugs.md b/node_modules/npm/docs/content/commands/npm-bugs.md
deleted file mode 100644
index 4fb660a..0000000
--- a/node_modules/npm/docs/content/commands/npm-bugs.md
+++ /dev/null
@@ -1,109 +0,0 @@
----
-title: npm-bugs
-section: 1
-description: Report bugs for a package in a web browser
----
-
-### Synopsis
-
-```bash
-npm bugs [ [ ...]]
-
-alias: issues
-```
-
-### Description
-
-This command tries to guess at the likely location of a package's bug
-tracker URL or the `mailto` URL of the support email, and then tries to
-open it using the [`--browser` config](/using-npm/config#browser) param. If no
-package name is provided, it will search for a `package.json` in the current
-folder and use the `name` property.
-
-### Configuration
-
-#### `browser`
-
-* Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
-* Type: null, Boolean, or String
-
-The browser that is called by npm commands to open websites.
-
-Set to `false` to suppress browser behavior and instead print urls to
-terminal.
-
-Set to `true` to use default system URL opener.
-
-
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-### See Also
-
-* [npm docs](/commands/npm-docs)
-* [npm view](/commands/npm-view)
-* [npm publish](/commands/npm-publish)
-* [npm registry](/using-npm/registry)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
-* [package.json](/configuring-npm/package-json)
diff --git a/node_modules/npm/docs/content/commands/npm-cache.md b/node_modules/npm/docs/content/commands/npm-cache.md
deleted file mode 100644
index 1697be9..0000000
--- a/node_modules/npm/docs/content/commands/npm-cache.md
+++ /dev/null
@@ -1,94 +0,0 @@
----
-title: npm-cache
-section: 1
-description: Manipulates packages cache
----
-
-### Synopsis
-
-```bash
-npm cache add
-npm cache clean []
-npm cache ls [@]
-npm cache verify
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-Used to add, list, or clean the npm cache folder.
-
-* add:
- Add the specified packages to the local cache. This command is primarily
- intended to be used internally by npm, but it can provide a way to
- add data to the local installation cache explicitly.
-
-* clean:
- Delete all data out of the cache folder. Note that this is typically
- unnecessary, as npm's cache is self-healing and resistant to data
- corruption issues.
-
-* verify:
- Verify the contents of the cache folder, garbage collecting any unneeded
- data, and verifying the integrity of the cache index and all cached data.
-
-### Details
-
-npm stores cache data in an opaque directory within the configured `cache`,
-named `_cacache`. This directory is a
-[`cacache`](http://npm.im/cacache)-based content-addressable cache that
-stores all http request data as well as other package-related data. This
-directory is primarily accessed through `pacote`, the library responsible
-for all package fetching as of npm@5.
-
-All data that passes through the cache is fully verified for integrity on
-both insertion and extraction. Cache corruption will either trigger an
-error, or signal to `pacote` that the data must be refetched, which it will
-do automatically. For this reason, it should never be necessary to clear
-the cache for any reason other than reclaiming disk space, thus why `clean`
-now requires `--force` to run.
-
-There is currently no method exposed through npm to inspect or directly
-manage the contents of this cache. In order to access it, `cacache` must be
-used directly.
-
-npm will not remove data by itself: the cache will grow as new packages are
-installed.
-
-### A note about the cache's design
-
-The npm cache is strictly a cache: it should not be relied upon as a
-persistent and reliable data store for package data. npm makes no guarantee
-that a previously-cached piece of data will be available later, and will
-automatically delete corrupted contents. The primary guarantee that the
-cache makes is that, if it does return data, that data will be exactly the
-data that was inserted.
-
-To run an offline verification of existing cache contents, use `npm cache
-verify`.
-
-### Configuration
-
-#### `cache`
-
-* Default: Windows: `%LocalAppData%\npm-cache`, Posix: `~/.npm`
-* Type: Path
-
-The location of npm's cache directory.
-
-
-
-### See Also
-
-* [package spec](/using-npm/package-spec)
-* [npm folders](/configuring-npm/folders)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
-* [npm install](/commands/npm-install)
-* [npm publish](/commands/npm-publish)
-* [npm pack](/commands/npm-pack)
-* https://npm.im/cacache
-* https://npm.im/pacote
-* https://npm.im/@npmcli/arborist
-* https://npm.im/make-fetch-happen
diff --git a/node_modules/npm/docs/content/commands/npm-ci.md b/node_modules/npm/docs/content/commands/npm-ci.md
deleted file mode 100644
index 57f6555..0000000
--- a/node_modules/npm/docs/content/commands/npm-ci.md
+++ /dev/null
@@ -1,317 +0,0 @@
----
-title: npm-ci
-section: 1
-description: Clean install a project
----
-
-### Synopsis
-
-```bash
-npm ci
-
-aliases: clean-install, ic, install-clean, isntall-clean
-```
-
-### Description
-
-This command is similar to [`npm install`](/commands/npm-install), except
-it's meant to be used in automated environments such as test platforms,
-continuous integration, and deployment -- or any situation where you want
-to make sure you're doing a clean install of your dependencies.
-
-The main differences between using `npm install` and `npm ci` are:
-
-* The project **must** have an existing `package-lock.json` or
- `npm-shrinkwrap.json`.
-* If dependencies in the package lock do not match those in `package.json`,
- `npm ci` will exit with an error, instead of updating the package lock.
-* `npm ci` can only install entire projects at a time: individual
- dependencies cannot be added with this command.
-* If a `node_modules` is already present, it will be automatically removed
- before `npm ci` begins its install.
-* It will never write to `package.json` or any of the package-locks:
- installs are essentially frozen.
-
-NOTE: If you create your `package-lock.json` file by running `npm install`
-with flags that can affect the shape of your dependency tree, such as
-`--legacy-peer-deps` or `--install-links`, you _must_ provide the same
-flags to `npm ci` or you are likely to encounter errors. An easy way to do
-this is to run, for example,
-`npm config set legacy-peer-deps=true --location=project` and commit the
-`.npmrc` file to your repo.
-
-### Example
-
-Make sure you have a package-lock and an up-to-date install:
-
-```bash
-$ cd ./my/npm/project
-$ npm install
-added 154 packages in 10s
-$ ls | grep package-lock
-```
-
-Run `npm ci` in that project
-
-```bash
-$ npm ci
-added 154 packages in 5s
-```
-
-Configure Travis CI to build using `npm ci` instead of `npm install`:
-
-```bash
-# .travis.yml
-install:
-- npm ci
-# keep the npm cache around to speed up installs
-cache:
- directories:
- - "$HOME/.npm"
-```
-
-### Configuration
-
-#### `install-strategy`
-
-* Default: "hoisted"
-* Type: "hoisted", "nested", "shallow", or "linked"
-
-Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as necessary
-within directory structure. nested: (formerly --legacy-bundling) install in
-place, no hoisting. shallow (formerly --global-style) only install direct
-deps at top-level. linked: (experimental) install in node_modules/.store,
-link in place, unhoisted.
-
-
-
-#### `legacy-bundling`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=nested`
-
-Instead of hoisting package installs in `node_modules`, install packages in
-the same manner that they are depended on. This may cause very deep
-directory structures and duplicate package installs as there is no
-de-duplicating. Sets `--install-strategy=nested`.
-
-
-
-#### `global-style`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=shallow`
-
-Only install direct dependencies in the top level `node_modules`, but hoist
-on deeper dependencies. Sets `--install-strategy=shallow`.
-
-
-
-#### `omit`
-
-* Default: 'dev' if the `NODE_ENV` environment variable is set to
- 'production', otherwise empty.
-* Type: "dev", "optional", or "peer" (can be set multiple times)
-
-Dependency types to omit from the installation tree on disk.
-
-Note that these dependencies _are_ still resolved and added to the
-`package-lock.json` or `npm-shrinkwrap.json` file. They are just not
-physically installed on disk.
-
-If a package type appears in both the `--include` and `--omit` lists, then
-it will be included.
-
-If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment
-variable will be set to `'production'` for all lifecycle scripts.
-
-
-
-#### `include`
-
-* Default:
-* Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-
-Option that allows for defining which types of dependencies to install.
-
-This is the inverse of `--omit=`.
-
-Dependency types specified in `--include` will not be omitted, regardless of
-the order in which omit/include are specified on the command-line.
-
-
-
-#### `strict-peer-deps`
-
-* Default: false
-* Type: Boolean
-
-If set to `true`, and `--legacy-peer-deps` is not set, then _any_
-conflicting `peerDependencies` will be treated as an install failure, even
-if npm could reasonably guess the appropriate resolution based on non-peer
-dependency relationships.
-
-By default, conflicting `peerDependencies` deep in the dependency graph will
-be resolved using the nearest non-peer dependency specification, even if
-doing so will result in some packages receiving a peer dependency outside
-the range set in their package's `peerDependencies` object.
-
-When such an override is performed, a warning is printed, explaining the
-conflict and the packages involved. If `--strict-peer-deps` is set, then
-this warning is treated as a failure.
-
-
-
-#### `foreground-scripts`
-
-* Default: false
-* Type: Boolean
-
-Run all build scripts (ie, `preinstall`, `install`, and `postinstall`)
-scripts for installed packages in the foreground process, sharing standard
-input, output, and error with the main npm process.
-
-Note that this will generally make installs run slower, and be much noisier,
-but can be useful for debugging.
-
-
-
-#### `ignore-scripts`
-
-* Default: false
-* Type: Boolean
-
-If true, npm does not run scripts specified in package.json files.
-
-Note that commands explicitly intended to run a particular script, such as
-`npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script`
-will still run their intended script if `ignore-scripts` is set, but they
-will *not* run any pre- or post-scripts.
-
-
-
-#### `audit`
-
-* Default: true
-* Type: Boolean
-
-When "true" submit audit reports alongside the current npm command to the
-default registry and all registries configured for scopes. See the
-documentation for [`npm audit`](/commands/npm-audit) for details on what is
-submitted.
-
-
-
-#### `bin-links`
-
-* Default: true
-* Type: Boolean
-
-Tells npm to create symlinks (or `.cmd` shims on Windows) for package
-executables.
-
-Set to false to have it not do this. This can be used to work around the
-fact that some file systems don't support symlinks, even on ostensibly Unix
-systems.
-
-
-
-#### `fund`
-
-* Default: true
-* Type: Boolean
-
-When "true" displays the message at the end of each `npm install`
-acknowledging the number of dependencies looking for funding. See [`npm
-fund`](/commands/npm-fund) for details.
-
-
-
-#### `dry-run`
-
-* Default: false
-* Type: Boolean
-
-Indicates that you don't want npm to make any changes and that it should
-only report what it would have done. This can be passed into any of the
-commands that modify your local installation, eg, `install`, `update`,
-`dedupe`, `uninstall`, as well as `pack` and `publish`.
-
-Note: This is NOT honored by other network related commands, eg `dist-tags`,
-`owner`, etc.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-#### `install-links`
-
-* Default: false
-* Type: Boolean
-
-When set file: protocol dependencies will be packed and installed as regular
-dependencies instead of creating a symlink. This option has no effect on
-workspaces.
-
-
-
-### See Also
-
-* [npm install](/commands/npm-install)
-* [package-lock.json](/configuring-npm/package-lock-json)
diff --git a/node_modules/npm/docs/content/commands/npm-completion.md b/node_modules/npm/docs/content/commands/npm-completion.md
deleted file mode 100644
index 8cbc713..0000000
--- a/node_modules/npm/docs/content/commands/npm-completion.md
+++ /dev/null
@@ -1,41 +0,0 @@
----
-title: npm-completion
-section: 1
-description: Tab Completion for npm
----
-
-### Synopsis
-
-```bash
-npm completion
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-Enables tab-completion in all npm commands.
-
-The synopsis above
-loads the completions into your current shell. Adding it to
-your ~/.bashrc or ~/.zshrc will make the completions available
-everywhere:
-
-```bash
-npm completion >> ~/.bashrc
-npm completion >> ~/.zshrc
-```
-
-You may of course also pipe the output of `npm completion` to a file
-such as `/usr/local/etc/bash_completion.d/npm` or
-`/etc/bash_completion.d/npm` if you have a system that will read
-that file for you.
-
-When `COMP_CWORD`, `COMP_LINE`, and `COMP_POINT` are defined in the
-environment, `npm completion` acts in "plumbing mode", and outputs
-completions based on the arguments.
-
-### See Also
-
-* [npm developers](/using-npm/developers)
-* [npm](/commands/npm)
diff --git a/node_modules/npm/docs/content/commands/npm-config.md b/node_modules/npm/docs/content/commands/npm-config.md
deleted file mode 100644
index 80f44b2..0000000
--- a/node_modules/npm/docs/content/commands/npm-config.md
+++ /dev/null
@@ -1,181 +0,0 @@
----
-title: npm-config
-section: 1
-description: Manage the npm configuration files
----
-
-### Synopsis
-
-```bash
-npm config set = [= ...]
-npm config get [ [ ...]]
-npm config delete [ ...]
-npm config list [--json]
-npm config edit
-npm config fix
-
-alias: c
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-npm gets its config settings from the command line, environment
-variables, `npmrc` files, and in some cases, the `package.json` file.
-
-See [npmrc](/configuring-npm/npmrc) for more information about the npmrc
-files.
-
-See [config](/using-npm/config) for a more thorough explanation of the
-mechanisms involved, and a full list of config options available.
-
-The `npm config` command can be used to update and edit the contents
-of the user and global npmrc files.
-
-### Sub-commands
-
-Config supports the following sub-commands:
-
-#### set
-
-```bash
-npm config set key=value [key=value...]
-npm set key=value [key=value...]
-```
-
-Sets each of the config keys to the value provided.
-
-If value is omitted, the key will be removed from your config file entirely.
-
-Note: for backwards compatibility, `npm config set key value` is supported
-as an alias for `npm config set key=value`.
-
-#### get
-
-```bash
-npm config get [key ...]
-npm get [key ...]
-```
-
-Echo the config value(s) to stdout.
-
-If multiple keys are provided, then the values will be prefixed with the
-key names.
-
-If no keys are provided, then this command behaves the same as `npm config
-list`.
-
-#### list
-
-```bash
-npm config list
-```
-
-Show all the config settings. Use `-l` to also show defaults. Use `--json`
-to show the settings in json format.
-
-#### delete
-
-```bash
-npm config delete key [key ...]
-```
-
-Deletes the specified keys from all configuration files.
-
-#### edit
-
-```bash
-npm config edit
-```
-
-Opens the config file in an editor. Use the `--global` flag to edit the
-global config.
-
-#### fix
-
-```bash
-npm config fix
-```
-
-Attempts to repair invalid configuration items. Usually this means
-attaching authentication config (i.e. `_auth`, `_authToken`) to the
-configured `registry`.
-
-### Configuration
-
-#### `json`
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
-
-Not supported by all npm commands.
-
-
-
-#### `global`
-
-* Default: false
-* Type: Boolean
-
-Operates in "global" mode, so that packages are installed into the `prefix`
-folder instead of the current working directory. See
-[folders](/configuring-npm/folders) for more on the differences in behavior.
-
-* packages are installed into the `{prefix}/lib/node_modules` folder, instead
- of the current working directory.
-* bin files are linked to `{prefix}/bin`
-* man pages are linked to `{prefix}/share/man`
-
-
-
-#### `editor`
-
-* Default: The EDITOR or VISUAL environment variables, or
- '%SYSTEMROOT%\notepad.exe' on Windows, or 'vi' on Unix systems
-* Type: String
-
-The command to run for `npm edit` and `npm config edit`.
-
-
-
-#### `location`
-
-* Default: "user" unless `--global` is passed, which will also set this value
- to "global"
-* Type: "global", "user", or "project"
-
-When passed to `npm config` this refers to which config file to use.
-
-When set to "global" mode, packages are installed into the `prefix` folder
-instead of the current working directory. See
-[folders](/configuring-npm/folders) for more on the differences in behavior.
-
-* packages are installed into the `{prefix}/lib/node_modules` folder, instead
- of the current working directory.
-* bin files are linked to `{prefix}/bin`
-* man pages are linked to `{prefix}/share/man`
-
-
-
-#### `long`
-
-* Default: false
-* Type: Boolean
-
-Show extended information in `ls`, `search`, and `help-search`.
-
-
-
-### See Also
-
-* [npm folders](/configuring-npm/folders)
-* [npm config](/commands/npm-config)
-* [package.json](/configuring-npm/package-json)
-* [npmrc](/configuring-npm/npmrc)
-* [npm](/commands/npm)
diff --git a/node_modules/npm/docs/content/commands/npm-dedupe.md b/node_modules/npm/docs/content/commands/npm-dedupe.md
deleted file mode 100644
index 1e8a4bc..0000000
--- a/node_modules/npm/docs/content/commands/npm-dedupe.md
+++ /dev/null
@@ -1,320 +0,0 @@
----
-title: npm-dedupe
-section: 1
-description: Reduce duplication in the package tree
----
-
-### Synopsis
-
-```bash
-npm dedupe
-
-alias: ddp
-```
-
-### Description
-
-Searches the local package tree and attempts to simplify the overall
-structure by moving dependencies further up the tree, where they can
-be more effectively shared by multiple dependent packages.
-
-For example, consider this dependency graph:
-
-```
-a
-+-- b <-- depends on c@1.0.x
-| `-- c@1.0.3
-`-- d <-- depends on c@~1.0.9
- `-- c@1.0.10
-```
-
-In this case, `npm dedupe` will transform the tree to:
-
-```bash
-a
-+-- b
-+-- d
-`-- c@1.0.10
-```
-
-Because of the hierarchical nature of node's module lookup, b and d
-will both get their dependency met by the single c package at the root
-level of the tree.
-
-In some cases, you may have a dependency graph like this:
-
-```
-a
-+-- b <-- depends on c@1.0.x
-+-- c@1.0.3
-`-- d <-- depends on c@1.x
- `-- c@1.9.9
-```
-
-During the installation process, the `c@1.0.3` dependency for `b` was
-placed in the root of the tree. Though `d`'s dependency on `c@1.x` could
-have been satisfied by `c@1.0.3`, the newer `c@1.9.0` dependency was used,
-because npm favors updates by default, even when doing so causes
-duplication.
-
-Running `npm dedupe` will cause npm to note the duplication and
-re-evaluate, deleting the nested `c` module, because the one in the root is
-sufficient.
-
-To prefer deduplication over novelty during the installation process, run
-`npm install --prefer-dedupe` or `npm config set prefer-dedupe true`.
-
-Arguments are ignored. Dedupe always acts on the entire tree.
-
-Note that this operation transforms the dependency tree, but will never
-result in new modules being installed.
-
-Using `npm find-dupes` will run the command in `--dry-run` mode.
-
-Note: `npm dedupe` will never update the semver values of direct
-dependencies in your project `package.json`, if you want to update
-values in `package.json` you can run: `npm update --save` instead.
-
-### Configuration
-
-#### `install-strategy`
-
-* Default: "hoisted"
-* Type: "hoisted", "nested", "shallow", or "linked"
-
-Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as necessary
-within directory structure. nested: (formerly --legacy-bundling) install in
-place, no hoisting. shallow (formerly --global-style) only install direct
-deps at top-level. linked: (experimental) install in node_modules/.store,
-link in place, unhoisted.
-
-
-
-#### `legacy-bundling`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=nested`
-
-Instead of hoisting package installs in `node_modules`, install packages in
-the same manner that they are depended on. This may cause very deep
-directory structures and duplicate package installs as there is no
-de-duplicating. Sets `--install-strategy=nested`.
-
-
-
-#### `global-style`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=shallow`
-
-Only install direct dependencies in the top level `node_modules`, but hoist
-on deeper dependencies. Sets `--install-strategy=shallow`.
-
-
-
-#### `strict-peer-deps`
-
-* Default: false
-* Type: Boolean
-
-If set to `true`, and `--legacy-peer-deps` is not set, then _any_
-conflicting `peerDependencies` will be treated as an install failure, even
-if npm could reasonably guess the appropriate resolution based on non-peer
-dependency relationships.
-
-By default, conflicting `peerDependencies` deep in the dependency graph will
-be resolved using the nearest non-peer dependency specification, even if
-doing so will result in some packages receiving a peer dependency outside
-the range set in their package's `peerDependencies` object.
-
-When such an override is performed, a warning is printed, explaining the
-conflict and the packages involved. If `--strict-peer-deps` is set, then
-this warning is treated as a failure.
-
-
-
-#### `package-lock`
-
-* Default: true
-* Type: Boolean
-
-If set to false, then ignore `package-lock.json` files when installing. This
-will also prevent _writing_ `package-lock.json` if `save` is true.
-
-
-
-#### `omit`
-
-* Default: 'dev' if the `NODE_ENV` environment variable is set to
- 'production', otherwise empty.
-* Type: "dev", "optional", or "peer" (can be set multiple times)
-
-Dependency types to omit from the installation tree on disk.
-
-Note that these dependencies _are_ still resolved and added to the
-`package-lock.json` or `npm-shrinkwrap.json` file. They are just not
-physically installed on disk.
-
-If a package type appears in both the `--include` and `--omit` lists, then
-it will be included.
-
-If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment
-variable will be set to `'production'` for all lifecycle scripts.
-
-
-
-#### `include`
-
-* Default:
-* Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-
-Option that allows for defining which types of dependencies to install.
-
-This is the inverse of `--omit=`.
-
-Dependency types specified in `--include` will not be omitted, regardless of
-the order in which omit/include are specified on the command-line.
-
-
-
-#### `ignore-scripts`
-
-* Default: false
-* Type: Boolean
-
-If true, npm does not run scripts specified in package.json files.
-
-Note that commands explicitly intended to run a particular script, such as
-`npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script`
-will still run their intended script if `ignore-scripts` is set, but they
-will *not* run any pre- or post-scripts.
-
-
-
-#### `audit`
-
-* Default: true
-* Type: Boolean
-
-When "true" submit audit reports alongside the current npm command to the
-default registry and all registries configured for scopes. See the
-documentation for [`npm audit`](/commands/npm-audit) for details on what is
-submitted.
-
-
-
-#### `bin-links`
-
-* Default: true
-* Type: Boolean
-
-Tells npm to create symlinks (or `.cmd` shims on Windows) for package
-executables.
-
-Set to false to have it not do this. This can be used to work around the
-fact that some file systems don't support symlinks, even on ostensibly Unix
-systems.
-
-
-
-#### `fund`
-
-* Default: true
-* Type: Boolean
-
-When "true" displays the message at the end of each `npm install`
-acknowledging the number of dependencies looking for funding. See [`npm
-fund`](/commands/npm-fund) for details.
-
-
-
-#### `dry-run`
-
-* Default: false
-* Type: Boolean
-
-Indicates that you don't want npm to make any changes and that it should
-only report what it would have done. This can be passed into any of the
-commands that modify your local installation, eg, `install`, `update`,
-`dedupe`, `uninstall`, as well as `pack` and `publish`.
-
-Note: This is NOT honored by other network related commands, eg `dist-tags`,
-`owner`, etc.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-#### `install-links`
-
-* Default: false
-* Type: Boolean
-
-When set file: protocol dependencies will be packed and installed as regular
-dependencies instead of creating a symlink. This option has no effect on
-workspaces.
-
-
-
-### See Also
-
-* [npm find-dupes](/commands/npm-find-dupes)
-* [npm ls](/commands/npm-ls)
-* [npm update](/commands/npm-update)
-* [npm install](/commands/npm-install)
diff --git a/node_modules/npm/docs/content/commands/npm-deprecate.md b/node_modules/npm/docs/content/commands/npm-deprecate.md
deleted file mode 100644
index 706ecf3..0000000
--- a/node_modules/npm/docs/content/commands/npm-deprecate.md
+++ /dev/null
@@ -1,73 +0,0 @@
----
-title: npm-deprecate
-section: 1
-description: Deprecate a version of a package
----
-
-### Synopsis
-
-```bash
-npm deprecate
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-This command will update the npm registry entry for a package, providing a
-deprecation warning to all who attempt to install it.
-
-It works on [version ranges](https://semver.npmjs.com/) as well as specific
-versions, so you can do something like this:
-
-```bash
-npm deprecate my-thing@"< 0.2.3" "critical bug fixed in v0.2.3"
-```
-
-SemVer ranges passed to this command are interpreted such that they *do*
-include prerelease versions. For example:
-
-```bash
-npm deprecate my-thing@1.x "1.x is no longer supported"
-```
-
-In this case, a version `my-thing@1.0.0-beta.0` will also be deprecated.
-
-You must be the package owner to deprecate something. See the `owner` and
-`adduser` help topics.
-
-To un-deprecate a package, specify an empty string (`""`) for the `message`
-argument. Note that you must use double quotes with no space between them to
-format an empty string.
-
-### Configuration
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-#### `otp`
-
-* Default: null
-* Type: null or String
-
-This is a one-time password from a two-factor authenticator. It's needed
-when publishing or changing package permissions with `npm access`.
-
-If not set, and a registry response fails with a challenge for a one-time
-password, npm will prompt on the command line for one.
-
-
-
-### See Also
-
-* [package spec](/using-npm/package-spec)
-* [npm publish](/commands/npm-publish)
-* [npm registry](/using-npm/registry)
-* [npm owner](/commands/npm-owner)
-* [npm adduser](/commands/npm-adduser)
diff --git a/node_modules/npm/docs/content/commands/npm-diff.md b/node_modules/npm/docs/content/commands/npm-diff.md
deleted file mode 100644
index e93aef3..0000000
--- a/node_modules/npm/docs/content/commands/npm-diff.md
+++ /dev/null
@@ -1,316 +0,0 @@
----
-title: npm-diff
-section: 1
-description: The registry diff command
----
-
-### Synopsis
-
-```bash
-npm diff [...]
-```
-
-### Description
-
-Similar to its `git diff` counterpart, this command will print diff patches
-of files for packages published to the npm registry.
-
-* `npm diff --diff= --diff=`
-
- Compares two package versions using their registry specifiers, e.g:
- `npm diff --diff=pkg@1.0.0 --diff=pkg@^2.0.0`. It's also possible to
- compare across forks of any package,
- e.g: `npm diff --diff=pkg@1.0.0 --diff=pkg-fork@1.0.0`.
-
- Any valid spec can be used, so that it's also possible to compare
- directories or git repositories,
- e.g: `npm diff --diff=pkg@latest --diff=./packages/pkg`
-
- Here's an example comparing two different versions of a package named
- `abbrev` from the registry:
-
- ```bash
- npm diff --diff=abbrev@1.1.0 --diff=abbrev@1.1.1
- ```
-
- On success, output looks like:
-
- ```bash
- diff --git a/package.json b/package.json
- index v1.1.0..v1.1.1 100644
- --- a/package.json
- +++ b/package.json
- @@ -1,6 +1,6 @@
- {
- "name": "abbrev",
- - "version": "1.1.0",
- + "version": "1.1.1",
- "description": "Like ruby's abbrev module, but in js",
- "author": "Isaac Z. Schlueter ",
- "main": "abbrev.js",
- ```
-
- Given the flexible nature of npm specs, you can also target local
- directories or git repos just like when using `npm install`:
-
- ```bash
- npm diff --diff=https://github.com/npm/libnpmdiff --diff=./local-path
- ```
-
- In the example above we can compare the contents from the package installed
- from the git repo at `github.com/npm/libnpmdiff` with the contents of the
- `./local-path` that contains a valid package, such as a modified copy of
- the original.
-
-* `npm diff` (in a package directory, no arguments):
-
- If the package is published to the registry, `npm diff` will fetch the
- tarball version tagged as `latest` (this value can be configured using the
- `tag` option) and proceed to compare the contents of files present in that
- tarball, with the current files in your local file system.
-
- This workflow provides a handy way for package authors to see what
- package-tracked files have been changed in comparison with the latest
- published version of that package.
-
-* `npm diff --diff=` (in a package directory):
-
- When using a single package name (with no version or tag specifier) as an
- argument, `npm diff` will work in a similar way to
- [`npm-outdated`](npm-outdated) and reach for the registry to figure out
- what current published version of the package named ``
- will satisfy its dependent declared semver-range. Once that specific
- version is known `npm diff` will print diff patches comparing the
- current version of `` found in the local file system with
- that specific version returned by the registry.
-
- Given a package named `abbrev` that is currently installed:
-
- ```bash
- npm diff --diff=abbrev
- ```
-
- That will request from the registry its most up to date version and
- will print a diff output comparing the currently installed version to this
- newer one if the version numbers are not the same.
-
-* `npm diff --diff=` (in a package directory):
-
- Similar to using only a single package name, it's also possible to declare
- a full registry specifier version if you wish to compare the local version
- of an installed package with the specific version/tag/semver-range provided
- in ``.
-
- An example: assuming `pkg@1.0.0` is installed in the current `node_modules`
- folder, running:
-
- ```bash
- npm diff --diff=pkg@2.0.0
- ```
-
- It will effectively be an alias to
- `npm diff --diff=pkg@1.0.0 --diff=pkg@2.0.0`.
-
-* `npm diff --diff= [--diff=]` (in a package directory):
-
- Using `npm diff` along with semver-valid version numbers is a shorthand
- to compare different versions of the current package.
-
- It needs to be run from a package directory, such that for a package named
- `pkg` running `npm diff --diff=1.0.0 --diff=1.0.1` is the same as running
- `npm diff --diff=pkg@1.0.0 --diff=pkg@1.0.1`.
-
- If only a single argument `` is provided, then the current local
- file system is going to be compared against that version.
-
- Here's an example comparing two specific versions (published to the
- configured registry) of the current project directory:
-
- ```bash
- npm diff --diff=1.0.0 --diff=1.1.0
- ```
-
-Note that tag names are not valid `--diff` argument values, if you wish to
-compare to a published tag, you must use the `pkg@tagname` syntax.
-
-#### Filtering files
-
-It's possible to also specify positional arguments using file names or globs
-pattern matching in order to limit the result of diff patches to only a subset
-of files for a given package, e.g:
-
- ```bash
- npm diff --diff=pkg@2 ./lib/ CHANGELOG.md
- ```
-
-In the example above the diff output is only going to print contents of files
-located within the folder `./lib/` and changed lines of code within the
-`CHANGELOG.md` file.
-
-### Configuration
-
-#### `diff`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Define arguments to compare in `npm diff`.
-
-
-
-#### `diff-name-only`
-
-* Default: false
-* Type: Boolean
-
-Prints only filenames when using `npm diff`.
-
-
-
-#### `diff-unified`
-
-* Default: 3
-* Type: Number
-
-The number of lines of context to print in `npm diff`.
-
-
-
-#### `diff-ignore-all-space`
-
-* Default: false
-* Type: Boolean
-
-Ignore whitespace when comparing lines in `npm diff`.
-
-
-
-#### `diff-no-prefix`
-
-* Default: false
-* Type: Boolean
-
-Do not show any source or destination prefix in `npm diff` output.
-
-Note: this causes `npm diff` to ignore the `--diff-src-prefix` and
-`--diff-dst-prefix` configs.
-
-
-
-#### `diff-src-prefix`
-
-* Default: "a/"
-* Type: String
-
-Source prefix to be used in `npm diff` output.
-
-
-
-#### `diff-dst-prefix`
-
-* Default: "b/"
-* Type: String
-
-Destination prefix to be used in `npm diff` output.
-
-
-
-#### `diff-text`
-
-* Default: false
-* Type: Boolean
-
-Treat all files as text in `npm diff`.
-
-
-
-#### `global`
-
-* Default: false
-* Type: Boolean
-
-Operates in "global" mode, so that packages are installed into the `prefix`
-folder instead of the current working directory. See
-[folders](/configuring-npm/folders) for more on the differences in behavior.
-
-* packages are installed into the `{prefix}/lib/node_modules` folder, instead
- of the current working directory.
-* bin files are linked to `{prefix}/bin`
-* man pages are linked to `{prefix}/share/man`
-
-
-
-#### `tag`
-
-* Default: "latest"
-* Type: String
-
-If you ask npm to install a package and don't tell it a specific version,
-then it will install the specified tag.
-
-Also the tag that is added to the package@version specified by the `npm tag`
-command, if no explicit tag is given.
-
-When used by the `npm diff` command, this is the tag used to fetch the
-tarball that will be compared with the local files by default.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-## See Also
-
-* [npm outdated](/commands/npm-outdated)
-* [npm install](/commands/npm-install)
-* [npm config](/commands/npm-config)
-* [npm registry](/using-npm/registry)
diff --git a/node_modules/npm/docs/content/commands/npm-dist-tag.md b/node_modules/npm/docs/content/commands/npm-dist-tag.md
deleted file mode 100644
index 609da16..0000000
--- a/node_modules/npm/docs/content/commands/npm-dist-tag.md
+++ /dev/null
@@ -1,154 +0,0 @@
----
-title: npm-dist-tag
-section: 1
-description: Modify package distribution tags
----
-
-### Synopsis
-
-```bash
-npm dist-tag add []
-npm dist-tag rm
-npm dist-tag ls []
-
-alias: dist-tags
-```
-
-### Description
-
-Add, remove, and enumerate distribution tags on a package:
-
-* add: Tags the specified version of the package with the specified tag,
- or the [`--tag` config](/using-npm/config#tag) if not specified. If you have
- two-factor authentication on auth-and-writes then you’ll need to include a
- one-time password on the command line with
- `--otp `, or go through a second factor flow based on your `authtype`.
-
-* rm: Clear a tag that is no longer in use from the package. If you have
- two-factor authentication on auth-and-writes then you’ll need to include
- a one-time password on the command line with `--otp `,
- or go through a second factor flow based on your `authtype`
-
-* ls: Show all of the dist-tags for a package, defaulting to the package in
- the current prefix. This is the default action if none is specified.
-
-A tag can be used when installing packages as a reference to a version instead
-of using a specific version number:
-
-```bash
-npm install @
-```
-
-When installing dependencies, a preferred tagged version may be specified:
-
-```bash
-npm install --tag
-```
-
-(This also applies to any other commands that resolve and install
-dependencies, such as `npm dedupe`, `npm update`, and `npm audit fix`.)
-
-Publishing a package sets the `latest` tag to the published version unless the
-`--tag` option is used. For example, `npm publish --tag=beta`.
-
-By default, `npm install ` (without any `@` or `@`
-specifier) installs the `latest` tag.
-
-### Purpose
-
-Tags can be used to provide an alias instead of version numbers.
-
-For example, a project might choose to have multiple streams of development
-and use a different tag for each stream, e.g., `stable`, `beta`, `dev`,
-`canary`.
-
-By default, the `latest` tag is used by npm to identify the current version
-of a package, and `npm install ` (without any `@` or `@`
-specifier) installs the `latest` tag. Typically, projects only use the
-`latest` tag for stable release versions, and use other tags for unstable
-versions such as prereleases.
-
-The `next` tag is used by some projects to identify the upcoming version.
-
-Other than `latest`, no tag has any special significance to npm itself.
-
-### Caveats
-
-This command used to be known as `npm tag`, which only created new tags,
-and so had a different syntax.
-
-Tags must share a namespace with version numbers, because they are
-specified in the same slot: `npm install @` vs
-`npm install @`.
-
-Tags that can be interpreted as valid semver ranges will be rejected. For
-example, `v1.4` cannot be used as a tag, because it is interpreted by
-semver as `>=1.4.0 <1.5.0`. See .
-
-The simplest way to avoid semver problems with tags is to use tags that do
-not begin with a number or the letter `v`.
-
-### Configuration
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-### See Also
-
-* [package spec](/using-npm/package-spec)
-* [npm publish](/commands/npm-publish)
-* [npm install](/commands/npm-install)
-* [npm dedupe](/commands/npm-dedupe)
-* [npm registry](/using-npm/registry)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
diff --git a/node_modules/npm/docs/content/commands/npm-docs.md b/node_modules/npm/docs/content/commands/npm-docs.md
deleted file mode 100644
index 582fc55..0000000
--- a/node_modules/npm/docs/content/commands/npm-docs.md
+++ /dev/null
@@ -1,108 +0,0 @@
----
-title: npm-docs
-section: 1
-description: Open documentation for a package in a web browser
----
-
-### Synopsis
-
-```bash
-npm docs [ [ ...]]
-
-alias: home
-```
-
-### Description
-
-This command tries to guess at the likely location of a package's
-documentation URL, and then tries to open it using the
-[`--browser` config](/using-npm/config#browser) param. You can pass multiple
-package names at once. If no package name is provided, it will search for a
-`package.json` in the current folder and use the `name` property.
-
-### Configuration
-
-#### `browser`
-
-* Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
-* Type: null, Boolean, or String
-
-The browser that is called by npm commands to open websites.
-
-Set to `false` to suppress browser behavior and instead print urls to
-terminal.
-
-Set to `true` to use default system URL opener.
-
-
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-### See Also
-
-* [npm view](/commands/npm-view)
-* [npm publish](/commands/npm-publish)
-* [npm registry](/using-npm/registry)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
-* [package.json](/configuring-npm/package-json)
diff --git a/node_modules/npm/docs/content/commands/npm-doctor.md b/node_modules/npm/docs/content/commands/npm-doctor.md
deleted file mode 100644
index b36ec38..0000000
--- a/node_modules/npm/docs/content/commands/npm-doctor.md
+++ /dev/null
@@ -1,122 +0,0 @@
----
-title: npm-doctor
-section: 1
-description: Check the health of your npm environment
----
-
-### Synopsis
-
-```bash
-npm doctor [ping] [registry] [versions] [environment] [permissions] [cache]
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-`npm doctor` runs a set of checks to ensure that your npm installation has
-what it needs to manage your JavaScript packages. npm is mostly a
-standalone tool, but it does have some basic requirements that must be met:
-
-+ Node.js and git must be executable by npm.
-+ The primary npm registry, `registry.npmjs.com`, or another service that
- uses the registry API, is available.
-+ The directories that npm uses, `node_modules` (both locally and
- globally), exist and can be written by the current user.
-+ The npm cache exists, and the package tarballs within it aren't corrupt.
-
-Without all of these working properly, npm may not work properly. Many
-issues are often attributable to things that are outside npm's code base,
-so `npm doctor` confirms that the npm installation is in a good state.
-
-Also, in addition to this, there are also very many issue reports due to
-using old versions of npm. Since npm is constantly improving, running
-`npm@latest` is better than an old version.
-
-`npm doctor` verifies the following items in your environment, and if
-there are any recommended changes, it will display them. By default npm
-runs all of these checks. You can limit what checks are ran by
-specifying them as extra arguments.
-
-#### `npm ping`
-
-By default, npm installs from the primary npm registry,
-`registry.npmjs.org`. `npm doctor` hits a special ping endpoint within the
-registry. This can also be checked with `npm ping`. If this check fails,
-you may be using a proxy that needs to be configured, or may need to talk
-to your IT staff to get access over HTTPS to `registry.npmjs.org`.
-
-This check is done against whichever registry you've configured (you can
-see what that is by running `npm config get registry`), and if you're using
-a private registry that doesn't support the `/whoami` endpoint supported by
-the primary registry, this check may fail.
-
-#### `npm -v`
-
-While Node.js may come bundled with a particular version of npm, it's the
-policy of the CLI team that we recommend all users run `npm@latest` if they
-can. As the CLI is maintained by a small team of contributors, there are
-only resources for a single line of development, so npm's own long-term
-support releases typically only receive critical security and regression
-fixes. The team believes that the latest tested version of npm is almost
-always likely to be the most functional and defect-free version of npm.
-
-#### `node -v`
-
-For most users, in most circumstances, the best version of Node will be the
-latest long-term support (LTS) release. Those of you who want access to new
-ECMAscript features or bleeding-edge changes to Node's standard library may
-be running a newer version, and some may be required to run an older
-version of Node because of enterprise change control policies. That's OK!
-But in general, the npm team recommends that most users run Node.js LTS.
-
-#### `npm config get registry`
-
-You may be installing from private package registries for your project or
-company. That's great! Others may be following tutorials or StackOverflow
-questions in an effort to troubleshoot problems you may be having.
-Sometimes, this may entail changing the registry you're pointing at. This
-part of `npm doctor` just lets you, and maybe whoever's helping you with
-support, know that you're not using the default registry.
-
-#### `which git`
-
-While it's documented in the README, it may not be obvious that npm needs
-Git installed to do many of the things that it does. Also, in some cases
-– especially on Windows – you may have Git set up in such a way that it's
-not accessible via your `PATH` so that npm can find it. This check ensures
-that Git is available.
-
-#### Permissions checks
-
-* Your cache must be readable and writable by the user running npm.
-* Global package binaries must be writable by the user running npm.
-* Your local `node_modules` path, if you're running `npm doctor` with a
- project directory, must be readable and writable by the user running npm.
-
-#### Validate the checksums of cached packages
-
-When an npm package is published, the publishing process generates a
-checksum that npm uses at install time to verify that the package didn't
-get corrupted in transit. `npm doctor` uses these checksums to validate the
-package tarballs in your local cache (you can see where that cache is
-located with `npm config get cache`). In the event that there are corrupt
-packages in your cache, you should probably run `npm cache clean -f` and
-reset the cache.
-
-### Configuration
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-### See Also
-
-* [npm bugs](/commands/npm-bugs)
-* [npm help](/commands/npm-help)
-* [npm ping](/commands/npm-ping)
diff --git a/node_modules/npm/docs/content/commands/npm-edit.md b/node_modules/npm/docs/content/commands/npm-edit.md
deleted file mode 100644
index a26df11..0000000
--- a/node_modules/npm/docs/content/commands/npm-edit.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: npm-edit
-section: 1
-description: Edit an installed package
----
-
-### Synopsis
-
-```bash
-npm edit [/...]
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-Selects a dependency in the current project and opens the package folder in
-the default editor (or whatever you've configured as the npm `editor`
-config -- see [`npm-config`](npm-config).)
-
-After it has been edited, the package is rebuilt so as to pick up any
-changes in compiled packages.
-
-For instance, you can do `npm install connect` to install connect
-into your package, and then `npm edit connect` to make a few
-changes to your locally installed copy.
-
-### Configuration
-
-#### `editor`
-
-* Default: The EDITOR or VISUAL environment variables, or
- '%SYSTEMROOT%\notepad.exe' on Windows, or 'vi' on Unix systems
-* Type: String
-
-The command to run for `npm edit` and `npm config edit`.
-
-
-
-### See Also
-
-* [npm folders](/configuring-npm/folders)
-* [npm explore](/commands/npm-explore)
-* [npm install](/commands/npm-install)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
diff --git a/node_modules/npm/docs/content/commands/npm-exec.md b/node_modules/npm/docs/content/commands/npm-exec.md
deleted file mode 100644
index fa8d80c..0000000
--- a/node_modules/npm/docs/content/commands/npm-exec.md
+++ /dev/null
@@ -1,366 +0,0 @@
----
-title: npm-exec
-section: 1
-description: Run a command from a local or remote npm package
----
-
-### Synopsis
-
-```bash
-npm exec -- [@] [args...]
-npm exec --package=[@] -- [args...]
-npm exec -c ' [args...]'
-npm exec --package=foo -c ' [args...]'
-
-alias: x
-```
-
-### Description
-
-This command allows you to run an arbitrary command from an npm package
-(either one installed locally, or fetched remotely), in a similar context
-as running it via `npm run`.
-
-Run without positional arguments or `--call`, this allows you to
-interactively run commands in the same sort of shell environment that
-`package.json` scripts are run. Interactive mode is not supported in CI
-environments when standard input is a TTY, to prevent hangs.
-
-Whatever packages are specified by the `--package` option will be
-provided in the `PATH` of the executed command, along with any locally
-installed package executables. The `--package` option may be
-specified multiple times, to execute the supplied command in an environment
-where all specified packages are available.
-
-If any requested packages are not present in the local project
-dependencies, then a prompt is printed, which can be suppressed by
-providing either `--yes` or `--no`. When standard input is not a TTY or a
-CI environment is detected, `--yes` is assumed. The requested packages are
-installed to a folder in the npm cache, which is added to the `PATH`
-environment variable in the executed process.
-
-Package names provided without a specifier will be matched with whatever
-version exists in the local project. Package names with a specifier will
-only be considered a match if they have the exact same name and version as
-the local dependency.
-
-If no `-c` or `--call` option is provided, then the positional arguments
-are used to generate the command string. If no `--package` options
-are provided, then npm will attempt to determine the executable name from
-the package specifier provided as the first positional argument according
-to the following heuristic:
-
-- If the package has a single entry in its `bin` field in `package.json`,
- or if all entries are aliases of the same command, then that command
- will be used.
-- If the package has multiple `bin` entries, and one of them matches the
- unscoped portion of the `name` field, then that command will be used.
-- If this does not result in exactly one option (either because there are
- no bin entries, or none of them match the `name` of the package), then
- `npm exec` exits with an error.
-
-To run a binary _other than_ the named binary, specify one or more
-`--package` options, which will prevent npm from inferring the package from
-the first command argument.
-
-### `npx` vs `npm exec`
-
-When run via the `npx` binary, all flags and options *must* be set prior to
-any positional arguments. When run via `npm exec`, a double-hyphen `--`
-flag can be used to suppress npm's parsing of switches and options that
-should be sent to the executed command.
-
-For example:
-
-```
-$ npx foo@latest bar --package=@npmcli/foo
-```
-
-In this case, npm will resolve the `foo` package name, and run the
-following command:
-
-```
-$ foo bar --package=@npmcli/foo
-```
-
-Since the `--package` option comes _after_ the positional arguments, it is
-treated as an argument to the executed command.
-
-In contrast, due to npm's argument parsing logic, running this command is
-different:
-
-```
-$ npm exec foo@latest bar --package=@npmcli/foo
-```
-
-In this case, npm will parse the `--package` option first, resolving the
-`@npmcli/foo` package. Then, it will execute the following command in that
-context:
-
-```
-$ foo@latest bar
-```
-
-The double-hyphen character is recommended to explicitly tell npm to stop
-parsing command line options and switches. The following command would
-thus be equivalent to the `npx` command above:
-
-```
-$ npm exec -- foo@latest bar --package=@npmcli/foo
-```
-
-### Configuration
-
-#### `package`
-
-* Default:
-* Type: String (can be set multiple times)
-
-The package or packages to install for [`npm exec`](/commands/npm-exec)
-
-
-
-#### `call`
-
-* Default: ""
-* Type: String
-
-Optional companion option for `npm exec`, `npx` that allows for specifying a
-custom command to be run along with the installed packages.
-
-```bash
-npm exec --package yo --package generator-node --call "yo node"
-```
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-### Examples
-
-Run the version of `tap` in the local dependencies, with the provided
-arguments:
-
-```
-$ npm exec -- tap --bail test/foo.js
-$ npx tap --bail test/foo.js
-```
-
-Run a command _other than_ the command whose name matches the package name
-by specifying a `--package` option:
-
-```
-$ npm exec --package=foo -- bar --bar-argument
-# ~ or ~
-$ npx --package=foo bar --bar-argument
-```
-
-Run an arbitrary shell script, in the context of the current project:
-
-```
-$ npm x -c 'eslint && say "hooray, lint passed"'
-$ npx -c 'eslint && say "hooray, lint passed"'
-```
-
-### Workspaces support
-
-You may use the [`workspace`](/using-npm/config#workspace) or
-[`workspaces`](/using-npm/config#workspaces) configs in order to run an
-arbitrary command from an npm package (either one installed locally, or fetched
-remotely) in the context of the specified workspaces.
-If no positional argument or `--call` option is provided, it will open an
-interactive subshell in the context of each of these configured workspaces one
-at a time.
-
-Given a project with configured workspaces, e.g:
-
-```
-.
-+-- package.json
-`-- packages
- +-- a
- | `-- package.json
- +-- b
- | `-- package.json
- `-- c
- `-- package.json
-```
-
-Assuming the workspace configuration is properly set up at the root level
-`package.json` file. e.g:
-
-```
-{
- "workspaces": [ "./packages/*" ]
-}
-```
-
-You can execute an arbitrary command from a package in the context of each of
-the configured workspaces when using the
-[`workspaces` config options](/using-npm/config#workspace), in this example
-we're using **eslint** to lint any js file found within each workspace folder:
-
-```
-npm exec --ws -- eslint ./*.js
-```
-
-#### Filtering workspaces
-
-It's also possible to execute a command in a single workspace using the
-`workspace` config along with a name or directory path:
-
-```
-npm exec --workspace=a -- eslint ./*.js
-```
-
-The `workspace` config can also be specified multiple times in order to run a
-specific script in the context of multiple workspaces. When defining values for
-the `workspace` config in the command line, it also possible to use `-w` as a
-shorthand, e.g:
-
-```
-npm exec -w a -w b -- eslint ./*.js
-```
-
-This last command will run the `eslint` command in both `./packages/a` and
-`./packages/b` folders.
-
-### Compatibility with Older npx Versions
-
-The `npx` binary was rewritten in npm v7.0.0, and the standalone `npx`
-package deprecated at that time. `npx` uses the `npm exec`
-command instead of a separate argument parser and install process, with
-some affordances to maintain backwards compatibility with the arguments it
-accepted in previous versions.
-
-This resulted in some shifts in its functionality:
-
-- Any `npm` config value may be provided.
-- To prevent security and user-experience problems from mistyping package
- names, `npx` prompts before installing anything. Suppress this
- prompt with the `-y` or `--yes` option.
-- The `--no-install` option is deprecated, and will be converted to `--no`.
-- Shell fallback functionality is removed, as it is not advisable.
-- The `-p` argument is a shorthand for `--parseable` in npm, but shorthand
- for `--package` in npx. This is maintained, but only for the `npx`
- executable.
-- The `--ignore-existing` option is removed. Locally installed bins are
- always present in the executed process `PATH`.
-- The `--npm` option is removed. `npx` will always use the `npm` it ships
- with.
-- The `--node-arg` and `-n` options are removed.
-- The `--always-spawn` option is redundant, and thus removed.
-- The `--shell` option is replaced with `--script-shell`, but maintained
- in the `npx` executable for backwards compatibility.
-
-### A note on caching
-
-The npm cli utilizes its internal package cache when using the package
-name specified. You can use the following to change how and when the
-cli uses this cache. See [`npm cache`](/commands/npm-cache) for more on
-how the cache works.
-
-#### prefer-online
-
-Forces staleness checks for packages, making the cli look for updates
-immediately even if the package is already in the cache.
-
-#### prefer-offline
-
-Bypasses staleness checks for packages. Missing data will still be
-requested from the server. To force full offline mode, use `offline`.
-
-#### offline
-
-Forces full offline mode. Any packages not locally cached will result in
-an error.
-
-#### workspace
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result to selecting all of the
- nested workspaces)
-
-This value is not exported to the environment for child processes.
-
-#### workspaces
-
-* Alias: `--ws`
-* Type: Boolean
-* Default: `false`
-
-Run scripts in the context of all configured workspaces for the current
-project.
-
-### See Also
-
-* [npm run-script](/commands/npm-run-script)
-* [npm scripts](/using-npm/scripts)
-* [npm test](/commands/npm-test)
-* [npm start](/commands/npm-start)
-* [npm restart](/commands/npm-restart)
-* [npm stop](/commands/npm-stop)
-* [npm config](/commands/npm-config)
-* [npm workspaces](/using-npm/workspaces)
-* [npx](/commands/npx)
diff --git a/node_modules/npm/docs/content/commands/npm-explain.md b/node_modules/npm/docs/content/commands/npm-explain.md
deleted file mode 100644
index b0f0ebc..0000000
--- a/node_modules/npm/docs/content/commands/npm-explain.md
+++ /dev/null
@@ -1,105 +0,0 @@
----
-title: npm-explain
-section: 1
-description: Explain installed packages
----
-
-### Synopsis
-
-```bash
-npm explain
-
-alias: why
-```
-
-### Description
-
-This command will print the chain of dependencies causing a given package
-to be installed in the current project.
-
-If one or more package specs are provided, then only packages matching
-one of the specifiers will have their relationships explained.
-
-The package spec can also refer to a folder within `./node_modules`
-
-For example, running `npm explain glob` within npm's source tree will show:
-
-```bash
-glob@7.1.6
-node_modules/glob
- glob@"^7.1.4" from the root project
-
-glob@7.1.1 dev
-node_modules/tacks/node_modules/glob
- glob@"^7.0.5" from rimraf@2.6.2
- node_modules/tacks/node_modules/rimraf
- rimraf@"^2.6.2" from tacks@1.3.0
- node_modules/tacks
- dev tacks@"^1.3.0" from the root project
-```
-
-To explain just the package residing at a specific folder, pass that as the
-argument to the command. This can be useful when trying to figure out
-exactly why a given dependency is being duplicated to satisfy conflicting
-version requirements within the project.
-
-```bash
-$ npm explain node_modules/nyc/node_modules/find-up
-find-up@3.0.0 dev
-node_modules/nyc/node_modules/find-up
- find-up@"^3.0.0" from nyc@14.1.1
- node_modules/nyc
- nyc@"^14.1.1" from tap@14.10.8
- node_modules/tap
- dev tap@"^14.10.8" from the root project
-```
-
-### Configuration
-#### `json`
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
-
-Not supported by all npm commands.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-### See Also
-
-* [package spec](/using-npm/package-spec)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
-* [npm folders](/configuring-npm/folders)
-* [npm ls](/commands/npm-ls)
-* [npm install](/commands/npm-install)
-* [npm link](/commands/npm-link)
-* [npm prune](/commands/npm-prune)
-* [npm outdated](/commands/npm-outdated)
-* [npm update](/commands/npm-update)
diff --git a/node_modules/npm/docs/content/commands/npm-explore.md b/node_modules/npm/docs/content/commands/npm-explore.md
deleted file mode 100644
index e25e760..0000000
--- a/node_modules/npm/docs/content/commands/npm-explore.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title: npm-explore
-section: 1
-description: Browse an installed package
----
-
-### Synopsis
-
-```bash
-npm explore [ -- ]
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-Spawn a subshell in the directory of the installed package specified.
-
-If a command is specified, then it is run in the subshell, which then
-immediately terminates.
-
-This is particularly handy in the case of git submodules in the
-`node_modules` folder:
-
-```bash
-npm explore some-dependency -- git pull origin master
-```
-
-Note that the package is *not* automatically rebuilt afterwards, so be
-sure to use `npm rebuild ` if you make any changes.
-
-### Configuration
-
-#### `shell`
-
-* Default: SHELL environment variable, or "bash" on Posix, or "cmd.exe" on
- Windows
-* Type: String
-
-The shell to run for the `npm explore` command.
-
-
-
-### See Also
-
-* [npm folders](/configuring-npm/folders)
-* [npm edit](/commands/npm-edit)
-* [npm rebuild](/commands/npm-rebuild)
-* [npm install](/commands/npm-install)
diff --git a/node_modules/npm/docs/content/commands/npm-find-dupes.md b/node_modules/npm/docs/content/commands/npm-find-dupes.md
deleted file mode 100644
index 6710760..0000000
--- a/node_modules/npm/docs/content/commands/npm-find-dupes.md
+++ /dev/null
@@ -1,246 +0,0 @@
----
-title: npm-find-dupes
-section: 1
-description: Find duplication in the package tree
----
-
-### Synopsis
-
-```bash
-npm find-dupes
-```
-
-### Description
-
-Runs `npm dedupe` in `--dry-run` mode, making npm only output the
-duplications, without actually changing the package tree.
-
-### Configuration
-
-#### `install-strategy`
-
-* Default: "hoisted"
-* Type: "hoisted", "nested", "shallow", or "linked"
-
-Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as necessary
-within directory structure. nested: (formerly --legacy-bundling) install in
-place, no hoisting. shallow (formerly --global-style) only install direct
-deps at top-level. linked: (experimental) install in node_modules/.store,
-link in place, unhoisted.
-
-
-
-#### `legacy-bundling`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=nested`
-
-Instead of hoisting package installs in `node_modules`, install packages in
-the same manner that they are depended on. This may cause very deep
-directory structures and duplicate package installs as there is no
-de-duplicating. Sets `--install-strategy=nested`.
-
-
-
-#### `global-style`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=shallow`
-
-Only install direct dependencies in the top level `node_modules`, but hoist
-on deeper dependencies. Sets `--install-strategy=shallow`.
-
-
-
-#### `strict-peer-deps`
-
-* Default: false
-* Type: Boolean
-
-If set to `true`, and `--legacy-peer-deps` is not set, then _any_
-conflicting `peerDependencies` will be treated as an install failure, even
-if npm could reasonably guess the appropriate resolution based on non-peer
-dependency relationships.
-
-By default, conflicting `peerDependencies` deep in the dependency graph will
-be resolved using the nearest non-peer dependency specification, even if
-doing so will result in some packages receiving a peer dependency outside
-the range set in their package's `peerDependencies` object.
-
-When such an override is performed, a warning is printed, explaining the
-conflict and the packages involved. If `--strict-peer-deps` is set, then
-this warning is treated as a failure.
-
-
-
-#### `package-lock`
-
-* Default: true
-* Type: Boolean
-
-If set to false, then ignore `package-lock.json` files when installing. This
-will also prevent _writing_ `package-lock.json` if `save` is true.
-
-
-
-#### `omit`
-
-* Default: 'dev' if the `NODE_ENV` environment variable is set to
- 'production', otherwise empty.
-* Type: "dev", "optional", or "peer" (can be set multiple times)
-
-Dependency types to omit from the installation tree on disk.
-
-Note that these dependencies _are_ still resolved and added to the
-`package-lock.json` or `npm-shrinkwrap.json` file. They are just not
-physically installed on disk.
-
-If a package type appears in both the `--include` and `--omit` lists, then
-it will be included.
-
-If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment
-variable will be set to `'production'` for all lifecycle scripts.
-
-
-
-#### `include`
-
-* Default:
-* Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-
-Option that allows for defining which types of dependencies to install.
-
-This is the inverse of `--omit=`.
-
-Dependency types specified in `--include` will not be omitted, regardless of
-the order in which omit/include are specified on the command-line.
-
-
-
-#### `ignore-scripts`
-
-* Default: false
-* Type: Boolean
-
-If true, npm does not run scripts specified in package.json files.
-
-Note that commands explicitly intended to run a particular script, such as
-`npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script`
-will still run their intended script if `ignore-scripts` is set, but they
-will *not* run any pre- or post-scripts.
-
-
-
-#### `audit`
-
-* Default: true
-* Type: Boolean
-
-When "true" submit audit reports alongside the current npm command to the
-default registry and all registries configured for scopes. See the
-documentation for [`npm audit`](/commands/npm-audit) for details on what is
-submitted.
-
-
-
-#### `bin-links`
-
-* Default: true
-* Type: Boolean
-
-Tells npm to create symlinks (or `.cmd` shims on Windows) for package
-executables.
-
-Set to false to have it not do this. This can be used to work around the
-fact that some file systems don't support symlinks, even on ostensibly Unix
-systems.
-
-
-
-#### `fund`
-
-* Default: true
-* Type: Boolean
-
-When "true" displays the message at the end of each `npm install`
-acknowledging the number of dependencies looking for funding. See [`npm
-fund`](/commands/npm-fund) for details.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-#### `install-links`
-
-* Default: false
-* Type: Boolean
-
-When set file: protocol dependencies will be packed and installed as regular
-dependencies instead of creating a symlink. This option has no effect on
-workspaces.
-
-
-
-### See Also
-
-* [npm dedupe](/commands/npm-dedupe)
-* [npm ls](/commands/npm-ls)
-* [npm update](/commands/npm-update)
-* [npm install](/commands/npm-install)
-
diff --git a/node_modules/npm/docs/content/commands/npm-fund.md b/node_modules/npm/docs/content/commands/npm-fund.md
deleted file mode 100644
index cd12e1b..0000000
--- a/node_modules/npm/docs/content/commands/npm-fund.md
+++ /dev/null
@@ -1,145 +0,0 @@
----
-title: npm-fund
-section: 1
-description: Retrieve funding information
----
-
-### Synopsis
-
-```bash
-npm fund []
-```
-
-### Description
-
-This command retrieves information on how to fund the dependencies of a
-given project. If no package name is provided, it will list all
-dependencies that are looking for funding in a tree structure, listing
-the type of funding and the url to visit. If a package name is provided
-then it tries to open its funding url using the
-[`--browser` config](/using-npm/config#browser) param; if there are multiple
-funding sources for the package, the user will be instructed to pass the
-`--which` option to disambiguate.
-
-The list will avoid duplicated entries and will stack all packages that
-share the same url as a single entry. Thus, the list does not have the
-same shape of the output from `npm ls`.
-
-#### Example
-
-### Workspaces support
-
-It's possible to filter the results to only include a single workspace
-and its dependencies using the
-[`workspace` config](/using-npm/config#workspace) option.
-
-#### Example:
-
-Here's an example running `npm fund` in a project with a configured
-workspace `a`:
-
-```bash
-$ npm fund
-test-workspaces-fund@1.0.0
-+-- https://example.com/a
-| | `-- a@1.0.0
-| `-- https://example.com/maintainer
-| `-- foo@1.0.0
-+-- https://example.com/npmcli-funding
-| `-- @npmcli/test-funding
-`-- https://example.com/org
- `-- bar@2.0.0
-```
-
-And here is an example of the expected result when filtering only by a
-specific workspace `a` in the same project:
-
-```bash
-$ npm fund -w a
-test-workspaces-fund@1.0.0
-`-- https://example.com/a
- | `-- a@1.0.0
- `-- https://example.com/maintainer
- `-- foo@2.0.0
-```
-
-### Configuration
-
-#### `json`
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
-
-Not supported by all npm commands.
-
-
-
-#### `browser`
-
-* Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
-* Type: null, Boolean, or String
-
-The browser that is called by npm commands to open websites.
-
-Set to `false` to suppress browser behavior and instead print urls to
-terminal.
-
-Set to `true` to use default system URL opener.
-
-
-
-#### `unicode`
-
-* Default: false on windows, true on mac/unix systems with a unicode locale,
- as defined by the `LC_ALL`, `LC_CTYPE`, or `LANG` environment variables.
-* Type: Boolean
-
-When set to true, npm uses unicode characters in the tree output. When
-false, it uses ascii characters instead of unicode glyphs.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `which`
-
-* Default: null
-* Type: null or Number
-
-If there are multiple funding sources, which 1-indexed source URL to open.
-
-
-
-## See Also
-
-* [package spec](/using-npm/package-spec)
-* [npm install](/commands/npm-install)
-* [npm docs](/commands/npm-docs)
-* [npm ls](/commands/npm-ls)
-* [npm config](/commands/npm-config)
-* [npm workspaces](/using-npm/workspaces)
diff --git a/node_modules/npm/docs/content/commands/npm-help-search.md b/node_modules/npm/docs/content/commands/npm-help-search.md
deleted file mode 100644
index 5bc4602..0000000
--- a/node_modules/npm/docs/content/commands/npm-help-search.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: npm-help-search
-section: 1
-description: Search npm help documentation
----
-
-### Synopsis
-
-```bash
-npm help-search
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-This command will search the npm markdown documentation files for the terms
-provided, and then list the results, sorted by relevance.
-
-If only one result is found, then it will show that help topic.
-
-If the argument to `npm help` is not a known help topic, then it will call
-`help-search`. It is rarely if ever necessary to call this command
-directly.
-
-### Configuration
-
-#### `long`
-
-* Default: false
-* Type: Boolean
-
-Show extended information in `ls`, `search`, and `help-search`.
-
-
-
-### See Also
-
-* [npm](/commands/npm)
-* [npm help](/commands/npm-help)
diff --git a/node_modules/npm/docs/content/commands/npm-help.md b/node_modules/npm/docs/content/commands/npm-help.md
deleted file mode 100644
index bc2c876..0000000
--- a/node_modules/npm/docs/content/commands/npm-help.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: npm-help
-section: 1
-description: Get help on npm
----
-
-### Synopsis
-
-```bash
-npm help []
-
-alias: hlep
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-If supplied a topic, then show the appropriate documentation page.
-
-If the topic does not exist, or if multiple terms are provided, then npm
-will run the `help-search` command to find a match. Note that, if
-`help-search` finds a single subject, then it will run `help` on that
-topic, so unique matches are equivalent to specifying a topic name.
-
-### Configuration
-
-#### `viewer`
-
-* Default: "man" on Posix, "browser" on Windows
-* Type: String
-
-The program to use to view help content.
-
-Set to `"browser"` to view html help content in the default web browser.
-
-
-
-### See Also
-
-* [npm](/commands/npm)
-* [npm folders](/configuring-npm/folders)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
-* [package.json](/configuring-npm/package-json)
-* [npm help-search](/commands/npm-help-search)
diff --git a/node_modules/npm/docs/content/commands/npm-hook.md b/node_modules/npm/docs/content/commands/npm-hook.md
deleted file mode 100644
index 581e786..0000000
--- a/node_modules/npm/docs/content/commands/npm-hook.md
+++ /dev/null
@@ -1,112 +0,0 @@
----
-title: npm-hook
-section: 1
-description: Manage registry hooks
----
-
-### Synopsis
-
-```bash
-npm hook add [--type=]
-npm hook ls [pkg]
-npm hook rm
-npm hook update
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-Allows you to manage [npm
-hooks](https://blog.npmjs.org/post/145260155635/introducing-hooks-get-notifications-of-npm),
-including adding, removing, listing, and updating.
-
-Hooks allow you to configure URL endpoints that will be notified whenever a
-change happens to any of the supported entity types. Three different types
-of entities can be watched by hooks: packages, owners, and scopes.
-
-To create a package hook, simply reference the package name.
-
-To create an owner hook, prefix the owner name with `~` (as in,
-`~youruser`).
-
-To create a scope hook, prefix the scope name with `@` (as in,
-`@yourscope`).
-
-The hook `id` used by `update` and `rm` are the IDs listed in `npm hook ls`
-for that particular hook.
-
-The shared secret will be sent along to the URL endpoint so you can verify
-the request came from your own configured hook.
-
-### Example
-
-Add a hook to watch a package for changes:
-
-```bash
-$ npm hook add lodash https://example.com/ my-shared-secret
-```
-
-Add a hook to watch packages belonging to the user `substack`:
-
-```bash
-$ npm hook add ~substack https://example.com/ my-shared-secret
-```
-
-Add a hook to watch packages in the scope `@npm`
-
-```bash
-$ npm hook add @npm https://example.com/ my-shared-secret
-```
-
-List all your active hooks:
-
-```bash
-$ npm hook ls
-```
-
-List your active hooks for the `lodash` package:
-
-```bash
-$ npm hook ls lodash
-```
-
-Update an existing hook's url:
-
-```bash
-$ npm hook update id-deadbeef https://my-new-website.here/
-```
-
-Remove a hook:
-
-```bash
-$ npm hook rm id-deadbeef
-```
-
-### Configuration
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-#### `otp`
-
-* Default: null
-* Type: null or String
-
-This is a one-time password from a two-factor authenticator. It's needed
-when publishing or changing package permissions with `npm access`.
-
-If not set, and a registry response fails with a challenge for a one-time
-password, npm will prompt on the command line for one.
-
-
-
-### See Also
-
-* ["Introducing Hooks" blog post](https://blog.npmjs.org/post/145260155635/introducing-hooks-get-notifications-of-npm)
diff --git a/node_modules/npm/docs/content/commands/npm-init.md b/node_modules/npm/docs/content/commands/npm-init.md
deleted file mode 100644
index c4b39e6..0000000
--- a/node_modules/npm/docs/content/commands/npm-init.md
+++ /dev/null
@@ -1,349 +0,0 @@
----
-title: npm-init
-section: 1
-description: Create a package.json file
----
-
-### Synopsis
-
-```bash
-npm init (same as `npx `)
-npm init <@scope> (same as `npx <@scope>/create`)
-
-aliases: create, innit
-```
-
-### Description
-
-`npm init ` can be used to set up a new or existing npm
-package.
-
-`initializer` in this case is an npm package named `create-`,
-which will be installed by [`npm-exec`](/commands/npm-exec), and then have its
-main bin executed -- presumably creating or updating `package.json` and
-running any other initialization-related operations.
-
-The init command is transformed to a corresponding `npm exec` operation as
-follows:
-
-* `npm init foo` -> `npm exec create-foo`
-* `npm init @usr/foo` -> `npm exec @usr/create-foo`
-* `npm init @usr` -> `npm exec @usr/create`
-* `npm init @usr@2.0.0` -> `npm exec @usr/create@2.0.0`
-* `npm init @usr/foo@2.0.0` -> `npm exec @usr/create-foo@2.0.0`
-
-If the initializer is omitted (by just calling `npm init`), init will fall
-back to legacy init behavior. It will ask you a bunch of questions, and
-then write a package.json for you. It will attempt to make reasonable
-guesses based on existing fields, dependencies, and options selected. It is
-strictly additive, so it will keep any fields and values that were already
-set. You can also use `-y`/`--yes` to skip the questionnaire altogether. If
-you pass `--scope`, it will create a scoped package.
-
-*Note:* if a user already has the `create-` package
-globally installed, that will be what `npm init` uses. If you want npm
-to use the latest version, or another specific version you must specify
-it:
-
-* `npm init foo@latest` # fetches and runs the latest `create-foo` from
- the registry
-* `npm init foo@1.2.3` # runs `create-foo@1.2.3` specifically
-
-#### Forwarding additional options
-
-Any additional options will be passed directly to the command, so `npm init
-foo -- --hello` will map to `npm exec -- create-foo --hello`.
-
-To better illustrate how options are forwarded, here's a more evolved
-example showing options passed to both the **npm cli** and a create package,
-both following commands are equivalent:
-
-- `npm init foo -y --registry= -- --hello -a`
-- `npm exec -y --registry= -- create-foo --hello -a`
-
-### Examples
-
-Create a new React-based project using
-[`create-react-app`](https://npm.im/create-react-app):
-
-```bash
-$ npm init react-app ./my-react-app
-```
-
-Create a new `esm`-compatible package using
-[`create-esm`](https://npm.im/create-esm):
-
-```bash
-$ mkdir my-esm-lib && cd my-esm-lib
-$ npm init esm --yes
-```
-
-Generate a plain old package.json using legacy init:
-
-```bash
-$ mkdir my-npm-pkg && cd my-npm-pkg
-$ git init
-$ npm init
-```
-
-Generate it without having it ask any questions:
-
-```bash
-$ npm init -y
-```
-
-### Workspaces support
-
-It's possible to create a new workspace within your project by using the
-`workspace` config option. When using `npm init -w ` the cli will
-create the folders and boilerplate expected while also adding a reference
-to your project `package.json` `"workspaces": []` property in order to make
-sure that new generated **workspace** is properly set up as such.
-
-Given a project with no workspaces, e.g:
-
-```
-.
-+-- package.json
-```
-
-You may generate a new workspace using the legacy init:
-
-```bash
-$ npm init -w packages/a
-```
-
-That will generate a new folder and `package.json` file, while also updating
-your top-level `package.json` to add the reference to this new workspace:
-
-```
-.
-+-- package.json
-`-- packages
- `-- a
- `-- package.json
-```
-
-The workspaces init also supports the `npm init -w `
-syntax, following the same set of rules explained earlier in the initial
-**Description** section of this page. Similar to the previous example of
-creating a new React-based project using
-[`create-react-app`](https://npm.im/create-react-app), the following syntax
-will make sure to create the new react app as a nested **workspace** within your
-project and configure your `package.json` to recognize it as such:
-
-```bash
-npm init -w packages/my-react-app react-app .
-```
-
-This will make sure to generate your react app as expected, one important
-consideration to have in mind is that `npm exec` is going to be run in the
-context of the newly created folder for that workspace, and that's the reason
-why in this example the initializer uses the initializer name followed with a
-dot to represent the current directory in that context, e.g: `react-app .`:
-
-```
-.
-+-- package.json
-`-- packages
- +-- a
- | `-- package.json
- `-- my-react-app
- +-- README
- +-- package.json
- `-- ...
-```
-
-### Configuration
-
-#### `init-author-name`
-
-* Default: ""
-* Type: String
-
-The value `npm init` should use by default for the package author's name.
-
-
-
-#### `init-author-url`
-
-* Default: ""
-* Type: "" or URL
-
-The value `npm init` should use by default for the package author's
-homepage.
-
-
-
-#### `init-license`
-
-* Default: "ISC"
-* Type: String
-
-The value `npm init` should use by default for the package license.
-
-
-
-#### `init-module`
-
-* Default: "~/.npm-init.js"
-* Type: Path
-
-A module that will be loaded by the `npm init` command. See the
-documentation for the
-[init-package-json](https://github.com/npm/init-package-json) module for
-more information, or [npm init](/commands/npm-init).
-
-
-
-#### `init-version`
-
-* Default: "1.0.0"
-* Type: SemVer string
-
-The value that `npm init` should use by default for the package version
-number, if not already set in package.json.
-
-
-
-#### `yes`
-
-* Default: null
-* Type: null or Boolean
-
-Automatically answer "yes" to any prompts that npm might print on the
-command line.
-
-
-
-#### `force`
-
-* Default: false
-* Type: Boolean
-
-Removes various protections against unfortunate side effects, common
-mistakes, unnecessary performance degradation, and malicious input.
-
-* Allow clobbering non-npm files in global installs.
-* Allow the `npm version` command to work on an unclean git repository.
-* Allow deleting the cache folder with `npm cache clean`.
-* Allow installing packages that have an `engines` declaration requiring a
- different version of npm.
-* Allow installing packages that have an `engines` declaration requiring a
- different version of `node`, even if `--engine-strict` is enabled.
-* Allow `npm audit fix` to install modules outside your stated dependency
- range (including SemVer-major changes).
-* Allow unpublishing all versions of a published package.
-* Allow conflicting peerDependencies to be installed in the root project.
-* Implicitly set `--yes` during `npm init`.
-* Allow clobbering existing values in `npm pkg`
-* Allow unpublishing of entire packages (not just a single version).
-
-If you don't have a clear idea of what you want to do, it is strongly
-recommended that you do not use this option!
-
-
-
-#### `scope`
-
-* Default: the scope of the current project, if any, or ""
-* Type: String
-
-Associate an operation with a scope for a scoped registry.
-
-Useful when logging in to or out of a private registry:
-
-```
-# log in, linking the scope to the custom registry
-npm login --scope=@mycorp --registry=https://registry.mycorp.com
-
-# log out, removing the link and the auth token
-npm logout --scope=@mycorp
-```
-
-This will cause `@mycorp` to be mapped to the registry for future
-installation of packages specified according to the pattern
-`@mycorp/package`.
-
-This will also cause `npm init` to create a scoped package.
-
-```
-# accept all defaults, and create a package named "@foo/whatever",
-# instead of just named "whatever"
-npm init --scope=@foo --yes
-```
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces-update`
-
-* Default: true
-* Type: Boolean
-
-If set to true, the npm cli will run an update after operations that may
-possibly change the workspaces installed to the `node_modules` folder.
-
-
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-### See Also
-
-* [package spec](/using-npm/package-spec)
-* [init-package-json module](http://npm.im/init-package-json)
-* [package.json](/configuring-npm/package-json)
-* [npm version](/commands/npm-version)
-* [npm scope](/using-npm/scope)
-* [npm exec](/commands/npm-exec)
-* [npm workspaces](/using-npm/workspaces)
diff --git a/node_modules/npm/docs/content/commands/npm-install-ci-test.md b/node_modules/npm/docs/content/commands/npm-install-ci-test.md
deleted file mode 100644
index f01b997..0000000
--- a/node_modules/npm/docs/content/commands/npm-install-ci-test.md
+++ /dev/null
@@ -1,264 +0,0 @@
----
-title: npm-install-ci-test
-section: 1
-description: Install a project with a clean slate and run tests
----
-
-### Synopsis
-
-```bash
-npm install-ci-test
-
-aliases: cit, clean-install-test, sit
-```
-
-### Description
-
-This command runs `npm ci` followed immediately by `npm test`.
-
-### Configuration
-
-#### `install-strategy`
-
-* Default: "hoisted"
-* Type: "hoisted", "nested", "shallow", or "linked"
-
-Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as necessary
-within directory structure. nested: (formerly --legacy-bundling) install in
-place, no hoisting. shallow (formerly --global-style) only install direct
-deps at top-level. linked: (experimental) install in node_modules/.store,
-link in place, unhoisted.
-
-
-
-#### `legacy-bundling`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=nested`
-
-Instead of hoisting package installs in `node_modules`, install packages in
-the same manner that they are depended on. This may cause very deep
-directory structures and duplicate package installs as there is no
-de-duplicating. Sets `--install-strategy=nested`.
-
-
-
-#### `global-style`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=shallow`
-
-Only install direct dependencies in the top level `node_modules`, but hoist
-on deeper dependencies. Sets `--install-strategy=shallow`.
-
-
-
-#### `omit`
-
-* Default: 'dev' if the `NODE_ENV` environment variable is set to
- 'production', otherwise empty.
-* Type: "dev", "optional", or "peer" (can be set multiple times)
-
-Dependency types to omit from the installation tree on disk.
-
-Note that these dependencies _are_ still resolved and added to the
-`package-lock.json` or `npm-shrinkwrap.json` file. They are just not
-physically installed on disk.
-
-If a package type appears in both the `--include` and `--omit` lists, then
-it will be included.
-
-If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment
-variable will be set to `'production'` for all lifecycle scripts.
-
-
-
-#### `include`
-
-* Default:
-* Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-
-Option that allows for defining which types of dependencies to install.
-
-This is the inverse of `--omit=`.
-
-Dependency types specified in `--include` will not be omitted, regardless of
-the order in which omit/include are specified on the command-line.
-
-
-
-#### `strict-peer-deps`
-
-* Default: false
-* Type: Boolean
-
-If set to `true`, and `--legacy-peer-deps` is not set, then _any_
-conflicting `peerDependencies` will be treated as an install failure, even
-if npm could reasonably guess the appropriate resolution based on non-peer
-dependency relationships.
-
-By default, conflicting `peerDependencies` deep in the dependency graph will
-be resolved using the nearest non-peer dependency specification, even if
-doing so will result in some packages receiving a peer dependency outside
-the range set in their package's `peerDependencies` object.
-
-When such an override is performed, a warning is printed, explaining the
-conflict and the packages involved. If `--strict-peer-deps` is set, then
-this warning is treated as a failure.
-
-
-
-#### `foreground-scripts`
-
-* Default: false
-* Type: Boolean
-
-Run all build scripts (ie, `preinstall`, `install`, and `postinstall`)
-scripts for installed packages in the foreground process, sharing standard
-input, output, and error with the main npm process.
-
-Note that this will generally make installs run slower, and be much noisier,
-but can be useful for debugging.
-
-
-
-#### `ignore-scripts`
-
-* Default: false
-* Type: Boolean
-
-If true, npm does not run scripts specified in package.json files.
-
-Note that commands explicitly intended to run a particular script, such as
-`npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script`
-will still run their intended script if `ignore-scripts` is set, but they
-will *not* run any pre- or post-scripts.
-
-
-
-#### `audit`
-
-* Default: true
-* Type: Boolean
-
-When "true" submit audit reports alongside the current npm command to the
-default registry and all registries configured for scopes. See the
-documentation for [`npm audit`](/commands/npm-audit) for details on what is
-submitted.
-
-
-
-#### `bin-links`
-
-* Default: true
-* Type: Boolean
-
-Tells npm to create symlinks (or `.cmd` shims on Windows) for package
-executables.
-
-Set to false to have it not do this. This can be used to work around the
-fact that some file systems don't support symlinks, even on ostensibly Unix
-systems.
-
-
-
-#### `fund`
-
-* Default: true
-* Type: Boolean
-
-When "true" displays the message at the end of each `npm install`
-acknowledging the number of dependencies looking for funding. See [`npm
-fund`](/commands/npm-fund) for details.
-
-
-
-#### `dry-run`
-
-* Default: false
-* Type: Boolean
-
-Indicates that you don't want npm to make any changes and that it should
-only report what it would have done. This can be passed into any of the
-commands that modify your local installation, eg, `install`, `update`,
-`dedupe`, `uninstall`, as well as `pack` and `publish`.
-
-Note: This is NOT honored by other network related commands, eg `dist-tags`,
-`owner`, etc.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-#### `install-links`
-
-* Default: false
-* Type: Boolean
-
-When set file: protocol dependencies will be packed and installed as regular
-dependencies instead of creating a symlink. This option has no effect on
-workspaces.
-
-
-
-### See Also
-
-* [npm install-test](/commands/npm-install-test)
-* [npm ci](/commands/npm-ci)
-* [npm test](/commands/npm-test)
diff --git a/node_modules/npm/docs/content/commands/npm-install-test.md b/node_modules/npm/docs/content/commands/npm-install-test.md
deleted file mode 100644
index 3b94ea2..0000000
--- a/node_modules/npm/docs/content/commands/npm-install-test.md
+++ /dev/null
@@ -1,361 +0,0 @@
----
-title: npm-install-test
-section: 1
-description: Install package(s) and run tests
----
-
-### Synopsis
-
-```bash
-npm install-test [ ...]
-
-alias: it
-```
-
-### Description
-
-This command runs an `npm install` followed immediately by an `npm test`. It
-takes exactly the same arguments as `npm install`.
-
-### Configuration
-
-#### `save`
-
-* Default: `true` unless when using `npm update` where it defaults to `false`
-* Type: Boolean
-
-Save installed packages to a `package.json` file as dependencies.
-
-When used with the `npm rm` command, removes the dependency from
-`package.json`.
-
-Will also prevent writing to `package-lock.json` if set to `false`.
-
-
-
-#### `save-exact`
-
-* Default: false
-* Type: Boolean
-
-Dependencies saved to package.json will be configured with an exact version
-rather than using npm's default semver range operator.
-
-
-
-#### `global`
-
-* Default: false
-* Type: Boolean
-
-Operates in "global" mode, so that packages are installed into the `prefix`
-folder instead of the current working directory. See
-[folders](/configuring-npm/folders) for more on the differences in behavior.
-
-* packages are installed into the `{prefix}/lib/node_modules` folder, instead
- of the current working directory.
-* bin files are linked to `{prefix}/bin`
-* man pages are linked to `{prefix}/share/man`
-
-
-
-#### `install-strategy`
-
-* Default: "hoisted"
-* Type: "hoisted", "nested", "shallow", or "linked"
-
-Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as necessary
-within directory structure. nested: (formerly --legacy-bundling) install in
-place, no hoisting. shallow (formerly --global-style) only install direct
-deps at top-level. linked: (experimental) install in node_modules/.store,
-link in place, unhoisted.
-
-
-
-#### `legacy-bundling`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=nested`
-
-Instead of hoisting package installs in `node_modules`, install packages in
-the same manner that they are depended on. This may cause very deep
-directory structures and duplicate package installs as there is no
-de-duplicating. Sets `--install-strategy=nested`.
-
-
-
-#### `global-style`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=shallow`
-
-Only install direct dependencies in the top level `node_modules`, but hoist
-on deeper dependencies. Sets `--install-strategy=shallow`.
-
-
-
-#### `omit`
-
-* Default: 'dev' if the `NODE_ENV` environment variable is set to
- 'production', otherwise empty.
-* Type: "dev", "optional", or "peer" (can be set multiple times)
-
-Dependency types to omit from the installation tree on disk.
-
-Note that these dependencies _are_ still resolved and added to the
-`package-lock.json` or `npm-shrinkwrap.json` file. They are just not
-physically installed on disk.
-
-If a package type appears in both the `--include` and `--omit` lists, then
-it will be included.
-
-If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment
-variable will be set to `'production'` for all lifecycle scripts.
-
-
-
-#### `include`
-
-* Default:
-* Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-
-Option that allows for defining which types of dependencies to install.
-
-This is the inverse of `--omit=`.
-
-Dependency types specified in `--include` will not be omitted, regardless of
-the order in which omit/include are specified on the command-line.
-
-
-
-#### `strict-peer-deps`
-
-* Default: false
-* Type: Boolean
-
-If set to `true`, and `--legacy-peer-deps` is not set, then _any_
-conflicting `peerDependencies` will be treated as an install failure, even
-if npm could reasonably guess the appropriate resolution based on non-peer
-dependency relationships.
-
-By default, conflicting `peerDependencies` deep in the dependency graph will
-be resolved using the nearest non-peer dependency specification, even if
-doing so will result in some packages receiving a peer dependency outside
-the range set in their package's `peerDependencies` object.
-
-When such an override is performed, a warning is printed, explaining the
-conflict and the packages involved. If `--strict-peer-deps` is set, then
-this warning is treated as a failure.
-
-
-
-#### `prefer-dedupe`
-
-* Default: false
-* Type: Boolean
-
-Prefer to deduplicate packages if possible, rather than choosing a newer
-version of a dependency.
-
-
-
-#### `package-lock`
-
-* Default: true
-* Type: Boolean
-
-If set to false, then ignore `package-lock.json` files when installing. This
-will also prevent _writing_ `package-lock.json` if `save` is true.
-
-
-
-#### `package-lock-only`
-
-* Default: false
-* Type: Boolean
-
-If set to true, the current operation will only use the `package-lock.json`,
-ignoring `node_modules`.
-
-For `update` this means only the `package-lock.json` will be updated,
-instead of checking `node_modules` and downloading dependencies.
-
-For `list` this means the output will be based on the tree described by the
-`package-lock.json`, rather than the contents of `node_modules`.
-
-
-
-#### `foreground-scripts`
-
-* Default: false
-* Type: Boolean
-
-Run all build scripts (ie, `preinstall`, `install`, and `postinstall`)
-scripts for installed packages in the foreground process, sharing standard
-input, output, and error with the main npm process.
-
-Note that this will generally make installs run slower, and be much noisier,
-but can be useful for debugging.
-
-
-
-#### `ignore-scripts`
-
-* Default: false
-* Type: Boolean
-
-If true, npm does not run scripts specified in package.json files.
-
-Note that commands explicitly intended to run a particular script, such as
-`npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script`
-will still run their intended script if `ignore-scripts` is set, but they
-will *not* run any pre- or post-scripts.
-
-
-
-#### `audit`
-
-* Default: true
-* Type: Boolean
-
-When "true" submit audit reports alongside the current npm command to the
-default registry and all registries configured for scopes. See the
-documentation for [`npm audit`](/commands/npm-audit) for details on what is
-submitted.
-
-
-
-#### `bin-links`
-
-* Default: true
-* Type: Boolean
-
-Tells npm to create symlinks (or `.cmd` shims on Windows) for package
-executables.
-
-Set to false to have it not do this. This can be used to work around the
-fact that some file systems don't support symlinks, even on ostensibly Unix
-systems.
-
-
-
-#### `fund`
-
-* Default: true
-* Type: Boolean
-
-When "true" displays the message at the end of each `npm install`
-acknowledging the number of dependencies looking for funding. See [`npm
-fund`](/commands/npm-fund) for details.
-
-
-
-#### `dry-run`
-
-* Default: false
-* Type: Boolean
-
-Indicates that you don't want npm to make any changes and that it should
-only report what it would have done. This can be passed into any of the
-commands that modify your local installation, eg, `install`, `update`,
-`dedupe`, `uninstall`, as well as `pack` and `publish`.
-
-Note: This is NOT honored by other network related commands, eg `dist-tags`,
-`owner`, etc.
-
-
-
-#### `cpu`
-
-* Default: null
-* Type: null or String
-
-Override CPU architecture of native modules to install. Acceptable values
-are same as `cpu` field of package.json, which comes from `process.arch`.
-
-
-
-#### `os`
-
-* Default: null
-* Type: null or String
-
-Override OS of native modules to install. Acceptable values are same as `os`
-field of package.json, which comes from `process.platform`.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-#### `install-links`
-
-* Default: false
-* Type: Boolean
-
-When set file: protocol dependencies will be packed and installed as regular
-dependencies instead of creating a symlink. This option has no effect on
-workspaces.
-
-
-
-### See Also
-
-* [npm install](/commands/npm-install)
-* [npm install-ci-test](/commands/npm-install-ci-test)
-* [npm test](/commands/npm-test)
diff --git a/node_modules/npm/docs/content/commands/npm-install.md b/node_modules/npm/docs/content/commands/npm-install.md
deleted file mode 100644
index 7a181a9..0000000
--- a/node_modules/npm/docs/content/commands/npm-install.md
+++ /dev/null
@@ -1,797 +0,0 @@
----
-title: npm-install
-section: 1
-description: Install a package
----
-
-### Synopsis
-
-```bash
-npm install [ ...]
-
-aliases: add, i, in, ins, inst, insta, instal, isnt, isnta, isntal, isntall
-```
-
-### Description
-
-This command installs a package and any packages that it depends on. If the
-package has a package-lock, or an npm shrinkwrap file, or a yarn lock file,
-the installation of dependencies will be driven by that, respecting the
-following order of precedence:
-
-* `npm-shrinkwrap.json`
-* `package-lock.json`
-* `yarn.lock`
-
-See [package-lock.json](/configuring-npm/package-lock-json) and
-[`npm shrinkwrap`](/commands/npm-shrinkwrap).
-
-A `package` is:
-
-* a) a folder containing a program described by a
- [`package.json`](/configuring-npm/package-json) file
-* b) a gzipped tarball containing (a)
-* c) a url that resolves to (b)
-* d) a `@` that is published on the registry (see
- [`registry`](/using-npm/registry)) with (c)
-* e) a `@` (see [`npm dist-tag`](/commands/npm-dist-tag)) that
- points to (d)
-* f) a `` that has a "latest" tag satisfying (e)
-* g) a `` that resolves to (a)
-
-Even if you never publish your package, you can still get a lot of benefits
-of using npm if you just want to write a node program (a), and perhaps if
-you also want to be able to easily install it elsewhere after packing it up
-into a tarball (b).
-
-
-* `npm install` (in a package directory, no arguments):
-
- Install the dependencies to the local `node_modules` folder.
-
- In global mode (ie, with `-g` or `--global` appended to the command),
- it installs the current package context (ie, the current working
- directory) as a global package.
-
- By default, `npm install` will install all modules listed as
- dependencies in [`package.json`](/configuring-npm/package-json).
-
- With the `--production` flag (or when the `NODE_ENV` environment
- variable is set to `production`), npm will not install modules listed
- in `devDependencies`. To install all modules listed in both
- `dependencies` and `devDependencies` when `NODE_ENV` environment
- variable is set to `production`, you can use `--production=false`.
-
- > NOTE: The `--production` flag has no particular meaning when adding a
- dependency to a project.
-
-* `npm install `:
-
- If `` sits inside the root of your project, its dependencies will be installed and may
- be hoisted to the top-level `node_modules` as they would for other
- types of dependencies. If `` sits outside the root of your project,
- *npm will not install the package dependencies* in the directory ``,
- but it will create a symlink to ``.
-
- > NOTE: If you want to install the content of a directory like a package from the registry instead of creating a link, you would need to use the `--install-links` option.
-
- Example:
-
- ```bash
- npm install ../../other-package --install-links
- npm install ./sub-package
- ```
-
-* `npm install `:
-
- Install a package that is sitting on the filesystem. Note: if you just
- want to link a dev directory into your npm root, you can do this more
- easily by using [`npm link`](/commands/npm-link).
-
- Tarball requirements:
- * The filename *must* use `.tar`, `.tar.gz`, or `.tgz` as the
- extension.
- * The package contents should reside in a subfolder inside the tarball
- (usually it is called `package/`). npm strips one directory layer
- when installing the package (an equivalent of `tar x
- --strip-components=1` is run).
- * The package must contain a `package.json` file with `name` and
- `version` properties.
-
- Example:
-
- ```bash
- npm install ./package.tgz
- ```
-
-* `npm install `:
-
- Fetch the tarball url, and then install it. In order to distinguish between
- this and other options, the argument must start with "http://" or "https://"
-
- Example:
-
- ```bash
- npm install https://github.com/indexzero/forever/tarball/v0.5.6
- ```
-
-* `npm install [<@scope>/]`:
-
- Do a `@` install, where `` is the "tag" config. (See
- [`config`](/using-npm/config#tag). The config's default value is `latest`.)
-
- In most cases, this will install the version of the modules tagged as
- `latest` on the npm registry.
-
- Example:
-
- ```bash
- npm install sax
- ```
-
- `npm install` saves any specified packages into `dependencies` by default.
- Additionally, you can control where and how they get saved with some
- additional flags:
-
- * `-P, --save-prod`: Package will appear in your `dependencies`. This
- is the default unless `-D` or `-O` are present.
-
- * `-D, --save-dev`: Package will appear in your `devDependencies`.
-
- * `-O, --save-optional`: Package will appear in your
- `optionalDependencies`.
-
- * `--no-save`: Prevents saving to `dependencies`.
-
- When using any of the above options to save dependencies to your
- package.json, there are two additional, optional flags:
-
- * `-E, --save-exact`: Saved dependencies will be configured with an
- exact version rather than using npm's default semver range operator.
-
- * `-B, --save-bundle`: Saved dependencies will also be added to your
- `bundleDependencies` list.
-
- Further, if you have an `npm-shrinkwrap.json` or `package-lock.json`
- then it will be updated as well.
-
- `` is optional. The package will be downloaded from the registry
- associated with the specified scope. If no registry is associated with
- the given scope the default registry is assumed. See
- [`scope`](/using-npm/scope).
-
- Note: if you do not include the @-symbol on your scope name, npm will
- interpret this as a GitHub repository instead, see below. Scopes names
- must also be followed by a slash.
-
- Examples:
-
- ```bash
- npm install sax
- npm install githubname/reponame
- npm install @myorg/privatepackage
- npm install node-tap --save-dev
- npm install dtrace-provider --save-optional
- npm install readable-stream --save-exact
- npm install ansi-regex --save-bundle
- ```
-
- **Note**: If there is a file or folder named `` in the current
- working directory, then it will try to install that, and only try to
- fetch the package by name if it is not valid.
-
-* `npm install @npm:`:
-
- Install a package under a custom alias. Allows multiple versions of
- a same-name package side-by-side, more convenient import names for
- packages with otherwise long ones, and using git forks replacements
- or forked npm packages as replacements. Aliasing works only on your
- project and does not rename packages in transitive dependencies.
- Aliases should follow the naming conventions stated in
- [`validate-npm-package-name`](https://www.npmjs.com/package/validate-npm-package-name#naming-rules).
-
- Examples:
-
- ```bash
- npm install my-react@npm:react
- npm install jquery2@npm:jquery@2
- npm install jquery3@npm:jquery@3
- npm install npa@npm:npm-package-arg
- ```
-
-* `npm install [<@scope>/]@`:
-
- Install the version of the package that is referenced by the specified tag.
- If the tag does not exist in the registry data for that package, then this
- will fail.
-
- Example:
-
- ```bash
- npm install sax@latest
- npm install @myorg/mypackage@latest
- ```
-
-* `npm install [<@scope>/]@`:
-
- Install the specified version of the package. This will fail if the
- version has not been published to the registry.
-
- Example:
-
- ```bash
- npm install sax@0.1.1
- npm install @myorg/privatepackage@1.5.0
- ```
-
-* `npm install [<@scope>/]@`:
-
- Install a version of the package matching the specified version range.
- This will follow the same rules for resolving dependencies described in
- [`package.json`](/configuring-npm/package-json).
-
- Note that most version ranges must be put in quotes so that your shell
- will treat it as a single argument.
-
- Example:
-
- ```bash
- npm install sax@">=0.1.0 <0.2.0"
- npm install @myorg/privatepackage@"16 - 17"
- ```
-
-* `npm install `:
-
- Installs the package from the hosted git provider, cloning it with
- `git`. For a full git remote url, only that URL will be attempted.
-
- ```bash
- ://[[:]@][:][:][/][# | #semver:]
- ```
-
- `` is one of `git`, `git+ssh`, `git+http`, `git+https`, or
- `git+file`.
-
- If `#` is provided, it will be used to clone exactly that
- commit. If the commit-ish has the format `#semver:`, ``
- can be any valid semver range or exact version, and npm will look for
- any tags or refs matching that range in the remote repository, much as
- it would for a registry dependency. If neither `#` or
- `#semver:` is specified, then the default branch of the
- repository is used.
-
- If the repository makes use of submodules, those submodules will be
- cloned as well.
-
- If the package being installed contains a `prepare` script, its
- `dependencies` and `devDependencies` will be installed, and the prepare
- script will be run, before the package is packaged and installed.
-
- The following git environment variables are recognized by npm and will
- be added to the environment when running git:
-
- * `GIT_ASKPASS`
- * `GIT_EXEC_PATH`
- * `GIT_PROXY_COMMAND`
- * `GIT_SSH`
- * `GIT_SSH_COMMAND`
- * `GIT_SSL_CAINFO`
- * `GIT_SSL_NO_VERIFY`
-
- See the git man page for details.
-
- Examples:
-
- ```bash
- npm install git+ssh://git@github.com:npm/cli.git#v1.0.27
- npm install git+ssh://git@github.com:npm/cli#pull/273
- npm install git+ssh://git@github.com:npm/cli#semver:^5.0
- npm install git+https://isaacs@github.com/npm/cli.git
- npm install git://github.com/npm/cli.git#v1.0.27
- GIT_SSH_COMMAND='ssh -i ~/.ssh/custom_ident' npm install git+ssh://git@github.com:npm/cli.git
- ```
-
-* `npm install /[#]`:
-* `npm install github:/[#]`:
-
- Install the package at `https://github.com/githubname/githubrepo` by
- attempting to clone it using `git`.
-
- If `#` is provided, it will be used to clone exactly that
- commit. If the commit-ish has the format `#semver:`, ``
- can be any valid semver range or exact version, and npm will look for
- any tags or refs matching that range in the remote repository, much as
- it would for a registry dependency. If neither `#` or
- `#semver:` is specified, then the default branch is used.
-
- As with regular git dependencies, `dependencies` and `devDependencies`
- will be installed if the package has a `prepare` script before the
- package is done installing.
-
- Examples:
-
- ```bash
- npm install mygithubuser/myproject
- npm install github:mygithubuser/myproject
- ```
-
-* `npm install gist:[/][#|#semver:]`:
-
- Install the package at `https://gist.github.com/gistID` by attempting to
- clone it using `git`. The GitHub username associated with the gist is
- optional and will not be saved in `package.json`.
-
- As with regular git dependencies, `dependencies` and `devDependencies` will
- be installed if the package has a `prepare` script before the package is
- done installing.
-
- Example:
-
- ```bash
- npm install gist:101a11beef
- ```
-
-* `npm install bitbucket:/[#]`:
-
- Install the package at `https://bitbucket.org/bitbucketname/bitbucketrepo`
- by attempting to clone it using `git`.
-
- If `#` is provided, it will be used to clone exactly that
- commit. If the commit-ish has the format `#semver:`, `` can
- be any valid semver range or exact version, and npm will look for any tags
- or refs matching that range in the remote repository, much as it would for a
- registry dependency. If neither `#` or `#semver:` is
- specified, then `master` is used.
-
- As with regular git dependencies, `dependencies` and `devDependencies` will
- be installed if the package has a `prepare` script before the package is
- done installing.
-
- Example:
-
- ```bash
- npm install bitbucket:mybitbucketuser/myproject
- ```
-
-* `npm install gitlab:/[#]`:
-
- Install the package at `https://gitlab.com/gitlabname/gitlabrepo`
- by attempting to clone it using `git`.
-
- If `#` is provided, it will be used to clone exactly that
- commit. If the commit-ish has the format `#semver:`, `` can
- be any valid semver range or exact version, and npm will look for any tags
- or refs matching that range in the remote repository, much as it would for a
- registry dependency. If neither `#` or `#semver:` is
- specified, then `master` is used.
-
- As with regular git dependencies, `dependencies` and `devDependencies` will
- be installed if the package has a `prepare` script before the package is
- done installing.
-
- Example:
-
- ```bash
- npm install gitlab:mygitlabuser/myproject
- npm install gitlab:myusr/myproj#semver:^5.0
- ```
-
-You may combine multiple arguments and even multiple types of arguments.
-For example:
-
-```bash
-npm install sax@">=0.1.0 <0.2.0" bench supervisor
-```
-
-The `--tag` argument will apply to all of the specified install targets. If
-a tag with the given name exists, the tagged version is preferred over
-newer versions.
-
-The `--dry-run` argument will report in the usual way what the install
-would have done without actually installing anything.
-
-The `--package-lock-only` argument will only update the
-`package-lock.json`, instead of checking `node_modules` and downloading
-dependencies.
-
-The `-f` or `--force` argument will force npm to fetch remote resources
-even if a local copy exists on disk.
-
-```bash
-npm install sax --force
-```
-
-### Configuration
-
-See the [`config`](/using-npm/config) help doc. Many of the configuration
-params have some effect on installation, since that's most of what npm
-does.
-
-These are some of the most common options related to installation.
-
-#### `save`
-
-* Default: `true` unless when using `npm update` where it defaults to `false`
-* Type: Boolean
-
-Save installed packages to a `package.json` file as dependencies.
-
-When used with the `npm rm` command, removes the dependency from
-`package.json`.
-
-Will also prevent writing to `package-lock.json` if set to `false`.
-
-
-
-#### `save-exact`
-
-* Default: false
-* Type: Boolean
-
-Dependencies saved to package.json will be configured with an exact version
-rather than using npm's default semver range operator.
-
-
-
-#### `global`
-
-* Default: false
-* Type: Boolean
-
-Operates in "global" mode, so that packages are installed into the `prefix`
-folder instead of the current working directory. See
-[folders](/configuring-npm/folders) for more on the differences in behavior.
-
-* packages are installed into the `{prefix}/lib/node_modules` folder, instead
- of the current working directory.
-* bin files are linked to `{prefix}/bin`
-* man pages are linked to `{prefix}/share/man`
-
-
-
-#### `install-strategy`
-
-* Default: "hoisted"
-* Type: "hoisted", "nested", "shallow", or "linked"
-
-Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as necessary
-within directory structure. nested: (formerly --legacy-bundling) install in
-place, no hoisting. shallow (formerly --global-style) only install direct
-deps at top-level. linked: (experimental) install in node_modules/.store,
-link in place, unhoisted.
-
-
-
-#### `legacy-bundling`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=nested`
-
-Instead of hoisting package installs in `node_modules`, install packages in
-the same manner that they are depended on. This may cause very deep
-directory structures and duplicate package installs as there is no
-de-duplicating. Sets `--install-strategy=nested`.
-
-
-
-#### `global-style`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=shallow`
-
-Only install direct dependencies in the top level `node_modules`, but hoist
-on deeper dependencies. Sets `--install-strategy=shallow`.
-
-
-
-#### `omit`
-
-* Default: 'dev' if the `NODE_ENV` environment variable is set to
- 'production', otherwise empty.
-* Type: "dev", "optional", or "peer" (can be set multiple times)
-
-Dependency types to omit from the installation tree on disk.
-
-Note that these dependencies _are_ still resolved and added to the
-`package-lock.json` or `npm-shrinkwrap.json` file. They are just not
-physically installed on disk.
-
-If a package type appears in both the `--include` and `--omit` lists, then
-it will be included.
-
-If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment
-variable will be set to `'production'` for all lifecycle scripts.
-
-
-
-#### `include`
-
-* Default:
-* Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-
-Option that allows for defining which types of dependencies to install.
-
-This is the inverse of `--omit=`.
-
-Dependency types specified in `--include` will not be omitted, regardless of
-the order in which omit/include are specified on the command-line.
-
-
-
-#### `strict-peer-deps`
-
-* Default: false
-* Type: Boolean
-
-If set to `true`, and `--legacy-peer-deps` is not set, then _any_
-conflicting `peerDependencies` will be treated as an install failure, even
-if npm could reasonably guess the appropriate resolution based on non-peer
-dependency relationships.
-
-By default, conflicting `peerDependencies` deep in the dependency graph will
-be resolved using the nearest non-peer dependency specification, even if
-doing so will result in some packages receiving a peer dependency outside
-the range set in their package's `peerDependencies` object.
-
-When such an override is performed, a warning is printed, explaining the
-conflict and the packages involved. If `--strict-peer-deps` is set, then
-this warning is treated as a failure.
-
-
-
-#### `prefer-dedupe`
-
-* Default: false
-* Type: Boolean
-
-Prefer to deduplicate packages if possible, rather than choosing a newer
-version of a dependency.
-
-
-
-#### `package-lock`
-
-* Default: true
-* Type: Boolean
-
-If set to false, then ignore `package-lock.json` files when installing. This
-will also prevent _writing_ `package-lock.json` if `save` is true.
-
-
-
-#### `package-lock-only`
-
-* Default: false
-* Type: Boolean
-
-If set to true, the current operation will only use the `package-lock.json`,
-ignoring `node_modules`.
-
-For `update` this means only the `package-lock.json` will be updated,
-instead of checking `node_modules` and downloading dependencies.
-
-For `list` this means the output will be based on the tree described by the
-`package-lock.json`, rather than the contents of `node_modules`.
-
-
-
-#### `foreground-scripts`
-
-* Default: false
-* Type: Boolean
-
-Run all build scripts (ie, `preinstall`, `install`, and `postinstall`)
-scripts for installed packages in the foreground process, sharing standard
-input, output, and error with the main npm process.
-
-Note that this will generally make installs run slower, and be much noisier,
-but can be useful for debugging.
-
-
-
-#### `ignore-scripts`
-
-* Default: false
-* Type: Boolean
-
-If true, npm does not run scripts specified in package.json files.
-
-Note that commands explicitly intended to run a particular script, such as
-`npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script`
-will still run their intended script if `ignore-scripts` is set, but they
-will *not* run any pre- or post-scripts.
-
-
-
-#### `audit`
-
-* Default: true
-* Type: Boolean
-
-When "true" submit audit reports alongside the current npm command to the
-default registry and all registries configured for scopes. See the
-documentation for [`npm audit`](/commands/npm-audit) for details on what is
-submitted.
-
-
-
-#### `bin-links`
-
-* Default: true
-* Type: Boolean
-
-Tells npm to create symlinks (or `.cmd` shims on Windows) for package
-executables.
-
-Set to false to have it not do this. This can be used to work around the
-fact that some file systems don't support symlinks, even on ostensibly Unix
-systems.
-
-
-
-#### `fund`
-
-* Default: true
-* Type: Boolean
-
-When "true" displays the message at the end of each `npm install`
-acknowledging the number of dependencies looking for funding. See [`npm
-fund`](/commands/npm-fund) for details.
-
-
-
-#### `dry-run`
-
-* Default: false
-* Type: Boolean
-
-Indicates that you don't want npm to make any changes and that it should
-only report what it would have done. This can be passed into any of the
-commands that modify your local installation, eg, `install`, `update`,
-`dedupe`, `uninstall`, as well as `pack` and `publish`.
-
-Note: This is NOT honored by other network related commands, eg `dist-tags`,
-`owner`, etc.
-
-
-
-#### `cpu`
-
-* Default: null
-* Type: null or String
-
-Override CPU architecture of native modules to install. Acceptable values
-are same as `cpu` field of package.json, which comes from `process.arch`.
-
-
-
-#### `os`
-
-* Default: null
-* Type: null or String
-
-Override OS of native modules to install. Acceptable values are same as `os`
-field of package.json, which comes from `process.platform`.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-#### `install-links`
-
-* Default: false
-* Type: Boolean
-
-When set file: protocol dependencies will be packed and installed as regular
-dependencies instead of creating a symlink. This option has no effect on
-workspaces.
-
-
-
-### Algorithm
-
-Given a `package{dep}` structure: `A{B,C}, B{C}, C{D}`,
-the npm install algorithm produces:
-
-```bash
-A
-+-- B
-+-- C
-+-- D
-```
-
-That is, the dependency from B to C is satisfied by the fact that A already
-caused C to be installed at a higher level. D is still installed at the top
-level because nothing conflicts with it.
-
-For `A{B,C}, B{C,D@1}, C{D@2}`, this algorithm produces:
-
-```bash
-A
-+-- B
-+-- C
- `-- D@2
-+-- D@1
-```
-
-Because B's D@1 will be installed in the top-level, C now has to install
-D@2 privately for itself. This algorithm is deterministic, but different
-trees may be produced if two dependencies are requested for installation in
-a different order.
-
-See [folders](/configuring-npm/folders) for a more detailed description of
-the specific folder structures that npm creates.
-
-### See Also
-
-* [npm folders](/configuring-npm/folders)
-* [npm update](/commands/npm-update)
-* [npm audit](/commands/npm-audit)
-* [npm fund](/commands/npm-fund)
-* [npm link](/commands/npm-link)
-* [npm rebuild](/commands/npm-rebuild)
-* [npm scripts](/using-npm/scripts)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
-* [npm registry](/using-npm/registry)
-* [npm dist-tag](/commands/npm-dist-tag)
-* [npm uninstall](/commands/npm-uninstall)
-* [npm shrinkwrap](/commands/npm-shrinkwrap)
-* [package.json](/configuring-npm/package-json)
-* [workspaces](/using-npm/workspaces)
diff --git a/node_modules/npm/docs/content/commands/npm-link.md b/node_modules/npm/docs/content/commands/npm-link.md
deleted file mode 100644
index 34b893e..0000000
--- a/node_modules/npm/docs/content/commands/npm-link.md
+++ /dev/null
@@ -1,396 +0,0 @@
----
-title: npm-link
-section: 1
-description: Symlink a package folder
----
-
-### Synopsis
-
-```bash
-npm link []
-
-alias: ln
-```
-
-### Description
-
-This is handy for installing your own stuff, so that you can work on it and
-test iteratively without having to continually rebuild.
-
-Package linking is a two-step process.
-
-First, `npm link` in a package folder with no arguments will create a
-symlink in the global folder `{prefix}/lib/node_modules/` that
-links to the package where the `npm link` command was executed. It will
-also link any bins in the package to `{prefix}/bin/{name}`. Note that
-`npm link` uses the global prefix (see `npm prefix -g` for its value).
-
-Next, in some other location, `npm link package-name` will create a
-symbolic link from globally-installed `package-name` to `node_modules/` of
-the current folder.
-
-Note that `package-name` is taken from `package.json`, _not_ from the
-directory name.
-
-The package name can be optionally prefixed with a scope. See
-[`scope`](/using-npm/scope). The scope must be preceded by an @-symbol and
-followed by a slash.
-
-When creating tarballs for `npm publish`, the linked packages are
-"snapshotted" to their current state by resolving the symbolic links, if
-they are included in `bundleDependencies`.
-
-For example:
-
-```bash
-cd ~/projects/node-redis # go into the package directory
-npm link # creates global link
-cd ~/projects/node-bloggy # go into some other package directory.
-npm link redis # link-install the package
-```
-
-Now, any changes to `~/projects/node-redis` will be reflected in
-`~/projects/node-bloggy/node_modules/node-redis/`. Note that the link
-should be to the package name, not the directory name for that package.
-
-You may also shortcut the two steps in one. For example, to do the
-above use-case in a shorter way:
-
-```bash
-cd ~/projects/node-bloggy # go into the dir of your main project
-npm link ../node-redis # link the dir of your dependency
-```
-
-The second line is the equivalent of doing:
-
-```bash
-(cd ../node-redis; npm link)
-npm link redis
-```
-
-That is, it first creates a global link, and then links the global
-installation target into your project's `node_modules` folder.
-
-Note that in this case, you are referring to the directory name,
-`node-redis`, rather than the package name `redis`.
-
-If your linked package is scoped (see [`scope`](/using-npm/scope)) your
-link command must include that scope, e.g.
-
-```bash
-npm link @myorg/privatepackage
-```
-
-### Caveat
-
-Note that package dependencies linked in this way are _not_ saved to
-`package.json` by default, on the assumption that the intention is to have
-a link stand in for a regular non-link dependency. Otherwise, for example,
-if you depend on `redis@^3.0.1`, and ran `npm link redis`, it would replace
-the `^3.0.1` dependency with `file:../path/to/node-redis`, which you
-probably don't want! Additionally, other users or developers on your
-project would run into issues if they do not have their folders set up
-exactly the same as yours.
-
-If you are adding a _new_ dependency as a link, you should add it to the
-relevant metadata by running `npm install --package-lock-only`.
-
-If you _want_ to save the `file:` reference in your `package.json` and
-`package-lock.json` files, you can use `npm link --save` to do so.
-
-### Workspace Usage
-
-`npm link --workspace ` will link the relevant package as a
-dependency of the specified workspace(s). Note that It may actually be
-linked into the parent project's `node_modules` folder, if there are no
-conflicting dependencies.
-
-`npm link --workspace ` will create a global link to the specified
-workspace(s).
-
-### Configuration
-
-#### `save`
-
-* Default: `true` unless when using `npm update` where it defaults to `false`
-* Type: Boolean
-
-Save installed packages to a `package.json` file as dependencies.
-
-When used with the `npm rm` command, removes the dependency from
-`package.json`.
-
-Will also prevent writing to `package-lock.json` if set to `false`.
-
-
-
-#### `save-exact`
-
-* Default: false
-* Type: Boolean
-
-Dependencies saved to package.json will be configured with an exact version
-rather than using npm's default semver range operator.
-
-
-
-#### `global`
-
-* Default: false
-* Type: Boolean
-
-Operates in "global" mode, so that packages are installed into the `prefix`
-folder instead of the current working directory. See
-[folders](/configuring-npm/folders) for more on the differences in behavior.
-
-* packages are installed into the `{prefix}/lib/node_modules` folder, instead
- of the current working directory.
-* bin files are linked to `{prefix}/bin`
-* man pages are linked to `{prefix}/share/man`
-
-
-
-#### `install-strategy`
-
-* Default: "hoisted"
-* Type: "hoisted", "nested", "shallow", or "linked"
-
-Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as necessary
-within directory structure. nested: (formerly --legacy-bundling) install in
-place, no hoisting. shallow (formerly --global-style) only install direct
-deps at top-level. linked: (experimental) install in node_modules/.store,
-link in place, unhoisted.
-
-
-
-#### `legacy-bundling`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=nested`
-
-Instead of hoisting package installs in `node_modules`, install packages in
-the same manner that they are depended on. This may cause very deep
-directory structures and duplicate package installs as there is no
-de-duplicating. Sets `--install-strategy=nested`.
-
-
-
-#### `global-style`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: This option has been deprecated in favor of
- `--install-strategy=shallow`
-
-Only install direct dependencies in the top level `node_modules`, but hoist
-on deeper dependencies. Sets `--install-strategy=shallow`.
-
-
-
-#### `strict-peer-deps`
-
-* Default: false
-* Type: Boolean
-
-If set to `true`, and `--legacy-peer-deps` is not set, then _any_
-conflicting `peerDependencies` will be treated as an install failure, even
-if npm could reasonably guess the appropriate resolution based on non-peer
-dependency relationships.
-
-By default, conflicting `peerDependencies` deep in the dependency graph will
-be resolved using the nearest non-peer dependency specification, even if
-doing so will result in some packages receiving a peer dependency outside
-the range set in their package's `peerDependencies` object.
-
-When such an override is performed, a warning is printed, explaining the
-conflict and the packages involved. If `--strict-peer-deps` is set, then
-this warning is treated as a failure.
-
-
-
-#### `package-lock`
-
-* Default: true
-* Type: Boolean
-
-If set to false, then ignore `package-lock.json` files when installing. This
-will also prevent _writing_ `package-lock.json` if `save` is true.
-
-
-
-#### `omit`
-
-* Default: 'dev' if the `NODE_ENV` environment variable is set to
- 'production', otherwise empty.
-* Type: "dev", "optional", or "peer" (can be set multiple times)
-
-Dependency types to omit from the installation tree on disk.
-
-Note that these dependencies _are_ still resolved and added to the
-`package-lock.json` or `npm-shrinkwrap.json` file. They are just not
-physically installed on disk.
-
-If a package type appears in both the `--include` and `--omit` lists, then
-it will be included.
-
-If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment
-variable will be set to `'production'` for all lifecycle scripts.
-
-
-
-#### `include`
-
-* Default:
-* Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-
-Option that allows for defining which types of dependencies to install.
-
-This is the inverse of `--omit=`.
-
-Dependency types specified in `--include` will not be omitted, regardless of
-the order in which omit/include are specified on the command-line.
-
-
-
-#### `ignore-scripts`
-
-* Default: false
-* Type: Boolean
-
-If true, npm does not run scripts specified in package.json files.
-
-Note that commands explicitly intended to run a particular script, such as
-`npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script`
-will still run their intended script if `ignore-scripts` is set, but they
-will *not* run any pre- or post-scripts.
-
-
-
-#### `audit`
-
-* Default: true
-* Type: Boolean
-
-When "true" submit audit reports alongside the current npm command to the
-default registry and all registries configured for scopes. See the
-documentation for [`npm audit`](/commands/npm-audit) for details on what is
-submitted.
-
-
-
-#### `bin-links`
-
-* Default: true
-* Type: Boolean
-
-Tells npm to create symlinks (or `.cmd` shims on Windows) for package
-executables.
-
-Set to false to have it not do this. This can be used to work around the
-fact that some file systems don't support symlinks, even on ostensibly Unix
-systems.
-
-
-
-#### `fund`
-
-* Default: true
-* Type: Boolean
-
-When "true" displays the message at the end of each `npm install`
-acknowledging the number of dependencies looking for funding. See [`npm
-fund`](/commands/npm-fund) for details.
-
-
-
-#### `dry-run`
-
-* Default: false
-* Type: Boolean
-
-Indicates that you don't want npm to make any changes and that it should
-only report what it would have done. This can be passed into any of the
-commands that modify your local installation, eg, `install`, `update`,
-`dedupe`, `uninstall`, as well as `pack` and `publish`.
-
-Note: This is NOT honored by other network related commands, eg `dist-tags`,
-`owner`, etc.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-#### `install-links`
-
-* Default: false
-* Type: Boolean
-
-When set file: protocol dependencies will be packed and installed as regular
-dependencies instead of creating a symlink. This option has no effect on
-workspaces.
-
-
-
-### See Also
-
-* [package spec](/using-npm/package-spec)
-* [npm developers](/using-npm/developers)
-* [package.json](/configuring-npm/package-json)
-* [npm install](/commands/npm-install)
-* [npm folders](/configuring-npm/folders)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
diff --git a/node_modules/npm/docs/content/commands/npm-login.md b/node_modules/npm/docs/content/commands/npm-login.md
deleted file mode 100644
index 531dc71..0000000
--- a/node_modules/npm/docs/content/commands/npm-login.md
+++ /dev/null
@@ -1,93 +0,0 @@
----
-title: npm-login
-section: 1
-description: Login to a registry user account
----
-
-### Synopsis
-
-```bash
-npm login
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-Verify a user in the specified registry, and save the credentials to the
-`.npmrc` file. If no registry is specified, the default registry will be
-used (see [`config`](/using-npm/config)).
-
-When using `legacy` for your `auth-type`, the username and password, are
-read in from prompts.
-
-To reset your password, go to
-
-To change your email address, go to
-
-You may use this command multiple times with the same user account to
-authorize on a new machine. When authenticating on a new machine,
-the username, password and email address must all match with
-your existing record.
-
-### Configuration
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-#### `scope`
-
-* Default: the scope of the current project, if any, or ""
-* Type: String
-
-Associate an operation with a scope for a scoped registry.
-
-Useful when logging in to or out of a private registry:
-
-```
-# log in, linking the scope to the custom registry
-npm login --scope=@mycorp --registry=https://registry.mycorp.com
-
-# log out, removing the link and the auth token
-npm logout --scope=@mycorp
-```
-
-This will cause `@mycorp` to be mapped to the registry for future
-installation of packages specified according to the pattern
-`@mycorp/package`.
-
-This will also cause `npm init` to create a scoped package.
-
-```
-# accept all defaults, and create a package named "@foo/whatever",
-# instead of just named "whatever"
-npm init --scope=@foo --yes
-```
-
-
-
-#### `auth-type`
-
-* Default: "web"
-* Type: "legacy" or "web"
-
-What authentication strategy to use with `login`. Note that if an `otp`
-config is given, this value will always be set to `legacy`.
-
-
-
-### See Also
-
-* [npm registry](/using-npm/registry)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
-* [npm owner](/commands/npm-owner)
-* [npm whoami](/commands/npm-whoami)
-* [npm token](/commands/npm-token)
-* [npm profile](/commands/npm-profile)
diff --git a/node_modules/npm/docs/content/commands/npm-logout.md b/node_modules/npm/docs/content/commands/npm-logout.md
deleted file mode 100644
index 2d5aa3e..0000000
--- a/node_modules/npm/docs/content/commands/npm-logout.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-title: npm-logout
-section: 1
-description: Log out of the registry
----
-
-### Synopsis
-
-```bash
-npm logout
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-When logged into a registry that supports token-based authentication, tell
-the server to end this token's session. This will invalidate the token
-everywhere you're using it, not just for the current environment.
-
-When logged into a legacy registry that uses username and password
-authentication, this will clear the credentials in your user configuration.
-In this case, it will _only_ affect the current environment.
-
-If `--scope` is provided, this will find the credentials for the registry
-connected to that scope, if set.
-
-### Configuration
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-#### `scope`
-
-* Default: the scope of the current project, if any, or ""
-* Type: String
-
-Associate an operation with a scope for a scoped registry.
-
-Useful when logging in to or out of a private registry:
-
-```
-# log in, linking the scope to the custom registry
-npm login --scope=@mycorp --registry=https://registry.mycorp.com
-
-# log out, removing the link and the auth token
-npm logout --scope=@mycorp
-```
-
-This will cause `@mycorp` to be mapped to the registry for future
-installation of packages specified according to the pattern
-`@mycorp/package`.
-
-This will also cause `npm init` to create a scoped package.
-
-```
-# accept all defaults, and create a package named "@foo/whatever",
-# instead of just named "whatever"
-npm init --scope=@foo --yes
-```
-
-
-
-### See Also
-
-* [npm adduser](/commands/npm-adduser)
-* [npm registry](/using-npm/registry)
-* [npm config](/commands/npm-config)
-* [npm whoami](/commands/npm-whoami)
diff --git a/node_modules/npm/docs/content/commands/npm-ls.md b/node_modules/npm/docs/content/commands/npm-ls.md
deleted file mode 100644
index 29adf7e..0000000
--- a/node_modules/npm/docs/content/commands/npm-ls.md
+++ /dev/null
@@ -1,294 +0,0 @@
----
-title: npm-ls
-section: 1
-description: List installed packages
----
-
-### Synopsis
-
-```bash
-npm ls
-
-alias: list
-```
-
-### Description
-
-This command will print to stdout all the versions of packages that are
-installed, as well as their dependencies when `--all` is specified, in a
-tree structure.
-
-Note: to get a "bottoms up" view of why a given package is included in the
-tree at all, use [`npm explain`](/commands/npm-explain).
-
-Positional arguments are `name@version-range` identifiers, which will limit
-the results to only the paths to the packages named. Note that nested
-packages will *also* show the paths to the specified packages. For
-example, running `npm ls promzard` in npm's source tree will show:
-
-```bash
-npm@10.2.5 /path/to/npm
-└─┬ init-package-json@0.0.4
- └── promzard@0.1.5
-```
-
-It will print out extraneous, missing, and invalid packages.
-
-If a project specifies git urls for dependencies these are shown
-in parentheses after the `name@version` to make it easier for users to
-recognize potential forks of a project.
-
-The tree shown is the logical dependency tree, based on package
-dependencies, not the physical layout of your `node_modules` folder.
-
-When run as `ll` or `la`, it shows extended information by default.
-
-### Note: Design Changes Pending
-
-The `npm ls` command's output and behavior made a _ton_ of sense when npm
-created a `node_modules` folder that naively nested every dependency. In
-such a case, the logical dependency graph and physical tree of packages on
-disk would be roughly identical.
-
-With the advent of automatic install-time deduplication of dependencies in
-npm v3, the `ls` output was modified to display the logical dependency
-graph as a tree structure, since this was more useful to most users.
-However, without using `npm ls -l`, it became impossible to show _where_ a
-package was actually installed much of the time!
-
-With the advent of automatic installation of `peerDependencies` in npm v7,
-this gets even more curious, as `peerDependencies` are logically
-"underneath" their dependents in the dependency graph, but are always
-physically at or above their location on disk.
-
-Also, in the years since npm got an `ls` command (in version 0.0.2!),
-dependency graphs have gotten much larger as a general rule. Therefore, in
-order to avoid dumping an excessive amount of content to the terminal, `npm
-ls` now only shows the _top_ level dependencies, unless `--all` is
-provided.
-
-A thorough re-examination of the use cases, intention, behavior, and output
-of this command, is currently underway. Expect significant changes to at
-least the default human-readable `npm ls` output in npm v8.
-
-### Configuration
-
-#### `all`
-
-* Default: false
-* Type: Boolean
-
-When running `npm outdated` and `npm ls`, setting `--all` will show all
-outdated or installed packages, rather than only those directly depended
-upon by the current project.
-
-
-
-#### `json`
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
-
-Not supported by all npm commands.
-
-
-
-#### `long`
-
-* Default: false
-* Type: Boolean
-
-Show extended information in `ls`, `search`, and `help-search`.
-
-
-
-#### `parseable`
-
-* Default: false
-* Type: Boolean
-
-Output parseable results from commands that write to standard output. For
-`npm search`, this will be tab-separated table format.
-
-
-
-#### `global`
-
-* Default: false
-* Type: Boolean
-
-Operates in "global" mode, so that packages are installed into the `prefix`
-folder instead of the current working directory. See
-[folders](/configuring-npm/folders) for more on the differences in behavior.
-
-* packages are installed into the `{prefix}/lib/node_modules` folder, instead
- of the current working directory.
-* bin files are linked to `{prefix}/bin`
-* man pages are linked to `{prefix}/share/man`
-
-
-
-#### `depth`
-
-* Default: `Infinity` if `--all` is set, otherwise `1`
-* Type: null or Number
-
-The depth to go when recursing packages for `npm ls`.
-
-If not set, `npm ls` will show only the immediate dependencies of the root
-project. If `--all` is set, then npm will show all dependencies by default.
-
-
-
-#### `omit`
-
-* Default: 'dev' if the `NODE_ENV` environment variable is set to
- 'production', otherwise empty.
-* Type: "dev", "optional", or "peer" (can be set multiple times)
-
-Dependency types to omit from the installation tree on disk.
-
-Note that these dependencies _are_ still resolved and added to the
-`package-lock.json` or `npm-shrinkwrap.json` file. They are just not
-physically installed on disk.
-
-If a package type appears in both the `--include` and `--omit` lists, then
-it will be included.
-
-If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment
-variable will be set to `'production'` for all lifecycle scripts.
-
-
-
-#### `include`
-
-* Default:
-* Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-
-Option that allows for defining which types of dependencies to install.
-
-This is the inverse of `--omit=`.
-
-Dependency types specified in `--include` will not be omitted, regardless of
-the order in which omit/include are specified on the command-line.
-
-
-
-#### `link`
-
-* Default: false
-* Type: Boolean
-
-Used with `npm ls`, limiting output to only those packages that are linked.
-
-
-
-#### `package-lock-only`
-
-* Default: false
-* Type: Boolean
-
-If set to true, the current operation will only use the `package-lock.json`,
-ignoring `node_modules`.
-
-For `update` this means only the `package-lock.json` will be updated,
-instead of checking `node_modules` and downloading dependencies.
-
-For `list` this means the output will be based on the tree described by the
-`package-lock.json`, rather than the contents of `node_modules`.
-
-
-
-#### `unicode`
-
-* Default: false on windows, true on mac/unix systems with a unicode locale,
- as defined by the `LC_ALL`, `LC_CTYPE`, or `LANG` environment variables.
-* Type: Boolean
-
-When set to true, npm uses unicode characters in the tree output. When
-false, it uses ascii characters instead of unicode glyphs.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-#### `install-links`
-
-* Default: false
-* Type: Boolean
-
-When set file: protocol dependencies will be packed and installed as regular
-dependencies instead of creating a symlink. This option has no effect on
-workspaces.
-
-
-
-### See Also
-
-* [package spec](/using-npm/package-spec)
-* [npm explain](/commands/npm-explain)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
-* [npm folders](/configuring-npm/folders)
-* [npm explain](/commands/npm-explain)
-* [npm install](/commands/npm-install)
-* [npm link](/commands/npm-link)
-* [npm prune](/commands/npm-prune)
-* [npm outdated](/commands/npm-outdated)
-* [npm update](/commands/npm-update)
diff --git a/node_modules/npm/docs/content/commands/npm-org.md b/node_modules/npm/docs/content/commands/npm-org.md
deleted file mode 100644
index f065247..0000000
--- a/node_modules/npm/docs/content/commands/npm-org.md
+++ /dev/null
@@ -1,114 +0,0 @@
----
-title: npm-org
-section: 1
-description: Manage orgs
----
-
-### Synopsis
-
-```bash
-npm org set orgname username [developer | admin | owner]
-npm org rm orgname username
-npm org ls orgname []
-
-alias: ogr
-```
-
-Note: This command is unaware of workspaces.
-
-### Example
-
-Add a new developer to an org:
-
-```bash
-$ npm org set my-org @mx-smith
-```
-
-Add a new admin to an org (or change a developer to an admin):
-
-```bash
-$ npm org set my-org @mx-santos admin
-```
-
-Remove a user from an org:
-
-```bash
-$ npm org rm my-org mx-santos
-```
-
-List all users in an org:
-
-```bash
-$ npm org ls my-org
-```
-
-List all users in JSON format:
-
-```bash
-$ npm org ls my-org --json
-```
-
-See what role a user has in an org:
-
-```bash
-$ npm org ls my-org @mx-santos
-```
-
-### Description
-
-You can use the `npm org` commands to manage and view users of an
-organization. It supports adding and removing users, changing their roles,
-listing them, and finding specific ones and their roles.
-
-### Configuration
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-#### `otp`
-
-* Default: null
-* Type: null or String
-
-This is a one-time password from a two-factor authenticator. It's needed
-when publishing or changing package permissions with `npm access`.
-
-If not set, and a registry response fails with a challenge for a one-time
-password, npm will prompt on the command line for one.
-
-
-
-#### `json`
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
-
-Not supported by all npm commands.
-
-
-
-#### `parseable`
-
-* Default: false
-* Type: Boolean
-
-Output parseable results from commands that write to standard output. For
-`npm search`, this will be tab-separated table format.
-
-
-
-### See Also
-
-* [using orgs](/using-npm/orgs)
-* [Documentation on npm Orgs](https://docs.npmjs.com/orgs/)
diff --git a/node_modules/npm/docs/content/commands/npm-outdated.md b/node_modules/npm/docs/content/commands/npm-outdated.md
deleted file mode 100644
index b1a1c62..0000000
--- a/node_modules/npm/docs/content/commands/npm-outdated.md
+++ /dev/null
@@ -1,178 +0,0 @@
----
-title: npm-outdated
-section: 1
-description: Check for outdated packages
----
-
-### Synopsis
-
-```bash
-npm outdated [ ...]
-```
-
-### Description
-
-This command will check the registry to see if any (or, specific) installed
-packages are currently outdated.
-
-By default, only the direct dependencies of the root project and direct
-dependencies of your configured *workspaces* are shown.
-Use `--all` to find all outdated meta-dependencies as well.
-
-In the output:
-
-* `wanted` is the maximum version of the package that satisfies the semver
- range specified in `package.json`. If there's no available semver range
- (i.e. you're running `npm outdated --global`, or the package isn't
- included in `package.json`), then `wanted` shows the currently-installed
- version.
-* `latest` is the version of the package tagged as latest in the registry.
- Running `npm publish` with no special configuration will publish the
- package with a dist-tag of `latest`. This may or may not be the maximum
- version of the package, or the most-recently published version of the
- package, depending on how the package's developer manages the latest
- [dist-tag](/commands/npm-dist-tag).
-* `location` is where in the physical tree the package is located.
-* `depended by` shows which package depends on the displayed dependency
-* `package type` (when using `--long` / `-l`) tells you whether this
- package is a `dependency` or a dev/peer/optional dependency. Packages not
- included in `package.json` are always marked `dependencies`.
-* `homepage` (when using `--long` / `-l`) is the `homepage` value contained
- in the package's packument
-* Red means there's a newer version matching your semver requirements, so
- you should update now.
-* Yellow indicates that there's a newer version _above_ your semver
- requirements (usually new major, or new 0.x minor) so proceed with
- caution.
-
-### An example
-
-```bash
-$ npm outdated
-Package Current Wanted Latest Location Depended by
-glob 5.0.15 5.0.15 6.0.1 node_modules/glob dependent-package-name
-nothingness 0.0.3 git git node_modules/nothingness dependent-package-name
-npm 3.5.1 3.5.2 3.5.1 node_modules/npm dependent-package-name
-local-dev 0.0.3 linked linked local-dev dependent-package-name
-once 1.3.2 1.3.3 1.3.3 node_modules/once dependent-package-name
-```
-
-With these `dependencies`:
-```json
-{
- "glob": "^5.0.15",
- "nothingness": "github:othiym23/nothingness#master",
- "npm": "^3.5.1",
- "once": "^1.3.1"
-}
-```
-
-A few things to note:
-
-* `glob` requires `^5`, which prevents npm from installing `glob@6`, which
- is outside the semver range.
-* Git dependencies will always be reinstalled, because of how they're
- specified. The installed committish might satisfy the dependency
- specifier (if it's something immutable, like a commit SHA), or it might
- not, so `npm outdated` and `npm update` have to fetch Git repos to check.
- This is why currently doing a reinstall of a Git dependency always forces
- a new clone and install.
-* `npm@3.5.2` is marked as "wanted", but "latest" is `npm@3.5.1` because
- npm uses dist-tags to manage its `latest` and `next` release channels.
- `npm update` will install the _newest_ version, but `npm install npm`
- (with no semver range) will install whatever's tagged as `latest`.
-* `once` is just plain out of date. Reinstalling `node_modules` from
- scratch or running `npm update` will bring it up to spec.
-
-### Configuration
-
-#### `all`
-
-* Default: false
-* Type: Boolean
-
-When running `npm outdated` and `npm ls`, setting `--all` will show all
-outdated or installed packages, rather than only those directly depended
-upon by the current project.
-
-
-
-#### `json`
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
-
-Not supported by all npm commands.
-
-
-
-#### `long`
-
-* Default: false
-* Type: Boolean
-
-Show extended information in `ls`, `search`, and `help-search`.
-
-
-
-#### `parseable`
-
-* Default: false
-* Type: Boolean
-
-Output parseable results from commands that write to standard output. For
-`npm search`, this will be tab-separated table format.
-
-
-
-#### `global`
-
-* Default: false
-* Type: Boolean
-
-Operates in "global" mode, so that packages are installed into the `prefix`
-folder instead of the current working directory. See
-[folders](/configuring-npm/folders) for more on the differences in behavior.
-
-* packages are installed into the `{prefix}/lib/node_modules` folder, instead
- of the current working directory.
-* bin files are linked to `{prefix}/bin`
-* man pages are linked to `{prefix}/share/man`
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-### See Also
-
-* [package spec](/using-npm/package-spec)
-* [npm update](/commands/npm-update)
-* [npm dist-tag](/commands/npm-dist-tag)
-* [npm registry](/using-npm/registry)
-* [npm folders](/configuring-npm/folders)
-* [npm workspaces](/using-npm/workspaces)
diff --git a/node_modules/npm/docs/content/commands/npm-owner.md b/node_modules/npm/docs/content/commands/npm-owner.md
deleted file mode 100644
index cd172ad..0000000
--- a/node_modules/npm/docs/content/commands/npm-owner.md
+++ /dev/null
@@ -1,106 +0,0 @@
----
-title: npm-owner
-section: 1
-description: Manage package owners
----
-
-### Synopsis
-
-```bash
-npm owner add
-npm owner rm
-npm owner ls
-
-alias: author
-```
-
-### Description
-
-Manage ownership of published packages.
-
-* ls: List all the users who have access to modify a package and push new
- versions. Handy when you need to know who to bug for help.
-* add: Add a new user as a maintainer of a package. This user is enabled
- to modify metadata, publish new versions, and add other owners.
-* rm: Remove a user from the package owner list. This immediately revokes
- their privileges.
-
-Note that there is only one level of access. Either you can modify a package,
-or you can't. Future versions may contain more fine-grained access levels, but
-that is not implemented at this time.
-
-If you have two-factor authentication enabled with `auth-and-writes` (see
-[`npm-profile`](/commands/npm-profile)) then you'll need to go through a second factor
-flow when changing ownership or include an otp on the command line with `--otp`.
-
-### Configuration
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-#### `otp`
-
-* Default: null
-* Type: null or String
-
-This is a one-time password from a two-factor authenticator. It's needed
-when publishing or changing package permissions with `npm access`.
-
-If not set, and a registry response fails with a challenge for a one-time
-password, npm will prompt on the command line for one.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-### See Also
-
-* [package spec](/using-npm/package-spec)
-* [npm profile](/commands/npm-profile)
-* [npm publish](/commands/npm-publish)
-* [npm registry](/using-npm/registry)
-* [npm adduser](/commands/npm-adduser)
diff --git a/node_modules/npm/docs/content/commands/npm-pack.md b/node_modules/npm/docs/content/commands/npm-pack.md
deleted file mode 100644
index 2ef8597..0000000
--- a/node_modules/npm/docs/content/commands/npm-pack.md
+++ /dev/null
@@ -1,126 +0,0 @@
----
-title: npm-pack
-section: 1
-description: Create a tarball from a package
----
-
-### Synopsis
-
-```bash
-npm pack
-```
-
-### Configuration
-
-#### `dry-run`
-
-* Default: false
-* Type: Boolean
-
-Indicates that you don't want npm to make any changes and that it should
-only report what it would have done. This can be passed into any of the
-commands that modify your local installation, eg, `install`, `update`,
-`dedupe`, `uninstall`, as well as `pack` and `publish`.
-
-Note: This is NOT honored by other network related commands, eg `dist-tags`,
-`owner`, etc.
-
-
-
-#### `json`
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
-
-Not supported by all npm commands.
-
-
-
-#### `pack-destination`
-
-* Default: "."
-* Type: String
-
-Directory in which `npm pack` will save tarballs.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-### Description
-
-For anything that's installable (that is, a package folder, tarball,
-tarball url, git url, name@tag, name@version, name, or scoped name), this
-command will fetch it to the cache, copy the tarball to the current working
-directory as `-.tgz`, and then write the filenames out to
-stdout.
-
-If the same package is specified multiple times, then the file will be
-overwritten the second time.
-
-If no arguments are supplied, then npm packs the current package folder.
-
-### See Also
-
-* [package spec](/using-npm/package-spec)
-* [npm-packlist package](http://npm.im/npm-packlist)
-* [npm cache](/commands/npm-cache)
-* [npm publish](/commands/npm-publish)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
diff --git a/node_modules/npm/docs/content/commands/npm-ping.md b/node_modules/npm/docs/content/commands/npm-ping.md
deleted file mode 100644
index cc3326f..0000000
--- a/node_modules/npm/docs/content/commands/npm-ping.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: npm-ping
-section: 1
-description: Ping npm registry
----
-
-### Synopsis
-
-```bash
-npm ping
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-Ping the configured or given npm registry and verify authentication.
-If it works it will output something like:
-
-```bash
-npm notice PING https://registry.npmjs.org/
-npm notice PONG 255ms
-```
-otherwise you will get an error:
-```bash
-npm notice PING http://foo.com/
-npm ERR! code E404
-npm ERR! 404 Not Found - GET http://www.foo.com/-/ping?write=true
-```
-
-### Configuration
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-### See Also
-
-* [npm doctor](/commands/npm-doctor)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
diff --git a/node_modules/npm/docs/content/commands/npm-pkg.md b/node_modules/npm/docs/content/commands/npm-pkg.md
deleted file mode 100644
index f668c56..0000000
--- a/node_modules/npm/docs/content/commands/npm-pkg.md
+++ /dev/null
@@ -1,272 +0,0 @@
----
-title: npm-pkg
-section: 1
-description: Manages your package.json
----
-
-### Synopsis
-
-```bash
-npm pkg set = [= ...]
-npm pkg get [ [ ...]]
-npm pkg delete [ ...]
-npm pkg set [[].= ...]
-npm pkg set [[].= ...]
-npm pkg fix
-```
-
-### Description
-
-A command that automates the management of `package.json` files.
-`npm pkg` provide 3 different sub commands that allow you to modify or retrieve
-values for given object keys in your `package.json`.
-
-The syntax to retrieve and set fields is a dot separated representation of
-the nested object properties to be found within your `package.json`, it's the
-same notation used in [`npm view`](/commands/npm-view) to retrieve information
-from the registry manifest, below you can find more examples on how to use it.
-
-Returned values are always in **json** format.
-
-* `npm pkg get `
-
- Retrieves a value `key`, defined in your `package.json` file.
-
- For example, in order to retrieve the name of the current package, you
- can run:
-
- ```bash
- npm pkg get name
- ```
-
- It's also possible to retrieve multiple values at once:
-
- ```bash
- npm pkg get name version
- ```
-
- You can view child fields by separating them with a period. To retrieve
- the value of a test `script` value, you would run the following command:
-
- ```bash
- npm pkg get scripts.test
- ```
-
- For fields that are arrays, requesting a non-numeric field will return
- all of the values from the objects in the list. For example, to get all
- the contributor emails for a package, you would run:
-
- ```bash
- npm pkg get contributors.email
- ```
-
- You may also use numeric indices in square braces to specifically select
- an item in an array field. To just get the email address of the first
- contributor in the list, you can run:
-
- ```bash
- npm pkg get contributors[0].email
- ```
-
- For complex fields you can also name a property in square brackets
- to specifically select a child field. This is especially helpful
- with the exports object:
-
- ```bash
- npm pkg get "exports[.].require"
- ```
-
-* `npm pkg set =`
-
- Sets a `value` in your `package.json` based on the `field` value. When
- saving to your `package.json` file the same set of rules used during
- `npm install` and other cli commands that touches the `package.json` file
- are used, making sure to respect the existing indentation and possibly
- applying some validation prior to saving values to the file.
-
- The same syntax used to retrieve values from your package can also be used
- to define new properties or overriding existing ones, below are some
- examples of how the dot separated syntax can be used to edit your
- `package.json` file.
-
- Defining a new bin named `mynewcommand` in your `package.json` that points
- to a file `cli.js`:
-
- ```bash
- npm pkg set bin.mynewcommand=cli.js
- ```
-
- Setting multiple fields at once is also possible:
-
- ```bash
- npm pkg set description='Awesome package' engines.node='>=10'
- ```
-
- It's also possible to add to array values, for example to add a new
- contributor entry:
-
- ```bash
- npm pkg set contributors[0].name='Foo' contributors[0].email='foo@bar.ca'
- ```
-
- You may also append items to the end of an array using the special
- empty bracket notation:
-
- ```bash
- npm pkg set contributors[].name='Foo' contributors[].name='Bar'
- ```
-
- It's also possible to parse values as json prior to saving them to your
- `package.json` file, for example in order to set a `"private": true`
- property:
-
- ```bash
- npm pkg set private=true --json
- ```
-
- It also enables saving values as numbers:
-
- ```bash
- npm pkg set tap.timeout=60 --json
- ```
-
-* `npm pkg delete `
-
- Deletes a `key` from your `package.json`
-
- The same syntax used to set values from your package can also be used
- to remove existing ones. For example, in order to remove a script named
- build:
-
- ```bash
- npm pkg delete scripts.build
- ```
-
-* `npm pkg fix`
-
- Auto corrects common errors in your `package.json`. npm already
- does this during `publish`, which leads to subtle (mostly harmless)
- differences between the contents of your `package.json` file and the
- manifest that npm uses during installation.
-
-### Workspaces support
-
-You can set/get/delete items across your configured workspaces by using the
-[`workspace`](/using-npm/config#workspace) or
-[`workspaces`](/using-npm/config#workspaces) config options.
-
-For example, setting a `funding` value across all configured workspaces
-of a project:
-
-```bash
-npm pkg set funding=https://example.com --ws
-```
-
-When using `npm pkg get` to retrieve info from your configured workspaces, the
-returned result will be in a json format in which top level keys are the
-names of each workspace, the values of these keys will be the result values
-returned from each of the configured workspaces, e.g:
-
-```
-npm pkg get name version --ws
-{
- "a": {
- "name": "a",
- "version": "1.0.0"
- },
- "b": {
- "name": "b",
- "version": "1.0.0"
- }
-}
-```
-
-### Configuration
-
-#### `force`
-
-* Default: false
-* Type: Boolean
-
-Removes various protections against unfortunate side effects, common
-mistakes, unnecessary performance degradation, and malicious input.
-
-* Allow clobbering non-npm files in global installs.
-* Allow the `npm version` command to work on an unclean git repository.
-* Allow deleting the cache folder with `npm cache clean`.
-* Allow installing packages that have an `engines` declaration requiring a
- different version of npm.
-* Allow installing packages that have an `engines` declaration requiring a
- different version of `node`, even if `--engine-strict` is enabled.
-* Allow `npm audit fix` to install modules outside your stated dependency
- range (including SemVer-major changes).
-* Allow unpublishing all versions of a published package.
-* Allow conflicting peerDependencies to be installed in the root project.
-* Implicitly set `--yes` during `npm init`.
-* Allow clobbering existing values in `npm pkg`
-* Allow unpublishing of entire packages (not just a single version).
-
-If you don't have a clear idea of what you want to do, it is strongly
-recommended that you do not use this option!
-
-
-
-#### `json`
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
-
-Not supported by all npm commands.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-## See Also
-
-* [npm install](/commands/npm-install)
-* [npm init](/commands/npm-init)
-* [npm config](/commands/npm-config)
-* [workspaces](/using-npm/workspaces)
diff --git a/node_modules/npm/docs/content/commands/npm-prefix.md b/node_modules/npm/docs/content/commands/npm-prefix.md
deleted file mode 100644
index 7718ed3..0000000
--- a/node_modules/npm/docs/content/commands/npm-prefix.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-title: npm-prefix
-section: 1
-description: Display prefix
----
-
-### Synopsis
-
-```bash
-npm prefix [-g]
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-Print the local prefix to standard output. This is the closest parent directory
-to contain a `package.json` file or `node_modules` directory, unless `-g` is
-also specified.
-
-If `-g` is specified, this will be the value of the global prefix. See
-[`npm config`](/commands/npm-config) for more detail.
-
-### Example
-
-```bash
-npm prefix
-/usr/local/projects/foo
-```
-
-```bash
-npm prefix -g
-/usr/local
-```
-
-### Configuration
-
-#### `global`
-
-* Default: false
-* Type: Boolean
-
-Operates in "global" mode, so that packages are installed into the `prefix`
-folder instead of the current working directory. See
-[folders](/configuring-npm/folders) for more on the differences in behavior.
-
-* packages are installed into the `{prefix}/lib/node_modules` folder, instead
- of the current working directory.
-* bin files are linked to `{prefix}/bin`
-* man pages are linked to `{prefix}/share/man`
-
-
-
-### See Also
-
-* [npm root](/commands/npm-root)
-* [npm folders](/configuring-npm/folders)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
diff --git a/node_modules/npm/docs/content/commands/npm-profile.md b/node_modules/npm/docs/content/commands/npm-profile.md
deleted file mode 100644
index d048532..0000000
--- a/node_modules/npm/docs/content/commands/npm-profile.md
+++ /dev/null
@@ -1,131 +0,0 @@
----
-title: npm-profile
-section: 1
-description: Change settings on your registry profile
----
-
-### Synopsis
-
-```bash
-npm profile enable-2fa [auth-only|auth-and-writes]
-npm profile disable-2fa
-npm profile get []
-npm profile set
-```
-
-Note: This command is unaware of workspaces.
-
-### Description
-
-Change your profile information on the registry. Note that this command
-depends on the registry implementation, so third-party registries may not
-support this interface.
-
-* `npm profile get []`: Display all of the properties of your
- profile, or one or more specific properties. It looks like:
-
-```bash
-+-----------------+---------------------------+
-| name | example |
-+-----------------+---------------------------+
-| email | me@example.com (verified) |
-+-----------------+---------------------------+
-| two factor auth | auth-and-writes |
-+-----------------+---------------------------+
-| fullname | Example User |
-+-----------------+---------------------------+
-| homepage | |
-+-----------------+---------------------------+
-| freenode | |
-+-----------------+---------------------------+
-| twitter | |
-+-----------------+---------------------------+
-| github | |
-+-----------------+---------------------------+
-| created | 2015-02-26T01:38:35.892Z |
-+-----------------+---------------------------+
-| updated | 2017-10-02T21:29:45.922Z |
-+-----------------+---------------------------+
-```
-
-* `npm profile set `: Set the value of a profile
- property. You can set the following properties this way: email, fullname,
- homepage, freenode, twitter, github
-
-* `npm profile set password`: Change your password. This is interactive,
- you'll be prompted for your current password and a new password. You'll
- also be prompted for an OTP if you have two-factor authentication
- enabled.
-
-* `npm profile enable-2fa [auth-and-writes|auth-only]`: Enables two-factor
- authentication. Defaults to `auth-and-writes` mode. Modes are:
- * `auth-only`: Require an OTP when logging in or making changes to your
- account's authentication. The OTP will be required on both the website
- and the command line.
- * `auth-and-writes`: Requires an OTP at all the times `auth-only` does,
- and also requires one when publishing a module, setting the `latest`
- dist-tag, or changing access via `npm access` and `npm owner`.
-
-* `npm profile disable-2fa`: Disables two-factor authentication.
-
-### Details
-
-Some of these commands may not be available on non npmjs.com registries.
-
-### Configuration
-
-#### `registry`
-
-* Default: "https://registry.npmjs.org/"
-* Type: URL
-
-The base URL of the npm registry.
-
-
-
-#### `json`
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
-
-Not supported by all npm commands.
-
-
-
-#### `parseable`
-
-* Default: false
-* Type: Boolean
-
-Output parseable results from commands that write to standard output. For
-`npm search`, this will be tab-separated table format.
-
-
-
-#### `otp`
-
-* Default: null
-* Type: null or String
-
-This is a one-time password from a two-factor authenticator. It's needed
-when publishing or changing package permissions with `npm access`.
-
-If not set, and a registry response fails with a challenge for a one-time
-password, npm will prompt on the command line for one.
-
-
-
-### See Also
-
-* [npm adduser](/commands/npm-adduser)
-* [npm registry](/using-npm/registry)
-* [npm config](/commands/npm-config)
-* [npmrc](/configuring-npm/npmrc)
-* [npm owner](/commands/npm-owner)
-* [npm whoami](/commands/npm-whoami)
-* [npm token](/commands/npm-token)
diff --git a/node_modules/npm/docs/content/commands/npm-prune.md b/node_modules/npm/docs/content/commands/npm-prune.md
deleted file mode 100644
index d195eb6..0000000
--- a/node_modules/npm/docs/content/commands/npm-prune.md
+++ /dev/null
@@ -1,196 +0,0 @@
----
-title: npm-prune
-section: 1
-description: Remove extraneous packages
----
-
-### Synopsis
-
-```bash
-npm prune [[<@scope>/]...]
-```
-
-### Description
-
-This command removes "extraneous" packages. If a package name is provided,
-then only packages matching one of the supplied names are removed.
-
-Extraneous packages are those present in the `node_modules` folder that are
-not listed as any package's dependency list.
-
-If the `--omit=dev` flag is specified or the `NODE_ENV` environment
-variable is set to `production`, this command will remove the packages
-specified in your `devDependencies`.
-
-If the `--dry-run` flag is used then no changes will actually be made.
-
-If the `--json` flag is used, then the changes `npm prune` made (or would
-have made with `--dry-run`) are printed as a JSON object.
-
-In normal operation, extraneous modules are pruned automatically, so you'll
-only need this command with the `--production` flag. However, in the real
-world, operation is not always "normal". When crashes or mistakes happen,
-this command can help clean up any resulting garbage.
-
-### Configuration
-
-#### `omit`
-
-* Default: 'dev' if the `NODE_ENV` environment variable is set to
- 'production', otherwise empty.
-* Type: "dev", "optional", or "peer" (can be set multiple times)
-
-Dependency types to omit from the installation tree on disk.
-
-Note that these dependencies _are_ still resolved and added to the
-`package-lock.json` or `npm-shrinkwrap.json` file. They are just not
-physically installed on disk.
-
-If a package type appears in both the `--include` and `--omit` lists, then
-it will be included.
-
-If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment
-variable will be set to `'production'` for all lifecycle scripts.
-
-
-
-#### `include`
-
-* Default:
-* Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-
-Option that allows for defining which types of dependencies to install.
-
-This is the inverse of `--omit=`.
-
-Dependency types specified in `--include` will not be omitted, regardless of
-the order in which omit/include are specified on the command-line.
-
-
-
-#### `dry-run`
-
-* Default: false
-* Type: Boolean
-
-Indicates that you don't want npm to make any changes and that it should
-only report what it would have done. This can be passed into any of the
-commands that modify your local installation, eg, `install`, `update`,
-`dedupe`, `uninstall`, as well as `pack` and `publish`.
-
-Note: This is NOT honored by other network related commands, eg `dist-tags`,
-`owner`, etc.
-
-
-
-#### `json`
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
-
-Not supported by all npm commands.
-
-
-
-#### `foreground-scripts`
-
-* Default: false
-* Type: Boolean
-
-Run all build scripts (ie, `preinstall`, `install`, and `postinstall`)
-scripts for installed packages in the foreground process, sharing standard
-input, output, and error with the main npm process.
-
-Note that this will generally make installs run slower, and be much noisier,
-but can be useful for debugging.
-
-
-
-#### `ignore-scripts`
-
-* Default: false
-* Type: Boolean
-
-If true, npm does not run scripts specified in package.json files.
-
-Note that commands explicitly intended to run a particular script, such as
-`npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script`
-will still run their intended script if `ignore-scripts` is set, but they
-will *not* run any pre- or post-scripts.
-
-
-
-#### `workspace`
-
-* Default:
-* Type: String (can be set multiple times)
-
-Enable running a command in the context of the configured workspaces of the
-current project while filtering by running only the workspaces defined by
-this configuration option.
-
-Valid values for the `workspace` config are either:
-
-* Workspace names
-* Path to a workspace directory
-* Path to a parent workspace directory (will result in selecting all
- workspaces within that folder)
-
-When set for the `npm init` command, this may be set to the folder of a
-workspace which does not yet exist, to create the folder and set it up as a
-brand new workspace within the project.
-
-This value is not exported to the environment for child processes.
-
-#### `workspaces`
-
-* Default: null
-* Type: null or Boolean
-
-Set to true to run the command in the context of **all** configured
-workspaces.
-
-Explicitly setting this to false will cause commands like `install` to
-ignore workspaces altogether. When not set explicitly:
-
-- Commands that operate on the `node_modules` tree (install, update, etc.)
-will link workspaces into the `node_modules` folder. - Commands that do
-other things (test, exec, publish, etc.) will operate on the root project,
-_unless_ one or more workspaces are specified in the `workspace` config.
-
-This value is not exported to the environment for child processes.
-
-#### `include-workspace-root`
-
-* Default: false
-* Type: Boolean
-
-Include the workspace root when workspaces are enabled for a command.
-
-When false, specifying individual workspaces via the `workspace` config, or
-all workspaces via the `workspaces` flag, will cause npm to operate only on
-the specified workspaces, and not on the root project.
-
-This value is not exported to the environment for child processes.
-
-#### `install-links`
-
-* Default: false
-* Type: Boolean
-
-When set file: protocol dependencies will be packed and installed as regular
-dependencies instead of creating a symlink. This option has no effect on
-workspaces.
-
-
-
-### See Also
-
-* [npm uninstall](/commands/npm-uninstall)
-* [npm folders](/configuring-npm/folders)
-* [npm ls](/commands/npm-ls)
diff --git a/node_modules/npm/docs/content/commands/npm-publish.md b/node_modules/npm/docs/content/commands/npm-publish.md
deleted file mode 100644
index 0e18cdd..0000000
--- a/node_modules/npm/docs/content/commands/npm-publish.md
+++ /dev/null
@@ -1,235 +0,0 @@
----
-title: npm-publish
-section: 1
-description: Publish a package
----
-
-### Synopsis
-
-```bash
-npm publish
-```
-
-### Description
-
-Publishes a package to the registry so that it can be installed by name.
-
-By default npm will publish to the public registry. This can be
-overridden by specifying a different default registry or using a
-[`scope`](/using-npm/scope) in the name, combined with a
-scope-configured registry (see
-[`package.json`](/configuring-npm/package-json)).
-
-
-A `package` is interpreted the same way as other commands (like
-`npm install` and can be:
-
-* a) a folder containing a program described by a
- [`package.json`](/configuring-npm/package-json) file
-* b) a gzipped tarball containing (a)
-* c) a url that resolves to (b)
-* d) a `