├── .eslintrc.json ├── .gitignore ├── LICENSE ├── README.md ├── bower.json ├── dist └── jquery-time-duration-picker.min.js ├── example └── index.html ├── package-lock.json ├── package.json ├── src └── jquery-time-duration-picker.js └── tests ├── index.html └── tests.js /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["jquery"], 3 | "env": { 4 | "browser": true, 5 | "jquery": true 6 | }, 7 | "rules": { 8 | "func-names": 0 9 | }, 10 | "globals": { 11 | "QUnit": true 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /bower_components 2 | /node_modules 3 | yarn.lock 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # jquery-time-duration-picker 2 | 3 | [![npm](https://img.shields.io/npm/v/jquery-time-duration-picker)](https://www.npmjs.com/package/jquery-time-duration-picker) 4 | 5 | jQuery-UI browser widget for duration selection. 6 | 7 | ## Installation 8 | 9 | Using npm: 10 | 11 | ``` 12 | npm install jquery-time-duration-picker 13 | ``` 14 | 15 | Using bower: 16 | 17 | ``` 18 | bower install jquery-time-duration-picker 19 | ``` 20 | **Bower is not supported anymore, last published version is 2.2.5.** 21 | 22 | ## Getting started 23 | 24 | See this [demo page](https://digaev.github.io/jquery-time-duration-picker/) or this [example](https://github.com/digaev/jquery-time-duration-picker/blob/master/example/index.html). 25 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-time-duration-picker", 3 | "version": "2.2.5", 4 | "description": "jQuery-UI browser widget for duration selection", 5 | "main": "src/jquery-time-duration-picker.js", 6 | "authors": [ 7 | "Nikolay Digaev " 8 | ], 9 | "license": "MIT", 10 | "keywords": [ 11 | "date", 12 | "time", 13 | "duration", 14 | "picker", 15 | "jquery" 16 | ], 17 | "homepage": "https://github.com/digaev/jquery-time-duration-picker", 18 | "ignore": [ 19 | "**/.*", 20 | "node_modules", 21 | "bower_components", 22 | "test", 23 | "tests" 24 | ], 25 | "dependencies": { 26 | "jquery": ">=2.1.4", 27 | "jquery-ui": ">=1.11.4" 28 | }, 29 | "devDependencies": { 30 | "qunit": "^2.0.1" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /dist/jquery-time-duration-picker.min.js: -------------------------------------------------------------------------------- 1 | (function($){var defaults={lang:"en_US",css:{position:"absolute"},years:true,months:true,days:true,hours:true,minutes:true,seconds:false};$.timeDurationPicker={defaults:function(options){var opts=$.extend(true,{},defaults,options);if(options){defaults=opts}else{return opts}},langs:{en_US:{years:"Years",months:"Months",days:"Days",hours:"Hours",minutes:"Minutes",seconds:"Seconds",and:"and",button_ok:"OK",units:{year:{one:"year",other:"years"},month:{one:"month",other:"months"},day:{one:"day",other:"days"},hour:{one:"hour",other:"hours"},minute:{one:"minute",other:"minutes"},second:{one:"second",other:"seconds"}}}},i18n:{t:function(lang,key,count){if(count){key+="."+this.pluralRules[lang](count)}var keys=key.split(".");var text=$.timeDurationPicker.langs[lang][keys[0]];for(var i=1;i");this._content.div.addClass("ui-widget ui-widget-content ui-helper-clearfix ui-corner-all");this._content.div.addClass("time-duration-picker-content");this._content.div.css($.extend({display:"none","z-index":401},this.options.css));this._content.div.appendTo(document.body);this._content.table=$("
").appendTo(this._content.div);this._content.tableBody=$("tbody",this._content.table);this._content.button=$("").val(this._t("button_ok"));this._content.button.addClass("ui-button ui-widget ui-state-default ui-corner-all");this._content.button.css({display:"block",margin:"0.5em auto",padding:"0.5em 1em"});this._content.button.hover(function(){$(this).addClass("ui-state-hover")},function(){$(this).removeClass("ui-state-hover")});this._content.button.on("click",function(){self._content.div.fadeOut();self.save();if(self.options.onSelect){self.options.onSelect.call(self,self.element,self.getSeconds(),self.getDuration(),self.translate())}});this._content.button.appendTo(this._content.div);this._initUnits();instances.push(this)},_destroy:function(){var i=instances.indexOf(this);if(i>-1){instances.splice(i,1)}this._content.div.remove()},_initUnits:function(){var units=["years","months","days","hours","minutes","seconds"];for(var i=0;i");value=parseInt(value,10);min=parseInt(min,10);max=parseInt(max,10);input.css({display:"block",width:"3.5em"});if(!isNaN(value)){input.attr("value",value)}if(!isNaN(min)){input.attr("min",min)}if(!isNaN(max)){input.attr("max",max)}return input},_appendRow:function(text,el){var row=$("").appendTo(this._content.tableBody);$("").css({width:"50%",padding:".5em 1em","text-align":"right","vertical-align":"middle"}).append($("").text(text)).appendTo(row);$("").css({width:"50%",padding:".5em 1em","text-align":"right","vertical-align":"middle"}).append(el).appendTo(row)},_t:function(key,count){return $.timeDurationPicker.i18n.t(this.options.lang,key,count)},save:function(){this._duration={};if(this.options.years){this._duration.years=this.years()}if(this.options.months){this._duration.months=this.months()}if(this.options.days){this._duration.days=this.days()}if(this.options.hours){this._duration.hours=this.hours()}if(this.options.minutes){this._duration.minutes=this.minutes()}if(this.options.seconds){this._duration.seconds=this.seconds()}},restore:function(){if(!this._duration){this._duration={}}if(this.options.years){this.years(this._duration.years||0)}if(this.options.months){this.months(this._duration.months||0)}if(this.options.days){this.days(this._duration.days||0)}if(this.options.hours){this.hours(this._duration.hours||0)}if(this.options.minutes){this.minutes(this._duration.minutes||0)}if(this.options.seconds){this.seconds(this._duration.seconds||0)}},seconds:function(val){if(!isNaN(val=parseInt(val,10))){this._content.seconds.val(val)}else{return parseInt(this._content.seconds.val(),10)}},minutes:function(val){if(!isNaN(val=parseInt(val,10))){this._content.minutes.val(val)}else{return parseInt(this._content.minutes.val(),10)}},hours:function(val){if(!isNaN(val=parseInt(val,10))){this._content.hours.val(val)}else{return parseInt(this._content.hours.val(),10)}},days:function(val){if(!isNaN(val=parseInt(val,10))){this._content.days.val(val)}else{return parseInt(this._content.days.val(),10)}},months:function(val){if(!isNaN(val=parseInt(val,10))){this._content.months.val(val)}else{return parseInt(this._content.months.val(),10)}},years:function(val){if(!isNaN(val=parseInt(val,10))){this._content.years.val(val)}else{return parseInt(this._content.years.val(),10)}},getDuration:function(){var duration="P";if(this.options.years&&this.years()){duration+=this.years()+"Y"}if(this.options.months&&this.months()){duration+=this.months()+"M"}if(this.options.days&&this.days()){duration+=this.days()+"D"}if(this.options.hours||this.options.minutes||this.options.seconds){duration+="T"}if(this.options.hours&&this.hours()){duration+=this.hours()+"H"}if(this.options.minutes&&this.minutes()){duration+=this.minutes()+"M"}if(this.options.seconds&&this.seconds()){duration+=this.seconds()+"S"}if(duration[duration.length-1]==="T"){duration=duration.substr(0,duration.length-1)}return duration==="P"?"PT0S":duration},setDuration:function(value){var formats=[{re:/^P((\d+)Y)?((\d+)M)?((\d+)D)?(T((\d+)H)?((\d+)M)?((\d+)S)?)?$/,parse:function(value){var matches=this.re.exec(value);for(var i=2;i=12){i=0}value-=i*MONTH;this._content.months.val(i)}if(this.options.days){i=Math.floor(value/DAY);if(i>=30){i=0}value-=i*DAY;this._content.days.val(i)}if(this.options.hours){i=Math.floor(value/HOUR);if(i>=24){i=0}value-=i*HOUR;this._content.hours.val(i)}if(this.options.minutes){i=Math.floor(value/MINUTE);if(i>=60){i=0}value-=i*MINUTE;this._content.minutes.val(i)}if(this.options.seconds){i=Math.floor(value);if(i>=60){i=0}this._content.seconds.val(i)}},getSeconds:function(){var seconds=0;if(this.options.seconds){seconds+=this.seconds()}if(this.options.minutes){seconds+=this.minutes()*MINUTE}if(this.options.hours){seconds+=this.hours()*HOUR}if(this.options.days){seconds+=this.days()*DAY}if(this.options.months){seconds+=this.months()*MONTH}if(this.options.years){seconds+=this.years()*YEAR}return seconds},translate:function(){var units=[];if(this.options.years&&this.years()>0){units.push(this._t("units.year",this.years()))}if(this.options.months&&this.months()>0){units.push(this._t("units.month",this.months()))}if(this.options.days&&this.days()>0){units.push(this._t("units.day",this.days()))}if(this.options.hours&&this.hours()>0){units.push(this._t("units.hour",this.hours()))}if(this.options.minutes&&this.minutes()>0){units.push(this._t("units.minute",this.minutes()))}if(this.options.seconds&&this.seconds()>0){units.push(this._t("units.second",this.seconds()))}var last="";if(units.length>1){last=" "+this._t("and")+" "+units.pop()}return units.join(", ")+last}})})(jQuery); -------------------------------------------------------------------------------- /example/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jQuery Time Duration Picker Example 6 | 7 | 15 | 16 | 17 |
18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-time-duration-picker", 3 | "version": "2.2.7", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "jquery-time-duration-picker", 9 | "version": "2.2.7", 10 | "license": "MIT", 11 | "devDependencies": { 12 | "eslint": "^5.16.0", 13 | "eslint-config-jquery": "^2.0.0", 14 | "qunit": "^2.18.1", 15 | "uglify-js": "^3.6.0" 16 | } 17 | }, 18 | "node_modules/@babel/code-frame": { 19 | "version": "7.16.7", 20 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 21 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 22 | "dev": true, 23 | "dependencies": { 24 | "@babel/highlight": "^7.16.7" 25 | }, 26 | "engines": { 27 | "node": ">=6.9.0" 28 | } 29 | }, 30 | "node_modules/@babel/helper-validator-identifier": { 31 | "version": "7.16.7", 32 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 33 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", 34 | "dev": true, 35 | "engines": { 36 | "node": ">=6.9.0" 37 | } 38 | }, 39 | "node_modules/@babel/highlight": { 40 | "version": "7.17.9", 41 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", 42 | "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", 43 | "dev": true, 44 | "dependencies": { 45 | "@babel/helper-validator-identifier": "^7.16.7", 46 | "chalk": "^2.0.0", 47 | "js-tokens": "^4.0.0" 48 | }, 49 | "engines": { 50 | "node": ">=6.9.0" 51 | } 52 | }, 53 | "node_modules/acorn": { 54 | "version": "6.4.2", 55 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", 56 | "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", 57 | "dev": true, 58 | "bin": { 59 | "acorn": "bin/acorn" 60 | }, 61 | "engines": { 62 | "node": ">=0.4.0" 63 | } 64 | }, 65 | "node_modules/acorn-jsx": { 66 | "version": "5.3.2", 67 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 68 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 69 | "dev": true, 70 | "peerDependencies": { 71 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" 72 | } 73 | }, 74 | "node_modules/ajv": { 75 | "version": "6.12.6", 76 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 77 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 78 | "dev": true, 79 | "dependencies": { 80 | "fast-deep-equal": "^3.1.1", 81 | "fast-json-stable-stringify": "^2.0.0", 82 | "json-schema-traverse": "^0.4.1", 83 | "uri-js": "^4.2.2" 84 | }, 85 | "funding": { 86 | "type": "github", 87 | "url": "https://github.com/sponsors/epoberezkin" 88 | } 89 | }, 90 | "node_modules/ansi-escapes": { 91 | "version": "3.2.0", 92 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", 93 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", 94 | "dev": true, 95 | "engines": { 96 | "node": ">=4" 97 | } 98 | }, 99 | "node_modules/ansi-regex": { 100 | "version": "3.0.1", 101 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", 102 | "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", 103 | "dev": true, 104 | "engines": { 105 | "node": ">=4" 106 | } 107 | }, 108 | "node_modules/ansi-styles": { 109 | "version": "3.2.1", 110 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 111 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 112 | "dev": true, 113 | "dependencies": { 114 | "color-convert": "^1.9.0" 115 | }, 116 | "engines": { 117 | "node": ">=4" 118 | } 119 | }, 120 | "node_modules/argparse": { 121 | "version": "1.0.10", 122 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 123 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 124 | "dev": true, 125 | "dependencies": { 126 | "sprintf-js": "~1.0.2" 127 | } 128 | }, 129 | "node_modules/astral-regex": { 130 | "version": "1.0.0", 131 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 132 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 133 | "dev": true, 134 | "engines": { 135 | "node": ">=4" 136 | } 137 | }, 138 | "node_modules/balanced-match": { 139 | "version": "1.0.2", 140 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 141 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 142 | "dev": true 143 | }, 144 | "node_modules/brace-expansion": { 145 | "version": "1.1.11", 146 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 147 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 148 | "dev": true, 149 | "dependencies": { 150 | "balanced-match": "^1.0.0", 151 | "concat-map": "0.0.1" 152 | } 153 | }, 154 | "node_modules/callsites": { 155 | "version": "3.1.0", 156 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 157 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 158 | "dev": true, 159 | "engines": { 160 | "node": ">=6" 161 | } 162 | }, 163 | "node_modules/chalk": { 164 | "version": "2.4.2", 165 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 166 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 167 | "dev": true, 168 | "dependencies": { 169 | "ansi-styles": "^3.2.1", 170 | "escape-string-regexp": "^1.0.5", 171 | "supports-color": "^5.3.0" 172 | }, 173 | "engines": { 174 | "node": ">=4" 175 | } 176 | }, 177 | "node_modules/chardet": { 178 | "version": "0.7.0", 179 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 180 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", 181 | "dev": true 182 | }, 183 | "node_modules/cli-cursor": { 184 | "version": "2.1.0", 185 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 186 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 187 | "dev": true, 188 | "dependencies": { 189 | "restore-cursor": "^2.0.0" 190 | }, 191 | "engines": { 192 | "node": ">=4" 193 | } 194 | }, 195 | "node_modules/cli-width": { 196 | "version": "2.2.1", 197 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", 198 | "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", 199 | "dev": true 200 | }, 201 | "node_modules/color-convert": { 202 | "version": "1.9.3", 203 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 204 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 205 | "dev": true, 206 | "dependencies": { 207 | "color-name": "1.1.3" 208 | } 209 | }, 210 | "node_modules/color-name": { 211 | "version": "1.1.3", 212 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 213 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 214 | "dev": true 215 | }, 216 | "node_modules/commander": { 217 | "version": "7.2.0", 218 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", 219 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", 220 | "dev": true, 221 | "engines": { 222 | "node": ">= 10" 223 | } 224 | }, 225 | "node_modules/concat-map": { 226 | "version": "0.0.1", 227 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 228 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 229 | "dev": true 230 | }, 231 | "node_modules/cross-spawn": { 232 | "version": "6.0.5", 233 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 234 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 235 | "dev": true, 236 | "dependencies": { 237 | "nice-try": "^1.0.4", 238 | "path-key": "^2.0.1", 239 | "semver": "^5.5.0", 240 | "shebang-command": "^1.2.0", 241 | "which": "^1.2.9" 242 | }, 243 | "engines": { 244 | "node": ">=4.8" 245 | } 246 | }, 247 | "node_modules/debug": { 248 | "version": "4.3.4", 249 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 250 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 251 | "dev": true, 252 | "dependencies": { 253 | "ms": "2.1.2" 254 | }, 255 | "engines": { 256 | "node": ">=6.0" 257 | }, 258 | "peerDependenciesMeta": { 259 | "supports-color": { 260 | "optional": true 261 | } 262 | } 263 | }, 264 | "node_modules/deep-is": { 265 | "version": "0.1.4", 266 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 267 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 268 | "dev": true 269 | }, 270 | "node_modules/doctrine": { 271 | "version": "3.0.0", 272 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 273 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 274 | "dev": true, 275 | "dependencies": { 276 | "esutils": "^2.0.2" 277 | }, 278 | "engines": { 279 | "node": ">=6.0.0" 280 | } 281 | }, 282 | "node_modules/emoji-regex": { 283 | "version": "7.0.3", 284 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 285 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 286 | "dev": true 287 | }, 288 | "node_modules/escape-string-regexp": { 289 | "version": "1.0.5", 290 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 291 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 292 | "dev": true, 293 | "engines": { 294 | "node": ">=0.8.0" 295 | } 296 | }, 297 | "node_modules/eslint": { 298 | "version": "5.16.0", 299 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", 300 | "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", 301 | "dev": true, 302 | "dependencies": { 303 | "@babel/code-frame": "^7.0.0", 304 | "ajv": "^6.9.1", 305 | "chalk": "^2.1.0", 306 | "cross-spawn": "^6.0.5", 307 | "debug": "^4.0.1", 308 | "doctrine": "^3.0.0", 309 | "eslint-scope": "^4.0.3", 310 | "eslint-utils": "^1.3.1", 311 | "eslint-visitor-keys": "^1.0.0", 312 | "espree": "^5.0.1", 313 | "esquery": "^1.0.1", 314 | "esutils": "^2.0.2", 315 | "file-entry-cache": "^5.0.1", 316 | "functional-red-black-tree": "^1.0.1", 317 | "glob": "^7.1.2", 318 | "globals": "^11.7.0", 319 | "ignore": "^4.0.6", 320 | "import-fresh": "^3.0.0", 321 | "imurmurhash": "^0.1.4", 322 | "inquirer": "^6.2.2", 323 | "js-yaml": "^3.13.0", 324 | "json-stable-stringify-without-jsonify": "^1.0.1", 325 | "levn": "^0.3.0", 326 | "lodash": "^4.17.11", 327 | "minimatch": "^3.0.4", 328 | "mkdirp": "^0.5.1", 329 | "natural-compare": "^1.4.0", 330 | "optionator": "^0.8.2", 331 | "path-is-inside": "^1.0.2", 332 | "progress": "^2.0.0", 333 | "regexpp": "^2.0.1", 334 | "semver": "^5.5.1", 335 | "strip-ansi": "^4.0.0", 336 | "strip-json-comments": "^2.0.1", 337 | "table": "^5.2.3", 338 | "text-table": "^0.2.0" 339 | }, 340 | "bin": { 341 | "eslint": "bin/eslint.js" 342 | }, 343 | "engines": { 344 | "node": "^6.14.0 || ^8.10.0 || >=9.10.0" 345 | } 346 | }, 347 | "node_modules/eslint-config-jquery": { 348 | "version": "2.0.0", 349 | "resolved": "https://registry.npmjs.org/eslint-config-jquery/-/eslint-config-jquery-2.0.0.tgz", 350 | "integrity": "sha512-HrUTma5Ty6A91M3dTWz3Ot7YnpbsDQGIQDI8JyLKiuUltVXuKCs3yC7uHugp5/0RfYAPLisxHv7giNGvaqM4CA==", 351 | "dev": true 352 | }, 353 | "node_modules/eslint-scope": { 354 | "version": "4.0.3", 355 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", 356 | "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", 357 | "dev": true, 358 | "dependencies": { 359 | "esrecurse": "^4.1.0", 360 | "estraverse": "^4.1.1" 361 | }, 362 | "engines": { 363 | "node": ">=4.0.0" 364 | } 365 | }, 366 | "node_modules/eslint-utils": { 367 | "version": "1.4.3", 368 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", 369 | "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", 370 | "dev": true, 371 | "dependencies": { 372 | "eslint-visitor-keys": "^1.1.0" 373 | }, 374 | "engines": { 375 | "node": ">=6" 376 | } 377 | }, 378 | "node_modules/eslint-visitor-keys": { 379 | "version": "1.3.0", 380 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", 381 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", 382 | "dev": true, 383 | "engines": { 384 | "node": ">=4" 385 | } 386 | }, 387 | "node_modules/espree": { 388 | "version": "5.0.1", 389 | "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", 390 | "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", 391 | "dev": true, 392 | "dependencies": { 393 | "acorn": "^6.0.7", 394 | "acorn-jsx": "^5.0.0", 395 | "eslint-visitor-keys": "^1.0.0" 396 | }, 397 | "engines": { 398 | "node": ">=6.0.0" 399 | } 400 | }, 401 | "node_modules/esprima": { 402 | "version": "4.0.1", 403 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 404 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 405 | "dev": true, 406 | "bin": { 407 | "esparse": "bin/esparse.js", 408 | "esvalidate": "bin/esvalidate.js" 409 | }, 410 | "engines": { 411 | "node": ">=4" 412 | } 413 | }, 414 | "node_modules/esquery": { 415 | "version": "1.4.0", 416 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 417 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 418 | "dev": true, 419 | "dependencies": { 420 | "estraverse": "^5.1.0" 421 | }, 422 | "engines": { 423 | "node": ">=0.10" 424 | } 425 | }, 426 | "node_modules/esquery/node_modules/estraverse": { 427 | "version": "5.3.0", 428 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 429 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 430 | "dev": true, 431 | "engines": { 432 | "node": ">=4.0" 433 | } 434 | }, 435 | "node_modules/esrecurse": { 436 | "version": "4.3.0", 437 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 438 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 439 | "dev": true, 440 | "dependencies": { 441 | "estraverse": "^5.2.0" 442 | }, 443 | "engines": { 444 | "node": ">=4.0" 445 | } 446 | }, 447 | "node_modules/esrecurse/node_modules/estraverse": { 448 | "version": "5.3.0", 449 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 450 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 451 | "dev": true, 452 | "engines": { 453 | "node": ">=4.0" 454 | } 455 | }, 456 | "node_modules/estraverse": { 457 | "version": "4.3.0", 458 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 459 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 460 | "dev": true, 461 | "engines": { 462 | "node": ">=4.0" 463 | } 464 | }, 465 | "node_modules/esutils": { 466 | "version": "2.0.3", 467 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 468 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 469 | "dev": true, 470 | "engines": { 471 | "node": ">=0.10.0" 472 | } 473 | }, 474 | "node_modules/external-editor": { 475 | "version": "3.1.0", 476 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", 477 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", 478 | "dev": true, 479 | "dependencies": { 480 | "chardet": "^0.7.0", 481 | "iconv-lite": "^0.4.24", 482 | "tmp": "^0.0.33" 483 | }, 484 | "engines": { 485 | "node": ">=4" 486 | } 487 | }, 488 | "node_modules/fast-deep-equal": { 489 | "version": "3.1.3", 490 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 491 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 492 | "dev": true 493 | }, 494 | "node_modules/fast-json-stable-stringify": { 495 | "version": "2.1.0", 496 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 497 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 498 | "dev": true 499 | }, 500 | "node_modules/fast-levenshtein": { 501 | "version": "2.0.6", 502 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 503 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 504 | "dev": true 505 | }, 506 | "node_modules/figures": { 507 | "version": "2.0.0", 508 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 509 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 510 | "dev": true, 511 | "dependencies": { 512 | "escape-string-regexp": "^1.0.5" 513 | }, 514 | "engines": { 515 | "node": ">=4" 516 | } 517 | }, 518 | "node_modules/file-entry-cache": { 519 | "version": "5.0.1", 520 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", 521 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 522 | "dev": true, 523 | "dependencies": { 524 | "flat-cache": "^2.0.1" 525 | }, 526 | "engines": { 527 | "node": ">=4" 528 | } 529 | }, 530 | "node_modules/flat-cache": { 531 | "version": "2.0.1", 532 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", 533 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 534 | "dev": true, 535 | "dependencies": { 536 | "flatted": "^2.0.0", 537 | "rimraf": "2.6.3", 538 | "write": "1.0.3" 539 | }, 540 | "engines": { 541 | "node": ">=4" 542 | } 543 | }, 544 | "node_modules/flatted": { 545 | "version": "2.0.2", 546 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", 547 | "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", 548 | "dev": true 549 | }, 550 | "node_modules/fs.realpath": { 551 | "version": "1.0.0", 552 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 553 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 554 | "dev": true 555 | }, 556 | "node_modules/functional-red-black-tree": { 557 | "version": "1.0.1", 558 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 559 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 560 | "dev": true 561 | }, 562 | "node_modules/glob": { 563 | "version": "7.2.0", 564 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 565 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 566 | "dev": true, 567 | "dependencies": { 568 | "fs.realpath": "^1.0.0", 569 | "inflight": "^1.0.4", 570 | "inherits": "2", 571 | "minimatch": "^3.0.4", 572 | "once": "^1.3.0", 573 | "path-is-absolute": "^1.0.0" 574 | }, 575 | "engines": { 576 | "node": "*" 577 | }, 578 | "funding": { 579 | "url": "https://github.com/sponsors/isaacs" 580 | } 581 | }, 582 | "node_modules/globals": { 583 | "version": "11.12.0", 584 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 585 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 586 | "dev": true, 587 | "engines": { 588 | "node": ">=4" 589 | } 590 | }, 591 | "node_modules/globalyzer": { 592 | "version": "0.1.0", 593 | "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", 594 | "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", 595 | "dev": true 596 | }, 597 | "node_modules/globrex": { 598 | "version": "0.1.2", 599 | "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", 600 | "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", 601 | "dev": true 602 | }, 603 | "node_modules/has-flag": { 604 | "version": "3.0.0", 605 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 606 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 607 | "dev": true, 608 | "engines": { 609 | "node": ">=4" 610 | } 611 | }, 612 | "node_modules/iconv-lite": { 613 | "version": "0.4.24", 614 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 615 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 616 | "dev": true, 617 | "dependencies": { 618 | "safer-buffer": ">= 2.1.2 < 3" 619 | }, 620 | "engines": { 621 | "node": ">=0.10.0" 622 | } 623 | }, 624 | "node_modules/ignore": { 625 | "version": "4.0.6", 626 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 627 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 628 | "dev": true, 629 | "engines": { 630 | "node": ">= 4" 631 | } 632 | }, 633 | "node_modules/import-fresh": { 634 | "version": "3.3.0", 635 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 636 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 637 | "dev": true, 638 | "dependencies": { 639 | "parent-module": "^1.0.0", 640 | "resolve-from": "^4.0.0" 641 | }, 642 | "engines": { 643 | "node": ">=6" 644 | }, 645 | "funding": { 646 | "url": "https://github.com/sponsors/sindresorhus" 647 | } 648 | }, 649 | "node_modules/imurmurhash": { 650 | "version": "0.1.4", 651 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 652 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 653 | "dev": true, 654 | "engines": { 655 | "node": ">=0.8.19" 656 | } 657 | }, 658 | "node_modules/inflight": { 659 | "version": "1.0.6", 660 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 661 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 662 | "dev": true, 663 | "dependencies": { 664 | "once": "^1.3.0", 665 | "wrappy": "1" 666 | } 667 | }, 668 | "node_modules/inherits": { 669 | "version": "2.0.4", 670 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 671 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 672 | "dev": true 673 | }, 674 | "node_modules/inquirer": { 675 | "version": "6.5.2", 676 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", 677 | "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", 678 | "dev": true, 679 | "dependencies": { 680 | "ansi-escapes": "^3.2.0", 681 | "chalk": "^2.4.2", 682 | "cli-cursor": "^2.1.0", 683 | "cli-width": "^2.0.0", 684 | "external-editor": "^3.0.3", 685 | "figures": "^2.0.0", 686 | "lodash": "^4.17.12", 687 | "mute-stream": "0.0.7", 688 | "run-async": "^2.2.0", 689 | "rxjs": "^6.4.0", 690 | "string-width": "^2.1.0", 691 | "strip-ansi": "^5.1.0", 692 | "through": "^2.3.6" 693 | }, 694 | "engines": { 695 | "node": ">=6.0.0" 696 | } 697 | }, 698 | "node_modules/inquirer/node_modules/ansi-regex": { 699 | "version": "4.1.1", 700 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", 701 | "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", 702 | "dev": true, 703 | "engines": { 704 | "node": ">=6" 705 | } 706 | }, 707 | "node_modules/inquirer/node_modules/strip-ansi": { 708 | "version": "5.2.0", 709 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 710 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 711 | "dev": true, 712 | "dependencies": { 713 | "ansi-regex": "^4.1.0" 714 | }, 715 | "engines": { 716 | "node": ">=6" 717 | } 718 | }, 719 | "node_modules/is-fullwidth-code-point": { 720 | "version": "2.0.0", 721 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 722 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 723 | "dev": true, 724 | "engines": { 725 | "node": ">=4" 726 | } 727 | }, 728 | "node_modules/isexe": { 729 | "version": "2.0.0", 730 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 731 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 732 | "dev": true 733 | }, 734 | "node_modules/js-tokens": { 735 | "version": "4.0.0", 736 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 737 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 738 | "dev": true 739 | }, 740 | "node_modules/js-yaml": { 741 | "version": "3.14.1", 742 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 743 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 744 | "dev": true, 745 | "dependencies": { 746 | "argparse": "^1.0.7", 747 | "esprima": "^4.0.0" 748 | }, 749 | "bin": { 750 | "js-yaml": "bin/js-yaml.js" 751 | } 752 | }, 753 | "node_modules/json-schema-traverse": { 754 | "version": "0.4.1", 755 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 756 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 757 | "dev": true 758 | }, 759 | "node_modules/json-stable-stringify-without-jsonify": { 760 | "version": "1.0.1", 761 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 762 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 763 | "dev": true 764 | }, 765 | "node_modules/levn": { 766 | "version": "0.3.0", 767 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 768 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 769 | "dev": true, 770 | "dependencies": { 771 | "prelude-ls": "~1.1.2", 772 | "type-check": "~0.3.2" 773 | }, 774 | "engines": { 775 | "node": ">= 0.8.0" 776 | } 777 | }, 778 | "node_modules/lodash": { 779 | "version": "4.17.21", 780 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 781 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 782 | "dev": true 783 | }, 784 | "node_modules/mimic-fn": { 785 | "version": "1.2.0", 786 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 787 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", 788 | "dev": true, 789 | "engines": { 790 | "node": ">=4" 791 | } 792 | }, 793 | "node_modules/minimatch": { 794 | "version": "3.1.2", 795 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 796 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 797 | "dev": true, 798 | "dependencies": { 799 | "brace-expansion": "^1.1.7" 800 | }, 801 | "engines": { 802 | "node": "*" 803 | } 804 | }, 805 | "node_modules/minimist": { 806 | "version": "1.2.6", 807 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 808 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 809 | "dev": true 810 | }, 811 | "node_modules/mkdirp": { 812 | "version": "0.5.6", 813 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", 814 | "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", 815 | "dev": true, 816 | "dependencies": { 817 | "minimist": "^1.2.6" 818 | }, 819 | "bin": { 820 | "mkdirp": "bin/cmd.js" 821 | } 822 | }, 823 | "node_modules/ms": { 824 | "version": "2.1.2", 825 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 826 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 827 | "dev": true 828 | }, 829 | "node_modules/mute-stream": { 830 | "version": "0.0.7", 831 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 832 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 833 | "dev": true 834 | }, 835 | "node_modules/natural-compare": { 836 | "version": "1.4.0", 837 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 838 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 839 | "dev": true 840 | }, 841 | "node_modules/nice-try": { 842 | "version": "1.0.5", 843 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 844 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 845 | "dev": true 846 | }, 847 | "node_modules/node-watch": { 848 | "version": "0.7.3", 849 | "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.7.3.tgz", 850 | "integrity": "sha512-3l4E8uMPY1HdMMryPRUAl+oIHtXtyiTlIiESNSVSNxcPfzAFzeTbXFQkZfAwBbo0B1qMSG8nUABx+Gd+YrbKrQ==", 851 | "dev": true, 852 | "engines": { 853 | "node": ">=6" 854 | } 855 | }, 856 | "node_modules/once": { 857 | "version": "1.4.0", 858 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 859 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 860 | "dev": true, 861 | "dependencies": { 862 | "wrappy": "1" 863 | } 864 | }, 865 | "node_modules/onetime": { 866 | "version": "2.0.1", 867 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 868 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 869 | "dev": true, 870 | "dependencies": { 871 | "mimic-fn": "^1.0.0" 872 | }, 873 | "engines": { 874 | "node": ">=4" 875 | } 876 | }, 877 | "node_modules/optionator": { 878 | "version": "0.8.3", 879 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", 880 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", 881 | "dev": true, 882 | "dependencies": { 883 | "deep-is": "~0.1.3", 884 | "fast-levenshtein": "~2.0.6", 885 | "levn": "~0.3.0", 886 | "prelude-ls": "~1.1.2", 887 | "type-check": "~0.3.2", 888 | "word-wrap": "~1.2.3" 889 | }, 890 | "engines": { 891 | "node": ">= 0.8.0" 892 | } 893 | }, 894 | "node_modules/os-tmpdir": { 895 | "version": "1.0.2", 896 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 897 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 898 | "dev": true, 899 | "engines": { 900 | "node": ">=0.10.0" 901 | } 902 | }, 903 | "node_modules/parent-module": { 904 | "version": "1.0.1", 905 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 906 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 907 | "dev": true, 908 | "dependencies": { 909 | "callsites": "^3.0.0" 910 | }, 911 | "engines": { 912 | "node": ">=6" 913 | } 914 | }, 915 | "node_modules/path-is-absolute": { 916 | "version": "1.0.1", 917 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 918 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 919 | "dev": true, 920 | "engines": { 921 | "node": ">=0.10.0" 922 | } 923 | }, 924 | "node_modules/path-is-inside": { 925 | "version": "1.0.2", 926 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 927 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 928 | "dev": true 929 | }, 930 | "node_modules/path-key": { 931 | "version": "2.0.1", 932 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 933 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 934 | "dev": true, 935 | "engines": { 936 | "node": ">=4" 937 | } 938 | }, 939 | "node_modules/prelude-ls": { 940 | "version": "1.1.2", 941 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 942 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 943 | "dev": true, 944 | "engines": { 945 | "node": ">= 0.8.0" 946 | } 947 | }, 948 | "node_modules/progress": { 949 | "version": "2.0.3", 950 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 951 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 952 | "dev": true, 953 | "engines": { 954 | "node": ">=0.4.0" 955 | } 956 | }, 957 | "node_modules/punycode": { 958 | "version": "2.1.1", 959 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 960 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 961 | "dev": true, 962 | "engines": { 963 | "node": ">=6" 964 | } 965 | }, 966 | "node_modules/qunit": { 967 | "version": "2.18.1", 968 | "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.18.1.tgz", 969 | "integrity": "sha512-A2Adgr/DeMQOJZFVllyQi2wiGJVVXGSRRwMe39fNfuuftUYHHpGRTWUhBa8wNblunCAOUCt+1uFcg1L7NaxQTA==", 970 | "dev": true, 971 | "dependencies": { 972 | "commander": "7.2.0", 973 | "node-watch": "0.7.3", 974 | "tiny-glob": "0.2.9" 975 | }, 976 | "bin": { 977 | "qunit": "bin/qunit.js" 978 | }, 979 | "engines": { 980 | "node": ">=10" 981 | } 982 | }, 983 | "node_modules/regexpp": { 984 | "version": "2.0.1", 985 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", 986 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", 987 | "dev": true, 988 | "engines": { 989 | "node": ">=6.5.0" 990 | } 991 | }, 992 | "node_modules/resolve-from": { 993 | "version": "4.0.0", 994 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 995 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 996 | "dev": true, 997 | "engines": { 998 | "node": ">=4" 999 | } 1000 | }, 1001 | "node_modules/restore-cursor": { 1002 | "version": "2.0.0", 1003 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 1004 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 1005 | "dev": true, 1006 | "dependencies": { 1007 | "onetime": "^2.0.0", 1008 | "signal-exit": "^3.0.2" 1009 | }, 1010 | "engines": { 1011 | "node": ">=4" 1012 | } 1013 | }, 1014 | "node_modules/rimraf": { 1015 | "version": "2.6.3", 1016 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 1017 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 1018 | "dev": true, 1019 | "dependencies": { 1020 | "glob": "^7.1.3" 1021 | }, 1022 | "bin": { 1023 | "rimraf": "bin.js" 1024 | } 1025 | }, 1026 | "node_modules/run-async": { 1027 | "version": "2.4.1", 1028 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", 1029 | "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", 1030 | "dev": true, 1031 | "engines": { 1032 | "node": ">=0.12.0" 1033 | } 1034 | }, 1035 | "node_modules/rxjs": { 1036 | "version": "6.6.7", 1037 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", 1038 | "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", 1039 | "dev": true, 1040 | "dependencies": { 1041 | "tslib": "^1.9.0" 1042 | }, 1043 | "engines": { 1044 | "npm": ">=2.0.0" 1045 | } 1046 | }, 1047 | "node_modules/safer-buffer": { 1048 | "version": "2.1.2", 1049 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1050 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 1051 | "dev": true 1052 | }, 1053 | "node_modules/semver": { 1054 | "version": "5.7.1", 1055 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 1056 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 1057 | "dev": true, 1058 | "bin": { 1059 | "semver": "bin/semver" 1060 | } 1061 | }, 1062 | "node_modules/shebang-command": { 1063 | "version": "1.2.0", 1064 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 1065 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 1066 | "dev": true, 1067 | "dependencies": { 1068 | "shebang-regex": "^1.0.0" 1069 | }, 1070 | "engines": { 1071 | "node": ">=0.10.0" 1072 | } 1073 | }, 1074 | "node_modules/shebang-regex": { 1075 | "version": "1.0.0", 1076 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 1077 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 1078 | "dev": true, 1079 | "engines": { 1080 | "node": ">=0.10.0" 1081 | } 1082 | }, 1083 | "node_modules/signal-exit": { 1084 | "version": "3.0.7", 1085 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 1086 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 1087 | "dev": true 1088 | }, 1089 | "node_modules/slice-ansi": { 1090 | "version": "2.1.0", 1091 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", 1092 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 1093 | "dev": true, 1094 | "dependencies": { 1095 | "ansi-styles": "^3.2.0", 1096 | "astral-regex": "^1.0.0", 1097 | "is-fullwidth-code-point": "^2.0.0" 1098 | }, 1099 | "engines": { 1100 | "node": ">=6" 1101 | } 1102 | }, 1103 | "node_modules/sprintf-js": { 1104 | "version": "1.0.3", 1105 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 1106 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 1107 | "dev": true 1108 | }, 1109 | "node_modules/string-width": { 1110 | "version": "2.1.1", 1111 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 1112 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 1113 | "dev": true, 1114 | "dependencies": { 1115 | "is-fullwidth-code-point": "^2.0.0", 1116 | "strip-ansi": "^4.0.0" 1117 | }, 1118 | "engines": { 1119 | "node": ">=4" 1120 | } 1121 | }, 1122 | "node_modules/strip-ansi": { 1123 | "version": "4.0.0", 1124 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 1125 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 1126 | "dev": true, 1127 | "dependencies": { 1128 | "ansi-regex": "^3.0.0" 1129 | }, 1130 | "engines": { 1131 | "node": ">=4" 1132 | } 1133 | }, 1134 | "node_modules/strip-json-comments": { 1135 | "version": "2.0.1", 1136 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 1137 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 1138 | "dev": true, 1139 | "engines": { 1140 | "node": ">=0.10.0" 1141 | } 1142 | }, 1143 | "node_modules/supports-color": { 1144 | "version": "5.5.0", 1145 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1146 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1147 | "dev": true, 1148 | "dependencies": { 1149 | "has-flag": "^3.0.0" 1150 | }, 1151 | "engines": { 1152 | "node": ">=4" 1153 | } 1154 | }, 1155 | "node_modules/table": { 1156 | "version": "5.4.6", 1157 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 1158 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", 1159 | "dev": true, 1160 | "dependencies": { 1161 | "ajv": "^6.10.2", 1162 | "lodash": "^4.17.14", 1163 | "slice-ansi": "^2.1.0", 1164 | "string-width": "^3.0.0" 1165 | }, 1166 | "engines": { 1167 | "node": ">=6.0.0" 1168 | } 1169 | }, 1170 | "node_modules/table/node_modules/ansi-regex": { 1171 | "version": "4.1.1", 1172 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", 1173 | "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", 1174 | "dev": true, 1175 | "engines": { 1176 | "node": ">=6" 1177 | } 1178 | }, 1179 | "node_modules/table/node_modules/string-width": { 1180 | "version": "3.1.0", 1181 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 1182 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 1183 | "dev": true, 1184 | "dependencies": { 1185 | "emoji-regex": "^7.0.1", 1186 | "is-fullwidth-code-point": "^2.0.0", 1187 | "strip-ansi": "^5.1.0" 1188 | }, 1189 | "engines": { 1190 | "node": ">=6" 1191 | } 1192 | }, 1193 | "node_modules/table/node_modules/strip-ansi": { 1194 | "version": "5.2.0", 1195 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1196 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 1197 | "dev": true, 1198 | "dependencies": { 1199 | "ansi-regex": "^4.1.0" 1200 | }, 1201 | "engines": { 1202 | "node": ">=6" 1203 | } 1204 | }, 1205 | "node_modules/text-table": { 1206 | "version": "0.2.0", 1207 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1208 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 1209 | "dev": true 1210 | }, 1211 | "node_modules/through": { 1212 | "version": "2.3.8", 1213 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 1214 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 1215 | "dev": true 1216 | }, 1217 | "node_modules/tiny-glob": { 1218 | "version": "0.2.9", 1219 | "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", 1220 | "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", 1221 | "dev": true, 1222 | "dependencies": { 1223 | "globalyzer": "0.1.0", 1224 | "globrex": "^0.1.2" 1225 | } 1226 | }, 1227 | "node_modules/tmp": { 1228 | "version": "0.0.33", 1229 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 1230 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 1231 | "dev": true, 1232 | "dependencies": { 1233 | "os-tmpdir": "~1.0.2" 1234 | }, 1235 | "engines": { 1236 | "node": ">=0.6.0" 1237 | } 1238 | }, 1239 | "node_modules/tslib": { 1240 | "version": "1.14.1", 1241 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 1242 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", 1243 | "dev": true 1244 | }, 1245 | "node_modules/type-check": { 1246 | "version": "0.3.2", 1247 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 1248 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 1249 | "dev": true, 1250 | "dependencies": { 1251 | "prelude-ls": "~1.1.2" 1252 | }, 1253 | "engines": { 1254 | "node": ">= 0.8.0" 1255 | } 1256 | }, 1257 | "node_modules/uglify-js": { 1258 | "version": "3.15.4", 1259 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz", 1260 | "integrity": "sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==", 1261 | "dev": true, 1262 | "bin": { 1263 | "uglifyjs": "bin/uglifyjs" 1264 | }, 1265 | "engines": { 1266 | "node": ">=0.8.0" 1267 | } 1268 | }, 1269 | "node_modules/uri-js": { 1270 | "version": "4.4.1", 1271 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 1272 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 1273 | "dev": true, 1274 | "dependencies": { 1275 | "punycode": "^2.1.0" 1276 | } 1277 | }, 1278 | "node_modules/which": { 1279 | "version": "1.3.1", 1280 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 1281 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 1282 | "dev": true, 1283 | "dependencies": { 1284 | "isexe": "^2.0.0" 1285 | }, 1286 | "bin": { 1287 | "which": "bin/which" 1288 | } 1289 | }, 1290 | "node_modules/word-wrap": { 1291 | "version": "1.2.3", 1292 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 1293 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 1294 | "dev": true, 1295 | "engines": { 1296 | "node": ">=0.10.0" 1297 | } 1298 | }, 1299 | "node_modules/wrappy": { 1300 | "version": "1.0.2", 1301 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1302 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 1303 | "dev": true 1304 | }, 1305 | "node_modules/write": { 1306 | "version": "1.0.3", 1307 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", 1308 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 1309 | "dev": true, 1310 | "dependencies": { 1311 | "mkdirp": "^0.5.1" 1312 | }, 1313 | "engines": { 1314 | "node": ">=4" 1315 | } 1316 | } 1317 | }, 1318 | "dependencies": { 1319 | "@babel/code-frame": { 1320 | "version": "7.16.7", 1321 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", 1322 | "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", 1323 | "dev": true, 1324 | "requires": { 1325 | "@babel/highlight": "^7.16.7" 1326 | } 1327 | }, 1328 | "@babel/helper-validator-identifier": { 1329 | "version": "7.16.7", 1330 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", 1331 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", 1332 | "dev": true 1333 | }, 1334 | "@babel/highlight": { 1335 | "version": "7.17.9", 1336 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", 1337 | "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", 1338 | "dev": true, 1339 | "requires": { 1340 | "@babel/helper-validator-identifier": "^7.16.7", 1341 | "chalk": "^2.0.0", 1342 | "js-tokens": "^4.0.0" 1343 | } 1344 | }, 1345 | "acorn": { 1346 | "version": "6.4.2", 1347 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", 1348 | "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", 1349 | "dev": true 1350 | }, 1351 | "acorn-jsx": { 1352 | "version": "5.3.2", 1353 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 1354 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 1355 | "dev": true, 1356 | "requires": {} 1357 | }, 1358 | "ajv": { 1359 | "version": "6.12.6", 1360 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 1361 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 1362 | "dev": true, 1363 | "requires": { 1364 | "fast-deep-equal": "^3.1.1", 1365 | "fast-json-stable-stringify": "^2.0.0", 1366 | "json-schema-traverse": "^0.4.1", 1367 | "uri-js": "^4.2.2" 1368 | } 1369 | }, 1370 | "ansi-escapes": { 1371 | "version": "3.2.0", 1372 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", 1373 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", 1374 | "dev": true 1375 | }, 1376 | "ansi-regex": { 1377 | "version": "3.0.1", 1378 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", 1379 | "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", 1380 | "dev": true 1381 | }, 1382 | "ansi-styles": { 1383 | "version": "3.2.1", 1384 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1385 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1386 | "dev": true, 1387 | "requires": { 1388 | "color-convert": "^1.9.0" 1389 | } 1390 | }, 1391 | "argparse": { 1392 | "version": "1.0.10", 1393 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 1394 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 1395 | "dev": true, 1396 | "requires": { 1397 | "sprintf-js": "~1.0.2" 1398 | } 1399 | }, 1400 | "astral-regex": { 1401 | "version": "1.0.0", 1402 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 1403 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 1404 | "dev": true 1405 | }, 1406 | "balanced-match": { 1407 | "version": "1.0.2", 1408 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1409 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1410 | "dev": true 1411 | }, 1412 | "brace-expansion": { 1413 | "version": "1.1.11", 1414 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1415 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1416 | "dev": true, 1417 | "requires": { 1418 | "balanced-match": "^1.0.0", 1419 | "concat-map": "0.0.1" 1420 | } 1421 | }, 1422 | "callsites": { 1423 | "version": "3.1.0", 1424 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 1425 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 1426 | "dev": true 1427 | }, 1428 | "chalk": { 1429 | "version": "2.4.2", 1430 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 1431 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 1432 | "dev": true, 1433 | "requires": { 1434 | "ansi-styles": "^3.2.1", 1435 | "escape-string-regexp": "^1.0.5", 1436 | "supports-color": "^5.3.0" 1437 | } 1438 | }, 1439 | "chardet": { 1440 | "version": "0.7.0", 1441 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 1442 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", 1443 | "dev": true 1444 | }, 1445 | "cli-cursor": { 1446 | "version": "2.1.0", 1447 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 1448 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 1449 | "dev": true, 1450 | "requires": { 1451 | "restore-cursor": "^2.0.0" 1452 | } 1453 | }, 1454 | "cli-width": { 1455 | "version": "2.2.1", 1456 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", 1457 | "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", 1458 | "dev": true 1459 | }, 1460 | "color-convert": { 1461 | "version": "1.9.3", 1462 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 1463 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 1464 | "dev": true, 1465 | "requires": { 1466 | "color-name": "1.1.3" 1467 | } 1468 | }, 1469 | "color-name": { 1470 | "version": "1.1.3", 1471 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1472 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 1473 | "dev": true 1474 | }, 1475 | "commander": { 1476 | "version": "7.2.0", 1477 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", 1478 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", 1479 | "dev": true 1480 | }, 1481 | "concat-map": { 1482 | "version": "0.0.1", 1483 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1484 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 1485 | "dev": true 1486 | }, 1487 | "cross-spawn": { 1488 | "version": "6.0.5", 1489 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 1490 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 1491 | "dev": true, 1492 | "requires": { 1493 | "nice-try": "^1.0.4", 1494 | "path-key": "^2.0.1", 1495 | "semver": "^5.5.0", 1496 | "shebang-command": "^1.2.0", 1497 | "which": "^1.2.9" 1498 | } 1499 | }, 1500 | "debug": { 1501 | "version": "4.3.4", 1502 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1503 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1504 | "dev": true, 1505 | "requires": { 1506 | "ms": "2.1.2" 1507 | } 1508 | }, 1509 | "deep-is": { 1510 | "version": "0.1.4", 1511 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 1512 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 1513 | "dev": true 1514 | }, 1515 | "doctrine": { 1516 | "version": "3.0.0", 1517 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 1518 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 1519 | "dev": true, 1520 | "requires": { 1521 | "esutils": "^2.0.2" 1522 | } 1523 | }, 1524 | "emoji-regex": { 1525 | "version": "7.0.3", 1526 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", 1527 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", 1528 | "dev": true 1529 | }, 1530 | "escape-string-regexp": { 1531 | "version": "1.0.5", 1532 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1533 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1534 | "dev": true 1535 | }, 1536 | "eslint": { 1537 | "version": "5.16.0", 1538 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", 1539 | "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", 1540 | "dev": true, 1541 | "requires": { 1542 | "@babel/code-frame": "^7.0.0", 1543 | "ajv": "^6.9.1", 1544 | "chalk": "^2.1.0", 1545 | "cross-spawn": "^6.0.5", 1546 | "debug": "^4.0.1", 1547 | "doctrine": "^3.0.0", 1548 | "eslint-scope": "^4.0.3", 1549 | "eslint-utils": "^1.3.1", 1550 | "eslint-visitor-keys": "^1.0.0", 1551 | "espree": "^5.0.1", 1552 | "esquery": "^1.0.1", 1553 | "esutils": "^2.0.2", 1554 | "file-entry-cache": "^5.0.1", 1555 | "functional-red-black-tree": "^1.0.1", 1556 | "glob": "^7.1.2", 1557 | "globals": "^11.7.0", 1558 | "ignore": "^4.0.6", 1559 | "import-fresh": "^3.0.0", 1560 | "imurmurhash": "^0.1.4", 1561 | "inquirer": "^6.2.2", 1562 | "js-yaml": "^3.13.0", 1563 | "json-stable-stringify-without-jsonify": "^1.0.1", 1564 | "levn": "^0.3.0", 1565 | "lodash": "^4.17.11", 1566 | "minimatch": "^3.0.4", 1567 | "mkdirp": "^0.5.1", 1568 | "natural-compare": "^1.4.0", 1569 | "optionator": "^0.8.2", 1570 | "path-is-inside": "^1.0.2", 1571 | "progress": "^2.0.0", 1572 | "regexpp": "^2.0.1", 1573 | "semver": "^5.5.1", 1574 | "strip-ansi": "^4.0.0", 1575 | "strip-json-comments": "^2.0.1", 1576 | "table": "^5.2.3", 1577 | "text-table": "^0.2.0" 1578 | } 1579 | }, 1580 | "eslint-config-jquery": { 1581 | "version": "2.0.0", 1582 | "resolved": "https://registry.npmjs.org/eslint-config-jquery/-/eslint-config-jquery-2.0.0.tgz", 1583 | "integrity": "sha512-HrUTma5Ty6A91M3dTWz3Ot7YnpbsDQGIQDI8JyLKiuUltVXuKCs3yC7uHugp5/0RfYAPLisxHv7giNGvaqM4CA==", 1584 | "dev": true 1585 | }, 1586 | "eslint-scope": { 1587 | "version": "4.0.3", 1588 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", 1589 | "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", 1590 | "dev": true, 1591 | "requires": { 1592 | "esrecurse": "^4.1.0", 1593 | "estraverse": "^4.1.1" 1594 | } 1595 | }, 1596 | "eslint-utils": { 1597 | "version": "1.4.3", 1598 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", 1599 | "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", 1600 | "dev": true, 1601 | "requires": { 1602 | "eslint-visitor-keys": "^1.1.0" 1603 | } 1604 | }, 1605 | "eslint-visitor-keys": { 1606 | "version": "1.3.0", 1607 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", 1608 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", 1609 | "dev": true 1610 | }, 1611 | "espree": { 1612 | "version": "5.0.1", 1613 | "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", 1614 | "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", 1615 | "dev": true, 1616 | "requires": { 1617 | "acorn": "^6.0.7", 1618 | "acorn-jsx": "^5.0.0", 1619 | "eslint-visitor-keys": "^1.0.0" 1620 | } 1621 | }, 1622 | "esprima": { 1623 | "version": "4.0.1", 1624 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 1625 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 1626 | "dev": true 1627 | }, 1628 | "esquery": { 1629 | "version": "1.4.0", 1630 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 1631 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 1632 | "dev": true, 1633 | "requires": { 1634 | "estraverse": "^5.1.0" 1635 | }, 1636 | "dependencies": { 1637 | "estraverse": { 1638 | "version": "5.3.0", 1639 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1640 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1641 | "dev": true 1642 | } 1643 | } 1644 | }, 1645 | "esrecurse": { 1646 | "version": "4.3.0", 1647 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1648 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1649 | "dev": true, 1650 | "requires": { 1651 | "estraverse": "^5.2.0" 1652 | }, 1653 | "dependencies": { 1654 | "estraverse": { 1655 | "version": "5.3.0", 1656 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1657 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1658 | "dev": true 1659 | } 1660 | } 1661 | }, 1662 | "estraverse": { 1663 | "version": "4.3.0", 1664 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 1665 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 1666 | "dev": true 1667 | }, 1668 | "esutils": { 1669 | "version": "2.0.3", 1670 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1671 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 1672 | "dev": true 1673 | }, 1674 | "external-editor": { 1675 | "version": "3.1.0", 1676 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", 1677 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", 1678 | "dev": true, 1679 | "requires": { 1680 | "chardet": "^0.7.0", 1681 | "iconv-lite": "^0.4.24", 1682 | "tmp": "^0.0.33" 1683 | } 1684 | }, 1685 | "fast-deep-equal": { 1686 | "version": "3.1.3", 1687 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1688 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1689 | "dev": true 1690 | }, 1691 | "fast-json-stable-stringify": { 1692 | "version": "2.1.0", 1693 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1694 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 1695 | "dev": true 1696 | }, 1697 | "fast-levenshtein": { 1698 | "version": "2.0.6", 1699 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1700 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 1701 | "dev": true 1702 | }, 1703 | "figures": { 1704 | "version": "2.0.0", 1705 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 1706 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 1707 | "dev": true, 1708 | "requires": { 1709 | "escape-string-regexp": "^1.0.5" 1710 | } 1711 | }, 1712 | "file-entry-cache": { 1713 | "version": "5.0.1", 1714 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", 1715 | "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", 1716 | "dev": true, 1717 | "requires": { 1718 | "flat-cache": "^2.0.1" 1719 | } 1720 | }, 1721 | "flat-cache": { 1722 | "version": "2.0.1", 1723 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", 1724 | "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", 1725 | "dev": true, 1726 | "requires": { 1727 | "flatted": "^2.0.0", 1728 | "rimraf": "2.6.3", 1729 | "write": "1.0.3" 1730 | } 1731 | }, 1732 | "flatted": { 1733 | "version": "2.0.2", 1734 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", 1735 | "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", 1736 | "dev": true 1737 | }, 1738 | "fs.realpath": { 1739 | "version": "1.0.0", 1740 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1741 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1742 | "dev": true 1743 | }, 1744 | "functional-red-black-tree": { 1745 | "version": "1.0.1", 1746 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1747 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 1748 | "dev": true 1749 | }, 1750 | "glob": { 1751 | "version": "7.2.0", 1752 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 1753 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 1754 | "dev": true, 1755 | "requires": { 1756 | "fs.realpath": "^1.0.0", 1757 | "inflight": "^1.0.4", 1758 | "inherits": "2", 1759 | "minimatch": "^3.0.4", 1760 | "once": "^1.3.0", 1761 | "path-is-absolute": "^1.0.0" 1762 | } 1763 | }, 1764 | "globals": { 1765 | "version": "11.12.0", 1766 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 1767 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 1768 | "dev": true 1769 | }, 1770 | "globalyzer": { 1771 | "version": "0.1.0", 1772 | "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", 1773 | "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", 1774 | "dev": true 1775 | }, 1776 | "globrex": { 1777 | "version": "0.1.2", 1778 | "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", 1779 | "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", 1780 | "dev": true 1781 | }, 1782 | "has-flag": { 1783 | "version": "3.0.0", 1784 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1785 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 1786 | "dev": true 1787 | }, 1788 | "iconv-lite": { 1789 | "version": "0.4.24", 1790 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1791 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1792 | "dev": true, 1793 | "requires": { 1794 | "safer-buffer": ">= 2.1.2 < 3" 1795 | } 1796 | }, 1797 | "ignore": { 1798 | "version": "4.0.6", 1799 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 1800 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 1801 | "dev": true 1802 | }, 1803 | "import-fresh": { 1804 | "version": "3.3.0", 1805 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1806 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1807 | "dev": true, 1808 | "requires": { 1809 | "parent-module": "^1.0.0", 1810 | "resolve-from": "^4.0.0" 1811 | } 1812 | }, 1813 | "imurmurhash": { 1814 | "version": "0.1.4", 1815 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1816 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 1817 | "dev": true 1818 | }, 1819 | "inflight": { 1820 | "version": "1.0.6", 1821 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1822 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1823 | "dev": true, 1824 | "requires": { 1825 | "once": "^1.3.0", 1826 | "wrappy": "1" 1827 | } 1828 | }, 1829 | "inherits": { 1830 | "version": "2.0.4", 1831 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1832 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1833 | "dev": true 1834 | }, 1835 | "inquirer": { 1836 | "version": "6.5.2", 1837 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", 1838 | "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", 1839 | "dev": true, 1840 | "requires": { 1841 | "ansi-escapes": "^3.2.0", 1842 | "chalk": "^2.4.2", 1843 | "cli-cursor": "^2.1.0", 1844 | "cli-width": "^2.0.0", 1845 | "external-editor": "^3.0.3", 1846 | "figures": "^2.0.0", 1847 | "lodash": "^4.17.12", 1848 | "mute-stream": "0.0.7", 1849 | "run-async": "^2.2.0", 1850 | "rxjs": "^6.4.0", 1851 | "string-width": "^2.1.0", 1852 | "strip-ansi": "^5.1.0", 1853 | "through": "^2.3.6" 1854 | }, 1855 | "dependencies": { 1856 | "ansi-regex": { 1857 | "version": "4.1.1", 1858 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", 1859 | "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", 1860 | "dev": true 1861 | }, 1862 | "strip-ansi": { 1863 | "version": "5.2.0", 1864 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 1865 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 1866 | "dev": true, 1867 | "requires": { 1868 | "ansi-regex": "^4.1.0" 1869 | } 1870 | } 1871 | } 1872 | }, 1873 | "is-fullwidth-code-point": { 1874 | "version": "2.0.0", 1875 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1876 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 1877 | "dev": true 1878 | }, 1879 | "isexe": { 1880 | "version": "2.0.0", 1881 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1882 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1883 | "dev": true 1884 | }, 1885 | "js-tokens": { 1886 | "version": "4.0.0", 1887 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1888 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1889 | "dev": true 1890 | }, 1891 | "js-yaml": { 1892 | "version": "3.14.1", 1893 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", 1894 | "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", 1895 | "dev": true, 1896 | "requires": { 1897 | "argparse": "^1.0.7", 1898 | "esprima": "^4.0.0" 1899 | } 1900 | }, 1901 | "json-schema-traverse": { 1902 | "version": "0.4.1", 1903 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1904 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1905 | "dev": true 1906 | }, 1907 | "json-stable-stringify-without-jsonify": { 1908 | "version": "1.0.1", 1909 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1910 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 1911 | "dev": true 1912 | }, 1913 | "levn": { 1914 | "version": "0.3.0", 1915 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 1916 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 1917 | "dev": true, 1918 | "requires": { 1919 | "prelude-ls": "~1.1.2", 1920 | "type-check": "~0.3.2" 1921 | } 1922 | }, 1923 | "lodash": { 1924 | "version": "4.17.21", 1925 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1926 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 1927 | "dev": true 1928 | }, 1929 | "mimic-fn": { 1930 | "version": "1.2.0", 1931 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 1932 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", 1933 | "dev": true 1934 | }, 1935 | "minimatch": { 1936 | "version": "3.1.2", 1937 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1938 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1939 | "dev": true, 1940 | "requires": { 1941 | "brace-expansion": "^1.1.7" 1942 | } 1943 | }, 1944 | "minimist": { 1945 | "version": "1.2.6", 1946 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 1947 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 1948 | "dev": true 1949 | }, 1950 | "mkdirp": { 1951 | "version": "0.5.6", 1952 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", 1953 | "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", 1954 | "dev": true, 1955 | "requires": { 1956 | "minimist": "^1.2.6" 1957 | } 1958 | }, 1959 | "ms": { 1960 | "version": "2.1.2", 1961 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1962 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1963 | "dev": true 1964 | }, 1965 | "mute-stream": { 1966 | "version": "0.0.7", 1967 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 1968 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 1969 | "dev": true 1970 | }, 1971 | "natural-compare": { 1972 | "version": "1.4.0", 1973 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1974 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 1975 | "dev": true 1976 | }, 1977 | "nice-try": { 1978 | "version": "1.0.5", 1979 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 1980 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 1981 | "dev": true 1982 | }, 1983 | "node-watch": { 1984 | "version": "0.7.3", 1985 | "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.7.3.tgz", 1986 | "integrity": "sha512-3l4E8uMPY1HdMMryPRUAl+oIHtXtyiTlIiESNSVSNxcPfzAFzeTbXFQkZfAwBbo0B1qMSG8nUABx+Gd+YrbKrQ==", 1987 | "dev": true 1988 | }, 1989 | "once": { 1990 | "version": "1.4.0", 1991 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1992 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1993 | "dev": true, 1994 | "requires": { 1995 | "wrappy": "1" 1996 | } 1997 | }, 1998 | "onetime": { 1999 | "version": "2.0.1", 2000 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 2001 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 2002 | "dev": true, 2003 | "requires": { 2004 | "mimic-fn": "^1.0.0" 2005 | } 2006 | }, 2007 | "optionator": { 2008 | "version": "0.8.3", 2009 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", 2010 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", 2011 | "dev": true, 2012 | "requires": { 2013 | "deep-is": "~0.1.3", 2014 | "fast-levenshtein": "~2.0.6", 2015 | "levn": "~0.3.0", 2016 | "prelude-ls": "~1.1.2", 2017 | "type-check": "~0.3.2", 2018 | "word-wrap": "~1.2.3" 2019 | } 2020 | }, 2021 | "os-tmpdir": { 2022 | "version": "1.0.2", 2023 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2024 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 2025 | "dev": true 2026 | }, 2027 | "parent-module": { 2028 | "version": "1.0.1", 2029 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 2030 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 2031 | "dev": true, 2032 | "requires": { 2033 | "callsites": "^3.0.0" 2034 | } 2035 | }, 2036 | "path-is-absolute": { 2037 | "version": "1.0.1", 2038 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2039 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2040 | "dev": true 2041 | }, 2042 | "path-is-inside": { 2043 | "version": "1.0.2", 2044 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 2045 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 2046 | "dev": true 2047 | }, 2048 | "path-key": { 2049 | "version": "2.0.1", 2050 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 2051 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 2052 | "dev": true 2053 | }, 2054 | "prelude-ls": { 2055 | "version": "1.1.2", 2056 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 2057 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 2058 | "dev": true 2059 | }, 2060 | "progress": { 2061 | "version": "2.0.3", 2062 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 2063 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 2064 | "dev": true 2065 | }, 2066 | "punycode": { 2067 | "version": "2.1.1", 2068 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 2069 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 2070 | "dev": true 2071 | }, 2072 | "qunit": { 2073 | "version": "2.18.1", 2074 | "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.18.1.tgz", 2075 | "integrity": "sha512-A2Adgr/DeMQOJZFVllyQi2wiGJVVXGSRRwMe39fNfuuftUYHHpGRTWUhBa8wNblunCAOUCt+1uFcg1L7NaxQTA==", 2076 | "dev": true, 2077 | "requires": { 2078 | "commander": "7.2.0", 2079 | "node-watch": "0.7.3", 2080 | "tiny-glob": "0.2.9" 2081 | } 2082 | }, 2083 | "regexpp": { 2084 | "version": "2.0.1", 2085 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", 2086 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", 2087 | "dev": true 2088 | }, 2089 | "resolve-from": { 2090 | "version": "4.0.0", 2091 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2092 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 2093 | "dev": true 2094 | }, 2095 | "restore-cursor": { 2096 | "version": "2.0.0", 2097 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 2098 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 2099 | "dev": true, 2100 | "requires": { 2101 | "onetime": "^2.0.0", 2102 | "signal-exit": "^3.0.2" 2103 | } 2104 | }, 2105 | "rimraf": { 2106 | "version": "2.6.3", 2107 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 2108 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 2109 | "dev": true, 2110 | "requires": { 2111 | "glob": "^7.1.3" 2112 | } 2113 | }, 2114 | "run-async": { 2115 | "version": "2.4.1", 2116 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", 2117 | "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", 2118 | "dev": true 2119 | }, 2120 | "rxjs": { 2121 | "version": "6.6.7", 2122 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", 2123 | "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", 2124 | "dev": true, 2125 | "requires": { 2126 | "tslib": "^1.9.0" 2127 | } 2128 | }, 2129 | "safer-buffer": { 2130 | "version": "2.1.2", 2131 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2132 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 2133 | "dev": true 2134 | }, 2135 | "semver": { 2136 | "version": "5.7.1", 2137 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 2138 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 2139 | "dev": true 2140 | }, 2141 | "shebang-command": { 2142 | "version": "1.2.0", 2143 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 2144 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 2145 | "dev": true, 2146 | "requires": { 2147 | "shebang-regex": "^1.0.0" 2148 | } 2149 | }, 2150 | "shebang-regex": { 2151 | "version": "1.0.0", 2152 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 2153 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 2154 | "dev": true 2155 | }, 2156 | "signal-exit": { 2157 | "version": "3.0.7", 2158 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 2159 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 2160 | "dev": true 2161 | }, 2162 | "slice-ansi": { 2163 | "version": "2.1.0", 2164 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", 2165 | "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", 2166 | "dev": true, 2167 | "requires": { 2168 | "ansi-styles": "^3.2.0", 2169 | "astral-regex": "^1.0.0", 2170 | "is-fullwidth-code-point": "^2.0.0" 2171 | } 2172 | }, 2173 | "sprintf-js": { 2174 | "version": "1.0.3", 2175 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 2176 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 2177 | "dev": true 2178 | }, 2179 | "string-width": { 2180 | "version": "2.1.1", 2181 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 2182 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 2183 | "dev": true, 2184 | "requires": { 2185 | "is-fullwidth-code-point": "^2.0.0", 2186 | "strip-ansi": "^4.0.0" 2187 | } 2188 | }, 2189 | "strip-ansi": { 2190 | "version": "4.0.0", 2191 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 2192 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 2193 | "dev": true, 2194 | "requires": { 2195 | "ansi-regex": "^3.0.0" 2196 | } 2197 | }, 2198 | "strip-json-comments": { 2199 | "version": "2.0.1", 2200 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 2201 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 2202 | "dev": true 2203 | }, 2204 | "supports-color": { 2205 | "version": "5.5.0", 2206 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 2207 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 2208 | "dev": true, 2209 | "requires": { 2210 | "has-flag": "^3.0.0" 2211 | } 2212 | }, 2213 | "table": { 2214 | "version": "5.4.6", 2215 | "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 2216 | "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", 2217 | "dev": true, 2218 | "requires": { 2219 | "ajv": "^6.10.2", 2220 | "lodash": "^4.17.14", 2221 | "slice-ansi": "^2.1.0", 2222 | "string-width": "^3.0.0" 2223 | }, 2224 | "dependencies": { 2225 | "ansi-regex": { 2226 | "version": "4.1.1", 2227 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", 2228 | "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", 2229 | "dev": true 2230 | }, 2231 | "string-width": { 2232 | "version": "3.1.0", 2233 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", 2234 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", 2235 | "dev": true, 2236 | "requires": { 2237 | "emoji-regex": "^7.0.1", 2238 | "is-fullwidth-code-point": "^2.0.0", 2239 | "strip-ansi": "^5.1.0" 2240 | } 2241 | }, 2242 | "strip-ansi": { 2243 | "version": "5.2.0", 2244 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", 2245 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", 2246 | "dev": true, 2247 | "requires": { 2248 | "ansi-regex": "^4.1.0" 2249 | } 2250 | } 2251 | } 2252 | }, 2253 | "text-table": { 2254 | "version": "0.2.0", 2255 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 2256 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 2257 | "dev": true 2258 | }, 2259 | "through": { 2260 | "version": "2.3.8", 2261 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 2262 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 2263 | "dev": true 2264 | }, 2265 | "tiny-glob": { 2266 | "version": "0.2.9", 2267 | "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", 2268 | "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", 2269 | "dev": true, 2270 | "requires": { 2271 | "globalyzer": "0.1.0", 2272 | "globrex": "^0.1.2" 2273 | } 2274 | }, 2275 | "tmp": { 2276 | "version": "0.0.33", 2277 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 2278 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 2279 | "dev": true, 2280 | "requires": { 2281 | "os-tmpdir": "~1.0.2" 2282 | } 2283 | }, 2284 | "tslib": { 2285 | "version": "1.14.1", 2286 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2287 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", 2288 | "dev": true 2289 | }, 2290 | "type-check": { 2291 | "version": "0.3.2", 2292 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 2293 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 2294 | "dev": true, 2295 | "requires": { 2296 | "prelude-ls": "~1.1.2" 2297 | } 2298 | }, 2299 | "uglify-js": { 2300 | "version": "3.15.4", 2301 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz", 2302 | "integrity": "sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==", 2303 | "dev": true 2304 | }, 2305 | "uri-js": { 2306 | "version": "4.4.1", 2307 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2308 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2309 | "dev": true, 2310 | "requires": { 2311 | "punycode": "^2.1.0" 2312 | } 2313 | }, 2314 | "which": { 2315 | "version": "1.3.1", 2316 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 2317 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 2318 | "dev": true, 2319 | "requires": { 2320 | "isexe": "^2.0.0" 2321 | } 2322 | }, 2323 | "word-wrap": { 2324 | "version": "1.2.3", 2325 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 2326 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 2327 | "dev": true 2328 | }, 2329 | "wrappy": { 2330 | "version": "1.0.2", 2331 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2332 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2333 | "dev": true 2334 | }, 2335 | "write": { 2336 | "version": "1.0.3", 2337 | "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", 2338 | "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", 2339 | "dev": true, 2340 | "requires": { 2341 | "mkdirp": "^0.5.1" 2342 | } 2343 | } 2344 | } 2345 | } 2346 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-time-duration-picker", 3 | "version": "2.2.7", 4 | "description": "jQuery-UI browser widget for duration selection", 5 | "keywords": [ 6 | "date", 7 | "duration", 8 | "jquery", 9 | "picker", 10 | "time", 11 | "widget" 12 | ], 13 | "homepage": "https://github.com/digaev/jquery-time-duration-picker#readme", 14 | "bugs": { 15 | "url": "https://github.com/digaev/jquery-time-duration-picker/issues" 16 | }, 17 | "repository": { 18 | "type": "git", 19 | "url": "git+https://github.com/digaev/jquery-time-duration-picker.git" 20 | }, 21 | "license": "MIT", 22 | "author": "Nikolay Digaev ", 23 | "scripts": { 24 | "build": "uglifyjs ./src/jquery-time-duration-picker.js -o ./dist/jquery-time-duration-picker.min.js", 25 | "test": "xdg-open ./tests/index.html" 26 | }, 27 | "devDependencies": { 28 | "eslint": "^5.16.0", 29 | "eslint-config-jquery": "^2.0.0", 30 | "qunit": "^2.18.1", 31 | "uglify-js": "^3.6.0" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/jquery-time-duration-picker.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jquery-time-duration-picker 3 | * 4 | * https://github.com/digaev/jquery-time-duration-picker 5 | * 6 | * Copyright (c) 2015-2022 Nikolay Digaev 7 | * Released under the MIT license 8 | */ 9 | 10 | ( function( $ ) { 11 | var defaults = { 12 | lang: "en_US", 13 | css: { 14 | position: "absolute" 15 | }, 16 | years: true, 17 | months: true, 18 | days: true, 19 | hours: true, 20 | minutes: true, 21 | seconds: false 22 | }; 23 | $.timeDurationPicker = { 24 | defaults: function( options ) { 25 | var opts = $.extend( true, {}, defaults, options ); 26 | if ( options ) { 27 | defaults = opts; 28 | } else { 29 | return opts; 30 | } 31 | }, 32 | langs: { 33 | en_US: { 34 | years: "Years", 35 | months: "Months", 36 | days: "Days", 37 | hours: "Hours", 38 | minutes: "Minutes", 39 | seconds: "Seconds", 40 | and: "and", 41 | button_ok: "OK", 42 | units: { 43 | year: { 44 | one: "year", 45 | other: "years" 46 | }, 47 | month: { 48 | one: "month", 49 | other: "months" 50 | }, 51 | day: { 52 | one: "day", 53 | other: "days" 54 | }, 55 | hour: { 56 | one: "hour", 57 | other: "hours" 58 | }, 59 | minute: { 60 | one: "minute", 61 | other: "minutes" 62 | }, 63 | second: { 64 | one: "second", 65 | other: "seconds" 66 | } 67 | } 68 | } 69 | }, 70 | i18n: { 71 | t: function( lang, key, count ) { 72 | if ( count ) { 73 | key += "." + this.pluralRules[ lang ]( count ); 74 | } 75 | 76 | var keys = key.split( "." ); 77 | var text = $.timeDurationPicker.langs[ lang ][ keys[ 0 ] ]; 78 | for ( var i = 1; i < keys.length; ++i ) { 79 | text = text[ keys[ i ] ]; 80 | } 81 | if ( count ) { 82 | text = count + " " + text; 83 | } 84 | return text; 85 | }, 86 | 87 | // http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html 88 | pluralRules: { 89 | en_US: function( count ) { 90 | return parseInt( count ) === 1 ? "one" : "other"; 91 | } 92 | } 93 | } 94 | }; 95 | $.timeDurationPicker.defaults(); 96 | } )( jQuery ); 97 | 98 | ( function( $ ) { 99 | var instances = []; 100 | 101 | $( document ).focusin( function( e ) { 102 | for ( var i = 0, c = instances.length; i < c; ++i ) { 103 | var inst = instances[ i ]; 104 | for ( var j = 0, l = inst.element.length; j < l; ++j ) { 105 | if ( inst.element[ j ] === e.target ) { 106 | var offset = $( e.target ).offset(); 107 | offset.top += $( e.target ).outerHeight(); 108 | inst._content.div.css( offset ).fadeIn(); 109 | inst.restore(); 110 | } 111 | } 112 | } 113 | } ).focusout( function() { 114 | 115 | // FIXME: how to correctly detect that the element has lost focus? 116 | setTimeout( function() { 117 | var el = document.activeElement; 118 | if ( $( el ).parents( ".time-duration-picker-content" ).length === 0 ) { 119 | for ( var i = 0, c = instances.length; i < c; ++i ) { 120 | var hide = true; 121 | var inst = instances[ i ]; 122 | for ( var j = 0, l = inst.element.length; j < l; ++j ) { 123 | if ( inst.element[ j ] === el ) { 124 | hide = false; 125 | break; 126 | } 127 | } 128 | if ( hide ) { 129 | inst._content.div.fadeOut(); 130 | } 131 | } 132 | } 133 | }, 10 ); 134 | } ); 135 | 136 | var YEAR = 12 * 30 * 24 * 60 * 60; 137 | var MONTH = 30 * 24 * 60 * 60; 138 | var DAY = 24 * 60 * 60; 139 | var HOUR = 60 * 60; 140 | var MINUTE = 60; 141 | 142 | $.widget( "custom.timeDurationPicker", { 143 | options: { 144 | }, 145 | _create: function() { 146 | var self = this; 147 | 148 | this.options = $.extend( 149 | true, {}, $.timeDurationPicker.defaults(), this.options 150 | ); 151 | 152 | this._content = {}; 153 | this._content.div = $( "
" ); 154 | this._content.div.addClass( "ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" ); 155 | this._content.div.addClass( "time-duration-picker-content" ); 156 | this._content.div.css( $.extend( { 157 | display: "none", 158 | "z-index": 401 159 | }, this.options.css ) ); 160 | this._content.div.appendTo( document.body ); 161 | 162 | this._content.table = $( 163 | "
" 164 | ).appendTo( this._content.div ); 165 | this._content.tableBody = $( "tbody", this._content.table ); 166 | 167 | this._content.button = $( "" ) 168 | .val( this._t( "button_ok" ) ); 169 | this._content.button.addClass( 170 | "ui-button ui-widget ui-state-default ui-corner-all" 171 | ); 172 | this._content.button.css( { 173 | display: "block", 174 | margin: "0.5em auto", 175 | padding: "0.5em 1em" 176 | } ); 177 | this._content.button.hover( function() { 178 | $( this ).addClass( "ui-state-hover" ); 179 | }, function() { 180 | $( this ).removeClass( "ui-state-hover" ); 181 | } ); 182 | this._content.button.on( "click", function() { 183 | self._content.div.fadeOut(); 184 | self.save(); 185 | 186 | if ( self.options.onSelect ) { 187 | self.options.onSelect.call( 188 | self, self.element, self.getSeconds(), self.getDuration(), self.translate() 189 | ); 190 | } 191 | } ); 192 | this._content.button.appendTo( this._content.div ); 193 | 194 | this._initUnits(); 195 | 196 | instances.push( this ); 197 | }, 198 | _destroy: function() { 199 | var i = instances.indexOf( this ); 200 | 201 | if ( i > -1 ) { 202 | instances.splice( i, 1 ); 203 | } 204 | 205 | this._content.div.remove(); 206 | }, 207 | _initUnits: function() { 208 | var units = [ 209 | "years", "months", "days", "hours", "minutes", "seconds" 210 | ]; 211 | 212 | for ( var i = 0; i < units.length; ++i ) { 213 | var u = units[ i ]; 214 | 215 | if ( this.options[ u ] ) { 216 | this._content[ u ] = this._createNumberInput( 0, 0 ); 217 | this._appendRow( this._t( u ), this._content[ u ] ); 218 | } 219 | } 220 | 221 | if ( this.options.defaultValue ) { 222 | var value; 223 | 224 | if ( typeof this.options.defaultValue === "function" ) { 225 | value = this.options.defaultValue.call( this ); 226 | } else { 227 | value = this.options.defaultValue; 228 | } 229 | 230 | switch ( typeof value ) { 231 | case "number": 232 | this.setSeconds( value ); 233 | break; 234 | case "string": 235 | this.setDuration( value ); 236 | break; 237 | default: 238 | throw new Error( "Unexpected default value type" ); 239 | } 240 | 241 | this.save(); 242 | this.element.val( this.translate() ); 243 | } 244 | }, 245 | _createNumberInput: function( value, min, max ) { 246 | var input = $( "" ); 247 | 248 | value = parseInt( value, 10 ); 249 | min = parseInt( min, 10 ); 250 | max = parseInt( max, 10 ); 251 | 252 | input.css( { 253 | display: "block", 254 | width: "3.5em" 255 | } ); 256 | 257 | if ( !isNaN( value ) ) { 258 | input.attr( "value", value ); 259 | } 260 | 261 | if ( !isNaN( min ) ) { 262 | input.attr( "min", min ); 263 | } 264 | 265 | if ( !isNaN( max ) ) { 266 | input.attr( "max", max ); 267 | } 268 | 269 | return input; 270 | }, 271 | _appendRow: function( text, el ) { 272 | var row = $( "" ).appendTo( this._content.tableBody ); 273 | $( "" ).css( { 274 | width: "50%", 275 | padding: ".5em 1em", 276 | "text-align": "right", 277 | "vertical-align": "middle" 278 | } ).append( $( "" ) 279 | .text( text ) ) 280 | .appendTo( row ); 281 | $( "" ).css( { 282 | width: "50%", 283 | padding: ".5em 1em", 284 | "text-align": "right", 285 | "vertical-align": "middle" 286 | } ).append( el ) 287 | .appendTo( row ); 288 | }, 289 | _t: function( key, count ) { 290 | return $.timeDurationPicker.i18n.t( this.options.lang, key, count ); 291 | }, 292 | 293 | save: function() { 294 | this._duration = {}; 295 | 296 | if ( this.options.years ) { 297 | this._duration.years = this.years(); 298 | } 299 | 300 | if ( this.options.months ) { 301 | this._duration.months = this.months(); 302 | } 303 | 304 | if ( this.options.days ) { 305 | this._duration.days = this.days(); 306 | } 307 | 308 | if ( this.options.hours ) { 309 | this._duration.hours = this.hours(); 310 | } 311 | 312 | if ( this.options.minutes ) { 313 | this._duration.minutes = this.minutes(); 314 | } 315 | 316 | if ( this.options.seconds ) { 317 | this._duration.seconds = this.seconds(); 318 | } 319 | }, 320 | restore: function() { 321 | if ( !this._duration ) { 322 | this._duration = {}; 323 | } 324 | 325 | if ( this.options.years ) { 326 | this.years( this._duration.years || 0 ); 327 | } 328 | 329 | if ( this.options.months ) { 330 | this.months( this._duration.months || 0 ); 331 | } 332 | 333 | if ( this.options.days ) { 334 | this.days( this._duration.days || 0 ); 335 | } 336 | 337 | if ( this.options.hours ) { 338 | this.hours( this._duration.hours || 0 ); 339 | } 340 | 341 | if ( this.options.minutes ) { 342 | this.minutes( this._duration.minutes || 0 ); 343 | } 344 | 345 | if ( this.options.seconds ) { 346 | this.seconds( this._duration.seconds || 0 ); 347 | } 348 | }, 349 | seconds: function( val ) { 350 | if ( !isNaN( val = parseInt( val, 10 ) ) ) { 351 | this._content.seconds.val( val ); 352 | } else { 353 | return parseInt( this._content.seconds.val(), 10 ); 354 | } 355 | }, 356 | minutes: function( val ) { 357 | if ( !isNaN( val = parseInt( val, 10 ) ) ) { 358 | this._content.minutes.val( val ); 359 | } else { 360 | return parseInt( this._content.minutes.val(), 10 ); 361 | } 362 | }, 363 | hours: function( val ) { 364 | if ( !isNaN( val = parseInt( val, 10 ) ) ) { 365 | this._content.hours.val( val ); 366 | } else { 367 | return parseInt( this._content.hours.val(), 10 ); 368 | } 369 | }, 370 | days: function( val ) { 371 | if ( !isNaN( val = parseInt( val, 10 ) ) ) { 372 | this._content.days.val( val ); 373 | } else { 374 | return parseInt( this._content.days.val(), 10 ); 375 | } 376 | }, 377 | months: function( val ) { 378 | if ( !isNaN( val = parseInt( val, 10 ) ) ) { 379 | this._content.months.val( val ); 380 | } else { 381 | return parseInt( this._content.months.val(), 10 ); 382 | } 383 | }, 384 | years: function( val ) { 385 | if ( !isNaN( val = parseInt( val, 10 ) ) ) { 386 | this._content.years.val( val ); 387 | } else { 388 | return parseInt( this._content.years.val(), 10 ); 389 | } 390 | }, 391 | 392 | // Returns String in PnYnMnDTnHnMnS format 393 | // See https://en.wikipedia.org/wiki/ISO_8601#Durations 394 | getDuration: function() { 395 | var duration = "P"; 396 | 397 | if ( this.options.years && this.years() ) { 398 | duration += this.years() + "Y"; 399 | } 400 | 401 | if ( this.options.months && this.months() ) { 402 | duration += this.months() + "M"; 403 | } 404 | 405 | if ( this.options.days && this.days() ) { 406 | duration += this.days() + "D"; 407 | } 408 | 409 | if ( this.options.hours || this.options.minutes || this.options.seconds ) { 410 | duration += "T"; 411 | } 412 | 413 | if ( this.options.hours && this.hours() ) { 414 | duration += this.hours() + "H"; 415 | } 416 | 417 | if ( this.options.minutes && this.minutes() ) { 418 | duration += this.minutes() + "M"; 419 | } 420 | 421 | if ( this.options.seconds && this.seconds() ) { 422 | duration += this.seconds() + "S"; 423 | } 424 | 425 | if ( duration[ duration.length - 1 ] === "T" ) { 426 | duration = duration.substr( 0, duration.length - 1 ); 427 | } 428 | 429 | return duration === "P" ? "PT0S" : duration; 430 | }, 431 | 432 | setDuration: function( value ) { 433 | var formats = [ { 434 | 435 | // PnYnMnDTnHnMnS 436 | re: /^P((\d+)Y)?((\d+)M)?((\d+)D)?(T((\d+)H)?((\d+)M)?((\d+)S)?)?$/, 437 | parse: function( value ) { 438 | var matches = this.re.exec( value ); 439 | 440 | for ( var i = 2; i < matches.length; ++i ) { 441 | matches[ i ] = parseInt( matches[ i ], 10 ) || 0; 442 | } 443 | 444 | return { 445 | years: matches[ 2 ], 446 | months: matches[ 4 ], 447 | days: matches[ 6 ], 448 | hours: matches[ 9 ], 449 | minutes: matches[ 11 ], 450 | seconds: matches[ 13 ] 451 | }; 452 | }, 453 | validate: function( value ) { 454 | return this.re.test( value ); 455 | } 456 | }, { 457 | 458 | // PnW 459 | re: /^P(\d+)W$/, 460 | parse: function( value ) { 461 | var days = this.re.exec( value )[ 1 ] * 7; 462 | 463 | return { years: 0, months: 0, days: days, hours: 0, minutes: 0, seconds: 0 }; 464 | }, 465 | validate: function( value ) { 466 | return this.re.test( value ); 467 | } 468 | }, { 469 | 470 | // PT