From 249b15c461c212b98d7db2f728023c8862a40750 Mon Sep 17 00:00:00 2001 From: Mike Erickson Date: Wed, 4 Sep 2019 09:56:09 -0700 Subject: [PATCH] 0316/prepare minor release (#343) * v3.15.0 * v3.15.1 * chore: build 1.16.0 * remove husky, commitlint, update tests * fixed #328 * fixed regression * update dependencies, clean build process --- .eslintrc.js | 26 + .jshintrc | 13 - .npmignore | 8 + Gruntfile.js | 738 +- README.md | 40 +- bower.json | 25 - dist/lang/ar.js | 4 +- dist/lang/az.js | 21 +- dist/lang/be.js | 20 +- dist/lang/bg.js | 20 +- dist/lang/bs.js | 21 +- dist/lang/ca.js | 2 +- dist/lang/cs.js | 34 +- dist/lang/cy.js | 31 +- dist/lang/da.js | 2 +- dist/lang/de.js | 4 +- dist/lang/el.js | 4 +- dist/lang/en.js | 4 +- dist/lang/es.js | 4 +- dist/lang/et.js | 21 +- dist/lang/eu.js | 21 +- dist/lang/fa.js | 4 +- dist/lang/fi.js | 5 +- dist/lang/fr.js | 4 +- dist/lang/hr.js | 21 +- dist/lang/hu.js | 21 +- dist/lang/id.js | 4 +- dist/lang/it.js | 4 +- dist/lang/ja.js | 30 +- dist/lang/ka.js | 21 +- dist/lang/ko.js | 21 +- dist/lang/lt.js | 23 +- dist/lang/lv.js | 21 +- dist/lang/mk.js | 21 +- dist/lang/mn.js | 21 +- dist/lang/ms.js | 21 +- dist/lang/nb_NO.js | 6 +- dist/lang/nl.js | 4 +- dist/lang/pl.js | 4 +- dist/lang/pt.js | 33 +- dist/lang/pt_BR.js | 21 +- dist/lang/ro.js | 6 +- dist/lang/ru.js | 4 +- dist/lang/se.js | 105 + dist/lang/sl.js | 21 +- dist/lang/sq.js | 21 +- dist/lang/sr.js | 21 +- dist/lang/sv.js | 20 +- dist/lang/tr.js | 4 +- dist/lang/ua.js | 4 +- dist/lang/uk.js | 38 +- dist/lang/vi.js | 4 +- dist/lang/zh.js | 4 +- dist/lang/zh_TW.js | 4 +- dist/validator.js | 16859 +++++++++++++++++++++++++++++++++- dist/validator.min.js | 1 - karma.conf.js | 14 +- package-lock.json | 5563 +++++++---- package.json | 34 +- scripts/build.sh | 18 + scripts/messenger.sh | 263 + scripts/todo.js | 20 + spec/accepted-rule.js | 102 +- spec/async-rule.js | 4 +- spec/attribute-names.js | 24 +- spec/date-rule.js | 95 +- spec/digits_between-rule.js | 56 - spec/flatten-object.js | 4 +- spec/implicit-rule.js | 4 +- spec/integer-rule.js | 4 +- spec/regex-rule.js | 2 +- spec/register.js | 14 +- spec/validator.js | 2 +- spec/wildcard.js | 184 +- src/attributes.js | 2 +- src/lang/ar.js | 2 +- src/lang/az.js | 19 +- src/lang/be.js | 18 +- src/lang/bg.js | 18 +- src/lang/bs.js | 19 +- src/lang/cs.js | 32 +- src/lang/cy.js | 29 +- src/lang/de.js | 2 +- src/lang/el.js | 2 +- src/lang/en.js | 2 +- src/lang/es.js | 2 +- src/lang/et.js | 19 +- src/lang/eu.js | 19 +- src/lang/fa.js | 2 +- src/lang/fi.js | 3 +- src/lang/fr.js | 2 +- src/lang/hr.js | 19 +- src/lang/hu.js | 19 +- src/lang/id.js | 2 +- src/lang/it.js | 2 +- src/lang/ja.js | 28 +- src/lang/ka.js | 19 +- src/lang/ko.js | 19 +- src/lang/lt.js | 21 +- src/lang/lv.js | 19 +- src/lang/mk.js | 19 +- src/lang/mn.js | 19 +- src/lang/ms.js | 19 +- src/lang/nb_NO.js | 4 +- src/lang/nl.js | 2 +- src/lang/pl.js | 2 +- src/lang/pt.js | 31 +- src/lang/pt_BR.js | 19 +- src/lang/ro.js | 3 +- src/lang/ru.js | 2 +- src/lang/se.js | 47 + src/lang/sl.js | 19 +- src/lang/sq.js | 19 +- src/lang/sr.js | 19 +- src/lang/sv.js | 18 +- src/lang/tr.js | 2 +- src/lang/ua.js | 2 +- src/lang/uk.js | 36 +- src/lang/vi.js | 2 +- src/lang/zh.js | 2 +- src/lang/zh_TW.js | 2 +- src/rules.js | 161 +- src/validator.js | 6 +- yarn.lock | 3565 ------- 124 files changed, 22492 insertions(+), 6764 deletions(-) create mode 100644 .eslintrc.js delete mode 100755 .jshintrc create mode 100644 .npmignore delete mode 100755 bower.json mode change 100755 => 100644 dist/lang/ca.js mode change 100755 => 100644 dist/lang/da.js mode change 100755 => 100644 dist/lang/de.js mode change 100755 => 100644 dist/lang/el.js mode change 100755 => 100644 dist/lang/es.js mode change 100755 => 100644 dist/lang/fa.js mode change 100755 => 100644 dist/lang/fr.js mode change 100755 => 100644 dist/lang/it.js mode change 100755 => 100644 dist/lang/ja.js mode change 100755 => 100644 dist/lang/nb_NO.js mode change 100755 => 100644 dist/lang/nl.js mode change 100755 => 100644 dist/lang/pl.js mode change 100755 => 100644 dist/lang/pt.js mode change 100755 => 100644 dist/lang/ru.js create mode 100644 dist/lang/se.js mode change 100755 => 100644 dist/lang/tr.js mode change 100755 => 100644 dist/lang/ua.js mode change 100755 => 100644 dist/lang/vi.js mode change 100755 => 100644 dist/lang/zh.js mode change 100755 => 100644 dist/lang/zh_TW.js delete mode 100644 dist/validator.min.js mode change 100755 => 100644 package-lock.json create mode 100755 scripts/build.sh create mode 100644 scripts/messenger.sh create mode 100755 scripts/todo.js delete mode 100755 spec/digits_between-rule.js create mode 100644 src/lang/se.js delete mode 100755 yarn.lock diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..5e067ed4 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,26 @@ +module.exports = { + env: { + es6: true, + node: true, + jest: true + }, + extends: 'eslint:recommended', + parserOptions: { + ecmaVersion: 2017 + }, + rules: { + 'no-empty': 'off', + indent: ['error', 2], + quotes: ['error', 'single'], + semi: ['error', 'always'], + 'no-useless-escape': 'off', + 'no-unused-vars': 'off', + 'no-undef': 'off', + 'no-console': [ + 'error', + { + allow: ['log'] + } + ] + } +}; diff --git a/.jshintrc b/.jshintrc deleted file mode 100755 index beeb74f4..00000000 --- a/.jshintrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "curly": true, - "eqeqeq": true, - "immed": true, - "latedef": true, - "newcap": true, - "noarg": true, - "sub": true, - "boss": true, - "eqnull": true, - "jquery": false, - "es5": false -} \ No newline at end of file diff --git a/.npmignore b/.npmignore new file mode 100644 index 00000000..5f2294c0 --- /dev/null +++ b/.npmignore @@ -0,0 +1,8 @@ +tests/ +test/ +dist/validator.min.js +spec/ +scripts/ +karma.conf.js +Gruntfile.js +gulpfile.js \ No newline at end of file diff --git a/Gruntfile.js b/Gruntfile.js index 603495c2..cbf1aafa 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,380 +1,372 @@ /*global module:false*/ -module.exports = function (grunt) { - 'use strict'; +module.exports = function(grunt) { + 'use strict'; - require('jit-grunt')(grunt); + require('jit-grunt')(grunt); - // Project configuration. - grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), - jshint: { - all: 'src/*.js', - options: { - jshintrc: '.jshintrc' - } - }, - browserify: { - arLang: { - src: [], - options: { - require: ['./src/lang/ar:./lang/ar'] - }, - dest: 'dist/lang/ar.js' - }, - azLang: { - src: [], - options: { - require: ['./src/lang/az:./lang/az'] - }, - dest: 'dist/lang/az.js' - }, - beLang: { - src: [], - options: { - require: ['./src/lang/be:./lang/be'] - }, - dest: 'dist/lang/be.js' - }, - bgLang: { - src: [], - options: { - require: ['./src/lang/bg:./lang/bg'] - }, - dest: 'dist/lang/bg.js' - }, - bsLang: { - src: [], - options: { - require: ['./src/lang/bs:./lang/bs'] - }, - dest: 'dist/lang/bs.js' - }, - caLang: { - src: [], - options: { - require: ['./src/lang/ca:./lang/ca'] - }, - dest: 'dist/lang/ca.js' - }, - csLang: { - src: [], - options: { - require: ['./src/lang/cs:./lang/cs'] - }, - dest: 'dist/lang/cs.js' - }, - cyLang: { - src: [], - options: { - require: ['./src/lang/cy:./lang/cy'] - }, - dest: 'dist/lang/cy.js' - }, - daLang: { - src: [], - options: { - require: ['./src/lang/da:./lang/da'] - }, - dest: 'dist/lang/da.js' - }, - deLang: { - src: [], - options: { - require: ['./src/lang/de:./lang/de'] - }, - dest: 'dist/lang/de.js' - }, - elLang: { - src: [], - options: { - require: ['./src/lang/el:./lang/el'] - }, - dest: 'dist/lang/el.js' - }, - enLang: { - src: [], - options: { - require: ['./src/lang/en:./lang/en'] - }, - dest: 'dist/lang/en.js' - }, - esLang: { - src: [], - options: { - require: ['./src/lang/es:./lang/es'] - }, - dest: 'dist/lang/es.js' - }, - etLang: { - src: [], - options: { - require: ['./src/lang/et:./lang/et'] - }, - dest: 'dist/lang/et.js' - }, - euLang: { - src: [], - options: { - require: ['./src/lang/eu:./lang/eu'] - }, - dest: 'dist/lang/eu.js' - }, - faLang: { - src: [], - options: { - require: ['./src/lang/fa:./lang/fa'] - }, - dest: 'dist/lang/fa.js' - }, - fiLang: { - src: [], - options: { - require: ['./src/lang/fi:./lang/fi'] - }, - dest: 'dist/lang/fi.js' - }, - frLang: { - src: [], - options: { - require: ['./src/lang/fr:./lang/fr'] - }, - dest: 'dist/lang/fr.js' - }, - hrLang: { - src: [], - options: { - require: ['./src/lang/hr:./lang/hr'] - }, - dest: 'dist/lang/hr.js' - }, - huLang: { - src: [], - options: { - require: ['./src/lang/hu:./lang/hu'] - }, - dest: 'dist/lang/hu.js' - }, - idLang: { - src: [], - options: { - require: ['./src/lang/id:./lang/id'] - }, - dest: 'dist/lang/id.js' - }, - itLang: { - src: [], - options: { - require: ['./src/lang/it:./lang/it'] - }, - dest: 'dist/lang/it.js' - }, - jaLang: { - src: [], - options: { - require: ['./src/lang/ja:./lang/ja'] - }, - dest: 'dist/lang/ja.js' - }, - kaLang: { - src: [], - options: { - require: ['./src/lang/ka:./lang/ka'] - }, - dest: 'dist/lang/ka.js' - }, - koLang: { - src: [], - options: { - require: ['./src/lang/ko:./lang/ko'] - }, - dest: 'dist/lang/ko.js' - }, - ltLang: { - src: [], - options: { - require: ['./src/lang/lt:./lang/lt'] - }, - dest: 'dist/lang/lt.js' - }, - lvLang: { - src: [], - options: { - require: ['./src/lang/lv:./lang/lv'] - }, - dest: 'dist/lang/lv.js' - }, - mkLang: { - src: [], - options: { - require: ['./src/lang/mk:./lang/mk'] - }, - dest: 'dist/lang/mk.js' - }, - mnLang: { - src: [], - options: { - require: ['./src/lang/mn:./lang/mn'] - }, - dest: 'dist/lang/mn.js' - }, - msLang: { - src: [], - options: { - require: ['./src/lang/ms:./lang/ms'] - }, - dest: 'dist/lang/ms.js' - }, - nbNOLang: { - src: [], - options: { - require: ['./src/lang/nb_NO:./lang/nb_NO'] - }, - dest: 'dist/lang/nb_NO.js' - }, - nlLang: { - src: [], - options: { - require: ['./src/lang/nl:./lang/nl'] - }, - dest: 'dist/lang/nl.js' - }, - plLang: { - src: [], - options: { - require: ['./src/lang/pl:./lang/pl'] - }, - dest: 'dist/lang/pl.js' - }, - ptLang: { - src: [], - options: { - require: ['./src/lang/pt:./lang/pt'] - }, - dest: 'dist/lang/pt.js' - }, - ptBRLang: { - src: [], - options: { - require: ['./src/lang/pt_BR:./lang/pt_BR'] - }, - dest: 'dist/lang/pt_BR.js' - }, - roLang: { - src: [], - options: { - require: ['./src/lang/ro:./lang/ro'] - }, - dest: 'dist/lang/ro.js' - }, - ruLang: { - src: [], - options: { - require: ['./src/lang/ru:./lang/ru'] - }, - dest: 'dist/lang/ru.js' - }, - slLang: { - src: [], - options: { - require: ['./src/lang/sl:./lang/sl'] - }, - dest: 'dist/lang/sl.js' - }, - sqLang: { - src: [], - options: { - require: ['./src/lang/sq:./lang/sq'] - }, - dest: 'dist/lang/sq.js' - }, - srLang: { - src: [], - options: { - require: ['./src/lang/sr:./lang/sr'] - }, - dest: 'dist/lang/sr.js' - }, - svLang: { - src: [], - options: { - require: ['./src/lang/sv:./lang/sv'] - }, - dest: 'dist/lang/sv.js' - }, - trLang: { - src: [], - options: { - require: ['./src/lang/tr:./lang/tr'] - }, - dest: 'dist/lang/tr.js' - }, - uaLang: { - src: [], - options: { - require: ['./src/lang/ua:./lang/ua'] - }, - dest: 'dist/lang/ua.js' - }, - ukLang: { - src: [], - options: { - require: ['./src/lang/uk:./lang/uk'] - }, - dest: 'dist/lang/uk.js' - }, - viLang: { - src: [], - options: { - require: ['./src/lang/vi:./lang/vi'] - }, - dest: 'dist/lang/vi.js' - }, - zhLang: { - src: [], - options: { - require: ['./src/lang/zh:./lang/zh'] - }, - dest: 'dist/lang/zh.js' - }, - zhTWLang: { - src: [], - options: { - require: ['./src/lang/zh_TW:./lang/zh_TW'] - }, - dest: 'dist/lang/zh_TW.js' - }, + // Project configuration. + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + browserify: { + arLang: { + src: [], + options: { + require: ['./src/lang/ar:./lang/ar'] + }, + dest: 'dist/lang/ar.js' + }, + azLang: { + src: [], + options: { + require: ['./src/lang/az:./lang/az'] + }, + dest: 'dist/lang/az.js' + }, + beLang: { + src: [], + options: { + require: ['./src/lang/be:./lang/be'] + }, + dest: 'dist/lang/be.js' + }, + bgLang: { + src: [], + options: { + require: ['./src/lang/bg:./lang/bg'] + }, + dest: 'dist/lang/bg.js' + }, + bsLang: { + src: [], + options: { + require: ['./src/lang/bs:./lang/bs'] + }, + dest: 'dist/lang/bs.js' + }, + caLang: { + src: [], + options: { + require: ['./src/lang/ca:./lang/ca'] + }, + dest: 'dist/lang/ca.js' + }, + csLang: { + src: [], + options: { + require: ['./src/lang/cs:./lang/cs'] + }, + dest: 'dist/lang/cs.js' + }, + cyLang: { + src: [], + options: { + require: ['./src/lang/cy:./lang/cy'] + }, + dest: 'dist/lang/cy.js' + }, + daLang: { + src: [], + options: { + require: ['./src/lang/da:./lang/da'] + }, + dest: 'dist/lang/da.js' + }, + deLang: { + src: [], + options: { + require: ['./src/lang/de:./lang/de'] + }, + dest: 'dist/lang/de.js' + }, + elLang: { + src: [], + options: { + require: ['./src/lang/el:./lang/el'] + }, + dest: 'dist/lang/el.js' + }, + enLang: { + src: [], + options: { + require: ['./src/lang/en:./lang/en'] + }, + dest: 'dist/lang/en.js' + }, + esLang: { + src: [], + options: { + require: ['./src/lang/es:./lang/es'] + }, + dest: 'dist/lang/es.js' + }, + etLang: { + src: [], + options: { + require: ['./src/lang/et:./lang/et'] + }, + dest: 'dist/lang/et.js' + }, + euLang: { + src: [], + options: { + require: ['./src/lang/eu:./lang/eu'] + }, + dest: 'dist/lang/eu.js' + }, + faLang: { + src: [], + options: { + require: ['./src/lang/fa:./lang/fa'] + }, + dest: 'dist/lang/fa.js' + }, + fiLang: { + src: [], + options: { + require: ['./src/lang/fi:./lang/fi'] + }, + dest: 'dist/lang/fi.js' + }, + frLang: { + src: [], + options: { + require: ['./src/lang/fr:./lang/fr'] + }, + dest: 'dist/lang/fr.js' + }, + hrLang: { + src: [], + options: { + require: ['./src/lang/hr:./lang/hr'] + }, + dest: 'dist/lang/hr.js' + }, + huLang: { + src: [], + options: { + require: ['./src/lang/hu:./lang/hu'] + }, + dest: 'dist/lang/hu.js' + }, + idLang: { + src: [], + options: { + require: ['./src/lang/id:./lang/id'] + }, + dest: 'dist/lang/id.js' + }, + itLang: { + src: [], + options: { + require: ['./src/lang/it:./lang/it'] + }, + dest: 'dist/lang/it.js' + }, + jaLang: { + src: [], + options: { + require: ['./src/lang/ja:./lang/ja'] + }, + dest: 'dist/lang/ja.js' + }, + kaLang: { + src: [], + options: { + require: ['./src/lang/ka:./lang/ka'] + }, + dest: 'dist/lang/ka.js' + }, + koLang: { + src: [], + options: { + require: ['./src/lang/ko:./lang/ko'] + }, + dest: 'dist/lang/ko.js' + }, + ltLang: { + src: [], + options: { + require: ['./src/lang/lt:./lang/lt'] + }, + dest: 'dist/lang/lt.js' + }, + lvLang: { + src: [], + options: { + require: ['./src/lang/lv:./lang/lv'] + }, + dest: 'dist/lang/lv.js' + }, + mkLang: { + src: [], + options: { + require: ['./src/lang/mk:./lang/mk'] + }, + dest: 'dist/lang/mk.js' + }, + mnLang: { + src: [], + options: { + require: ['./src/lang/mn:./lang/mn'] + }, + dest: 'dist/lang/mn.js' + }, + msLang: { + src: [], + options: { + require: ['./src/lang/ms:./lang/ms'] + }, + dest: 'dist/lang/ms.js' + }, + nbNOLang: { + src: [], + options: { + require: ['./src/lang/nb_NO:./lang/nb_NO'] + }, + dest: 'dist/lang/nb_NO.js' + }, + nlLang: { + src: [], + options: { + require: ['./src/lang/nl:./lang/nl'] + }, + dest: 'dist/lang/nl.js' + }, + plLang: { + src: [], + options: { + require: ['./src/lang/pl:./lang/pl'] + }, + dest: 'dist/lang/pl.js' + }, + ptLang: { + src: [], + options: { + require: ['./src/lang/pt:./lang/pt'] + }, + dest: 'dist/lang/pt.js' + }, + ptBRLang: { + src: [], + options: { + require: ['./src/lang/pt_BR:./lang/pt_BR'] + }, + dest: 'dist/lang/pt_BR.js' + }, + roLang: { + src: [], + options: { + require: ['./src/lang/ro:./lang/ro'] + }, + dest: 'dist/lang/ro.js' + }, + ruLang: { + src: [], + options: { + require: ['./src/lang/ru:./lang/ru'] + }, + dest: 'dist/lang/ru.js' + }, + seLang: { + src: [], + options: { + require: ['./src/lang/sl:./lang/se'] + }, + dest: 'dist/lang/se.js' + }, + slLang: { + src: [], + options: { + require: ['./src/lang/sl:./lang/sl'] + }, + dest: 'dist/lang/sl.js' + }, + sqLang: { + src: [], + options: { + require: ['./src/lang/sq:./lang/sq'] + }, + dest: 'dist/lang/sq.js' + }, + srLang: { + src: [], + options: { + require: ['./src/lang/sr:./lang/sr'] + }, + dest: 'dist/lang/sr.js' + }, + svLang: { + src: [], + options: { + require: ['./src/lang/sv:./lang/sv'] + }, + dest: 'dist/lang/sv.js' + }, + trLang: { + src: [], + options: { + require: ['./src/lang/tr:./lang/tr'] + }, + dest: 'dist/lang/tr.js' + }, + uaLang: { + src: [], + options: { + require: ['./src/lang/ua:./lang/ua'] + }, + dest: 'dist/lang/ua.js' + }, + ukLang: { + src: [], + options: { + require: ['./src/lang/uk:./lang/uk'] + }, + dest: 'dist/lang/uk.js' + }, + viLang: { + src: [], + options: { + require: ['./src/lang/vi:./lang/vi'] + }, + dest: 'dist/lang/vi.js' + }, + zhLang: { + src: [], + options: { + require: ['./src/lang/zh:./lang/zh'] + }, + dest: 'dist/lang/zh.js' + }, + zhTWLang: { + src: [], + options: { + require: ['./src/lang/zh_TW:./lang/zh_TW'] + }, + dest: 'dist/lang/zh_TW.js' + }, - dist: { - files: { - 'dist/validator.js': 'src/validator.js' - }, - options: { - banner: "/*! <%= pkg.name %> - v<%= pkg.version %> - <%= pkg.homepage %> - " + - "<%= grunt.template.today('yyyy-mm-dd') %> */", - browserifyOptions: { - standalone: 'Validator' - } - } - } - }, - uglify: { - options: { - banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - <%= pkg.homepage %> - <%= grunt.template.today("yyyy-mm-dd") %> */' - }, - dist: { - src: 'dist/validator.js', - dest: 'dist/validator.min.js' - } - }, - watch: { - files: ['src/**/*.js'], - tasks: ['default'] + dist: { + files: { + 'dist/validator.js': 'src/validator.js' + }, + options: { + banner: + '/*! <%= pkg.name %> - v<%= pkg.version %> - <%= pkg.homepage %> - ' + + '<%= grunt.template.today(\'yyyy-mm-dd\') %> */', + browserifyOptions: { + standalone: 'Validator' + } } - }); - - // Default task. - grunt.registerTask('build', ['browserify']); - grunt.registerTask('dist', ['jshint', 'build', 'uglify']); - grunt.registerTask('default', ['dist']); + } + }, + watch: { + files: ['src/**/*.js'], + tasks: ['default'] + } + }); + // Default task. + grunt.registerTask('build', ['browserify']); + grunt.registerTask('dist', ['build']); + grunt.registerTask('default', ['dist']); }; diff --git a/README.md b/README.md index 63566bf5..35c42854 100755 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -validatorjs -=========== +# validatorjs [![Build Status](https://travis-ci.org/skaterdav85/validatorjs.png?branch=master)](https://travis-ci.org/skaterdav85/validatorjs) -The validatorjs library makes data validation in JavaScript very easy in both the browser and Node.js. This library was inspired by the [Laravel framework's Validator](http://laravel.com/docs/validation). +The validatorjs library makes data validation in JavaScript very easy in both the browser and Node.js. +This library was inspired by the [Laravel framework's Validator](http://laravel.com/docs/validation). ## Why use validatorjs? @@ -15,14 +15,16 @@ The validatorjs library makes data validation in JavaScript very easy in both th ## Installation -Grab validatorjs from Bower, NPM, or the /dist directory on Github: +### Using npm -``` -bower install validatorjs +```bash +npm install validatorjs ``` -``` -npm install validatorjs +### Using yarn + +```bash +yarn add validatorjs ``` ### Browser @@ -34,9 +36,15 @@ npm install validatorjs ### Node.js / Browserify ```js +// ES5 let Validator = require('validatorjs'); ``` +```js +// ES6 +import Validator from 'validatorjs'; +``` + ### Basic Usage ```js @@ -577,3 +585,19 @@ let messages = Validator.getMessages('en'); messages.required = 'Whoops, :attribute field is required.'; Validator.setMessages('en', messages); ``` + +### License + +Copyright © 2012-2019 David Tang +Released under the MIT license + +### Credits + +validatorjs created by David Tang +validatorjs maintained by Mike Erickson and Contributors + +E-Mail: [codedungeon@gmail.com](mailto:codedungeon@gmail.com) + +Twitter: [@codedungeon](http://twitter.com/codedungeon) + +Website: [codedungeon.io](http://codedungeon.io) \ No newline at end of file diff --git a/bower.json b/bower.json deleted file mode 100755 index d842d3fe..00000000 --- a/bower.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "validatorjs", - "version": "3.14.2", - "homepage": "https://github.com/skaterdav85/validatorjs", - "authors": [ - "David Tang" - ], - "description": "Validation library based on Laravel's Validator class", - "main": "dist/validator.js", - "keywords": [ - "validation", - "node", - "laravel", - "validator" - ], - "license": "MIT", - "ignore": [ - "**/.*", - "node_modules", - "bower_components", - "Gruntfile.js", - "spec", - "lib" - ] -} diff --git a/dist/lang/ar.js b/dist/lang/ar.js index ef9bbca5..42b0f748 100644 --- a/dist/lang/ar.js +++ b/dist/lang/ar.js @@ -1,4 +1,4 @@ -require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 0 ? 1 : 0; + + switch (token) { + // AD, BC + case 'G': + case 'GG': + case 'GGG': + return localize.era(era, { + width: 'abbreviated' + }); + // A, B + + case 'GGGGG': + return localize.era(era, { + width: 'narrow' + }); + // Anno Domini, Before Christ + + case 'GGGG': + default: + return localize.era(era, { + width: 'wide' + }); + } + }, + // Year + y: function (date, token, localize) { + // Ordinal number + if (token === 'yo') { + var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript) + + var year = signedYear > 0 ? signedYear : 1 - signedYear; + return localize.ordinalNumber(year, { + unit: 'year' + }); + } + + return _index.default.y(date, token); + }, + // Local week-numbering year + Y: function (date, token, localize, options) { + var signedWeekYear = (0, _index6.default)(date, options); // Returns 1 for 1 BC (which is year 0 in JavaScript) + + var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year + + if (token === 'YY') { + var twoDigitYear = weekYear % 100; + return (0, _index7.default)(twoDigitYear, 2); + } // Ordinal number + + + if (token === 'Yo') { + return localize.ordinalNumber(weekYear, { + unit: 'year' + }); + } // Padding + + + return (0, _index7.default)(weekYear, token.length); + }, + // ISO week-numbering year + R: function (date, token) { + var isoWeekYear = (0, _index4.default)(date); // Padding + + return (0, _index7.default)(isoWeekYear, token.length); + }, + // Extended year. This is a single number designating the year of this calendar system. + // The main difference between `y` and `u` localizers are B.C. years: + // | Year | `y` | `u` | + // |------|-----|-----| + // | AC 1 | 1 | 1 | + // | BC 1 | 1 | 0 | + // | BC 2 | 2 | -1 | + // Also `yy` always returns the last two digits of a year, + // while `uu` pads single digit years to 2 characters and returns other years unchanged. + u: function (date, token) { + var year = date.getUTCFullYear(); + return (0, _index7.default)(year, token.length); + }, + // Quarter + Q: function (date, token, localize) { + var quarter = Math.ceil((date.getUTCMonth() + 1) / 3); + + switch (token) { + // 1, 2, 3, 4 + case 'Q': + return String(quarter); + // 01, 02, 03, 04 + + case 'QQ': + return (0, _index7.default)(quarter, 2); + // 1st, 2nd, 3rd, 4th + + case 'Qo': + return localize.ordinalNumber(quarter, { + unit: 'quarter' + }); + // Q1, Q2, Q3, Q4 + + case 'QQQ': + return localize.quarter(quarter, { + width: 'abbreviated', + context: 'formatting' + }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) + + case 'QQQQQ': + return localize.quarter(quarter, { + width: 'narrow', + context: 'formatting' + }); + // 1st quarter, 2nd quarter, ... + + case 'QQQQ': + default: + return localize.quarter(quarter, { + width: 'wide', + context: 'formatting' + }); + } + }, + // Stand-alone quarter + q: function (date, token, localize) { + var quarter = Math.ceil((date.getUTCMonth() + 1) / 3); + + switch (token) { + // 1, 2, 3, 4 + case 'q': + return String(quarter); + // 01, 02, 03, 04 + + case 'qq': + return (0, _index7.default)(quarter, 2); + // 1st, 2nd, 3rd, 4th + + case 'qo': + return localize.ordinalNumber(quarter, { + unit: 'quarter' + }); + // Q1, Q2, Q3, Q4 + + case 'qqq': + return localize.quarter(quarter, { + width: 'abbreviated', + context: 'standalone' + }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) + + case 'qqqqq': + return localize.quarter(quarter, { + width: 'narrow', + context: 'standalone' + }); + // 1st quarter, 2nd quarter, ... + + case 'qqqq': + default: + return localize.quarter(quarter, { + width: 'wide', + context: 'standalone' + }); + } + }, + // Month + M: function (date, token, localize) { + var month = date.getUTCMonth(); + + switch (token) { + case 'M': + case 'MM': + return _index.default.M(date, token); + // 1st, 2nd, ..., 12th + + case 'Mo': + return localize.ordinalNumber(month + 1, { + unit: 'month' + }); + // Jan, Feb, ..., Dec + + case 'MMM': + return localize.month(month, { + width: 'abbreviated', + context: 'formatting' + }); + // J, F, ..., D + + case 'MMMMM': + return localize.month(month, { + width: 'narrow', + context: 'formatting' + }); + // January, February, ..., December + + case 'MMMM': + default: + return localize.month(month, { + width: 'wide', + context: 'formatting' + }); + } + }, + // Stand-alone month + L: function (date, token, localize) { + var month = date.getUTCMonth(); + + switch (token) { + // 1, 2, ..., 12 + case 'L': + return String(month + 1); + // 01, 02, ..., 12 + + case 'LL': + return (0, _index7.default)(month + 1, 2); + // 1st, 2nd, ..., 12th + + case 'Lo': + return localize.ordinalNumber(month + 1, { + unit: 'month' + }); + // Jan, Feb, ..., Dec + + case 'LLL': + return localize.month(month, { + width: 'abbreviated', + context: 'standalone' + }); + // J, F, ..., D + + case 'LLLLL': + return localize.month(month, { + width: 'narrow', + context: 'standalone' + }); + // January, February, ..., December + + case 'LLLL': + default: + return localize.month(month, { + width: 'wide', + context: 'standalone' + }); + } + }, + // Local week of year + w: function (date, token, localize, options) { + var week = (0, _index5.default)(date, options); + + if (token === 'wo') { + return localize.ordinalNumber(week, { + unit: 'week' + }); + } + + return (0, _index7.default)(week, token.length); + }, + // ISO week of year + I: function (date, token, localize) { + var isoWeek = (0, _index3.default)(date); + + if (token === 'Io') { + return localize.ordinalNumber(isoWeek, { + unit: 'week' + }); + } + + return (0, _index7.default)(isoWeek, token.length); + }, + // Day of the month + d: function (date, token, localize) { + if (token === 'do') { + return localize.ordinalNumber(date.getUTCDate(), { + unit: 'date' + }); + } + + return _index.default.d(date, token); + }, + // Day of year + D: function (date, token, localize) { + var dayOfYear = (0, _index2.default)(date); + + if (token === 'Do') { + return localize.ordinalNumber(dayOfYear, { + unit: 'dayOfYear' + }); + } + + return (0, _index7.default)(dayOfYear, token.length); + }, + // Day of week + E: function (date, token, localize) { + var dayOfWeek = date.getUTCDay(); + + switch (token) { + // Tue + case 'E': + case 'EE': + case 'EEE': + return localize.day(dayOfWeek, { + width: 'abbreviated', + context: 'formatting' + }); + // T + + case 'EEEEE': + return localize.day(dayOfWeek, { + width: 'narrow', + context: 'formatting' + }); + // Tu + + case 'EEEEEE': + return localize.day(dayOfWeek, { + width: 'short', + context: 'formatting' + }); + // Tuesday + + case 'EEEE': + default: + return localize.day(dayOfWeek, { + width: 'wide', + context: 'formatting' + }); + } + }, + // Local day of week + e: function (date, token, localize, options) { + var dayOfWeek = date.getUTCDay(); + var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; + + switch (token) { + // Numerical value (Nth day of week with current locale or weekStartsOn) + case 'e': + return String(localDayOfWeek); + // Padded numerical value + + case 'ee': + return (0, _index7.default)(localDayOfWeek, 2); + // 1st, 2nd, ..., 7th + + case 'eo': + return localize.ordinalNumber(localDayOfWeek, { + unit: 'day' + }); + + case 'eee': + return localize.day(dayOfWeek, { + width: 'abbreviated', + context: 'formatting' + }); + // T + + case 'eeeee': + return localize.day(dayOfWeek, { + width: 'narrow', + context: 'formatting' + }); + // Tu + + case 'eeeeee': + return localize.day(dayOfWeek, { + width: 'short', + context: 'formatting' + }); + // Tuesday + + case 'eeee': + default: + return localize.day(dayOfWeek, { + width: 'wide', + context: 'formatting' + }); + } + }, + // Stand-alone local day of week + c: function (date, token, localize, options) { + var dayOfWeek = date.getUTCDay(); + var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7; + + switch (token) { + // Numerical value (same as in `e`) + case 'c': + return String(localDayOfWeek); + // Padded numerical value + + case 'cc': + return (0, _index7.default)(localDayOfWeek, token.length); + // 1st, 2nd, ..., 7th + + case 'co': + return localize.ordinalNumber(localDayOfWeek, { + unit: 'day' + }); + + case 'ccc': + return localize.day(dayOfWeek, { + width: 'abbreviated', + context: 'standalone' + }); + // T + + case 'ccccc': + return localize.day(dayOfWeek, { + width: 'narrow', + context: 'standalone' + }); + // Tu + + case 'cccccc': + return localize.day(dayOfWeek, { + width: 'short', + context: 'standalone' + }); + // Tuesday + + case 'cccc': + default: + return localize.day(dayOfWeek, { + width: 'wide', + context: 'standalone' + }); + } + }, + // ISO day of week + i: function (date, token, localize) { + var dayOfWeek = date.getUTCDay(); + var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek; + + switch (token) { + // 2 + case 'i': + return String(isoDayOfWeek); + // 02 + + case 'ii': + return (0, _index7.default)(isoDayOfWeek, token.length); + // 2nd + + case 'io': + return localize.ordinalNumber(isoDayOfWeek, { + unit: 'day' + }); + // Tue + + case 'iii': + return localize.day(dayOfWeek, { + width: 'abbreviated', + context: 'formatting' + }); + // T + + case 'iiiii': + return localize.day(dayOfWeek, { + width: 'narrow', + context: 'formatting' + }); + // Tu + + case 'iiiiii': + return localize.day(dayOfWeek, { + width: 'short', + context: 'formatting' + }); + // Tuesday + + case 'iiii': + default: + return localize.day(dayOfWeek, { + width: 'wide', + context: 'formatting' + }); + } + }, + // AM or PM + a: function (date, token, localize) { + var hours = date.getUTCHours(); + var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am'; + + switch (token) { + case 'a': + case 'aa': + case 'aaa': + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'abbreviated', + context: 'formatting' + }); + + case 'aaaaa': + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'narrow', + context: 'formatting' + }); + + case 'aaaa': + default: + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'wide', + context: 'formatting' + }); + } + }, + // AM, PM, midnight, noon + b: function (date, token, localize) { + var hours = date.getUTCHours(); + var dayPeriodEnumValue; + + if (hours === 12) { + dayPeriodEnumValue = dayPeriodEnum.noon; + } else if (hours === 0) { + dayPeriodEnumValue = dayPeriodEnum.midnight; + } else { + dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am'; + } + + switch (token) { + case 'b': + case 'bb': + case 'bbb': + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'abbreviated', + context: 'formatting' + }); + + case 'bbbbb': + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'narrow', + context: 'formatting' + }); + + case 'bbbb': + default: + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'wide', + context: 'formatting' + }); + } + }, + // in the morning, in the afternoon, in the evening, at night + B: function (date, token, localize) { + var hours = date.getUTCHours(); + var dayPeriodEnumValue; + + if (hours >= 17) { + dayPeriodEnumValue = dayPeriodEnum.evening; + } else if (hours >= 12) { + dayPeriodEnumValue = dayPeriodEnum.afternoon; + } else if (hours >= 4) { + dayPeriodEnumValue = dayPeriodEnum.morning; + } else { + dayPeriodEnumValue = dayPeriodEnum.night; + } + + switch (token) { + case 'B': + case 'BB': + case 'BBB': + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'abbreviated', + context: 'formatting' + }); + + case 'BBBBB': + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'narrow', + context: 'formatting' + }); + + case 'BBBB': + default: + return localize.dayPeriod(dayPeriodEnumValue, { + width: 'wide', + context: 'formatting' + }); + } + }, + // Hour [1-12] + h: function (date, token, localize) { + if (token === 'ho') { + var hours = date.getUTCHours() % 12; + if (hours === 0) hours = 12; + return localize.ordinalNumber(hours, { + unit: 'hour' + }); + } + + return _index.default.h(date, token); + }, + // Hour [0-23] + H: function (date, token, localize) { + if (token === 'Ho') { + return localize.ordinalNumber(date.getUTCHours(), { + unit: 'hour' + }); + } + + return _index.default.H(date, token); + }, + // Hour [0-11] + K: function (date, token, localize) { + var hours = date.getUTCHours() % 12; + + if (token === 'Ko') { + return localize.ordinalNumber(hours, { + unit: 'hour' + }); + } + + return (0, _index7.default)(hours, token.length); + }, + // Hour [1-24] + k: function (date, token, localize) { + var hours = date.getUTCHours(); + if (hours === 0) hours = 24; + + if (token === 'ko') { + return localize.ordinalNumber(hours, { + unit: 'hour' + }); + } + + return (0, _index7.default)(hours, token.length); + }, + // Minute + m: function (date, token, localize) { + if (token === 'mo') { + return localize.ordinalNumber(date.getUTCMinutes(), { + unit: 'minute' + }); + } + + return _index.default.m(date, token); + }, + // Second + s: function (date, token, localize) { + if (token === 'so') { + return localize.ordinalNumber(date.getUTCSeconds(), { + unit: 'second' + }); + } + + return _index.default.s(date, token); + }, + // Fraction of second + S: function (date, token) { + return _index.default.S(date, token); + }, + // Timezone (ISO-8601. If offset is 0, output is always `'Z'`) + X: function (date, token, _localize, options) { + var originalDate = options._originalDate || date; + var timezoneOffset = originalDate.getTimezoneOffset(); + + if (timezoneOffset === 0) { + return 'Z'; + } + + switch (token) { + // Hours and optional minutes + case 'X': + return formatTimezoneWithOptionalMinutes(timezoneOffset); + // Hours, minutes and optional seconds without `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `XX` + + case 'XXXX': + case 'XX': + // Hours and minutes without `:` delimiter + return formatTimezone(timezoneOffset); + // Hours, minutes and optional seconds with `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `XXX` + + case 'XXXXX': + case 'XXX': // Hours and minutes with `:` delimiter + + default: + return formatTimezone(timezoneOffset, ':'); + } + }, + // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent) + x: function (date, token, _localize, options) { + var originalDate = options._originalDate || date; + var timezoneOffset = originalDate.getTimezoneOffset(); + + switch (token) { + // Hours and optional minutes + case 'x': + return formatTimezoneWithOptionalMinutes(timezoneOffset); + // Hours, minutes and optional seconds without `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `xx` + + case 'xxxx': + case 'xx': + // Hours and minutes without `:` delimiter + return formatTimezone(timezoneOffset); + // Hours, minutes and optional seconds with `:` delimiter + // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets + // so this token always has the same output as `xxx` + + case 'xxxxx': + case 'xxx': // Hours and minutes with `:` delimiter + + default: + return formatTimezone(timezoneOffset, ':'); + } + }, + // Timezone (GMT) + O: function (date, token, _localize, options) { + var originalDate = options._originalDate || date; + var timezoneOffset = originalDate.getTimezoneOffset(); + + switch (token) { + // Short + case 'O': + case 'OO': + case 'OOO': + return 'GMT' + formatTimezoneShort(timezoneOffset, ':'); + // Long + + case 'OOOO': + default: + return 'GMT' + formatTimezone(timezoneOffset, ':'); + } + }, + // Timezone (specific non-location) + z: function (date, token, _localize, options) { + var originalDate = options._originalDate || date; + var timezoneOffset = originalDate.getTimezoneOffset(); + + switch (token) { + // Short + case 'z': + case 'zz': + case 'zzz': + return 'GMT' + formatTimezoneShort(timezoneOffset, ':'); + // Long + + case 'zzzz': + default: + return 'GMT' + formatTimezone(timezoneOffset, ':'); + } + }, + // Seconds timestamp + t: function (date, token, _localize, options) { + var originalDate = options._originalDate || date; + var timestamp = Math.floor(originalDate.getTime() / 1000); + return (0, _index7.default)(timestamp, token.length); + }, + // Milliseconds timestamp + T: function (date, token, _localize, options) { + var originalDate = options._originalDate || date; + var timestamp = originalDate.getTime(); + return (0, _index7.default)(timestamp, token.length); + } +}; + +function formatTimezoneShort(offset, dirtyDelimiter) { + var sign = offset > 0 ? '-' : '+'; + var absOffset = Math.abs(offset); + var hours = Math.floor(absOffset / 60); + var minutes = absOffset % 60; + + if (minutes === 0) { + return sign + String(hours); + } + + var delimiter = dirtyDelimiter || ''; + return sign + String(hours) + delimiter + (0, _index7.default)(minutes, 2); +} + +function formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) { + if (offset % 60 === 0) { + var sign = offset > 0 ? '-' : '+'; + return sign + (0, _index7.default)(Math.abs(offset) / 60, 2); + } + + return formatTimezone(offset, dirtyDelimiter); +} + +function formatTimezone(offset, dirtyDelimiter) { + var delimiter = dirtyDelimiter || ''; + var sign = offset > 0 ? '-' : '+'; + var absOffset = Math.abs(offset); + var hours = (0, _index7.default)(Math.floor(absOffset / 60), 2); + var minutes = (0, _index7.default)(absOffset % 60, 2); + return sign + hours + delimiter + minutes; +} + +var _default = formatters; +exports.default = _default; +module.exports = exports.default; +},{"../../../_lib/getUTCDayOfYear/index.js":8,"../../../_lib/getUTCISOWeek/index.js":9,"../../../_lib/getUTCISOWeekYear/index.js":10,"../../../_lib/getUTCWeek/index.js":11,"../../../_lib/getUTCWeekYear/index.js":12,"../../addLeadingZeros/index.js":1,"../lightFormatters/index.js":5}],5:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _index = _interopRequireDefault(require("../../addLeadingZeros/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* + * | | Unit | | Unit | + * |-----|--------------------------------|-----|--------------------------------| + * | a | AM, PM | A* | | + * | d | Day of month | D | | + * | h | Hour [1-12] | H | Hour [0-23] | + * | m | Minute | M | Month | + * | s | Second | S | Fraction of second | + * | y | Year (abs) | Y | | + * + * Letters marked by * are not implemented but reserved by Unicode standard. + */ +var formatters = { + // Year + y: function (date, token) { + // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens + // | Year | y | yy | yyy | yyyy | yyyyy | + // |----------|-------|----|-------|-------|-------| + // | AD 1 | 1 | 01 | 001 | 0001 | 00001 | + // | AD 12 | 12 | 12 | 012 | 0012 | 00012 | + // | AD 123 | 123 | 23 | 123 | 0123 | 00123 | + // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 | + // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 | + var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript) + + var year = signedYear > 0 ? signedYear : 1 - signedYear; + return (0, _index.default)(token === 'yy' ? year % 100 : year, token.length); + }, + // Month + M: function (date, token) { + var month = date.getUTCMonth(); + return token === 'M' ? String(month + 1) : (0, _index.default)(month + 1, 2); + }, + // Day of the month + d: function (date, token) { + return (0, _index.default)(date.getUTCDate(), token.length); + }, + // AM or PM + a: function (date, token) { + var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am'; + + switch (token) { + case 'a': + case 'aa': + case 'aaa': + return dayPeriodEnumValue.toUpperCase(); + + case 'aaaaa': + return dayPeriodEnumValue[0]; + + case 'aaaa': + default: + return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.'; + } + }, + // Hour [1-12] + h: function (date, token) { + return (0, _index.default)(date.getUTCHours() % 12 || 12, token.length); + }, + // Hour [0-23] + H: function (date, token) { + return (0, _index.default)(date.getUTCHours(), token.length); + }, + // Minute + m: function (date, token) { + return (0, _index.default)(date.getUTCMinutes(), token.length); + }, + // Second + s: function (date, token) { + return (0, _index.default)(date.getUTCSeconds(), token.length); + }, + // Fraction of second + S: function (date, token) { + var numberOfDigits = token.length; + var milliseconds = date.getUTCMilliseconds(); + var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3)); + return (0, _index.default)(fractionalSeconds, token.length); + } +}; +var _default = formatters; +exports.default = _default; +module.exports = exports.default; +},{"../../addLeadingZeros/index.js":1}],6:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function dateLongFormatter(pattern, formatLong) { + switch (pattern) { + case 'P': + return formatLong.date({ + width: 'short' + }); + + case 'PP': + return formatLong.date({ + width: 'medium' + }); + + case 'PPP': + return formatLong.date({ + width: 'long' + }); + + case 'PPPP': + default: + return formatLong.date({ + width: 'full' + }); + } +} + +function timeLongFormatter(pattern, formatLong) { + switch (pattern) { + case 'p': + return formatLong.time({ + width: 'short' + }); + + case 'pp': + return formatLong.time({ + width: 'medium' + }); + + case 'ppp': + return formatLong.time({ + width: 'long' + }); + + case 'pppp': + default: + return formatLong.time({ + width: 'full' + }); + } +} + +function dateTimeLongFormatter(pattern, formatLong) { + var matchResult = pattern.match(/(P+)(p+)?/); + var datePattern = matchResult[1]; + var timePattern = matchResult[2]; + + if (!timePattern) { + return dateLongFormatter(pattern, formatLong); + } + + var dateTimeFormat; + + switch (datePattern) { + case 'P': + dateTimeFormat = formatLong.dateTime({ + width: 'short' + }); + break; + + case 'PP': + dateTimeFormat = formatLong.dateTime({ + width: 'medium' + }); + break; + + case 'PPP': + dateTimeFormat = formatLong.dateTime({ + width: 'long' + }); + break; + + case 'PPPP': + default: + dateTimeFormat = formatLong.dateTime({ + width: 'full' + }); + break; + } + + return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong)); +} + +var longFormatters = { + p: timeLongFormatter, + P: dateTimeLongFormatter +}; +var _default = longFormatters; +exports.default = _default; +module.exports = exports.default; +},{}],7:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getTimezoneOffsetInMilliseconds; +var MILLISECONDS_IN_MINUTE = 60000; +/** + * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds. + * They usually appear for dates that denote time before the timezones were introduced + * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891 + * and GMT+01:00:00 after that date) + * + * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above, + * which would lead to incorrect calculations. + * + * This function returns the timezone offset in milliseconds that takes seconds in account. + */ + +function getTimezoneOffsetInMilliseconds(dirtyDate) { + var date = new Date(dirtyDate.getTime()); + var baseTimezoneOffset = date.getTimezoneOffset(); + date.setSeconds(0, 0); + var millisecondsPartOfTimezoneOffset = date.getTime() % MILLISECONDS_IN_MINUTE; + return baseTimezoneOffset * MILLISECONDS_IN_MINUTE + millisecondsPartOfTimezoneOffset; +} + +module.exports = exports.default; +},{}],8:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getUTCDayOfYear; + +var _index = _interopRequireDefault(require("../../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_DAY = 86400000; // This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 + +function getUTCDayOfYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var timestamp = date.getTime(); + date.setUTCMonth(0, 1); + date.setUTCHours(0, 0, 0, 0); + var startOfYearTimestamp = date.getTime(); + var difference = timestamp - startOfYearTimestamp; + return Math.floor(difference / MILLISECONDS_IN_DAY) + 1; +} + +module.exports = exports.default; +},{"../../toDate/index.js":212}],9:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getUTCISOWeek; + +var _index = _interopRequireDefault(require("../../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfUTCISOWeek/index.js")); + +var _index3 = _interopRequireDefault(require("../startOfUTCISOWeekYear/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 + +function getUTCISOWeek(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var diff = (0, _index2.default)(date).getTime() - (0, _index3.default)(date).getTime(); // Round the number of days to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + + return Math.round(diff / MILLISECONDS_IN_WEEK) + 1; +} + +module.exports = exports.default; +},{"../../toDate/index.js":212,"../startOfUTCISOWeek/index.js":18,"../startOfUTCISOWeekYear/index.js":19}],10:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getUTCISOWeekYear; + +var _index = _interopRequireDefault(require("../../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfUTCISOWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function getUTCISOWeekYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var year = date.getUTCFullYear(); + var fourthOfJanuaryOfNextYear = new Date(0); + fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4); + fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0); + var startOfNextYear = (0, _index2.default)(fourthOfJanuaryOfNextYear); + var fourthOfJanuaryOfThisYear = new Date(0); + fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4); + fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0); + var startOfThisYear = (0, _index2.default)(fourthOfJanuaryOfThisYear); + + if (date.getTime() >= startOfNextYear.getTime()) { + return year + 1; + } else if (date.getTime() >= startOfThisYear.getTime()) { + return year; + } else { + return year - 1; + } +} + +module.exports = exports.default; +},{"../../toDate/index.js":212,"../startOfUTCISOWeek/index.js":18}],11:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getUTCWeek; + +var _index = _interopRequireDefault(require("../../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfUTCWeek/index.js")); + +var _index3 = _interopRequireDefault(require("../startOfUTCWeekYear/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 + +function getUTCWeek(dirtyDate, options) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var diff = (0, _index2.default)(date, options).getTime() - (0, _index3.default)(date, options).getTime(); // Round the number of days to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + + return Math.round(diff / MILLISECONDS_IN_WEEK) + 1; +} + +module.exports = exports.default; +},{"../../toDate/index.js":212,"../startOfUTCWeek/index.js":20,"../startOfUTCWeekYear/index.js":21}],12:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getUTCWeekYear; + +var _index = _interopRequireDefault(require("../toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../startOfUTCWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function getUTCWeekYear(dirtyDate, dirtyOptions) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate, dirtyOptions); + var year = date.getUTCFullYear(); + var options = dirtyOptions || {}; + var locale = options.locale; + var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate; + var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : (0, _index.default)(localeFirstWeekContainsDate); + var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : (0, _index.default)(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN + + if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { + throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively'); + } + + var firstWeekOfNextYear = new Date(0); + firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate); + firstWeekOfNextYear.setUTCHours(0, 0, 0, 0); + var startOfNextYear = (0, _index3.default)(firstWeekOfNextYear, dirtyOptions); + var firstWeekOfThisYear = new Date(0); + firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate); + firstWeekOfThisYear.setUTCHours(0, 0, 0, 0); + var startOfThisYear = (0, _index3.default)(firstWeekOfThisYear, dirtyOptions); + + if (date.getTime() >= startOfNextYear.getTime()) { + return year + 1; + } else if (date.getTime() >= startOfThisYear.getTime()) { + return year; + } else { + return year - 1; + } +} + +module.exports = exports.default; +},{"../../toDate/index.js":212,"../startOfUTCWeek/index.js":20,"../toInteger/index.js":22}],13:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.isProtectedDayOfYearToken = isProtectedDayOfYearToken; +exports.isProtectedWeekYearToken = isProtectedWeekYearToken; +exports.throwProtectedError = throwProtectedError; +var protectedDayOfYearTokens = ['D', 'DD']; +var protectedWeekYearTokens = ['YY', 'YYYY']; + +function isProtectedDayOfYearToken(token) { + return protectedDayOfYearTokens.indexOf(token) !== -1; +} + +function isProtectedWeekYearToken(token) { + return protectedWeekYearTokens.indexOf(token) !== -1; +} + +function throwProtectedError(token) { + if (token === 'YYYY') { + throw new RangeError('Use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr'); + } else if (token === 'YY') { + throw new RangeError('Use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr'); + } else if (token === 'D') { + throw new RangeError('Use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr'); + } else if (token === 'DD') { + throw new RangeError('Use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr'); + } +} +},{}],14:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setUTCDay; + +var _index = _interopRequireDefault(require("../toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function setUTCDay(dirtyDate, dirtyDay, dirtyOptions) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var locale = options.locale; + var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn; + var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : (0, _index.default)(localeWeekStartsOn); + var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : (0, _index.default)(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN + + if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { + throw new RangeError('weekStartsOn must be between 0 and 6 inclusively'); + } + + var date = (0, _index2.default)(dirtyDate); + var day = (0, _index.default)(dirtyDay); + var currentDay = date.getUTCDay(); + var remainder = day % 7; + var dayIndex = (remainder + 7) % 7; + var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay; + date.setUTCDate(date.getUTCDate() + diff); + return date; +} + +module.exports = exports.default; +},{"../../toDate/index.js":212,"../toInteger/index.js":22}],15:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setUTCISODay; + +var _index = _interopRequireDefault(require("../toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function setUTCISODay(dirtyDate, dirtyDay) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var day = (0, _index.default)(dirtyDay); + + if (day % 7 === 0) { + day = day - 7; + } + + var weekStartsOn = 1; + var date = (0, _index2.default)(dirtyDate); + var currentDay = date.getUTCDay(); + var remainder = day % 7; + var dayIndex = (remainder + 7) % 7; + var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay; + date.setUTCDate(date.getUTCDate() + diff); + return date; +} + +module.exports = exports.default; +},{"../../toDate/index.js":212,"../toInteger/index.js":22}],16:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setUTCISOWeek; + +var _index = _interopRequireDefault(require("../toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../getUTCISOWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function setUTCISOWeek(dirtyDate, dirtyISOWeek) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var isoWeek = (0, _index.default)(dirtyISOWeek); + var diff = (0, _index3.default)(date) - isoWeek; + date.setUTCDate(date.getUTCDate() - diff * 7); + return date; +} + +module.exports = exports.default; +},{"../../toDate/index.js":212,"../getUTCISOWeek/index.js":9,"../toInteger/index.js":22}],17:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setUTCWeek; + +var _index = _interopRequireDefault(require("../toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../getUTCWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function setUTCWeek(dirtyDate, dirtyWeek, options) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var week = (0, _index.default)(dirtyWeek); + var diff = (0, _index3.default)(date, options) - week; + date.setUTCDate(date.getUTCDate() - diff * 7); + return date; +} + +module.exports = exports.default; +},{"../../toDate/index.js":212,"../getUTCWeek/index.js":11,"../toInteger/index.js":22}],18:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfUTCISOWeek; + +var _index = _interopRequireDefault(require("../../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function startOfUTCISOWeek(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var weekStartsOn = 1; + var date = (0, _index.default)(dirtyDate); + var day = date.getUTCDay(); + var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; + date.setUTCDate(date.getUTCDate() - diff); + date.setUTCHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../../toDate/index.js":212}],19:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfUTCISOWeekYear; + +var _index = _interopRequireDefault(require("../getUTCISOWeekYear/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfUTCISOWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function startOfUTCISOWeekYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var year = (0, _index.default)(dirtyDate); + var fourthOfJanuary = new Date(0); + fourthOfJanuary.setUTCFullYear(year, 0, 4); + fourthOfJanuary.setUTCHours(0, 0, 0, 0); + var date = (0, _index2.default)(fourthOfJanuary); + return date; +} + +module.exports = exports.default; +},{"../getUTCISOWeekYear/index.js":10,"../startOfUTCISOWeek/index.js":18}],20:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfUTCWeek; + +var _index = _interopRequireDefault(require("../toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function startOfUTCWeek(dirtyDate, dirtyOptions) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var locale = options.locale; + var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn; + var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : (0, _index.default)(localeWeekStartsOn); + var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : (0, _index.default)(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN + + if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { + throw new RangeError('weekStartsOn must be between 0 and 6 inclusively'); + } + + var date = (0, _index2.default)(dirtyDate); + var day = date.getUTCDay(); + var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; + date.setUTCDate(date.getUTCDate() - diff); + date.setUTCHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../../toDate/index.js":212,"../toInteger/index.js":22}],21:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfUTCWeekYear; + +var _index = _interopRequireDefault(require("../toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../getUTCWeekYear/index.js")); + +var _index3 = _interopRequireDefault(require("../startOfUTCWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This function will be a part of public API when UTC function will be implemented. +// See issue: https://github.com/date-fns/date-fns/issues/376 +function startOfUTCWeekYear(dirtyDate, dirtyOptions) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var locale = options.locale; + var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate; + var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : (0, _index.default)(localeFirstWeekContainsDate); + var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : (0, _index.default)(options.firstWeekContainsDate); + var year = (0, _index2.default)(dirtyDate, dirtyOptions); + var firstWeek = new Date(0); + firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate); + firstWeek.setUTCHours(0, 0, 0, 0); + var date = (0, _index3.default)(firstWeek, dirtyOptions); + return date; +} + +module.exports = exports.default; +},{"../getUTCWeekYear/index.js":12,"../startOfUTCWeek/index.js":20,"../toInteger/index.js":22}],22:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = toInteger; + +function toInteger(dirtyNumber) { + if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) { + return NaN; + } + + var number = Number(dirtyNumber); + + if (isNaN(number)) { + return number; + } + + return number < 0 ? Math.ceil(number) : Math.floor(number); +} + +module.exports = exports.default; +},{}],23:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addBusinessDays; + +var _index = _interopRequireDefault(require("../isWeekend/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name addBusinessDays + * @category Day Helpers + * @summary Add the specified number of business days (mon - fri) to the given date. + * + * @description + * Add the specified number of business days (mon - fri) to the given date, ignoring weekends. + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of business days to be added + * @returns {Date} the new date with the business days added + * @throws {TypeError} 2 arguments required + * + * @example + * // Add 10 business days to 1 September 2014: + * var result = addBusinessDays(new Date(2014, 8, 1), 10) + * //=> Mon Sep 15 2014 00:00:00 (skipped weekend days) + */ +function addBusinessDays(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var amount = (0, _index3.default)(dirtyAmount); + if (isNaN(amount)) return new Date(NaN); + var hours = date.getHours(); + var sign = amount < 0 ? -1 : 1; + date.setDate(date.getDate() + (0, _index3.default)(amount / 5) * 7); + amount %= 5; // to get remaining days not part of a full week + // only loops over remaining days or if day is a weekend, ensures a business day is returned + + while (amount || (0, _index.default)(date)) { + date.setDate(date.getDate() + sign); + if (!(0, _index.default)(date)) amount -= sign; + } + + date.setHours(hours); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../isWeekend/index.js":145,"../toDate/index.js":212}],24:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addDays; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name addDays + * @category Day Helpers + * @summary Add the specified number of days to the given date. + * + * @description + * Add the specified number of days to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of days to be added + * @returns {Date} the new date with the days added + * @throws {TypeError} 2 arguments required + * + * @example + * // Add 10 days to 1 September 2014: + * var result = addDays(new Date(2014, 8, 1), 10) + * //=> Thu Sep 11 2014 00:00:00 + */ +function addDays(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var amount = (0, _index.default)(dirtyAmount); + date.setDate(date.getDate() + amount); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],25:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addHours; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addMilliseconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_HOUR = 3600000; +/** + * @name addHours + * @category Hour Helpers + * @summary Add the specified number of hours to the given date. + * + * @description + * Add the specified number of hours to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of hours to be added + * @returns {Date} the new date with the hours added + * @throws {TypeError} 2 arguments required + * + * @example + * // Add 2 hours to 10 July 2014 23:00:00: + * var result = addHours(new Date(2014, 6, 10, 23, 0), 2) + * //=> Fri Jul 11 2014 01:00:00 + */ + +function addHours(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, amount * MILLISECONDS_IN_HOUR); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addMilliseconds/index.js":27}],26:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addISOWeekYears; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../getISOWeekYear/index.js")); + +var _index3 = _interopRequireDefault(require("../setISOWeekYear/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name addISOWeekYears + * @category ISO Week-Numbering Year Helpers + * @summary Add the specified number of ISO week-numbering years to the given date. + * + * @description + * Add the specified number of ISO week-numbering years to the given date. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `addISOYears` to `addISOWeekYears`. + * "ISO week year" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date). + * This change makes the name consistent with + * locale-dependent week-numbering year helpers, e.g., `addWeekYears`. + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of ISO week-numbering years to be added + * @returns {Date} the new date with the ISO week-numbering years added + * @throws {TypeError} 2 arguments required + * + * @example + * // Add 5 ISO week-numbering years to 2 July 2010: + * var result = addISOWeekYears(new Date(2010, 6, 2), 5) + * //=> Fri Jun 26 2015 00:00:00 + */ +function addISOWeekYears(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index3.default)(dirtyDate, (0, _index2.default)(dirtyDate) + amount); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../getISOWeekYear/index.js":92,"../setISOWeekYear/index.js":178}],27:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addMilliseconds; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name addMilliseconds + * @category Millisecond Helpers + * @summary Add the specified number of milliseconds to the given date. + * + * @description + * Add the specified number of milliseconds to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of milliseconds to be added + * @returns {Date} the new date with the milliseconds added + * @throws {TypeError} 2 arguments required + * + * @example + * // Add 750 milliseconds to 10 July 2014 12:45:30.000: + * var result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750) + * //=> Thu Jul 10 2014 12:45:30.750 + */ +function addMilliseconds(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var timestamp = (0, _index2.default)(dirtyDate).getTime(); + var amount = (0, _index.default)(dirtyAmount); + return new Date(timestamp + amount); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],28:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addMinutes; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addMilliseconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_MINUTE = 60000; +/** + * @name addMinutes + * @category Minute Helpers + * @summary Add the specified number of minutes to the given date. + * + * @description + * Add the specified number of minutes to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of minutes to be added + * @returns {Date} the new date with the minutes added + * @throws {TypeError} 2 arguments required + * + * @example + * // Add 30 minutes to 10 July 2014 12:00:00: + * var result = addMinutes(new Date(2014, 6, 10, 12, 0), 30) + * //=> Thu Jul 10 2014 12:30:00 + */ + +function addMinutes(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, amount * MILLISECONDS_IN_MINUTE); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addMilliseconds/index.js":27}],29:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addMonths; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../getDaysInMonth/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name addMonths + * @category Month Helpers + * @summary Add the specified number of months to the given date. + * + * @description + * Add the specified number of months to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of months to be added + * @returns {Date} the new date with the months added + * @throws {TypeError} 2 arguments required + * + * @example + * // Add 5 months to 1 September 2014: + * var result = addMonths(new Date(2014, 8, 1), 5) + * //=> Sun Feb 01 2015 00:00:00 + */ +function addMonths(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var amount = (0, _index.default)(dirtyAmount); + var desiredMonth = date.getMonth() + amount; + var dateWithDesiredMonth = new Date(0); + dateWithDesiredMonth.setFullYear(date.getFullYear(), desiredMonth, 1); + dateWithDesiredMonth.setHours(0, 0, 0, 0); + var daysInMonth = (0, _index3.default)(dateWithDesiredMonth); // Set the last day of the new month + // if the original date was the last day of the longer month + + date.setMonth(desiredMonth, Math.min(daysInMonth, date.getDate())); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../getDaysInMonth/index.js":86,"../toDate/index.js":212}],30:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addQuarters; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addMonths/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name addQuarters + * @category Quarter Helpers + * @summary Add the specified number of year quarters to the given date. + * + * @description + * Add the specified number of year quarters to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of quarters to be added + * @returns {Date} the new date with the quarters added + * @throws {TypeError} 2 arguments required + * + * @example + * // Add 1 quarter to 1 September 2014: + * var result = addQuarters(new Date(2014, 8, 1), 1) + * //=> Mon Dec 01 2014 00:00:00 + */ +function addQuarters(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + var months = amount * 3; + return (0, _index2.default)(dirtyDate, months); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addMonths/index.js":29}],31:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addSeconds; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addMilliseconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name addSeconds + * @category Second Helpers + * @summary Add the specified number of seconds to the given date. + * + * @description + * Add the specified number of seconds to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of seconds to be added + * @returns {Date} the new date with the seconds added + * @throws {TypeError} 2 arguments required + * + * @example + * // Add 30 seconds to 10 July 2014 12:45:00: + * var result = addSeconds(new Date(2014, 6, 10, 12, 45, 0), 30) + * //=> Thu Jul 10 2014 12:45:30 + */ +function addSeconds(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, amount * 1000); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addMilliseconds/index.js":27}],32:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addWeeks; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addDays/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name addWeeks + * @category Week Helpers + * @summary Add the specified number of weeks to the given date. + * + * @description + * Add the specified number of week to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of weeks to be added + * @returns {Date} the new date with the weeks added + * @throws {TypeError} 2 arguments required + * + * @example + * // Add 4 weeks to 1 September 2014: + * var result = addWeeks(new Date(2014, 8, 1), 4) + * //=> Mon Sep 29 2014 00:00:00 + */ +function addWeeks(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + var days = amount * 7; + return (0, _index2.default)(dirtyDate, days); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addDays/index.js":24}],33:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addYears; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addMonths/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name addYears + * @category Year Helpers + * @summary Add the specified number of years to the given date. + * + * @description + * Add the specified number of years to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of years to be added + * @returns {Date} the new date with the years added + * @throws {TypeError} 2 arguments required + * + * @example + * // Add 5 years to 1 September 2014: + * var result = addYears(new Date(2014, 8, 1), 5) + * //=> Sun Sep 01 2019 00:00:00 + */ +function addYears(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, amount * 12); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addMonths/index.js":29}],34:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = areIntervalsOverlapping; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name areIntervalsOverlapping + * @category Interval Helpers + * @summary Is the given time interval overlapping with another time interval? + * + * @description + * Is the given time interval overlapping with another time interval? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `areRangesOverlapping` to `areIntervalsOverlapping`. + * This change was made to mirror the use of the word "interval" in standard ISO 8601:2004 terminology: + * + * ``` + * 2.1.3 + * time interval + * part of the time axis limited by two instants + * ``` + * + * Also, this function now accepts an object with `start` and `end` properties + * instead of two arguments as an interval. + * This function now throws `RangeError` if the start of the interval is after its end + * or if any date in the interval is `Invalid Date`. + * + * ```javascript + * // Before v2.0.0 + * + * areRangesOverlapping( + * new Date(2014, 0, 10), new Date(2014, 0, 20), + * new Date(2014, 0, 17), new Date(2014, 0, 21) + * ) + * + * // v2.0.0 onward + * + * areIntervalsOverlapping( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, + * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) } + * ) + * ``` + * + * @param {Interval} intervalLeft - the first interval to compare. See [Interval]{@link docs/types/Interval} + * @param {Interval} intervalRight - the second interval to compare. See [Interval]{@link docs/types/Interval} + * @returns {Boolean} whether the time intervals are overlapping + * @throws {TypeError} 2 arguments required + * @throws {RangeError} The start of an interval cannot be after its end + * @throws {RangeError} Date in interval cannot be `Invalid Date` + * + * @example + * // For overlapping time intervals: + * areIntervalsOverlapping( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, + * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) } + * ) + * //=> true + * + * @example + * // For non-overlapping time intervals: + * areIntervalsOverlapping( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, + * { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) } + * ) + * //=> false + */ +function areIntervalsOverlapping(dirtyIntervalLeft, dirtyIntervalRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var intervalLeft = dirtyIntervalLeft || {}; + var intervalRight = dirtyIntervalRight || {}; + var leftStartTime = (0, _index.default)(intervalLeft.start).getTime(); + var leftEndTime = (0, _index.default)(intervalLeft.end).getTime(); + var rightStartTime = (0, _index.default)(intervalRight.start).getTime(); + var rightEndTime = (0, _index.default)(intervalRight.end).getTime(); // Throw an exception if start date is after end date or if any date is `Invalid Date` + + if (!(leftStartTime <= leftEndTime && rightStartTime <= rightEndTime)) { + throw new RangeError('Invalid interval'); + } + + return leftStartTime < rightEndTime && rightStartTime < leftEndTime; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],35:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = closestIndexTo; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name closestIndexTo + * @category Common Helpers + * @summary Return an index of the closest date from the array comparing to the given date. + * + * @description + * Return an index of the closest date from the array comparing to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - Now, `closestIndexTo` doesn't throw an exception + * when the second argument is not an array, and returns Invalid Date instead. + * + * @param {Date|Number} dateToCompare - the date to compare with + * @param {Date[]|Number[]} datesArray - the array to search + * @returns {Number} an index of the date closest to the given date + * @throws {TypeError} 2 arguments required + * + * @example + * // Which date is closer to 6 September 2015? + * var dateToCompare = new Date(2015, 8, 6) + * var datesArray = [ + * new Date(2015, 0, 1), + * new Date(2016, 0, 1), + * new Date(2017, 0, 1) + * ] + * var result = closestIndexTo(dateToCompare, datesArray) + * //=> 1 + */ +function closestIndexTo(dirtyDateToCompare, dirtyDatesArray) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateToCompare = (0, _index.default)(dirtyDateToCompare); + + if (isNaN(dateToCompare)) { + return NaN; + } + + var timeToCompare = dateToCompare.getTime(); + var datesArray; // `dirtyDatesArray` is undefined or null + + if (dirtyDatesArray == null) { + datesArray = []; // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method + } else if (typeof dirtyDatesArray.forEach === 'function') { + datesArray = dirtyDatesArray; // If `dirtyDatesArray` is Array-like Object, convert to Array. Otherwise, make it empty Array + } else { + datesArray = Array.prototype.slice.call(dirtyDatesArray); + } + + var result; + var minDistance; + datesArray.forEach(function (dirtyDate, index) { + var currentDate = (0, _index.default)(dirtyDate); + + if (isNaN(currentDate)) { + result = NaN; + minDistance = NaN; + return; + } + + var distance = Math.abs(timeToCompare - currentDate.getTime()); + + if (result == null || distance < minDistance) { + result = index; + minDistance = distance; + } + }); + return result; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],36:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = closestTo; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name closestTo + * @category Common Helpers + * @summary Return a date from the array closest to the given date. + * + * @description + * Return a date from the array closest to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - Now, `closestTo` doesn't throw an exception + * when the second argument is not an array, and returns Invalid Date instead. + * + * @param {Date|Number} dateToCompare - the date to compare with + * @param {Date[]|Number[]} datesArray - the array to search + * @returns {Date} the date from the array closest to the given date + * @throws {TypeError} 2 arguments required + * + * @example + * // Which date is closer to 6 September 2015: 1 January 2000 or 1 January 2030? + * var dateToCompare = new Date(2015, 8, 6) + * var result = closestTo(dateToCompare, [ + * new Date(2000, 0, 1), + * new Date(2030, 0, 1) + * ]) + * //=> Tue Jan 01 2030 00:00:00 + */ +function closestTo(dirtyDateToCompare, dirtyDatesArray) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateToCompare = (0, _index.default)(dirtyDateToCompare); + + if (isNaN(dateToCompare)) { + return new Date(NaN); + } + + var timeToCompare = dateToCompare.getTime(); + var datesArray; // `dirtyDatesArray` is undefined or null + + if (dirtyDatesArray == null) { + datesArray = []; // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method + } else if (typeof dirtyDatesArray.forEach === 'function') { + datesArray = dirtyDatesArray; // If `dirtyDatesArray` is Array-like Object, convert to Array. Otherwise, make it empty Array + } else { + datesArray = Array.prototype.slice.call(dirtyDatesArray); + } + + var result; + var minDistance; + datesArray.forEach(function (dirtyDate) { + var currentDate = (0, _index.default)(dirtyDate); + + if (isNaN(currentDate)) { + result = new Date(NaN); + minDistance = NaN; + return; + } + + var distance = Math.abs(timeToCompare - currentDate.getTime()); + + if (result == null || distance < minDistance) { + result = currentDate; + minDistance = distance; + } + }); + return result; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],37:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = compareAsc; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name compareAsc + * @category Common Helpers + * @summary Compare the two dates and return -1, 0 or 1. + * + * @description + * Compare the two dates and return 1 if the first date is after the second, + * -1 if the first date is before the second or 0 if dates are equal. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the first date to compare + * @param {Date|Number} dateRight - the second date to compare + * @returns {Number} the result of the comparison + * @throws {TypeError} 2 arguments required + * + * @example + * // Compare 11 February 1987 and 10 July 1989: + * var result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10)) + * //=> -1 + * + * @example + * // Sort the array of dates: + * var result = [ + * new Date(1995, 6, 2), + * new Date(1987, 1, 11), + * new Date(1989, 6, 10) + * ].sort(compareAsc) + * //=> [ + * // Wed Feb 11 1987 00:00:00, + * // Mon Jul 10 1989 00:00:00, + * // Sun Jul 02 1995 00:00:00 + * // ] + */ +function compareAsc(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index.default)(dirtyDateLeft); + var dateRight = (0, _index.default)(dirtyDateRight); + var diff = dateLeft.getTime() - dateRight.getTime(); + + if (diff < 0) { + return -1; + } else if (diff > 0) { + return 1; // Return 0 if diff is 0; return NaN if diff is NaN + } else { + return diff; + } +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],38:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = compareDesc; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name compareDesc + * @category Common Helpers + * @summary Compare the two dates reverse chronologically and return -1, 0 or 1. + * + * @description + * Compare the two dates and return -1 if the first date is after the second, + * 1 if the first date is before the second or 0 if dates are equal. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the first date to compare + * @param {Date|Number} dateRight - the second date to compare + * @returns {Number} the result of the comparison + * @throws {TypeError} 2 arguments required + * + * @example + * // Compare 11 February 1987 and 10 July 1989 reverse chronologically: + * var result = compareDesc(new Date(1987, 1, 11), new Date(1989, 6, 10)) + * //=> 1 + * + * @example + * // Sort the array of dates in reverse chronological order: + * var result = [ + * new Date(1995, 6, 2), + * new Date(1987, 1, 11), + * new Date(1989, 6, 10) + * ].sort(compareDesc) + * //=> [ + * // Sun Jul 02 1995 00:00:00, + * // Mon Jul 10 1989 00:00:00, + * // Wed Feb 11 1987 00:00:00 + * // ] + */ +function compareDesc(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index.default)(dirtyDateLeft); + var dateRight = (0, _index.default)(dirtyDateRight); + var diff = dateLeft.getTime() - dateRight.getTime(); + + if (diff > 0) { + return -1; + } else if (diff < 0) { + return 1; // Return 0 if diff is 0; return NaN if diff is NaN + } else { + return diff; + } +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],39:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.minTime = exports.maxTime = void 0; + +/** + * Maximum allowed time. + * @constant + * @type {number} + * @default + */ +var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000; +/** + * Minimum allowed time. + * @constant + * @type {number} + * @default + */ + +exports.maxTime = maxTime; +var minTime = -maxTime; +exports.minTime = minTime; +},{}],40:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInBusinessDays; + +var _index = _interopRequireDefault(require("../isValid/index.js")); + +var _index2 = _interopRequireDefault(require("../isWeekend/index.js")); + +var _index3 = _interopRequireDefault(require("../toDate/index.js")); + +var _index4 = _interopRequireDefault(require("../differenceInCalendarDays/index.js")); + +var _index5 = _interopRequireDefault(require("../addDays/index.js")); + +var _index6 = _interopRequireDefault(require("../isSameDay/index.js")); + +var _index7 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInBusinessDays + * @category Day Helpers + * @summary Get the number of business days between the given dates. + * + * @description + * Get the number of business day periods between the given dates. + * Business days being days that arent in the weekend. + * Like `differenceInCalendarDays`, the function removes the times from + * the dates before calculating the difference. + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of business days + * @throws {TypeError} 2 arguments required + * + * @example + * // How many business days are between + * // 10 January 2014 and 20 July 2014? + * var result = differenceInBusinessDays( + * new Date(2014, 6, 20), + * new Date(2014, 0, 10) + * ) + * //=> 136 + */ +function differenceInBusinessDays(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index3.default)(dirtyDateLeft); + var dateRight = (0, _index3.default)(dirtyDateRight); + if (!(0, _index.default)(dateLeft) || !(0, _index.default)(dateRight)) return new Date(NaN); + var calendarDifference = (0, _index4.default)(dateLeft, dateRight); + var sign = calendarDifference < 0 ? -1 : 1; + var weeks = (0, _index7.default)(calendarDifference / 7); + var result = weeks * 5; + dateRight = (0, _index5.default)(dateRight, weeks * 7); // the loop below will run at most 6 times to account for the remaining days that don't makeup a full week + + while (!(0, _index6.default)(dateLeft, dateRight)) { + // sign is used to account for both negative and positive differences + result += (0, _index2.default)(dateRight) ? 0 : sign; + dateRight = (0, _index5.default)(dateRight, sign); + } + + return result === 0 ? 0 : result; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addDays/index.js":24,"../differenceInCalendarDays/index.js":41,"../isSameDay/index.js":119,"../isValid/index.js":143,"../isWeekend/index.js":145,"../toDate/index.js":212}],41:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInCalendarDays; + +var _index = _interopRequireDefault(require("../_lib/getTimezoneOffsetInMilliseconds/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfDay/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_DAY = 86400000; +/** + * @name differenceInCalendarDays + * @category Day Helpers + * @summary Get the number of calendar days between the given dates. + * + * @description + * Get the number of calendar days between the given dates. This means that the times are removed + * from the dates and then the difference in days is calculated. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of calendar days + * @throws {TypeError} 2 arguments required + * + * @example + * // How many calendar days are between + * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00? + * var result = differenceInCalendarDays( + * new Date(2012, 6, 2, 0, 0), + * new Date(2011, 6, 2, 23, 0) + * ) + * //=> 366 + * // How many calendar days are between + * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00? + * var result = differenceInCalendarDays( + * new Date(2011, 6, 3, 0, 1), + * new Date(2011, 6, 2, 23, 59) + * ) + * //=> 1 + */ + +function differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var startOfDayLeft = (0, _index2.default)(dirtyDateLeft); + var startOfDayRight = (0, _index2.default)(dirtyDateRight); + var timestampLeft = startOfDayLeft.getTime() - (0, _index.default)(startOfDayLeft); + var timestampRight = startOfDayRight.getTime() - (0, _index.default)(startOfDayRight); // Round the number of days to the nearest integer + // because the number of milliseconds in a day is not constant + // (e.g. it's different in the day of the daylight saving time clock shift) + + return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY); +} + +module.exports = exports.default; +},{"../_lib/getTimezoneOffsetInMilliseconds/index.js":7,"../startOfDay/index.js":187}],42:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInCalendarISOWeekYears; + +var _index = _interopRequireDefault(require("../getISOWeekYear/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInCalendarISOWeekYears + * @category ISO Week-Numbering Year Helpers + * @summary Get the number of calendar ISO week-numbering years between the given dates. + * + * @description + * Get the number of calendar ISO week-numbering years between the given dates. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `differenceInCalendarISOYears` to `differenceInCalendarISOWeekYears`. + * "ISO week year" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date). + * This change makes the name consistent with + * locale-dependent week-numbering year helpers, e.g., `addWeekYears`. + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of calendar ISO week-numbering years + * @throws {TypeError} 2 arguments required + * + * @example + * // How many calendar ISO week-numbering years are 1 January 2010 and 1 January 2012? + * var result = differenceInCalendarISOWeekYears( + * new Date(2012, 0, 1), + * new Date(2010, 0, 1) + * ) + * //=> 2 + */ +function differenceInCalendarISOWeekYears(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDateLeft) - (0, _index.default)(dirtyDateRight); +} + +module.exports = exports.default; +},{"../getISOWeekYear/index.js":92}],43:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInCalendarISOWeeks; + +var _index = _interopRequireDefault(require("../_lib/getTimezoneOffsetInMilliseconds/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfISOWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_WEEK = 604800000; +/** + * @name differenceInCalendarISOWeeks + * @category ISO Week Helpers + * @summary Get the number of calendar ISO weeks between the given dates. + * + * @description + * Get the number of calendar ISO weeks between the given dates. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of calendar ISO weeks + * @throws {TypeError} 2 arguments required + * + * @example + * // How many calendar ISO weeks are between 6 July 2014 and 21 July 2014? + * var result = differenceInCalendarISOWeeks( + * new Date(2014, 6, 21), + * new Date(2014, 6, 6) + * ) + * //=> 3 + */ + +function differenceInCalendarISOWeeks(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var startOfISOWeekLeft = (0, _index2.default)(dirtyDateLeft); + var startOfISOWeekRight = (0, _index2.default)(dirtyDateRight); + var timestampLeft = startOfISOWeekLeft.getTime() - (0, _index.default)(startOfISOWeekLeft); + var timestampRight = startOfISOWeekRight.getTime() - (0, _index.default)(startOfISOWeekRight); // Round the number of days to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + + return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK); +} + +module.exports = exports.default; +},{"../_lib/getTimezoneOffsetInMilliseconds/index.js":7,"../startOfISOWeek/index.js":190}],44:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInCalendarMonths; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInCalendarMonths + * @category Month Helpers + * @summary Get the number of calendar months between the given dates. + * + * @description + * Get the number of calendar months between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of calendar months + * @throws {TypeError} 2 arguments required + * + * @example + * // How many calendar months are between 31 January 2014 and 1 September 2014? + * var result = differenceInCalendarMonths( + * new Date(2014, 8, 1), + * new Date(2014, 0, 31) + * ) + * //=> 8 + */ +function differenceInCalendarMonths(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index.default)(dirtyDateLeft); + var dateRight = (0, _index.default)(dirtyDateRight); + var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear(); + var monthDiff = dateLeft.getMonth() - dateRight.getMonth(); + return yearDiff * 12 + monthDiff; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],45:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInCalendarQuarters; + +var _index = _interopRequireDefault(require("../getQuarter/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInCalendarQuarters + * @category Quarter Helpers + * @summary Get the number of calendar quarters between the given dates. + * + * @description + * Get the number of calendar quarters between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of calendar quarters + * @throws {TypeError} 2 arguments required + * + * @example + * // How many calendar quarters are between 31 December 2013 and 2 July 2014? + * var result = differenceInCalendarQuarters( + * new Date(2014, 6, 2), + * new Date(2013, 11, 31) + * ) + * //=> 3 + */ +function differenceInCalendarQuarters(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index2.default)(dirtyDateLeft); + var dateRight = (0, _index2.default)(dirtyDateRight); + var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear(); + var quarterDiff = (0, _index.default)(dateLeft) - (0, _index.default)(dateRight); + return yearDiff * 4 + quarterDiff; +} + +module.exports = exports.default; +},{"../getQuarter/index.js":98,"../toDate/index.js":212}],46:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInCalendarWeeks; + +var _index = _interopRequireDefault(require("../startOfWeek/index.js")); + +var _index2 = _interopRequireDefault(require("../_lib/getTimezoneOffsetInMilliseconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_WEEK = 604800000; +/** + * @name differenceInCalendarWeeks + * @category Week Helpers + * @summary Get the number of calendar weeks between the given dates. + * + * @description + * Get the number of calendar weeks between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Number} the number of calendar weeks + * @throws {TypeError} 2 arguments required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * + * @example + * // How many calendar weeks are between 5 July 2014 and 20 July 2014? + * var result = differenceInCalendarWeeks( + * new Date(2014, 6, 20), + * new Date(2014, 6, 5) + * ) + * //=> 3 + * + * @example + * // If the week starts on Monday, + * // how many calendar weeks are between 5 July 2014 and 20 July 2014? + * var result = differenceInCalendarWeeks( + * new Date(2014, 6, 20), + * new Date(2014, 6, 5), + * { weekStartsOn: 1 } + * ) + * //=> 2 + */ + +function differenceInCalendarWeeks(dirtyDateLeft, dirtyDateRight, dirtyOptions) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var startOfWeekLeft = (0, _index.default)(dirtyDateLeft, dirtyOptions); + var startOfWeekRight = (0, _index.default)(dirtyDateRight, dirtyOptions); + var timestampLeft = startOfWeekLeft.getTime() - (0, _index2.default)(startOfWeekLeft); + var timestampRight = startOfWeekRight.getTime() - (0, _index2.default)(startOfWeekRight); // Round the number of days to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + + return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK); +} + +module.exports = exports.default; +},{"../_lib/getTimezoneOffsetInMilliseconds/index.js":7,"../startOfWeek/index.js":198}],47:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInCalendarYears; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInCalendarYears + * @category Year Helpers + * @summary Get the number of calendar years between the given dates. + * + * @description + * Get the number of calendar years between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of calendar years + * @throws {TypeError} 2 arguments required + * + * @example + * // How many calendar years are between 31 December 2013 and 11 February 2015? + * var result = differenceInCalendarYears( + * new Date(2015, 1, 11), + * new Date(2013, 11, 31) + * ) + * //=> 2 + */ +function differenceInCalendarYears(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index.default)(dirtyDateLeft); + var dateRight = (0, _index.default)(dirtyDateRight); + return dateLeft.getFullYear() - dateRight.getFullYear(); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],48:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInDays; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../differenceInCalendarDays/index.js")); + +var _index3 = _interopRequireDefault(require("../compareAsc/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInDays + * @category Day Helpers + * @summary Get the number of full days between the given dates. + * + * @description + * Get the number of full day periods between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of full days + * @throws {TypeError} 2 arguments required + * + * @example + * // How many full days are between + * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00? + * var result = differenceInDays( + * new Date(2012, 6, 2, 0, 0), + * new Date(2011, 6, 2, 23, 0) + * ) + * //=> 365 + * // How many days are between + * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00? + * var result = differenceInDays( + * new Date(2011, 6, 3, 0, 1), + * new Date(2011, 6, 2, 23, 59) + * ) + * //=> 0 + */ +function differenceInDays(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index.default)(dirtyDateLeft); + var dateRight = (0, _index.default)(dirtyDateRight); + var sign = (0, _index3.default)(dateLeft, dateRight); + var difference = Math.abs((0, _index2.default)(dateLeft, dateRight)); + dateLeft.setDate(dateLeft.getDate() - sign * difference); // Math.abs(diff in full days - diff in calendar days) === 1 if last calendar day is not full + // If so, result must be decreased by 1 in absolute value + + var isLastDayNotFull = (0, _index3.default)(dateLeft, dateRight) === -sign; + var result = sign * (difference - isLastDayNotFull); // Prevent negative zero + + return result === 0 ? 0 : result; +} + +module.exports = exports.default; +},{"../compareAsc/index.js":37,"../differenceInCalendarDays/index.js":41,"../toDate/index.js":212}],49:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInHours; + +var _index = _interopRequireDefault(require("../differenceInMilliseconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_HOUR = 3600000; +/** + * @name differenceInHours + * @category Hour Helpers + * @summary Get the number of hours between the given dates. + * + * @description + * Get the number of hours between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of hours + * @throws {TypeError} 2 arguments required + * + * @example + * // How many hours are between 2 July 2014 06:50:00 and 2 July 2014 19:00:00? + * var result = differenceInHours( + * new Date(2014, 6, 2, 19, 0), + * new Date(2014, 6, 2, 6, 50) + * ) + * //=> 12 + */ + +function differenceInHours(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var diff = (0, _index.default)(dirtyDateLeft, dirtyDateRight) / MILLISECONDS_IN_HOUR; + return diff > 0 ? Math.floor(diff) : Math.ceil(diff); +} + +module.exports = exports.default; +},{"../differenceInMilliseconds/index.js":51}],50:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInISOWeekYears; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../differenceInCalendarISOWeekYears/index.js")); + +var _index3 = _interopRequireDefault(require("../compareAsc/index.js")); + +var _index4 = _interopRequireDefault(require("../subISOWeekYears/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInISOWeekYears + * @category ISO Week-Numbering Year Helpers + * @summary Get the number of full ISO week-numbering years between the given dates. + * + * @description + * Get the number of full ISO week-numbering years between the given dates. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `differenceInISOYears` to `differenceInISOWeekYears`. + * "ISO week year" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date). + * This change makes the name consistent with + * locale-dependent week-numbering year helpers, e.g., `addWeekYears`. + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of full ISO week-numbering years + * @throws {TypeError} 2 arguments required + * + * @example + * // How many full ISO week-numbering years are between 1 January 2010 and 1 January 2012? + * var result = differenceInISOWeekYears( + * new Date(2012, 0, 1), + * new Date(2010, 0, 1) + * ) + * //=> 1 + */ +function differenceInISOWeekYears(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index.default)(dirtyDateLeft); + var dateRight = (0, _index.default)(dirtyDateRight); + var sign = (0, _index3.default)(dateLeft, dateRight); + var difference = Math.abs((0, _index2.default)(dateLeft, dateRight)); + dateLeft = (0, _index4.default)(dateLeft, sign * difference); // Math.abs(diff in full ISO years - diff in calendar ISO years) === 1 + // if last calendar ISO year is not full + // If so, result must be decreased by 1 in absolute value + + var isLastISOWeekYearNotFull = (0, _index3.default)(dateLeft, dateRight) === -sign; + var result = sign * (difference - isLastISOWeekYearNotFull); // Prevent negative zero + + return result === 0 ? 0 : result; +} + +module.exports = exports.default; +},{"../compareAsc/index.js":37,"../differenceInCalendarISOWeekYears/index.js":42,"../subISOWeekYears/index.js":204,"../toDate/index.js":212}],51:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInMilliseconds; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInMilliseconds + * @category Millisecond Helpers + * @summary Get the number of milliseconds between the given dates. + * + * @description + * Get the number of milliseconds between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of milliseconds + * @throws {TypeError} 2 arguments required + * + * @example + * // How many milliseconds are between + * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700? + * var result = differenceInMilliseconds( + * new Date(2014, 6, 2, 12, 30, 21, 700), + * new Date(2014, 6, 2, 12, 30, 20, 600) + * ) + * //=> 1100 + */ +function differenceInMilliseconds(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index.default)(dirtyDateLeft); + var dateRight = (0, _index.default)(dirtyDateRight); + return dateLeft.getTime() - dateRight.getTime(); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],52:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInMinutes; + +var _index = _interopRequireDefault(require("../differenceInMilliseconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_MINUTE = 60000; +/** + * @name differenceInMinutes + * @category Minute Helpers + * @summary Get the number of minutes between the given dates. + * + * @description + * Get the number of minutes between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of minutes + * @throws {TypeError} 2 arguments required + * + * @example + * // How many minutes are between 2 July 2014 12:07:59 and 2 July 2014 12:20:00? + * var result = differenceInMinutes( + * new Date(2014, 6, 2, 12, 20, 0), + * new Date(2014, 6, 2, 12, 7, 59) + * ) + * //=> 12 + */ + +function differenceInMinutes(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var diff = (0, _index.default)(dirtyDateLeft, dirtyDateRight) / MILLISECONDS_IN_MINUTE; + return diff > 0 ? Math.floor(diff) : Math.ceil(diff); +} + +module.exports = exports.default; +},{"../differenceInMilliseconds/index.js":51}],53:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInMonths; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../differenceInCalendarMonths/index.js")); + +var _index3 = _interopRequireDefault(require("../compareAsc/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInMonths + * @category Month Helpers + * @summary Get the number of full months between the given dates. + * + * @description + * Get the number of full months between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of full months + * @throws {TypeError} 2 arguments required + * + * @example + * // How many full months are between 31 January 2014 and 1 September 2014? + * var result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31)) + * //=> 7 + */ +function differenceInMonths(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index.default)(dirtyDateLeft); + var dateRight = (0, _index.default)(dirtyDateRight); + var sign = (0, _index3.default)(dateLeft, dateRight); + var difference = Math.abs((0, _index2.default)(dateLeft, dateRight)); + dateLeft.setMonth(dateLeft.getMonth() - sign * difference); // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full + // If so, result must be decreased by 1 in absolute value + + var isLastMonthNotFull = (0, _index3.default)(dateLeft, dateRight) === -sign; + var result = sign * (difference - isLastMonthNotFull); // Prevent negative zero + + return result === 0 ? 0 : result; +} + +module.exports = exports.default; +},{"../compareAsc/index.js":37,"../differenceInCalendarMonths/index.js":44,"../toDate/index.js":212}],54:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInQuarters; + +var _index = _interopRequireDefault(require("../differenceInMonths/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInQuarters + * @category Quarter Helpers + * @summary Get the number of full quarters between the given dates. + * + * @description + * Get the number of full quarters between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of full quarters + * @throws {TypeError} 2 arguments required + * + * @example + * // How many full quarters are between 31 December 2013 and 2 July 2014? + * var result = differenceInQuarters(new Date(2014, 6, 2), new Date(2013, 11, 31)) + * //=> 2 + */ +function differenceInQuarters(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var diff = (0, _index.default)(dirtyDateLeft, dirtyDateRight) / 3; + return diff > 0 ? Math.floor(diff) : Math.ceil(diff); +} + +module.exports = exports.default; +},{"../differenceInMonths/index.js":53}],55:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInSeconds; + +var _index = _interopRequireDefault(require("../differenceInMilliseconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInSeconds + * @category Second Helpers + * @summary Get the number of seconds between the given dates. + * + * @description + * Get the number of seconds between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of seconds + * @throws {TypeError} 2 arguments required + * + * @example + * // How many seconds are between + * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000? + * var result = differenceInSeconds( + * new Date(2014, 6, 2, 12, 30, 20, 0), + * new Date(2014, 6, 2, 12, 30, 7, 999) + * ) + * //=> 12 + */ +function differenceInSeconds(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var diff = (0, _index.default)(dirtyDateLeft, dirtyDateRight) / 1000; + return diff > 0 ? Math.floor(diff) : Math.ceil(diff); +} + +module.exports = exports.default; +},{"../differenceInMilliseconds/index.js":51}],56:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInWeeks; + +var _index = _interopRequireDefault(require("../differenceInDays/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInWeeks + * @category Week Helpers + * @summary Get the number of full weeks between the given dates. + * + * @description + * Get the number of full weeks between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of full weeks + * @throws {TypeError} 2 arguments required + * + * @example + * // How many full weeks are between 5 July 2014 and 20 July 2014? + * var result = differenceInWeeks(new Date(2014, 6, 20), new Date(2014, 6, 5)) + * //=> 2 + */ +function differenceInWeeks(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var diff = (0, _index.default)(dirtyDateLeft, dirtyDateRight) / 7; + return diff > 0 ? Math.floor(diff) : Math.ceil(diff); +} + +module.exports = exports.default; +},{"../differenceInDays/index.js":48}],57:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = differenceInYears; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../differenceInCalendarYears/index.js")); + +var _index3 = _interopRequireDefault(require("../compareAsc/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name differenceInYears + * @category Year Helpers + * @summary Get the number of full years between the given dates. + * + * @description + * Get the number of full years between the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the later date + * @param {Date|Number} dateRight - the earlier date + * @returns {Number} the number of full years + * @throws {TypeError} 2 arguments required + * + * @example + * // How many full years are between 31 December 2013 and 11 February 2015? + * var result = differenceInYears(new Date(2015, 1, 11), new Date(2013, 11, 31)) + * //=> 1 + */ +function differenceInYears(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index.default)(dirtyDateLeft); + var dateRight = (0, _index.default)(dirtyDateRight); + var sign = (0, _index3.default)(dateLeft, dateRight); + var difference = Math.abs((0, _index2.default)(dateLeft, dateRight)); + dateLeft.setFullYear(dateLeft.getFullYear() - sign * difference); // Math.abs(diff in full years - diff in calendar years) === 1 if last calendar year is not full + // If so, result must be decreased by 1 in absolute value + + var isLastYearNotFull = (0, _index3.default)(dateLeft, dateRight) === -sign; + var result = sign * (difference - isLastYearNotFull); // Prevent negative zero + + return result === 0 ? 0 : result; +} + +module.exports = exports.default; +},{"../compareAsc/index.js":37,"../differenceInCalendarYears/index.js":47,"../toDate/index.js":212}],58:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = eachDayOfInterval; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name eachDayOfInterval + * @category Interval Helpers + * @summary Return the array of dates within the specified time interval. + * + * @description + * Return the array of dates within the specified time interval. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `eachDay` to `eachDayOfInterval`. + * This change was made to mirror the use of the word "interval" in standard ISO 8601:2004 terminology: + * + * ``` + * 2.1.3 + * time interval + * part of the time axis limited by two instants + * ``` + * + * Also, this function now accepts an object with `start` and `end` properties + * instead of two arguments as an interval. + * This function now throws `RangeError` if the start of the interval is after its end + * or if any date in the interval is `Invalid Date`. + * + * ```javascript + * // Before v2.0.0 + * + * eachDay(new Date(2014, 0, 10), new Date(2014, 0, 20)) + * + * // v2.0.0 onward + * + * eachDayOfInterval( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) } + * ) + * ``` + * + * @param {Interval} interval - the interval. See [Interval]{@link docs/types/Interval} + * @param {Object} [options] - an object with options. + * @param {Number} [options.step=1] - the step to increment by. The value should be more than 1. + * @returns {Date[]} the array with starts of days from the day of the interval start to the day of the interval end + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.step` must be a number greater than 1 + * @throws {RangeError} The start of an interval cannot be after its end + * @throws {RangeError} Date in interval cannot be `Invalid Date` + * + * @example + * // Each day between 6 October 2014 and 10 October 2014: + * var result = eachDayOfInterval({ + * start: new Date(2014, 9, 6), + * end: new Date(2014, 9, 10) + * }) + * //=> [ + * // Mon Oct 06 2014 00:00:00, + * // Tue Oct 07 2014 00:00:00, + * // Wed Oct 08 2014 00:00:00, + * // Thu Oct 09 2014 00:00:00, + * // Fri Oct 10 2014 00:00:00 + * // ] + */ +function eachDayOfInterval(dirtyInterval, options) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var interval = dirtyInterval || {}; + var startDate = (0, _index.default)(interval.start); + var endDate = (0, _index.default)(interval.end); + var endTime = endDate.getTime(); // Throw an exception if start date is after end date or if any date is `Invalid Date` + + if (!(startDate.getTime() <= endTime)) { + throw new RangeError('Invalid interval'); + } + + var dates = []; + var currentDate = startDate; + currentDate.setHours(0, 0, 0, 0); + var step = options && 'step' in options ? Number(options.step) : 1; + if (step < 1 || isNaN(step)) throw new RangeError('`options.step` must be a number greater than 1'); + + while (currentDate.getTime() <= endTime) { + dates.push((0, _index.default)(currentDate)); + currentDate.setDate(currentDate.getDate() + step); + currentDate.setHours(0, 0, 0, 0); + } + + return dates; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],59:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = eachWeekOfInterval; + +var _index = _interopRequireDefault(require("../addWeeks/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfWeek/index.js")); + +var _index3 = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name eachWeekOfInterval + * @category Interval Helpers + * @summary Return the array of weeks within the specified time interval. + * + * @description + * Return the array of weeks within the specified time interval. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Interval} interval - the interval. See [Interval]{@link docs/types/Interval} + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Date[]} the array with starts of weeks from the week of the interval start to the week of the interval end + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.weekStartsOn` must be 0, 1, ..., 6 + * @throws {RangeError} The start of an interval cannot be after its end + * @throws {RangeError} Date in interval cannot be `Invalid Date` + * + * @example + * // Each week within interval 6 October 2014 - 23 November 2014: + * var result = eachWeekOfInterval({ + * start: new Date(2014, 9, 6), + * end: new Date(2014, 10, 23) + * }) + * //=> [ + * // Sun Oct 05 2014 00:00:00, + * // Sun Oct 12 2014 00:00:00, + * // Sun Oct 19 2014 00:00:00, + * // Sun Oct 26 2014 00:00:00, + * // Sun Nov 02 2014 00:00:00, + * // Sun Nov 09 2014 00:00:00, + * // Sun Nov 16 2014 00:00:00, + * // Sun Nov 23 2014 00:00:00 + * // ] + */ +function eachWeekOfInterval(dirtyInterval, options) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var interval = dirtyInterval || {}; + var startDate = (0, _index3.default)(interval.start); + var endDate = (0, _index3.default)(interval.end); + var endTime = endDate.getTime(); // Throw an exception if start date is after end date or if any date is `Invalid Date` + + if (!(startDate.getTime() <= endTime)) { + throw new RangeError('Invalid interval'); + } + + var startDateWeek = (0, _index2.default)(startDate, options); + var endDateWeek = (0, _index2.default)(endDate, options); // Some timezones switch DST at midnight, making start of day unreliable in these timezones, 3pm is a safe bet + + startDateWeek.setHours(15); + endDateWeek.setHours(15); + endTime = endDateWeek.getTime(); + var weeks = []; + var currentWeek = startDateWeek; + + while (currentWeek.getTime() <= endTime) { + currentWeek.setHours(0); + weeks.push((0, _index3.default)(currentWeek)); + currentWeek = (0, _index.default)(currentWeek, 1); + currentWeek.setHours(15); + } + + return weeks; +} + +module.exports = exports.default; +},{"../addWeeks/index.js":32,"../startOfWeek/index.js":198,"../toDate/index.js":212}],60:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = eachWeekendOfInterval; + +var _index = _interopRequireDefault(require("../eachDayOfInterval/index.js")); + +var _index2 = _interopRequireDefault(require("../isSunday/index.js")); + +var _index3 = _interopRequireDefault(require("../isWeekend/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name eachWeekendOfInterval + * @category Interval Helpers + * @summary List all the Saturdays and Sundays in the given date interval. + * + * @description + * Get all the Saturdays and Sundays in the given date interval. + * + * @param {Interval} interval - the given interval. See [Interval]{@link docs/types/Interval} + * @returns {Date[]} an array containing all the Saturdays and Sundays + * @throws {TypeError} 1 argument required + * @throws {RangeError} The start of an interval cannot be after its end + * @throws {RangeError} Date in interval cannot be `Invalid Date` + * + * @example + * // Lists all Saturdays and Sundays in the given date interval + * var result = eachWeekendOfInterval({ + * start: new Date(2018, 8, 17), + * end: new Date(2018, 8, 30) + * }) + * //=> [ + * // Sat Sep 22 2018 00:00:00, + * // Sun Sep 23 2018 00:00:00, + * // Sat Sep 29 2018 00:00:00, + * // Sun Sep 30 2018 00:00:00 + * // ] + */ +function eachWeekendOfInterval(interval) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var dateInterval = (0, _index.default)(interval); + var weekends = []; + var index = 0; + + while (index++ < dateInterval.length) { + var date = dateInterval[index]; + + if ((0, _index3.default)(date)) { + weekends.push(date); + if ((0, _index2.default)(date)) index = index + 5; + } + } + + return weekends; +} + +module.exports = exports.default; +},{"../eachDayOfInterval/index.js":58,"../isSunday/index.js":130,"../isWeekend/index.js":145}],61:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = eachWeekendOfMonth; + +var _index = _interopRequireDefault(require("../eachWeekendOfInterval/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfMonth/index.js")); + +var _index3 = _interopRequireDefault(require("../endOfMonth/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name eachWeekendOfMonth + * @category Month Helpers + * @summary List all the Saturdays and Sundays in the given month. + * + * @description + * Get all the Saturdays and Sundays in the given month. + * + * @param {Date|Number} date - the given month + * @returns {Date[]} an array containing all the Saturdays and Sundays + * @throws {TypeError} 1 argument required + * @throws {RangeError} The passed date is invalid + * + * @example + * // Lists all Saturdays and Sundays in the given month + * var result = eachWeekendOfMonth(new Date(2022, 1, 1)) + * //=> [ + * // Sat Feb 05 2022 00:00:00, + * // Sun Feb 06 2022 00:00:00, + * // Sat Feb 12 2022 00:00:00, + * // Sun Feb 13 2022 00:00:00, + * // Sat Feb 19 2022 00:00:00, + * // Sun Feb 20 2022 00:00:00, + * // Sat Feb 26 2022 00:00:00, + * // Sun Feb 27 2022 00:00:00 + * // ] + */ +function eachWeekendOfMonth(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 arguments required, but only ' + arguments.length + ' present'); + } + + var startDate = (0, _index2.default)(dirtyDate); + if (isNaN(startDate)) throw new RangeError('The passed date is invalid'); + var endDate = (0, _index3.default)(dirtyDate); + return (0, _index.default)({ + start: startDate, + end: endDate + }); +} + +module.exports = exports.default; +},{"../eachWeekendOfInterval/index.js":60,"../endOfMonth/index.js":69,"../startOfMonth/index.js":193}],62:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = eachWeekendOfYear; + +var _index = _interopRequireDefault(require("../eachWeekendOfInterval/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfYear/index.js")); + +var _index3 = _interopRequireDefault(require("../endOfYear/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name eachWeekendOfYear + * @category Year Helpers + * @summary List all the Saturdays and Sundays in the year. + * + * @description + * Get all the Saturdays and Sundays in the year. + * + * @param {Date|Number} date - the given year + * @returns {Date[]} an array containing all the Saturdays and Sundays + * @throws {TypeError} 1 argument required + * @throws {RangeError} The passed date is invalid + * + * @example + * // Lists all Saturdays and Sundays in the year + * var result = eachWeekendOfYear(new Date(2020, 1, 1)) + * //=> [ + * // Sat Jan 03 2020 00:00:00, + * // Sun Jan 04 2020 00:00:00, + * // ... + * // Sun Dec 27 2020 00:00:00 + * // ] + * ] + */ +function eachWeekendOfYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 arguments required, but only ' + arguments.length + ' present'); + } + + var startDate = (0, _index2.default)(dirtyDate); + if (isNaN(startDate)) throw new RangeError('The passed date is invalid'); + var endDate = (0, _index3.default)(dirtyDate); + return (0, _index.default)({ + start: startDate, + end: endDate + }); +} + +module.exports = exports.default; +},{"../eachWeekendOfInterval/index.js":60,"../endOfYear/index.js":75,"../startOfYear/index.js":200}],63:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfDay; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name endOfDay + * @category Day Helpers + * @summary Return the end of a day for the given date. + * + * @description + * Return the end of a day for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the end of a day + * @throws {TypeError} 1 argument required + * + * @example + * // The end of a day for 2 September 2014 11:55:00: + * var result = endOfDay(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 02 2014 23:59:59.999 + */ +function endOfDay(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + date.setHours(23, 59, 59, 999); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],64:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfDecade; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name endOfDecade + * @category Decade Helpers + * @summary Return the end of a decade for the given date. + * + * @description + * Return the end of a decade for the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the end of a decade + * @param {Object} [options] - an object with options. + * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate} + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2 + * + * @example + * // The end of a decade for 12 May 1984 00:00:00: + * var result = endOfDecade(new Date(1984, 4, 12, 00, 00, 00)) + * //=> Dec 31 1989 23:59:59.999 + */ +function endOfDecade(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var year = date.getFullYear(); + var decade = 9 + Math.floor(year / 10) * 10; + date.setFullYear(decade, 11, 31); + date.setHours(23, 59, 59, 999); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],65:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfHour; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name endOfHour + * @category Hour Helpers + * @summary Return the end of an hour for the given date. + * + * @description + * Return the end of an hour for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the end of an hour + * @throws {TypeError} 1 argument required + * + * @example + * // The end of an hour for 2 September 2014 11:55:00: + * var result = endOfHour(new Date(2014, 8, 2, 11, 55)) + * //=> Tue Sep 02 2014 11:59:59.999 + */ +function endOfHour(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + date.setMinutes(59, 59, 999); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],66:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfISOWeek; + +var _index = _interopRequireDefault(require("../endOfWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name endOfISOWeek + * @category ISO Week Helpers + * @summary Return the end of an ISO week for the given date. + * + * @description + * Return the end of an ISO week for the given date. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the end of an ISO week + * @throws {TypeError} 1 argument required + * + * @example + * // The end of an ISO week for 2 September 2014 11:55:00: + * var result = endOfISOWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Sun Sep 07 2014 23:59:59.999 + */ +function endOfISOWeek(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate, { + weekStartsOn: 1 + }); +} + +module.exports = exports.default; +},{"../endOfWeek/index.js":74}],67:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfISOWeekYear; + +var _index = _interopRequireDefault(require("../getISOWeekYear/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfISOWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name endOfISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Return the end of an ISO week-numbering year for the given date. + * + * @description + * Return the end of an ISO week-numbering year, + * which always starts 3 days before the year's first Thursday. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `endOfISOYear` to `endOfISOWeekYear`. + * "ISO week year" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date). + * This change makes the name consistent with + * locale-dependent week-numbering year helpers, e.g., `addWeekYears`. + * + * @param {Date|Number} date - the original date + * @returns {Date} the end of an ISO week-numbering year + * @throws {TypeError} 1 argument required + * + * @example + * // The end of an ISO week-numbering year for 2 July 2005: + * var result = endOfISOWeekYear(new Date(2005, 6, 2)) + * //=> Sun Jan 01 2006 23:59:59.999 + */ +function endOfISOWeekYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var year = (0, _index.default)(dirtyDate); + var fourthOfJanuaryOfNextYear = new Date(0); + fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4); + fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0); + var date = (0, _index2.default)(fourthOfJanuaryOfNextYear); + date.setMilliseconds(date.getMilliseconds() - 1); + return date; +} + +module.exports = exports.default; +},{"../getISOWeekYear/index.js":92,"../startOfISOWeek/index.js":190}],68:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfMinute; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name endOfMinute + * @category Minute Helpers + * @summary Return the end of a minute for the given date. + * + * @description + * Return the end of a minute for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the end of a minute + * @throws {TypeError} 1 argument required + * + * @example + * // The end of a minute for 1 December 2014 22:15:45.400: + * var result = endOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:59.999 + */ +function endOfMinute(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + date.setSeconds(59, 999); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],69:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfMonth; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name endOfMonth + * @category Month Helpers + * @summary Return the end of a month for the given date. + * + * @description + * Return the end of a month for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the end of a month + * @throws {TypeError} 1 argument required + * + * @example + * // The end of a month for 2 September 2014 11:55:00: + * var result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 30 2014 23:59:59.999 + */ +function endOfMonth(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var month = date.getMonth(); + date.setFullYear(date.getFullYear(), month + 1, 0); + date.setHours(23, 59, 59, 999); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],70:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfQuarter; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name endOfQuarter + * @category Quarter Helpers + * @summary Return the end of a year quarter for the given date. + * + * @description + * Return the end of a year quarter for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the end of a quarter + * @throws {TypeError} 1 argument required + * + * @example + * // The end of a quarter for 2 September 2014 11:55:00: + * var result = endOfQuarter(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 30 2014 23:59:59.999 + */ +function endOfQuarter(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var currentMonth = date.getMonth(); + var month = currentMonth - currentMonth % 3 + 3; + date.setMonth(month, 0); + date.setHours(23, 59, 59, 999); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],71:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfSecond; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name endOfSecond + * @category Second Helpers + * @summary Return the end of a second for the given date. + * + * @description + * Return the end of a second for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the end of a second + * @throws {TypeError} 1 argument required + * + * @example + * // The end of a second for 1 December 2014 22:15:45.400: + * var result = endOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:45.999 + */ +function endOfSecond(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + date.setMilliseconds(999); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],72:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfToday; + +var _index = _interopRequireDefault(require("../endOfDay/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name endOfToday + * @category Day Helpers + * @summary Return the end of today. + * @pure false + * + * @description + * Return the end of today. + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @returns {Date} the end of today + * + * @example + * // If today is 6 October 2014: + * var result = endOfToday() + * //=> Mon Oct 6 2014 23:59:59.999 + */ +function endOfToday() { + return (0, _index.default)(Date.now()); +} + +module.exports = exports.default; +},{"../endOfDay/index.js":63}],73:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfTomorrow; + +/** + * @name endOfTomorrow + * @category Day Helpers + * @summary Return the end of tomorrow. + * @pure false + * + * @description + * Return the end of tomorrow. + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @returns {Date} the end of tomorrow + * + * @example + * // If today is 6 October 2014: + * var result = endOfTomorrow() + * //=> Tue Oct 7 2014 23:59:59.999 + */ +function endOfTomorrow() { + var now = new Date(); + var year = now.getFullYear(); + var month = now.getMonth(); + var day = now.getDate(); + var date = new Date(0); + date.setFullYear(year, month, day + 1); + date.setHours(23, 59, 59, 999); + return date; +} + +module.exports = exports.default; +},{}],74:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfWeek; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name endOfWeek + * @category Week Helpers + * @summary Return the end of a week for the given date. + * + * @description + * Return the end of a week for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Date} the end of a week + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * + * @example + * // The end of a week for 2 September 2014 11:55:00: + * var result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Sat Sep 06 2014 23:59:59.999 + * + * @example + * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00: + * var result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 }) + * //=> Sun Sep 07 2014 23:59:59.999 + */ +function endOfWeek(dirtyDate, dirtyOptions) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var locale = options.locale; + var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn; + var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : (0, _index2.default)(localeWeekStartsOn); + var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : (0, _index2.default)(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN + + if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { + throw new RangeError('weekStartsOn must be between 0 and 6 inclusively'); + } + + var date = (0, _index.default)(dirtyDate); + var day = date.getDay(); + var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn); + date.setDate(date.getDate() + diff); + date.setHours(23, 59, 59, 999); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],75:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfYear; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name endOfYear + * @category Year Helpers + * @summary Return the end of a year for the given date. + * + * @description + * Return the end of a year for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the end of a year + * @throws {TypeError} 1 argument required + * + * @example + * // The end of a year for 2 September 2014 11:55:00: + * var result = endOfYear(new Date(2014, 8, 2, 11, 55, 00)) + * //=> Wed Dec 31 2014 23:59:59.999 + */ +function endOfYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var year = date.getFullYear(); + date.setFullYear(year + 1, 0, 0); + date.setHours(23, 59, 59, 999); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],76:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = endOfYesterday; + +/** + * @name endOfYesterday + * @category Day Helpers + * @summary Return the end of yesterday. + * @pure false + * + * @description + * Return the end of yesterday. + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @returns {Date} the end of yesterday + * + * @example + * // If today is 6 October 2014: + * var result = endOfYesterday() + * //=> Sun Oct 5 2014 23:59:59.999 + */ +function endOfYesterday() { + var now = new Date(); + var year = now.getFullYear(); + var month = now.getMonth(); + var day = now.getDate(); + var date = new Date(0); + date.setFullYear(year, month, day - 1); + date.setHours(23, 59, 59, 999); + return date; +} + +module.exports = exports.default; +},{}],77:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = format; + +var _index = _interopRequireDefault(require("../isValid/index.js")); + +var _index2 = _interopRequireDefault(require("../locale/en-US/index.js")); + +var _index3 = _interopRequireDefault(require("../subMilliseconds/index.js")); + +var _index4 = _interopRequireDefault(require("../toDate/index.js")); + +var _index5 = _interopRequireDefault(require("../_lib/format/formatters/index.js")); + +var _index6 = _interopRequireDefault(require("../_lib/format/longFormatters/index.js")); + +var _index7 = _interopRequireDefault(require("../_lib/getTimezoneOffsetInMilliseconds/index.js")); + +var _index8 = require("../_lib/protectedTokens/index.js"); + +var _index9 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This RegExp consists of three parts separated by `|`: +// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token +// (one of the certain letters followed by `o`) +// - (\w)\1* matches any sequences of the same letter +// - '' matches two quote characters in a row +// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('), +// except a single quote symbol, which ends the sequence. +// Two quote characters do not end the sequence. +// If there is no matching single quote +// then the sequence will continue until the end of the string. +// - . matches any single character unmatched by previous parts of the RegExps +var formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also +// sequences of symbols P, p, and the combinations like `PPPPPPPppppp` + +var longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g; +var escapedStringRegExp = /^'(.*?)'?$/; +var doubleQuoteRegExp = /''/g; +var unescapedLatinCharacterRegExp = /[a-zA-Z]/; +/** + * @name format + * @category Common Helpers + * @summary Format the date. + * + * @description + * Return the formatted date string in the given format. The result may vary by locale. + * + * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries. + * > See: https://git.io/fxCyr + * + * The characters wrapped between two single quotes characters (') are escaped. + * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote. + * (see the last example) + * + * Format of the string is based on Unicode Technical Standard #35: + * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table + * with a few additions (see note 7 below the table). + * + * Accepted patterns: + * | Unit | Pattern | Result examples | Notes | + * |---------------------------------|---------|-----------------------------------|-------| + * | Era | G..GGG | AD, BC | | + * | | GGGG | Anno Domini, Before Christ | 2 | + * | | GGGGG | A, B | | + * | Calendar year | y | 44, 1, 1900, 2017 | 5 | + * | | yo | 44th, 1st, 0th, 17th | 5,7 | + * | | yy | 44, 01, 00, 17 | 5 | + * | | yyy | 044, 001, 1900, 2017 | 5 | + * | | yyyy | 0044, 0001, 1900, 2017 | 5 | + * | | yyyyy | ... | 3,5 | + * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 | + * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 | + * | | YY | 44, 01, 00, 17 | 5,8 | + * | | YYY | 044, 001, 1900, 2017 | 5 | + * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 | + * | | YYYYY | ... | 3,5 | + * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 | + * | | RR | -43, 00, 01, 1900, 2017 | 5,7 | + * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 | + * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 | + * | | RRRRR | ... | 3,5,7 | + * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 | + * | | uu | -43, 01, 1900, 2017 | 5 | + * | | uuu | -043, 001, 1900, 2017 | 5 | + * | | uuuu | -0043, 0001, 1900, 2017 | 5 | + * | | uuuuu | ... | 3,5 | + * | Quarter (formatting) | Q | 1, 2, 3, 4 | | + * | | Qo | 1st, 2nd, 3rd, 4th | 7 | + * | | QQ | 01, 02, 03, 04 | | + * | | QQQ | Q1, Q2, Q3, Q4 | | + * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 | + * | | QQQQQ | 1, 2, 3, 4 | 4 | + * | Quarter (stand-alone) | q | 1, 2, 3, 4 | | + * | | qo | 1st, 2nd, 3rd, 4th | 7 | + * | | qq | 01, 02, 03, 04 | | + * | | qqq | Q1, Q2, Q3, Q4 | | + * | | qqqq | 1st quarter, 2nd quarter, ... | 2 | + * | | qqqqq | 1, 2, 3, 4 | 4 | + * | Month (formatting) | M | 1, 2, ..., 12 | | + * | | Mo | 1st, 2nd, ..., 12th | 7 | + * | | MM | 01, 02, ..., 12 | | + * | | MMM | Jan, Feb, ..., Dec | | + * | | MMMM | January, February, ..., December | 2 | + * | | MMMMM | J, F, ..., D | | + * | Month (stand-alone) | L | 1, 2, ..., 12 | | + * | | Lo | 1st, 2nd, ..., 12th | 7 | + * | | LL | 01, 02, ..., 12 | | + * | | LLL | Jan, Feb, ..., Dec | | + * | | LLLL | January, February, ..., December | 2 | + * | | LLLLL | J, F, ..., D | | + * | Local week of year | w | 1, 2, ..., 53 | | + * | | wo | 1st, 2nd, ..., 53th | 7 | + * | | ww | 01, 02, ..., 53 | | + * | ISO week of year | I | 1, 2, ..., 53 | 7 | + * | | Io | 1st, 2nd, ..., 53th | 7 | + * | | II | 01, 02, ..., 53 | 7 | + * | Day of month | d | 1, 2, ..., 31 | | + * | | do | 1st, 2nd, ..., 31st | 7 | + * | | dd | 01, 02, ..., 31 | | + * | Day of year | D | 1, 2, ..., 365, 366 | 9 | + * | | Do | 1st, 2nd, ..., 365th, 366th | 7 | + * | | DD | 01, 02, ..., 365, 366 | 9 | + * | | DDD | 001, 002, ..., 365, 366 | | + * | | DDDD | ... | 3 | + * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Su | | + * | | EEEE | Monday, Tuesday, ..., Sunday | 2 | + * | | EEEEE | M, T, W, T, F, S, S | | + * | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | | + * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 | + * | | io | 1st, 2nd, ..., 7th | 7 | + * | | ii | 01, 02, ..., 07 | 7 | + * | | iii | Mon, Tue, Wed, ..., Su | 7 | + * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 | + * | | iiiii | M, T, W, T, F, S, S | 7 | + * | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 7 | + * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | | + * | | eo | 2nd, 3rd, ..., 1st | 7 | + * | | ee | 02, 03, ..., 01 | | + * | | eee | Mon, Tue, Wed, ..., Su | | + * | | eeee | Monday, Tuesday, ..., Sunday | 2 | + * | | eeeee | M, T, W, T, F, S, S | | + * | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | | + * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | | + * | | co | 2nd, 3rd, ..., 1st | 7 | + * | | cc | 02, 03, ..., 01 | | + * | | ccc | Mon, Tue, Wed, ..., Su | | + * | | cccc | Monday, Tuesday, ..., Sunday | 2 | + * | | ccccc | M, T, W, T, F, S, S | | + * | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | | + * | AM, PM | a..aaa | AM, PM | | + * | | aaaa | a.m., p.m. | 2 | + * | | aaaaa | a, p | | + * | AM, PM, noon, midnight | b..bbb | AM, PM, noon, midnight | | + * | | bbbb | a.m., p.m., noon, midnight | 2 | + * | | bbbbb | a, p, n, mi | | + * | Flexible day period | B..BBB | at night, in the morning, ... | | + * | | BBBB | at night, in the morning, ... | 2 | + * | | BBBBB | at night, in the morning, ... | | + * | Hour [1-12] | h | 1, 2, ..., 11, 12 | | + * | | ho | 1st, 2nd, ..., 11th, 12th | 7 | + * | | hh | 01, 02, ..., 11, 12 | | + * | Hour [0-23] | H | 0, 1, 2, ..., 23 | | + * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 | + * | | HH | 00, 01, 02, ..., 23 | | + * | Hour [0-11] | K | 1, 2, ..., 11, 0 | | + * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 | + * | | KK | 1, 2, ..., 11, 0 | | + * | Hour [1-24] | k | 24, 1, 2, ..., 23 | | + * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 | + * | | kk | 24, 01, 02, ..., 23 | | + * | Minute | m | 0, 1, ..., 59 | | + * | | mo | 0th, 1st, ..., 59th | 7 | + * | | mm | 00, 01, ..., 59 | | + * | Second | s | 0, 1, ..., 59 | | + * | | so | 0th, 1st, ..., 59th | 7 | + * | | ss | 00, 01, ..., 59 | | + * | Fraction of second | S | 0, 1, ..., 9 | | + * | | SS | 00, 01, ..., 99 | | + * | | SSS | 000, 0001, ..., 999 | | + * | | SSSS | ... | 3 | + * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | | + * | | XX | -0800, +0530, Z | | + * | | XXX | -08:00, +05:30, Z | | + * | | XXXX | -0800, +0530, Z, +123456 | 2 | + * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | | + * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | | + * | | xx | -0800, +0530, +0000 | | + * | | xxx | -08:00, +05:30, +00:00 | 2 | + * | | xxxx | -0800, +0530, +0000, +123456 | | + * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | | + * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | | + * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 | + * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 | + * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 | + * | Seconds timestamp | t | 512969520 | 7 | + * | | tt | ... | 3,7 | + * | Milliseconds timestamp | T | 512969520900 | 7 | + * | | TT | ... | 3,7 | + * | Long localized date | P | 05/29/1453 | 7 | + * | | PP | May 29, 1453 | 7 | + * | | PPP | May 29th, 1453 | 7 | + * | | PPPP | Sunday, May 29th, 1453 | 2,7 | + * | Long localized time | p | 12:00 AM | 7 | + * | | pp | 12:00:00 AM | 7 | + * | | ppp | 12:00:00 AM GMT+2 | 7 | + * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 | + * | Combination of date and time | Pp | 05/29/1453, 12:00 AM | 7 | + * | | PPpp | May 29, 1453, 12:00:00 AM | 7 | + * | | PPPppp | May 29th, 1453 at ... | 7 | + * | | PPPPpppp| Sunday, May 29th, 1453 at ... | 2,7 | + * Notes: + * 1. "Formatting" units (e.g. formatting quarter) in the default en-US locale + * are the same as "stand-alone" units, but are different in some languages. + * "Formatting" units are declined according to the rules of the language + * in the context of a date. "Stand-alone" units are always nominative singular: + * + * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'` + * + * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'` + * + * 2. Any sequence of the identical letters is a pattern, unless it is escaped by + * the single quote characters (see below). + * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`) + * the output will be the same as default pattern for this unit, usually + * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units + * are marked with "2" in the last column of the table. + * + * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'` + * + * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'` + * + * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'` + * + * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'` + * + * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'` + * + * 3. Some patterns could be unlimited length (such as `yyyyyyyy`). + * The output will be padded with zeros to match the length of the pattern. + * + * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'` + * + * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales. + * These tokens represent the shortest form of the quarter. + * + * 5. The main difference between `y` and `u` patterns are B.C. years: + * + * | Year | `y` | `u` | + * |------|-----|-----| + * | AC 1 | 1 | 1 | + * | BC 1 | 1 | 0 | + * | BC 2 | 2 | -1 | + * + * Also `yy` always returns the last two digits of a year, + * while `uu` pads single digit years to 2 characters and returns other years unchanged: + * + * | Year | `yy` | `uu` | + * |------|------|------| + * | 1 | 01 | 01 | + * | 14 | 14 | 14 | + * | 376 | 76 | 376 | + * | 1453 | 53 | 1453 | + * + * The same difference is true for local and ISO week-numbering years (`Y` and `R`), + * except local week-numbering years are dependent on `options.weekStartsOn` + * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear} + * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}). + * + * 6. Specific non-location timezones are currently unavailable in `date-fns`, + * so right now these tokens fall back to GMT timezones. + * + * 7. These patterns are not in the Unicode Technical Standard #35: + * - `i`: ISO day of week + * - `I`: ISO week of year + * - `R`: ISO week-numbering year + * - `t`: seconds timestamp + * - `T`: milliseconds timestamp + * - `o`: ordinal number modifier + * - `P`: long localized date + * - `p`: long localized time + * + * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years. + * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr + * + * 9. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month. + * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The second argument is now required for the sake of explicitness. + * + * ```javascript + * // Before v2.0.0 + * format(new Date(2016, 0, 1)) + * + * // v2.0.0 onward + * format(new Date(2016, 0, 1), "yyyy-MM-dd'T'HH:mm:ss.SSSxxx") + * ``` + * + * - New format string API for `format` function + * which is based on [Unicode Technical Standard #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table). + * See [this post](https://blog.date-fns.org/post/unicode-tokens-in-date-fns-v2-sreatyki91jg) for more details. + * + * - Characters are now escaped using single quote symbols (`'`) instead of square brackets. + * + * @param {Date|Number} date - the original date + * @param {String} format - the string of tokens + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is + * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`; + * see: https://git.io/fxCyr + * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`; + * see: https://git.io/fxCyr + * @returns {String} the formatted date string + * @throws {TypeError} 2 arguments required + * @throws {RangeError} `options.locale` must contain `localize` property + * @throws {RangeError} `options.locale` must contain `formatLong` property + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7 + * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr + * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr + * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr + * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr + * @throws {RangeError} format string contains an unescaped latin alphabet character + * + * @example + * // Represent 11 February 2014 in middle-endian format: + * var result = format(new Date(2014, 1, 11), 'MM/dd/yyyy') + * //=> '02/11/2014' + * + * @example + * // Represent 2 July 2014 in Esperanto: + * import { eoLocale } from 'date-fns/locale/eo' + * var result = format(new Date(2014, 6, 2), "do 'de' MMMM yyyy", { + * locale: eoLocale + * }) + * //=> '2-a de julio 2014' + * + * @example + * // Escape string by single quote characters: + * var result = format(new Date(2014, 6, 2, 15), "h 'o''clock'") + * //=> "3 o'clock" + */ + +function format(dirtyDate, dirtyFormatStr, dirtyOptions) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var formatStr = String(dirtyFormatStr); + var options = dirtyOptions || {}; + var locale = options.locale || _index2.default; + var localeFirstWeekContainsDate = locale.options && locale.options.firstWeekContainsDate; + var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : (0, _index9.default)(localeFirstWeekContainsDate); + var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : (0, _index9.default)(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN + + if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { + throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively'); + } + + var localeWeekStartsOn = locale.options && locale.options.weekStartsOn; + var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : (0, _index9.default)(localeWeekStartsOn); + var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : (0, _index9.default)(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN + + if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { + throw new RangeError('weekStartsOn must be between 0 and 6 inclusively'); + } + + if (!locale.localize) { + throw new RangeError('locale must contain localize property'); + } + + if (!locale.formatLong) { + throw new RangeError('locale must contain formatLong property'); + } + + var originalDate = (0, _index4.default)(dirtyDate); + + if (!(0, _index.default)(originalDate)) { + throw new RangeError('Invalid time value'); + } // Convert the date in system timezone to the same date in UTC+00:00 timezone. + // This ensures that when UTC functions will be implemented, locales will be compatible with them. + // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376 + + + var timezoneOffset = (0, _index7.default)(originalDate); + var utcDate = (0, _index3.default)(originalDate, timezoneOffset); + var formatterOptions = { + firstWeekContainsDate: firstWeekContainsDate, + weekStartsOn: weekStartsOn, + locale: locale, + _originalDate: originalDate + }; + var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) { + var firstCharacter = substring[0]; + + if (firstCharacter === 'p' || firstCharacter === 'P') { + var longFormatter = _index6.default[firstCharacter]; + return longFormatter(substring, locale.formatLong, formatterOptions); + } + + return substring; + }).join('').match(formattingTokensRegExp).map(function (substring) { + // Replace two single quote characters with one single quote character + if (substring === "''") { + return "'"; + } + + var firstCharacter = substring[0]; + + if (firstCharacter === "'") { + return cleanEscapedString(substring); + } + + var formatter = _index5.default[firstCharacter]; + + if (formatter) { + if (!options.useAdditionalWeekYearTokens && (0, _index8.isProtectedWeekYearToken)(substring)) { + (0, _index8.throwProtectedError)(substring); + } + + if (!options.useAdditionalDayOfYearTokens && (0, _index8.isProtectedDayOfYearToken)(substring)) { + (0, _index8.throwProtectedError)(substring); + } + + return formatter(utcDate, substring, locale.localize, formatterOptions); + } + + if (firstCharacter.match(unescapedLatinCharacterRegExp)) { + throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`'); + } + + return substring; + }).join(''); + return result; +} + +function cleanEscapedString(input) { + return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, "'"); +} + +module.exports = exports.default; +},{"../_lib/format/formatters/index.js":4,"../_lib/format/longFormatters/index.js":6,"../_lib/getTimezoneOffsetInMilliseconds/index.js":7,"../_lib/protectedTokens/index.js":13,"../_lib/toInteger/index.js":22,"../isValid/index.js":143,"../locale/en-US/index.js":165,"../subMilliseconds/index.js":205,"../toDate/index.js":212}],78:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = formatDistance; + +var _index = _interopRequireDefault(require("../compareAsc/index.js")); + +var _index2 = _interopRequireDefault(require("../differenceInMonths/index.js")); + +var _index3 = _interopRequireDefault(require("../differenceInSeconds/index.js")); + +var _index4 = _interopRequireDefault(require("../locale/en-US/index.js")); + +var _index5 = _interopRequireDefault(require("../toDate/index.js")); + +var _index6 = _interopRequireDefault(require("../_lib/cloneObject/index.js")); + +var _index7 = _interopRequireDefault(require("../_lib/getTimezoneOffsetInMilliseconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MINUTES_IN_DAY = 1440; +var MINUTES_IN_ALMOST_TWO_DAYS = 2520; +var MINUTES_IN_MONTH = 43200; +var MINUTES_IN_TWO_MONTHS = 86400; +/** + * @name formatDistance + * @category Common Helpers + * @summary Return the distance between the given dates in words. + * + * @description + * Return the distance between the given dates in words. + * + * | Distance between dates | Result | + * |-------------------------------------------------------------------|---------------------| + * | 0 ... 30 secs | less than a minute | + * | 30 secs ... 1 min 30 secs | 1 minute | + * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes | + * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour | + * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours | + * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day | + * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days | + * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month | + * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months | + * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months | + * | 1 yr ... 1 yr 3 months | about 1 year | + * | 1 yr 3 months ... 1 yr 9 month s | over 1 year | + * | 1 yr 9 months ... 2 yrs | almost 2 years | + * | N yrs ... N yrs 3 months | about N years | + * | N yrs 3 months ... N yrs 9 months | over N years | + * | N yrs 9 months ... N+1 yrs | almost N+1 years | + * + * With `options.includeSeconds == true`: + * | Distance between dates | Result | + * |------------------------|----------------------| + * | 0 secs ... 5 secs | less than 5 seconds | + * | 5 secs ... 10 secs | less than 10 seconds | + * | 10 secs ... 20 secs | less than 20 seconds | + * | 20 secs ... 40 secs | half a minute | + * | 40 secs ... 60 secs | less than a minute | + * | 60 secs ... 90 secs | 1 minute | + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `distanceInWords ` to `formatDistance` + * to make its name consistent with `format` and `formatRelative`. + * + * - The order of arguments is swapped to make the function + * consistent with `differenceIn...` functions. + * + * ```javascript + * // Before v2.0.0 + * + * distanceInWords( + * new Date(1986, 3, 4, 10, 32, 0), + * new Date(1986, 3, 4, 11, 32, 0), + * { addSuffix: true } + * ) //=> 'in about 1 hour' + * + * // v2.0.0 onward + * + * formatDistance( + * new Date(1986, 3, 4, 11, 32, 0), + * new Date(1986, 3, 4, 10, 32, 0), + * { addSuffix: true } + * ) //=> 'in about 1 hour' + * ``` + * + * @param {Date|Number} date - the date + * @param {Date|Number} baseDate - the date to compare with + * @param {Object} [options] - an object with options. + * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed + * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @returns {String} the distance in words + * @throws {TypeError} 2 arguments required + * @throws {RangeError} `options.locale` must contain `formatDistance` property + * + * @example + * // What is the distance between 2 July 2014 and 1 January 2015? + * var result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1)) + * //=> '6 months' + * + * @example + * // What is the distance between 1 January 2015 00:00:15 + * // and 1 January 2015 00:00:00, including seconds? + * var result = formatDistance( + * new Date(2015, 0, 1, 0, 0, 15), + * new Date(2015, 0, 1, 0, 0, 0), + * { includeSeconds: true } + * ) + * //=> 'less than 20 seconds' + * + * @example + * // What is the distance from 1 January 2016 + * // to 1 January 2015, with a suffix? + * var result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), { + * addSuffix: true + * }) + * //=> 'about 1 year ago' + * + * @example + * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto? + * import { eoLocale } from 'date-fns/locale/eo' + * var result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), { + * locale: eoLocale + * }) + * //=> 'pli ol 1 jaro' + */ + +function formatDistance(dirtyDate, dirtyBaseDate, dirtyOptions) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var locale = options.locale || _index4.default; + + if (!locale.formatDistance) { + throw new RangeError('locale must contain formatDistance property'); + } + + var comparison = (0, _index.default)(dirtyDate, dirtyBaseDate); + + if (isNaN(comparison)) { + throw new RangeError('Invalid time value'); + } + + var localizeOptions = (0, _index6.default)(options); + localizeOptions.addSuffix = Boolean(options.addSuffix); + localizeOptions.comparison = comparison; + var dateLeft; + var dateRight; + + if (comparison > 0) { + dateLeft = (0, _index5.default)(dirtyBaseDate); + dateRight = (0, _index5.default)(dirtyDate); + } else { + dateLeft = (0, _index5.default)(dirtyDate); + dateRight = (0, _index5.default)(dirtyBaseDate); + } + + var seconds = (0, _index3.default)(dateRight, dateLeft); + var offsetInSeconds = ((0, _index7.default)(dateRight) - (0, _index7.default)(dateLeft)) / 1000; + var minutes = Math.round((seconds - offsetInSeconds) / 60); + var months; // 0 up to 2 mins + + if (minutes < 2) { + if (options.includeSeconds) { + if (seconds < 5) { + return locale.formatDistance('lessThanXSeconds', 5, localizeOptions); + } else if (seconds < 10) { + return locale.formatDistance('lessThanXSeconds', 10, localizeOptions); + } else if (seconds < 20) { + return locale.formatDistance('lessThanXSeconds', 20, localizeOptions); + } else if (seconds < 40) { + return locale.formatDistance('halfAMinute', null, localizeOptions); + } else if (seconds < 60) { + return locale.formatDistance('lessThanXMinutes', 1, localizeOptions); + } else { + return locale.formatDistance('xMinutes', 1, localizeOptions); + } + } else { + if (minutes === 0) { + return locale.formatDistance('lessThanXMinutes', 1, localizeOptions); + } else { + return locale.formatDistance('xMinutes', minutes, localizeOptions); + } + } // 2 mins up to 0.75 hrs + + } else if (minutes < 45) { + return locale.formatDistance('xMinutes', minutes, localizeOptions); // 0.75 hrs up to 1.5 hrs + } else if (minutes < 90) { + return locale.formatDistance('aboutXHours', 1, localizeOptions); // 1.5 hrs up to 24 hrs + } else if (minutes < MINUTES_IN_DAY) { + var hours = Math.round(minutes / 60); + return locale.formatDistance('aboutXHours', hours, localizeOptions); // 1 day up to 1.75 days + } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) { + return locale.formatDistance('xDays', 1, localizeOptions); // 1.75 days up to 30 days + } else if (minutes < MINUTES_IN_MONTH) { + var days = Math.round(minutes / MINUTES_IN_DAY); + return locale.formatDistance('xDays', days, localizeOptions); // 1 month up to 2 months + } else if (minutes < MINUTES_IN_TWO_MONTHS) { + months = Math.round(minutes / MINUTES_IN_MONTH); + return locale.formatDistance('aboutXMonths', months, localizeOptions); + } + + months = (0, _index2.default)(dateRight, dateLeft); // 2 months up to 12 months + + if (months < 12) { + var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH); + return locale.formatDistance('xMonths', nearestMonth, localizeOptions); // 1 year up to max Date + } else { + var monthsSinceStartOfYear = months % 12; + var years = Math.floor(months / 12); // N years up to 1 years 3 months + + if (monthsSinceStartOfYear < 3) { + return locale.formatDistance('aboutXYears', years, localizeOptions); // N years 3 months up to N years 9 months + } else if (monthsSinceStartOfYear < 9) { + return locale.formatDistance('overXYears', years, localizeOptions); // N years 9 months up to N year 12 months + } else { + return locale.formatDistance('almostXYears', years + 1, localizeOptions); + } + } +} + +module.exports = exports.default; +},{"../_lib/cloneObject/index.js":3,"../_lib/getTimezoneOffsetInMilliseconds/index.js":7,"../compareAsc/index.js":37,"../differenceInMonths/index.js":53,"../differenceInSeconds/index.js":55,"../locale/en-US/index.js":165,"../toDate/index.js":212}],79:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = formatDistanceStrict; + +var _index = _interopRequireDefault(require("../_lib/getTimezoneOffsetInMilliseconds/index.js")); + +var _index2 = _interopRequireDefault(require("../compareAsc/index.js")); + +var _index3 = _interopRequireDefault(require("../toDate/index.js")); + +var _index4 = _interopRequireDefault(require("../differenceInSeconds/index.js")); + +var _index5 = _interopRequireDefault(require("../_lib/cloneObject/index.js")); + +var _index6 = _interopRequireDefault(require("../locale/en-US/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MINUTES_IN_DAY = 1440; +var MINUTES_IN_MONTH = 43200; +var MINUTES_IN_YEAR = 525600; +/** + * @name formatDistanceStrict + * @category Common Helpers + * @summary Return the distance between the given dates in words. + * + * @description + * Return the distance between the given dates in words, using strict units. + * This is like `formatDistance`, but does not use helpers like 'almost', 'over', + * 'less than' and the like. + * + * | Distance between dates | Result | + * |------------------------|---------------------| + * | 0 ... 59 secs | [0..59] seconds | + * | 1 ... 59 mins | [1..59] minutes | + * | 1 ... 23 hrs | [1..23] hours | + * | 1 ... 29 days | [1..29] days | + * | 1 ... 11 months | [1..11] months | + * | 1 ... N years | [1..N] years | + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `distanceInWordsStrict` to `formatDistanceStrict` + * to make its name consistent with `format` and `formatRelative`. + * + * - The order of arguments is swapped to make the function + * consistent with `differenceIn...` functions. + * + * ```javascript + * // Before v2.0.0 + * + * distanceInWordsStrict( + * new Date(2015, 0, 2), + * new Date(2014, 6, 2) + * ) //=> '6 months' + * + * // v2.0.0 onward + * + * formatDistanceStrict( + * new Date(2014, 6, 2), + * new Date(2015, 0, 2) + * ) //=> '6 months' + * ``` + * + * - `partialMethod` option is renamed to `roundingMethod`. + * + * ```javascript + * // Before v2.0.0 + * + * distanceInWordsStrict( + * new Date(1986, 3, 4, 10, 32, 0), + * new Date(1986, 3, 4, 10, 33, 1), + * { partialMethod: 'ceil' } + * ) //=> '2 minutes' + * + * // v2.0.0 onward + * + * formatDistanceStrict( + * new Date(1986, 3, 4, 10, 33, 1), + * new Date(1986, 3, 4, 10, 32, 0), + * { roundingMethod: 'ceil' } + * ) //=> '2 minutes' + * ``` + * + * - If `roundingMethod` is not specified, it now defaults to `round` instead of `floor`. + * + * - `unit` option now accepts one of the strings: + * 'second', 'minute', 'hour', 'day', 'month' or 'year' instead of 's', 'm', 'h', 'd', 'M' or 'Y' + * + * ```javascript + * // Before v2.0.0 + * + * distanceInWordsStrict( + * new Date(1986, 3, 4, 10, 32, 0), + * new Date(1986, 3, 4, 10, 33, 1), + * { unit: 'm' } + * ) + * + * // v2.0.0 onward + * + * formatDistanceStrict( + * new Date(1986, 3, 4, 10, 33, 1), + * new Date(1986, 3, 4, 10, 32, 0), + * { unit: 'minute' } + * ) + * ``` + * + * @param {Date|Number} date - the date + * @param {Date|Number} baseDate - the date to compare with + * @param {Object} [options] - an object with options. + * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first + * @param {'second'|'minute'|'hour'|'day'|'month'|'year'} [options.unit] - if specified, will force a unit + * @param {'floor'|'ceil'|'round'} [options.roundingMethod='round'] - which way to round partial units + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @returns {String} the distance in words + * @throws {TypeError} 2 arguments required + * @throws {RangeError} `options.roundingMethod` must be 'floor', 'ceil' or 'round' + * @throws {RangeError} `options.unit` must be 'second', 'minute', 'hour', 'day', 'month' or 'year' + * @throws {RangeError} `options.locale` must contain `formatDistance` property + * + * @example + * // What is the distance between 2 July 2014 and 1 January 2015? + * var result = formatDistanceStrict(new Date(2014, 6, 2), new Date(2015, 0, 2)) + * //=> '6 months' + * + * @example + * // What is the distance between 1 January 2015 00:00:15 + * // and 1 January 2015 00:00:00? + * var result = formatDistanceStrict( + * new Date(2015, 0, 1, 0, 0, 15), + * new Date(2015, 0, 1, 0, 0, 0) + * ) + * //=> '15 seconds' + * + * @example + * // What is the distance from 1 January 2016 + * // to 1 January 2015, with a suffix? + * var result = formatDistanceStrict(new Date(2015, 0, 1), new Date(2016, 0, 1), { + * addSuffix: true + * }) + * //=> '1 year ago' + * + * @example + * // What is the distance from 1 January 2016 + * // to 1 January 2015, in minutes? + * var result = formatDistanceStrict(new Date(2016, 0, 1), new Date(2015, 0, 1), { + * unit: 'minute' + * }) + * //=> '525600 minutes' + * + * @example + * // What is the distance from 1 January 2015 + * // to 28 January 2015, in months, rounded up? + * var result = formatDistanceStrict(new Date(2015, 0, 28), new Date(2015, 0, 1), { + * unit: 'month', + * roundingMethod: 'ceil' + * }) + * //=> '1 month' + * + * @example + * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto? + * import { eoLocale } from 'date-fns/locale/eo' + * var result = formatDistanceStrict(new Date(2016, 7, 1), new Date(2015, 0, 1), { + * locale: eoLocale + * }) + * //=> '1 jaro' + */ + +function formatDistanceStrict(dirtyDate, dirtyBaseDate, dirtyOptions) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var locale = options.locale || _index6.default; + + if (!locale.formatDistance) { + throw new RangeError('locale must contain localize.formatDistance property'); + } + + var comparison = (0, _index2.default)(dirtyDate, dirtyBaseDate); + + if (isNaN(comparison)) { + throw new RangeError('Invalid time value'); + } + + var localizeOptions = (0, _index5.default)(options); + localizeOptions.addSuffix = Boolean(options.addSuffix); + localizeOptions.comparison = comparison; + var dateLeft; + var dateRight; + + if (comparison > 0) { + dateLeft = (0, _index3.default)(dirtyBaseDate); + dateRight = (0, _index3.default)(dirtyDate); + } else { + dateLeft = (0, _index3.default)(dirtyDate); + dateRight = (0, _index3.default)(dirtyBaseDate); + } + + var roundingMethod = options.roundingMethod == null ? 'round' : String(options.roundingMethod); + var roundingMethodFn; + + if (roundingMethod === 'floor') { + roundingMethodFn = Math.floor; + } else if (roundingMethod === 'ceil') { + roundingMethodFn = Math.ceil; + } else if (roundingMethod === 'round') { + roundingMethodFn = Math.round; + } else { + throw new RangeError("roundingMethod must be 'floor', 'ceil' or 'round'"); + } + + var seconds = (0, _index4.default)(dateRight, dateLeft); + var offsetInSeconds = ((0, _index.default)(dateRight) - (0, _index.default)(dateLeft)) / 1000; + var minutes = roundingMethodFn((seconds - offsetInSeconds) / 60); + var unit; + + if (options.unit == null) { + if (minutes < 1) { + unit = 'second'; + } else if (minutes < 60) { + unit = 'minute'; + } else if (minutes < MINUTES_IN_DAY) { + unit = 'hour'; + } else if (minutes < MINUTES_IN_MONTH) { + unit = 'day'; + } else if (minutes < MINUTES_IN_YEAR) { + unit = 'month'; + } else { + unit = 'year'; + } + } else { + unit = String(options.unit); + } // 0 up to 60 seconds + + + if (unit === 'second') { + return locale.formatDistance('xSeconds', seconds, localizeOptions); // 1 up to 60 mins + } else if (unit === 'minute') { + return locale.formatDistance('xMinutes', minutes, localizeOptions); // 1 up to 24 hours + } else if (unit === 'hour') { + var hours = roundingMethodFn(minutes / 60); + return locale.formatDistance('xHours', hours, localizeOptions); // 1 up to 30 days + } else if (unit === 'day') { + var days = roundingMethodFn(minutes / MINUTES_IN_DAY); + return locale.formatDistance('xDays', days, localizeOptions); // 1 up to 12 months + } else if (unit === 'month') { + var months = roundingMethodFn(minutes / MINUTES_IN_MONTH); + return locale.formatDistance('xMonths', months, localizeOptions); // 1 year up to max Date + } else if (unit === 'year') { + var years = roundingMethodFn(minutes / MINUTES_IN_YEAR); + return locale.formatDistance('xYears', years, localizeOptions); + } + + throw new RangeError("unit must be 'second', 'minute', 'hour', 'day', 'month' or 'year'"); +} + +module.exports = exports.default; +},{"../_lib/cloneObject/index.js":3,"../_lib/getTimezoneOffsetInMilliseconds/index.js":7,"../compareAsc/index.js":37,"../differenceInSeconds/index.js":55,"../locale/en-US/index.js":165,"../toDate/index.js":212}],80:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = formatDistanceToNow; + +var _index = _interopRequireDefault(require("../formatDistance/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name formatDistanceToNow + * @category Common Helpers + * @summary Return the distance between the given date and now in words. + * @pure false + * + * @description + * Return the distance between the given date and now in words. + * + * | Distance to now | Result | + * |-------------------------------------------------------------------|---------------------| + * | 0 ... 30 secs | less than a minute | + * | 30 secs ... 1 min 30 secs | 1 minute | + * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes | + * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour | + * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours | + * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day | + * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days | + * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month | + * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months | + * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months | + * | 1 yr ... 1 yr 3 months | about 1 year | + * | 1 yr 3 months ... 1 yr 9 month s | over 1 year | + * | 1 yr 9 months ... 2 yrs | almost 2 years | + * | N yrs ... N yrs 3 months | about N years | + * | N yrs 3 months ... N yrs 9 months | over N years | + * | N yrs 9 months ... N+1 yrs | almost N+1 years | + * + * With `options.includeSeconds == true`: + * | Distance to now | Result | + * |---------------------|----------------------| + * | 0 secs ... 5 secs | less than 5 seconds | + * | 5 secs ... 10 secs | less than 10 seconds | + * | 10 secs ... 20 secs | less than 20 seconds | + * | 20 secs ... 40 secs | half a minute | + * | 40 secs ... 60 secs | less than a minute | + * | 60 secs ... 90 secs | 1 minute | + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `distanceInWordsToNow ` to `formatDistanceToNow` + * to make its name consistent with `format` and `formatRelative`. + * + * ```javascript + * // Before v2.0.0 + * + * distanceInWordsToNow(new Date(2014, 6, 2), { addSuffix: true }) + * //=> 'in 6 months' + * + * // v2.0.0 onward + * + * formatDistanceToNow(new Date(2014, 6, 2), { addSuffix: true }) + * //=> 'in 6 months' + * ``` + * + * @param {Date|Number} date - the given date + * @param {Object} [options] - the object with options + * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed + * @param {Boolean} [options.addSuffix=false] - result specifies if now is earlier or later than the passed date + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @returns {String} the distance in words + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.locale` must contain `formatDistance` property + * + * @example + * // If today is 1 January 2015, what is the distance to 2 July 2014? + * var result = formatDistanceToNow( + * new Date(2014, 6, 2) + * ) + * //=> '6 months' + * + * @example + * // If now is 1 January 2015 00:00:00, + * // what is the distance to 1 January 2015 00:00:15, including seconds? + * var result = formatDistanceToNow( + * new Date(2015, 0, 1, 0, 0, 15), + * {includeSeconds: true} + * ) + * //=> 'less than 20 seconds' + * + * @example + * // If today is 1 January 2015, + * // what is the distance to 1 January 2016, with a suffix? + * var result = formatDistanceToNow( + * new Date(2016, 0, 1), + * {addSuffix: true} + * ) + * //=> 'in about 1 year' + * + * @example + * // If today is 1 January 2015, + * // what is the distance to 1 August 2016 in Esperanto? + * var eoLocale = require('date-fns/locale/eo') + * var result = formatDistanceToNow( + * new Date(2016, 7, 1), + * {locale: eoLocale} + * ) + * //=> 'pli ol 1 jaro' + */ +function formatDistanceToNow(dirtyDate, dirtyOptions) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate, Date.now(), dirtyOptions); +} + +module.exports = exports.default; +},{"../formatDistance/index.js":78}],81:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = formatRelative; + +var _index = _interopRequireDefault(require("../differenceInCalendarDays/index.js")); + +var _index2 = _interopRequireDefault(require("../format/index.js")); + +var _index3 = _interopRequireDefault(require("../locale/en-US/index.js")); + +var _index4 = _interopRequireDefault(require("../subMilliseconds/index.js")); + +var _index5 = _interopRequireDefault(require("../toDate/index.js")); + +var _index6 = _interopRequireDefault(require("../_lib/getTimezoneOffsetInMilliseconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name formatRelative + * @category Common Helpers + * @summary Represent the date in words relative to the given base date. + * + * @description + * Represent the date in words relative to the given base date. + * + * | Distance to the base date | Result | + * |---------------------------|---------------------------| + * | Previous 6 days | last Sunday at 04:30 AM | + * | Last day | yesterday at 04:30 AM | + * | Same day | today at 04:30 AM | + * | Next day | tomorrow at 04:30 AM | + * | Next 6 days | Sunday at 04:30 AM | + * | Other | 12/31/2017 | + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to format + * @param {Date|Number} baseDate - the date to compare with + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {String} the date in words + * @throws {TypeError} 2 arguments required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * @throws {RangeError} `options.locale` must contain `localize` property + * @throws {RangeError} `options.locale` must contain `formatLong` property + * @throws {RangeError} `options.locale` must contain `formatRelative` property + */ +function formatRelative(dirtyDate, dirtyBaseDate, dirtyOptions) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index5.default)(dirtyDate); + var baseDate = (0, _index5.default)(dirtyBaseDate); + var options = dirtyOptions || {}; + var locale = options.locale || _index3.default; + + if (!locale.localize) { + throw new RangeError('locale must contain localize property'); + } + + if (!locale.formatLong) { + throw new RangeError('locale must contain formatLong property'); + } + + if (!locale.formatRelative) { + throw new RangeError('locale must contain formatRelative property'); + } + + var diff = (0, _index.default)(date, baseDate); + + if (isNaN(diff)) { + throw new RangeError('Invalid time value'); + } + + var token; + + if (diff < -6) { + token = 'other'; + } else if (diff < -1) { + token = 'lastWeek'; + } else if (diff < 0) { + token = 'yesterday'; + } else if (diff < 1) { + token = 'today'; + } else if (diff < 2) { + token = 'tomorrow'; + } else if (diff < 7) { + token = 'nextWeek'; + } else { + token = 'other'; + } + + var utcDate = (0, _index4.default)(date, (0, _index6.default)(date)); + var utcBaseDate = (0, _index4.default)(baseDate, (0, _index6.default)(baseDate)); + var formatStr = locale.formatRelative(token, utcDate, utcBaseDate, options); + return (0, _index2.default)(date, formatStr, options); +} + +module.exports = exports.default; +},{"../_lib/getTimezoneOffsetInMilliseconds/index.js":7,"../differenceInCalendarDays/index.js":41,"../format/index.js":77,"../locale/en-US/index.js":165,"../subMilliseconds/index.js":205,"../toDate/index.js":212}],82:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = fromUnixTime; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name fromUnixTime + * @category Timestamp Helpers + * @summary Create a date from a Unix timestamp. + * + * @description + * Create a date from a Unix timestamp. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Number} unixTime - the given Unix timestamp + * @returns {Date} the date + * @throws {TypeError} 1 argument required + * + * @example + * // Create the date 29 February 2012 11:45:05: + * var result = fromUnixTime(1330515905) + * //=> Wed Feb 29 2012 11:45:05 + */ +function fromUnixTime(dirtyUnixTime) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var unixTime = (0, _index2.default)(dirtyUnixTime); + return (0, _index.default)(unixTime * 1000); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],83:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getDate; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getDate + * @category Day Helpers + * @summary Get the day of the month of the given date. + * + * @description + * Get the day of the month of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the day of month + * @throws {TypeError} 1 argument required + * + * @example + * // Which day of the month is 29 February 2012? + * var result = getDate(new Date(2012, 1, 29)) + * //=> 29 + */ +function getDate(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var dayOfMonth = date.getDate(); + return dayOfMonth; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],84:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getDay; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getDay + * @category Weekday Helpers + * @summary Get the day of the week of the given date. + * + * @description + * Get the day of the week of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the day of week + * @throws {TypeError} 1 argument required + * + * @example + * // Which day of the week is 29 February 2012? + * var result = getDay(new Date(2012, 1, 29)) + * //=> 3 + */ +function getDay(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var day = date.getDay(); + return day; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],85:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getDayOfYear; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfYear/index.js")); + +var _index3 = _interopRequireDefault(require("../differenceInCalendarDays/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getDayOfYear + * @category Day Helpers + * @summary Get the day of the year of the given date. + * + * @description + * Get the day of the year of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the day of year + * @throws {TypeError} 1 argument required + * + * @example + * // Which day of the year is 2 July 2014? + * var result = getDayOfYear(new Date(2014, 6, 2)) + * //=> 183 + */ +function getDayOfYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var diff = (0, _index3.default)(date, (0, _index2.default)(date)); + var dayOfYear = diff + 1; + return dayOfYear; +} + +module.exports = exports.default; +},{"../differenceInCalendarDays/index.js":41,"../startOfYear/index.js":200,"../toDate/index.js":212}],86:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getDaysInMonth; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getDaysInMonth + * @category Month Helpers + * @summary Get the number of days in a month of the given date. + * + * @description + * Get the number of days in a month of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the number of days in a month + * @throws {TypeError} 1 argument required + * + * @example + * // How many days are in February 2000? + * var result = getDaysInMonth(new Date(2000, 1)) + * //=> 29 + */ +function getDaysInMonth(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var year = date.getFullYear(); + var monthIndex = date.getMonth(); + var lastDayOfMonth = new Date(0); + lastDayOfMonth.setFullYear(year, monthIndex + 1, 0); + lastDayOfMonth.setHours(0, 0, 0, 0); + return lastDayOfMonth.getDate(); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],87:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getDaysInYear; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../isLeapYear/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getDaysInYear + * @category Year Helpers + * @summary Get the number of days in a year of the given date. + * + * @description + * Get the number of days in a year of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the number of days in a year + * @throws {TypeError} 1 argument required + * + * @example + * // How many days are in 2012? + * var result = getDaysInYear(new Date(2012, 0, 1)) + * //=> 366 + */ +function getDaysInYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + + if (isNaN(date)) { + return NaN; + } + + return (0, _index2.default)(date) ? 366 : 365; +} + +module.exports = exports.default; +},{"../isLeapYear/index.js":116,"../toDate/index.js":212}],88:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getDecade; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getDecade + * @category Decade Helpers + * @summary Get the decade of the given date. + * + * @description + * Get the decade of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the year of decade + * @throws {TypeError} 1 argument required + * + * @example + * // Which decade belongs 27 November 1942? + * var result = getDecade(new Date(1942, 10, 27)) + * //=> 1940 + */ +function getDecade(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var year = date.getFullYear(); + var decade = Math.floor(year / 10) * 10; + return decade; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],89:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getHours; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getHours + * @category Hour Helpers + * @summary Get the hours of the given date. + * + * @description + * Get the hours of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the hours + * @throws {TypeError} 1 argument required + * + * @example + * // Get the hours of 29 February 2012 11:45:00: + * var result = getHours(new Date(2012, 1, 29, 11, 45)) + * //=> 11 + */ +function getHours(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var hours = date.getHours(); + return hours; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],90:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getISODay; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getISODay + * @category Weekday Helpers + * @summary Get the day of the ISO week of the given date. + * + * @description + * Get the day of the ISO week of the given date, + * which is 7 for Sunday, 1 for Monday etc. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the day of ISO week + * @throws {TypeError} 1 argument required + * + * @example + * // Which day of the ISO week is 26 February 2012? + * var result = getISODay(new Date(2012, 1, 26)) + * //=> 7 + */ +function getISODay(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var day = date.getDay(); + + if (day === 0) { + day = 7; + } + + return day; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],91:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getISOWeek; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfISOWeek/index.js")); + +var _index3 = _interopRequireDefault(require("../startOfISOWeekYear/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_WEEK = 604800000; +/** + * @name getISOWeek + * @category ISO Week Helpers + * @summary Get the ISO week of the given date. + * + * @description + * Get the ISO week of the given date. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the ISO week + * @throws {TypeError} 1 argument required + * + * @example + * // Which week of the ISO-week numbering year is 2 January 2005? + * var result = getISOWeek(new Date(2005, 0, 2)) + * //=> 53 + */ + +function getISOWeek(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var diff = (0, _index2.default)(date).getTime() - (0, _index3.default)(date).getTime(); // Round the number of days to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + + return Math.round(diff / MILLISECONDS_IN_WEEK) + 1; +} + +module.exports = exports.default; +},{"../startOfISOWeek/index.js":190,"../startOfISOWeekYear/index.js":191,"../toDate/index.js":212}],92:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getISOWeekYear; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfISOWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Get the ISO week-numbering year of the given date. + * + * @description + * Get the ISO week-numbering year of the given date, + * which always starts 3 days before the year's first Thursday. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `getISOYear` to `getISOWeekYear`. + * "ISO week year" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date). + * This change makes the name consistent with + * locale-dependent week-numbering year helpers, e.g., `getWeekYear`. + * + * @param {Date|Number} date - the given date + * @returns {Number} the ISO week-numbering year + * @throws {TypeError} 1 argument required + * + * @example + * // Which ISO-week numbering year is 2 January 2005? + * var result = getISOWeekYear(new Date(2005, 0, 2)) + * //=> 2004 + */ +function getISOWeekYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var year = date.getFullYear(); + var fourthOfJanuaryOfNextYear = new Date(0); + fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4); + fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0); + var startOfNextYear = (0, _index2.default)(fourthOfJanuaryOfNextYear); + var fourthOfJanuaryOfThisYear = new Date(0); + fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4); + fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0); + var startOfThisYear = (0, _index2.default)(fourthOfJanuaryOfThisYear); + + if (date.getTime() >= startOfNextYear.getTime()) { + return year + 1; + } else if (date.getTime() >= startOfThisYear.getTime()) { + return year; + } else { + return year - 1; + } +} + +module.exports = exports.default; +},{"../startOfISOWeek/index.js":190,"../toDate/index.js":212}],93:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getISOWeeksInYear; + +var _index = _interopRequireDefault(require("../startOfISOWeekYear/index.js")); + +var _index2 = _interopRequireDefault(require("../addWeeks/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_WEEK = 604800000; +/** + * @name getISOWeeksInYear + * @category ISO Week-Numbering Year Helpers + * @summary Get the number of weeks in an ISO week-numbering year of the given date. + * + * @description + * Get the number of weeks in an ISO week-numbering year of the given date. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the number of ISO weeks in a year + * @throws {TypeError} 1 argument required + * + * @example + * // How many weeks are in ISO week-numbering year 2015? + * var result = getISOWeeksInYear(new Date(2015, 1, 11)) + * //=> 53 + */ + +function getISOWeeksInYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var thisYear = (0, _index.default)(dirtyDate); + var nextYear = (0, _index.default)((0, _index2.default)(thisYear, 60)); + var diff = nextYear.valueOf() - thisYear.valueOf(); // Round the number of weeks to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + + return Math.round(diff / MILLISECONDS_IN_WEEK); +} + +module.exports = exports.default; +},{"../addWeeks/index.js":32,"../startOfISOWeekYear/index.js":191}],94:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getMilliseconds; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getMilliseconds + * @category Millisecond Helpers + * @summary Get the milliseconds of the given date. + * + * @description + * Get the milliseconds of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the milliseconds + * @throws {TypeError} 1 argument required + * + * @example + * // Get the milliseconds of 29 February 2012 11:45:05.123: + * var result = getMilliseconds(new Date(2012, 1, 29, 11, 45, 5, 123)) + * //=> 123 + */ +function getMilliseconds(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var milliseconds = date.getMilliseconds(); + return milliseconds; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],95:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getMinutes; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getMinutes + * @category Minute Helpers + * @summary Get the minutes of the given date. + * + * @description + * Get the minutes of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the minutes + * @throws {TypeError} 1 argument required + * + * @example + * // Get the minutes of 29 February 2012 11:45:05: + * var result = getMinutes(new Date(2012, 1, 29, 11, 45, 5)) + * //=> 45 + */ +function getMinutes(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var minutes = date.getMinutes(); + return minutes; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],96:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getMonth; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getMonth + * @category Month Helpers + * @summary Get the month of the given date. + * + * @description + * Get the month of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the month + * @throws {TypeError} 1 argument required + * + * @example + * // Which month is 29 February 2012? + * var result = getMonth(new Date(2012, 1, 29)) + * //=> 1 + */ +function getMonth(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var month = date.getMonth(); + return month; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],97:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getOverlappingDaysInIntervals; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_DAY = 24 * 60 * 60 * 1000; +/** + * @name getOverlappingDaysInIntervals + * @category Interval Helpers + * @summary Get the number of days that overlap in two time intervals + * + * @description + * Get the number of days that overlap in two time intervals + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `getOverlappingDaysInRanges` to `getOverlappingDaysInIntervals`. + * This change was made to mirror the use of the word "interval" in standard ISO 8601:2004 terminology: + * + * ``` + * 2.1.3 + * time interval + * part of the time axis limited by two instants + * ``` + * + * Also, this function now accepts an object with `start` and `end` properties + * instead of two arguments as an interval. + * This function now throws `RangeError` if the start of the interval is after its end + * or if any date in the interval is `Invalid Date`. + * + * ```javascript + * // Before v2.0.0 + * + * getOverlappingDaysInRanges( + * new Date(2014, 0, 10), new Date(2014, 0, 20), + * new Date(2014, 0, 17), new Date(2014, 0, 21) + * ) + * + * // v2.0.0 onward + * + * getOverlappingDaysInIntervals( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, + * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) } + * ) + * ``` + * + * @param {Interval} intervalLeft - the first interval to compare. See [Interval]{@link docs/Interval} + * @param {Interval} intervalRight - the second interval to compare. See [Interval]{@link docs/Interval} + * @returns {Number} the number of days that overlap in two time intervals + * @throws {TypeError} 2 arguments required + * @throws {RangeError} The start of an interval cannot be after its end + * @throws {RangeError} Date in interval cannot be `Invalid Date` + * + * @example + * // For overlapping time intervals adds 1 for each started overlapping day: + * getOverlappingDaysInIntervals( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, + * { start: new Date(2014, 0, 17), end: new Date(2014, 0, 21) } + * ) + * //=> 3 + * + * @example + * // For non-overlapping time intervals returns 0: + * getOverlappingDaysInIntervals( + * { start: new Date(2014, 0, 10), end: new Date(2014, 0, 20) }, + * { start: new Date(2014, 0, 21), end: new Date(2014, 0, 22) } + * ) + * //=> 0 + */ + +function getOverlappingDaysInIntervals(dirtyIntervalLeft, dirtyIntervalRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var intervalLeft = dirtyIntervalLeft || {}; + var intervalRight = dirtyIntervalRight || {}; + var leftStartTime = (0, _index.default)(intervalLeft.start).getTime(); + var leftEndTime = (0, _index.default)(intervalLeft.end).getTime(); + var rightStartTime = (0, _index.default)(intervalRight.start).getTime(); + var rightEndTime = (0, _index.default)(intervalRight.end).getTime(); // Throw an exception if start date is after end date or if any date is `Invalid Date` + + if (!(leftStartTime <= leftEndTime && rightStartTime <= rightEndTime)) { + throw new RangeError('Invalid interval'); + } + + var isOverlapping = leftStartTime < rightEndTime && rightStartTime < leftEndTime; + + if (!isOverlapping) { + return 0; + } + + var overlapStartDate = rightStartTime < leftStartTime ? leftStartTime : rightStartTime; + var overlapEndDate = rightEndTime > leftEndTime ? leftEndTime : rightEndTime; + var differenceInMs = overlapEndDate - overlapStartDate; + return Math.ceil(differenceInMs / MILLISECONDS_IN_DAY); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],98:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getQuarter; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getQuarter + * @category Quarter Helpers + * @summary Get the year quarter of the given date. + * + * @description + * Get the year quarter of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the quarter + * @throws {TypeError} 1 argument required + * + * @example + * // Which quarter is 2 July 2014? + * var result = getQuarter(new Date(2014, 6, 2)) + * //=> 3 + */ +function getQuarter(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var quarter = Math.floor(date.getMonth() / 3) + 1; + return quarter; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],99:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getSeconds; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getSeconds + * @category Second Helpers + * @summary Get the seconds of the given date. + * + * @description + * Get the seconds of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the seconds + * @throws {TypeError} 1 argument required + * + * @example + * // Get the seconds of 29 February 2012 11:45:05.123: + * var result = getSeconds(new Date(2012, 1, 29, 11, 45, 5, 123)) + * //=> 5 + */ +function getSeconds(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var seconds = date.getSeconds(); + return seconds; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],100:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getTime; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getTime + * @category Timestamp Helpers + * @summary Get the milliseconds timestamp of the given date. + * + * @description + * Get the milliseconds timestamp of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the timestamp + * @throws {TypeError} 1 argument required + * + * @example + * // Get the timestamp of 29 February 2012 11:45:05.123: + * var result = getTime(new Date(2012, 1, 29, 11, 45, 5, 123)) + * //=> 1330515905123 + */ +function getTime(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var timestamp = date.getTime(); + return timestamp; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],101:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getUnixTime; + +var _index = _interopRequireDefault(require("../getTime/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getUnixTime + * @category Timestamp Helpers + * @summary Get the seconds timestamp of the given date. + * + * @description + * Get the seconds timestamp of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the timestamp + * @throws {TypeError} 1 argument required + * + * @example + * // Get the timestamp of 29 February 2012 11:45:05 CET: + * var result = getUnixTime(new Date(2012, 1, 29, 11, 45, 5)) + * //=> 1330512305 + */ +function getUnixTime(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return Math.floor((0, _index.default)(dirtyDate) / 1000); +} + +module.exports = exports.default; +},{"../getTime/index.js":100}],102:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getWeek; + +var _index = _interopRequireDefault(require("../startOfWeek/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfWeekYear/index.js")); + +var _index3 = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_WEEK = 604800000; +/** + * @name getWeek + * @category Week Helpers + * @summary Get the local week index of the given date. + * + * @description + * Get the local week index of the given date. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year + * @returns {Number} the week + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7 + * + * @example + * // Which week of the local week numbering year is 2 January 2005 with default options? + * var result = getISOWeek(new Date(2005, 0, 2)) + * //=> 2 + * + * // Which week of the local week numbering year is 2 January 2005, + * // if Monday is the first day of the week, + * // and the first week of the year always contains 4 January? + * var result = getISOWeek(new Date(2005, 0, 2), { + * weekStartsOn: 1, + * firstWeekContainsDate: 4 + * }) + * //=> 53 + */ + +function getWeek(dirtyDate, options) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index3.default)(dirtyDate); + var diff = (0, _index.default)(date, options).getTime() - (0, _index2.default)(date, options).getTime(); // Round the number of days to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + + return Math.round(diff / MILLISECONDS_IN_WEEK) + 1; +} + +module.exports = exports.default; +},{"../startOfWeek/index.js":198,"../startOfWeekYear/index.js":199,"../toDate/index.js":212}],103:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getWeekOfMonth; + +var _index = _interopRequireDefault(require("../getDate/index.js")); + +var _index2 = _interopRequireDefault(require("../getDay/index.js")); + +var _index3 = _interopRequireDefault(require("../startOfMonth/index.js")); + +var _index4 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getWeekOfMonth + * @category Week Helpers + * @summary Get the week of the month of the given date. + * + * @description + * Get the week of the month of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Number} the week of month + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * + * @example + * // Which week of the month is 9 November 2017? + * var result = getWeekOfMonth(new Date(2017, 10, 9)) + * //=> 2 + */ +function getWeekOfMonth(date, dirtyOptions) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var locale = options.locale; + var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn; + var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : (0, _index4.default)(localeWeekStartsOn); + var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : (0, _index4.default)(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN + + if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { + throw new RangeError('weekStartsOn must be between 0 and 6 inclusively'); + } + + var currentDayOfMonth = (0, _index.default)(date); + + if (isNaN(currentDayOfMonth)) { + return currentDayOfMonth; + } + + var startWeekDay = (0, _index2.default)((0, _index3.default)(date)); + var lastDayOfFirstWeek = 0; + + if (startWeekDay >= weekStartsOn) { + lastDayOfFirstWeek = weekStartsOn + 7 - startWeekDay; + } else { + lastDayOfFirstWeek = weekStartsOn - startWeekDay; + } + + var weekNumber = 1; + + if (currentDayOfMonth > lastDayOfFirstWeek) { + var remainingDaysAfterFirstWeek = currentDayOfMonth - lastDayOfFirstWeek; + weekNumber = weekNumber + Math.ceil(remainingDaysAfterFirstWeek / 7); + } + + return weekNumber; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../getDate/index.js":83,"../getDay/index.js":84,"../startOfMonth/index.js":193}],104:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getWeekYear; + +var _index = _interopRequireDefault(require("../startOfWeek/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getWeekYear + * @category Week-Numbering Year Helpers + * @summary Get the local week-numbering year of the given date. + * + * @description + * Get the local week-numbering year of the given date. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year + * @returns {Number} the local week-numbering year + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7 + * + * @example + * // Which week numbering year is 26 December 2004 with the default settings? + * var result = getWeekYear(new Date(2004, 11, 26)) + * //=> 2005 + * + * @example + * // Which week numbering year is 26 December 2004 if week starts on Saturday? + * var result = getWeekYear(new Date(2004, 11, 26), { weekStartsOn: 6 }) + * //=> 2004 + * + * @example + * // Which week numbering year is 26 December 2004 if the first week contains 4 January? + * var result = getWeekYear(new Date(2004, 11, 26), { firstWeekContainsDate: 4 }) + * //=> 2004 + */ +function getWeekYear(dirtyDate, dirtyOptions) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var year = date.getFullYear(); + var options = dirtyOptions || {}; + var locale = options.locale; + var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate; + var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : (0, _index3.default)(localeFirstWeekContainsDate); + var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : (0, _index3.default)(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN + + if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { + throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively'); + } + + var firstWeekOfNextYear = new Date(0); + firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate); + firstWeekOfNextYear.setHours(0, 0, 0, 0); + var startOfNextYear = (0, _index.default)(firstWeekOfNextYear, dirtyOptions); + var firstWeekOfThisYear = new Date(0); + firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate); + firstWeekOfThisYear.setHours(0, 0, 0, 0); + var startOfThisYear = (0, _index.default)(firstWeekOfThisYear, dirtyOptions); + + if (date.getTime() >= startOfNextYear.getTime()) { + return year + 1; + } else if (date.getTime() >= startOfThisYear.getTime()) { + return year; + } else { + return year - 1; + } +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../startOfWeek/index.js":198,"../toDate/index.js":212}],105:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getWeeksInMonth; + +var _index = _interopRequireDefault(require("../differenceInCalendarWeeks/index.js")); + +var _index2 = _interopRequireDefault(require("../lastDayOfMonth/index.js")); + +var _index3 = _interopRequireDefault(require("../startOfMonth/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getWeeksInMonth + * @category Week Helpers + * @summary Get the number of calendar weeks a month spans. + * + * @description + * Get the number of calendar weeks the month in the given date spans. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Number} the number of calendar weeks + * @throws {TypeError} 2 arguments required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * + * @example + * // How many calendar weeks does February 2015 span? + * var result = getWeeksInMonth(new Date(2015, 1, 8)) + * //=> 4 + * + * @example + * // If the week starts on Monday, + * // how many calendar weeks does July 2017 span? + * var result = getWeeksInMonth(new Date(2017, 6, 5), { weekStartsOn: 1 }) + * //=> 6 + */ +function getWeeksInMonth(date, options) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)((0, _index2.default)(date), (0, _index3.default)(date), options) + 1; +} + +module.exports = exports.default; +},{"../differenceInCalendarWeeks/index.js":46,"../lastDayOfMonth/index.js":151,"../startOfMonth/index.js":193}],106:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getYear; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name getYear + * @category Year Helpers + * @summary Get the year of the given date. + * + * @description + * Get the year of the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the given date + * @returns {Number} the year + * @throws {TypeError} 1 argument required + * + * @example + * // Which year is 2 July 2014? + * var result = getYear(new Date(2014, 6, 2)) + * //=> 2014 + */ +function getYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var year = date.getFullYear(); + return year; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],107:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var _exportNames = { + addBusinessDays: true, + addDays: true, + addHours: true, + addISOWeekYears: true, + addMilliseconds: true, + addMinutes: true, + addMonths: true, + addQuarters: true, + addSeconds: true, + addWeeks: true, + addYears: true, + areIntervalsOverlapping: true, + closestIndexTo: true, + closestTo: true, + compareAsc: true, + compareDesc: true, + differenceInBusinessDays: true, + differenceInCalendarDays: true, + differenceInCalendarISOWeekYears: true, + differenceInCalendarISOWeeks: true, + differenceInCalendarMonths: true, + differenceInCalendarQuarters: true, + differenceInCalendarWeeks: true, + differenceInCalendarYears: true, + differenceInDays: true, + differenceInHours: true, + differenceInISOWeekYears: true, + differenceInMilliseconds: true, + differenceInMinutes: true, + differenceInMonths: true, + differenceInQuarters: true, + differenceInSeconds: true, + differenceInWeeks: true, + differenceInYears: true, + eachDayOfInterval: true, + eachWeekOfInterval: true, + eachWeekendOfInterval: true, + eachWeekendOfMonth: true, + eachWeekendOfYear: true, + endOfDay: true, + endOfDecade: true, + endOfHour: true, + endOfISOWeek: true, + endOfISOWeekYear: true, + endOfMinute: true, + endOfMonth: true, + endOfQuarter: true, + endOfSecond: true, + endOfToday: true, + endOfTomorrow: true, + endOfWeek: true, + endOfYear: true, + endOfYesterday: true, + format: true, + formatDistance: true, + formatDistanceStrict: true, + formatDistanceToNow: true, + formatRelative: true, + fromUnixTime: true, + getDate: true, + getDay: true, + getDayOfYear: true, + getDaysInMonth: true, + getDaysInYear: true, + getDecade: true, + getHours: true, + getISODay: true, + getISOWeek: true, + getISOWeekYear: true, + getISOWeeksInYear: true, + getMilliseconds: true, + getMinutes: true, + getMonth: true, + getOverlappingDaysInIntervals: true, + getQuarter: true, + getSeconds: true, + getTime: true, + getUnixTime: true, + getWeek: true, + getWeekOfMonth: true, + getWeekYear: true, + getWeeksInMonth: true, + getYear: true, + isAfter: true, + isBefore: true, + isDate: true, + isEqual: true, + isFirstDayOfMonth: true, + isFriday: true, + isFuture: true, + isLastDayOfMonth: true, + isLeapYear: true, + isMonday: true, + isPast: true, + isSameDay: true, + isSameHour: true, + isSameISOWeek: true, + isSameISOWeekYear: true, + isSameMinute: true, + isSameMonth: true, + isSameQuarter: true, + isSameSecond: true, + isSameWeek: true, + isSameYear: true, + isSaturday: true, + isSunday: true, + isThisHour: true, + isThisISOWeek: true, + isThisMinute: true, + isThisMonth: true, + isThisQuarter: true, + isThisSecond: true, + isThisWeek: true, + isThisYear: true, + isThursday: true, + isToday: true, + isTomorrow: true, + isTuesday: true, + isValid: true, + isWednesday: true, + isWeekend: true, + isWithinInterval: true, + isYesterday: true, + lastDayOfDecade: true, + lastDayOfISOWeek: true, + lastDayOfISOWeekYear: true, + lastDayOfMonth: true, + lastDayOfQuarter: true, + lastDayOfWeek: true, + lastDayOfYear: true, + lightFormat: true, + max: true, + min: true, + parse: true, + parseISO: true, + roundToNearestMinutes: true, + setDate: true, + setDay: true, + setDayOfYear: true, + setHours: true, + setISODay: true, + setISOWeek: true, + setISOWeekYear: true, + setMilliseconds: true, + setMinutes: true, + setMonth: true, + setQuarter: true, + setSeconds: true, + setWeek: true, + setWeekYear: true, + setYear: true, + startOfDay: true, + startOfDecade: true, + startOfHour: true, + startOfISOWeek: true, + startOfISOWeekYear: true, + startOfMinute: true, + startOfMonth: true, + startOfQuarter: true, + startOfSecond: true, + startOfToday: true, + startOfTomorrow: true, + startOfWeek: true, + startOfWeekYear: true, + startOfYear: true, + startOfYesterday: true, + subDays: true, + subHours: true, + subISOWeekYears: true, + subMilliseconds: true, + subMinutes: true, + subMonths: true, + subQuarters: true, + subSeconds: true, + subWeeks: true, + subYears: true, + toDate: true +}; +Object.defineProperty(exports, "addBusinessDays", { + enumerable: true, + get: function () { + return _index.default; + } +}); +Object.defineProperty(exports, "addDays", { + enumerable: true, + get: function () { + return _index2.default; + } +}); +Object.defineProperty(exports, "addHours", { + enumerable: true, + get: function () { + return _index3.default; + } +}); +Object.defineProperty(exports, "addISOWeekYears", { + enumerable: true, + get: function () { + return _index4.default; + } +}); +Object.defineProperty(exports, "addMilliseconds", { + enumerable: true, + get: function () { + return _index5.default; + } +}); +Object.defineProperty(exports, "addMinutes", { + enumerable: true, + get: function () { + return _index6.default; + } +}); +Object.defineProperty(exports, "addMonths", { + enumerable: true, + get: function () { + return _index7.default; + } +}); +Object.defineProperty(exports, "addQuarters", { + enumerable: true, + get: function () { + return _index8.default; + } +}); +Object.defineProperty(exports, "addSeconds", { + enumerable: true, + get: function () { + return _index9.default; + } +}); +Object.defineProperty(exports, "addWeeks", { + enumerable: true, + get: function () { + return _index10.default; + } +}); +Object.defineProperty(exports, "addYears", { + enumerable: true, + get: function () { + return _index11.default; + } +}); +Object.defineProperty(exports, "areIntervalsOverlapping", { + enumerable: true, + get: function () { + return _index12.default; + } +}); +Object.defineProperty(exports, "closestIndexTo", { + enumerable: true, + get: function () { + return _index13.default; + } +}); +Object.defineProperty(exports, "closestTo", { + enumerable: true, + get: function () { + return _index14.default; + } +}); +Object.defineProperty(exports, "compareAsc", { + enumerable: true, + get: function () { + return _index15.default; + } +}); +Object.defineProperty(exports, "compareDesc", { + enumerable: true, + get: function () { + return _index16.default; + } +}); +Object.defineProperty(exports, "differenceInBusinessDays", { + enumerable: true, + get: function () { + return _index17.default; + } +}); +Object.defineProperty(exports, "differenceInCalendarDays", { + enumerable: true, + get: function () { + return _index18.default; + } +}); +Object.defineProperty(exports, "differenceInCalendarISOWeekYears", { + enumerable: true, + get: function () { + return _index19.default; + } +}); +Object.defineProperty(exports, "differenceInCalendarISOWeeks", { + enumerable: true, + get: function () { + return _index20.default; + } +}); +Object.defineProperty(exports, "differenceInCalendarMonths", { + enumerable: true, + get: function () { + return _index21.default; + } +}); +Object.defineProperty(exports, "differenceInCalendarQuarters", { + enumerable: true, + get: function () { + return _index22.default; + } +}); +Object.defineProperty(exports, "differenceInCalendarWeeks", { + enumerable: true, + get: function () { + return _index23.default; + } +}); +Object.defineProperty(exports, "differenceInCalendarYears", { + enumerable: true, + get: function () { + return _index24.default; + } +}); +Object.defineProperty(exports, "differenceInDays", { + enumerable: true, + get: function () { + return _index25.default; + } +}); +Object.defineProperty(exports, "differenceInHours", { + enumerable: true, + get: function () { + return _index26.default; + } +}); +Object.defineProperty(exports, "differenceInISOWeekYears", { + enumerable: true, + get: function () { + return _index27.default; + } +}); +Object.defineProperty(exports, "differenceInMilliseconds", { + enumerable: true, + get: function () { + return _index28.default; + } +}); +Object.defineProperty(exports, "differenceInMinutes", { + enumerable: true, + get: function () { + return _index29.default; + } +}); +Object.defineProperty(exports, "differenceInMonths", { + enumerable: true, + get: function () { + return _index30.default; + } +}); +Object.defineProperty(exports, "differenceInQuarters", { + enumerable: true, + get: function () { + return _index31.default; + } +}); +Object.defineProperty(exports, "differenceInSeconds", { + enumerable: true, + get: function () { + return _index32.default; + } +}); +Object.defineProperty(exports, "differenceInWeeks", { + enumerable: true, + get: function () { + return _index33.default; + } +}); +Object.defineProperty(exports, "differenceInYears", { + enumerable: true, + get: function () { + return _index34.default; + } +}); +Object.defineProperty(exports, "eachDayOfInterval", { + enumerable: true, + get: function () { + return _index35.default; + } +}); +Object.defineProperty(exports, "eachWeekOfInterval", { + enumerable: true, + get: function () { + return _index36.default; + } +}); +Object.defineProperty(exports, "eachWeekendOfInterval", { + enumerable: true, + get: function () { + return _index37.default; + } +}); +Object.defineProperty(exports, "eachWeekendOfMonth", { + enumerable: true, + get: function () { + return _index38.default; + } +}); +Object.defineProperty(exports, "eachWeekendOfYear", { + enumerable: true, + get: function () { + return _index39.default; + } +}); +Object.defineProperty(exports, "endOfDay", { + enumerable: true, + get: function () { + return _index40.default; + } +}); +Object.defineProperty(exports, "endOfDecade", { + enumerable: true, + get: function () { + return _index41.default; + } +}); +Object.defineProperty(exports, "endOfHour", { + enumerable: true, + get: function () { + return _index42.default; + } +}); +Object.defineProperty(exports, "endOfISOWeek", { + enumerable: true, + get: function () { + return _index43.default; + } +}); +Object.defineProperty(exports, "endOfISOWeekYear", { + enumerable: true, + get: function () { + return _index44.default; + } +}); +Object.defineProperty(exports, "endOfMinute", { + enumerable: true, + get: function () { + return _index45.default; + } +}); +Object.defineProperty(exports, "endOfMonth", { + enumerable: true, + get: function () { + return _index46.default; + } +}); +Object.defineProperty(exports, "endOfQuarter", { + enumerable: true, + get: function () { + return _index47.default; + } +}); +Object.defineProperty(exports, "endOfSecond", { + enumerable: true, + get: function () { + return _index48.default; + } +}); +Object.defineProperty(exports, "endOfToday", { + enumerable: true, + get: function () { + return _index49.default; + } +}); +Object.defineProperty(exports, "endOfTomorrow", { + enumerable: true, + get: function () { + return _index50.default; + } +}); +Object.defineProperty(exports, "endOfWeek", { + enumerable: true, + get: function () { + return _index51.default; + } +}); +Object.defineProperty(exports, "endOfYear", { + enumerable: true, + get: function () { + return _index52.default; + } +}); +Object.defineProperty(exports, "endOfYesterday", { + enumerable: true, + get: function () { + return _index53.default; + } +}); +Object.defineProperty(exports, "format", { + enumerable: true, + get: function () { + return _index54.default; + } +}); +Object.defineProperty(exports, "formatDistance", { + enumerable: true, + get: function () { + return _index55.default; + } +}); +Object.defineProperty(exports, "formatDistanceStrict", { + enumerable: true, + get: function () { + return _index56.default; + } +}); +Object.defineProperty(exports, "formatDistanceToNow", { + enumerable: true, + get: function () { + return _index57.default; + } +}); +Object.defineProperty(exports, "formatRelative", { + enumerable: true, + get: function () { + return _index58.default; + } +}); +Object.defineProperty(exports, "fromUnixTime", { + enumerable: true, + get: function () { + return _index59.default; + } +}); +Object.defineProperty(exports, "getDate", { + enumerable: true, + get: function () { + return _index60.default; + } +}); +Object.defineProperty(exports, "getDay", { + enumerable: true, + get: function () { + return _index61.default; + } +}); +Object.defineProperty(exports, "getDayOfYear", { + enumerable: true, + get: function () { + return _index62.default; + } +}); +Object.defineProperty(exports, "getDaysInMonth", { + enumerable: true, + get: function () { + return _index63.default; + } +}); +Object.defineProperty(exports, "getDaysInYear", { + enumerable: true, + get: function () { + return _index64.default; + } +}); +Object.defineProperty(exports, "getDecade", { + enumerable: true, + get: function () { + return _index65.default; + } +}); +Object.defineProperty(exports, "getHours", { + enumerable: true, + get: function () { + return _index66.default; + } +}); +Object.defineProperty(exports, "getISODay", { + enumerable: true, + get: function () { + return _index67.default; + } +}); +Object.defineProperty(exports, "getISOWeek", { + enumerable: true, + get: function () { + return _index68.default; + } +}); +Object.defineProperty(exports, "getISOWeekYear", { + enumerable: true, + get: function () { + return _index69.default; + } +}); +Object.defineProperty(exports, "getISOWeeksInYear", { + enumerable: true, + get: function () { + return _index70.default; + } +}); +Object.defineProperty(exports, "getMilliseconds", { + enumerable: true, + get: function () { + return _index71.default; + } +}); +Object.defineProperty(exports, "getMinutes", { + enumerable: true, + get: function () { + return _index72.default; + } +}); +Object.defineProperty(exports, "getMonth", { + enumerable: true, + get: function () { + return _index73.default; + } +}); +Object.defineProperty(exports, "getOverlappingDaysInIntervals", { + enumerable: true, + get: function () { + return _index74.default; + } +}); +Object.defineProperty(exports, "getQuarter", { + enumerable: true, + get: function () { + return _index75.default; + } +}); +Object.defineProperty(exports, "getSeconds", { + enumerable: true, + get: function () { + return _index76.default; + } +}); +Object.defineProperty(exports, "getTime", { + enumerable: true, + get: function () { + return _index77.default; + } +}); +Object.defineProperty(exports, "getUnixTime", { + enumerable: true, + get: function () { + return _index78.default; + } +}); +Object.defineProperty(exports, "getWeek", { + enumerable: true, + get: function () { + return _index79.default; + } +}); +Object.defineProperty(exports, "getWeekOfMonth", { + enumerable: true, + get: function () { + return _index80.default; + } +}); +Object.defineProperty(exports, "getWeekYear", { + enumerable: true, + get: function () { + return _index81.default; + } +}); +Object.defineProperty(exports, "getWeeksInMonth", { + enumerable: true, + get: function () { + return _index82.default; + } +}); +Object.defineProperty(exports, "getYear", { + enumerable: true, + get: function () { + return _index83.default; + } +}); +Object.defineProperty(exports, "isAfter", { + enumerable: true, + get: function () { + return _index84.default; + } +}); +Object.defineProperty(exports, "isBefore", { + enumerable: true, + get: function () { + return _index85.default; + } +}); +Object.defineProperty(exports, "isDate", { + enumerable: true, + get: function () { + return _index86.default; + } +}); +Object.defineProperty(exports, "isEqual", { + enumerable: true, + get: function () { + return _index87.default; + } +}); +Object.defineProperty(exports, "isFirstDayOfMonth", { + enumerable: true, + get: function () { + return _index88.default; + } +}); +Object.defineProperty(exports, "isFriday", { + enumerable: true, + get: function () { + return _index89.default; + } +}); +Object.defineProperty(exports, "isFuture", { + enumerable: true, + get: function () { + return _index90.default; + } +}); +Object.defineProperty(exports, "isLastDayOfMonth", { + enumerable: true, + get: function () { + return _index91.default; + } +}); +Object.defineProperty(exports, "isLeapYear", { + enumerable: true, + get: function () { + return _index92.default; + } +}); +Object.defineProperty(exports, "isMonday", { + enumerable: true, + get: function () { + return _index93.default; + } +}); +Object.defineProperty(exports, "isPast", { + enumerable: true, + get: function () { + return _index94.default; + } +}); +Object.defineProperty(exports, "isSameDay", { + enumerable: true, + get: function () { + return _index95.default; + } +}); +Object.defineProperty(exports, "isSameHour", { + enumerable: true, + get: function () { + return _index96.default; + } +}); +Object.defineProperty(exports, "isSameISOWeek", { + enumerable: true, + get: function () { + return _index97.default; + } +}); +Object.defineProperty(exports, "isSameISOWeekYear", { + enumerable: true, + get: function () { + return _index98.default; + } +}); +Object.defineProperty(exports, "isSameMinute", { + enumerable: true, + get: function () { + return _index99.default; + } +}); +Object.defineProperty(exports, "isSameMonth", { + enumerable: true, + get: function () { + return _index100.default; + } +}); +Object.defineProperty(exports, "isSameQuarter", { + enumerable: true, + get: function () { + return _index101.default; + } +}); +Object.defineProperty(exports, "isSameSecond", { + enumerable: true, + get: function () { + return _index102.default; + } +}); +Object.defineProperty(exports, "isSameWeek", { + enumerable: true, + get: function () { + return _index103.default; + } +}); +Object.defineProperty(exports, "isSameYear", { + enumerable: true, + get: function () { + return _index104.default; + } +}); +Object.defineProperty(exports, "isSaturday", { + enumerable: true, + get: function () { + return _index105.default; + } +}); +Object.defineProperty(exports, "isSunday", { + enumerable: true, + get: function () { + return _index106.default; + } +}); +Object.defineProperty(exports, "isThisHour", { + enumerable: true, + get: function () { + return _index107.default; + } +}); +Object.defineProperty(exports, "isThisISOWeek", { + enumerable: true, + get: function () { + return _index108.default; + } +}); +Object.defineProperty(exports, "isThisMinute", { + enumerable: true, + get: function () { + return _index109.default; + } +}); +Object.defineProperty(exports, "isThisMonth", { + enumerable: true, + get: function () { + return _index110.default; + } +}); +Object.defineProperty(exports, "isThisQuarter", { + enumerable: true, + get: function () { + return _index111.default; + } +}); +Object.defineProperty(exports, "isThisSecond", { + enumerable: true, + get: function () { + return _index112.default; + } +}); +Object.defineProperty(exports, "isThisWeek", { + enumerable: true, + get: function () { + return _index113.default; + } +}); +Object.defineProperty(exports, "isThisYear", { + enumerable: true, + get: function () { + return _index114.default; + } +}); +Object.defineProperty(exports, "isThursday", { + enumerable: true, + get: function () { + return _index115.default; + } +}); +Object.defineProperty(exports, "isToday", { + enumerable: true, + get: function () { + return _index116.default; + } +}); +Object.defineProperty(exports, "isTomorrow", { + enumerable: true, + get: function () { + return _index117.default; + } +}); +Object.defineProperty(exports, "isTuesday", { + enumerable: true, + get: function () { + return _index118.default; + } +}); +Object.defineProperty(exports, "isValid", { + enumerable: true, + get: function () { + return _index119.default; + } +}); +Object.defineProperty(exports, "isWednesday", { + enumerable: true, + get: function () { + return _index120.default; + } +}); +Object.defineProperty(exports, "isWeekend", { + enumerable: true, + get: function () { + return _index121.default; + } +}); +Object.defineProperty(exports, "isWithinInterval", { + enumerable: true, + get: function () { + return _index122.default; + } +}); +Object.defineProperty(exports, "isYesterday", { + enumerable: true, + get: function () { + return _index123.default; + } +}); +Object.defineProperty(exports, "lastDayOfDecade", { + enumerable: true, + get: function () { + return _index124.default; + } +}); +Object.defineProperty(exports, "lastDayOfISOWeek", { + enumerable: true, + get: function () { + return _index125.default; + } +}); +Object.defineProperty(exports, "lastDayOfISOWeekYear", { + enumerable: true, + get: function () { + return _index126.default; + } +}); +Object.defineProperty(exports, "lastDayOfMonth", { + enumerable: true, + get: function () { + return _index127.default; + } +}); +Object.defineProperty(exports, "lastDayOfQuarter", { + enumerable: true, + get: function () { + return _index128.default; + } +}); +Object.defineProperty(exports, "lastDayOfWeek", { + enumerable: true, + get: function () { + return _index129.default; + } +}); +Object.defineProperty(exports, "lastDayOfYear", { + enumerable: true, + get: function () { + return _index130.default; + } +}); +Object.defineProperty(exports, "lightFormat", { + enumerable: true, + get: function () { + return _index131.default; + } +}); +Object.defineProperty(exports, "max", { + enumerable: true, + get: function () { + return _index132.default; + } +}); +Object.defineProperty(exports, "min", { + enumerable: true, + get: function () { + return _index133.default; + } +}); +Object.defineProperty(exports, "parse", { + enumerable: true, + get: function () { + return _index134.default; + } +}); +Object.defineProperty(exports, "parseISO", { + enumerable: true, + get: function () { + return _index135.default; + } +}); +Object.defineProperty(exports, "roundToNearestMinutes", { + enumerable: true, + get: function () { + return _index136.default; + } +}); +Object.defineProperty(exports, "setDate", { + enumerable: true, + get: function () { + return _index137.default; + } +}); +Object.defineProperty(exports, "setDay", { + enumerable: true, + get: function () { + return _index138.default; + } +}); +Object.defineProperty(exports, "setDayOfYear", { + enumerable: true, + get: function () { + return _index139.default; + } +}); +Object.defineProperty(exports, "setHours", { + enumerable: true, + get: function () { + return _index140.default; + } +}); +Object.defineProperty(exports, "setISODay", { + enumerable: true, + get: function () { + return _index141.default; + } +}); +Object.defineProperty(exports, "setISOWeek", { + enumerable: true, + get: function () { + return _index142.default; + } +}); +Object.defineProperty(exports, "setISOWeekYear", { + enumerable: true, + get: function () { + return _index143.default; + } +}); +Object.defineProperty(exports, "setMilliseconds", { + enumerable: true, + get: function () { + return _index144.default; + } +}); +Object.defineProperty(exports, "setMinutes", { + enumerable: true, + get: function () { + return _index145.default; + } +}); +Object.defineProperty(exports, "setMonth", { + enumerable: true, + get: function () { + return _index146.default; + } +}); +Object.defineProperty(exports, "setQuarter", { + enumerable: true, + get: function () { + return _index147.default; + } +}); +Object.defineProperty(exports, "setSeconds", { + enumerable: true, + get: function () { + return _index148.default; + } +}); +Object.defineProperty(exports, "setWeek", { + enumerable: true, + get: function () { + return _index149.default; + } +}); +Object.defineProperty(exports, "setWeekYear", { + enumerable: true, + get: function () { + return _index150.default; + } +}); +Object.defineProperty(exports, "setYear", { + enumerable: true, + get: function () { + return _index151.default; + } +}); +Object.defineProperty(exports, "startOfDay", { + enumerable: true, + get: function () { + return _index152.default; + } +}); +Object.defineProperty(exports, "startOfDecade", { + enumerable: true, + get: function () { + return _index153.default; + } +}); +Object.defineProperty(exports, "startOfHour", { + enumerable: true, + get: function () { + return _index154.default; + } +}); +Object.defineProperty(exports, "startOfISOWeek", { + enumerable: true, + get: function () { + return _index155.default; + } +}); +Object.defineProperty(exports, "startOfISOWeekYear", { + enumerable: true, + get: function () { + return _index156.default; + } +}); +Object.defineProperty(exports, "startOfMinute", { + enumerable: true, + get: function () { + return _index157.default; + } +}); +Object.defineProperty(exports, "startOfMonth", { + enumerable: true, + get: function () { + return _index158.default; + } +}); +Object.defineProperty(exports, "startOfQuarter", { + enumerable: true, + get: function () { + return _index159.default; + } +}); +Object.defineProperty(exports, "startOfSecond", { + enumerable: true, + get: function () { + return _index160.default; + } +}); +Object.defineProperty(exports, "startOfToday", { + enumerable: true, + get: function () { + return _index161.default; + } +}); +Object.defineProperty(exports, "startOfTomorrow", { + enumerable: true, + get: function () { + return _index162.default; + } +}); +Object.defineProperty(exports, "startOfWeek", { + enumerable: true, + get: function () { + return _index163.default; + } +}); +Object.defineProperty(exports, "startOfWeekYear", { + enumerable: true, + get: function () { + return _index164.default; + } +}); +Object.defineProperty(exports, "startOfYear", { + enumerable: true, + get: function () { + return _index165.default; + } +}); +Object.defineProperty(exports, "startOfYesterday", { + enumerable: true, + get: function () { + return _index166.default; + } +}); +Object.defineProperty(exports, "subDays", { + enumerable: true, + get: function () { + return _index167.default; + } +}); +Object.defineProperty(exports, "subHours", { + enumerable: true, + get: function () { + return _index168.default; + } +}); +Object.defineProperty(exports, "subISOWeekYears", { + enumerable: true, + get: function () { + return _index169.default; + } +}); +Object.defineProperty(exports, "subMilliseconds", { + enumerable: true, + get: function () { + return _index170.default; + } +}); +Object.defineProperty(exports, "subMinutes", { + enumerable: true, + get: function () { + return _index171.default; + } +}); +Object.defineProperty(exports, "subMonths", { + enumerable: true, + get: function () { + return _index172.default; + } +}); +Object.defineProperty(exports, "subQuarters", { + enumerable: true, + get: function () { + return _index173.default; + } +}); +Object.defineProperty(exports, "subSeconds", { + enumerable: true, + get: function () { + return _index174.default; + } +}); +Object.defineProperty(exports, "subWeeks", { + enumerable: true, + get: function () { + return _index175.default; + } +}); +Object.defineProperty(exports, "subYears", { + enumerable: true, + get: function () { + return _index176.default; + } +}); +Object.defineProperty(exports, "toDate", { + enumerable: true, + get: function () { + return _index177.default; + } +}); + +var _index = _interopRequireDefault(require("./addBusinessDays/index.js")); + +var _index2 = _interopRequireDefault(require("./addDays/index.js")); + +var _index3 = _interopRequireDefault(require("./addHours/index.js")); + +var _index4 = _interopRequireDefault(require("./addISOWeekYears/index.js")); + +var _index5 = _interopRequireDefault(require("./addMilliseconds/index.js")); + +var _index6 = _interopRequireDefault(require("./addMinutes/index.js")); + +var _index7 = _interopRequireDefault(require("./addMonths/index.js")); + +var _index8 = _interopRequireDefault(require("./addQuarters/index.js")); + +var _index9 = _interopRequireDefault(require("./addSeconds/index.js")); + +var _index10 = _interopRequireDefault(require("./addWeeks/index.js")); + +var _index11 = _interopRequireDefault(require("./addYears/index.js")); + +var _index12 = _interopRequireDefault(require("./areIntervalsOverlapping/index.js")); + +var _index13 = _interopRequireDefault(require("./closestIndexTo/index.js")); + +var _index14 = _interopRequireDefault(require("./closestTo/index.js")); + +var _index15 = _interopRequireDefault(require("./compareAsc/index.js")); + +var _index16 = _interopRequireDefault(require("./compareDesc/index.js")); + +var _index17 = _interopRequireDefault(require("./differenceInBusinessDays/index.js")); + +var _index18 = _interopRequireDefault(require("./differenceInCalendarDays/index.js")); + +var _index19 = _interopRequireDefault(require("./differenceInCalendarISOWeekYears/index.js")); + +var _index20 = _interopRequireDefault(require("./differenceInCalendarISOWeeks/index.js")); + +var _index21 = _interopRequireDefault(require("./differenceInCalendarMonths/index.js")); + +var _index22 = _interopRequireDefault(require("./differenceInCalendarQuarters/index.js")); + +var _index23 = _interopRequireDefault(require("./differenceInCalendarWeeks/index.js")); + +var _index24 = _interopRequireDefault(require("./differenceInCalendarYears/index.js")); + +var _index25 = _interopRequireDefault(require("./differenceInDays/index.js")); + +var _index26 = _interopRequireDefault(require("./differenceInHours/index.js")); + +var _index27 = _interopRequireDefault(require("./differenceInISOWeekYears/index.js")); + +var _index28 = _interopRequireDefault(require("./differenceInMilliseconds/index.js")); + +var _index29 = _interopRequireDefault(require("./differenceInMinutes/index.js")); + +var _index30 = _interopRequireDefault(require("./differenceInMonths/index.js")); + +var _index31 = _interopRequireDefault(require("./differenceInQuarters/index.js")); + +var _index32 = _interopRequireDefault(require("./differenceInSeconds/index.js")); + +var _index33 = _interopRequireDefault(require("./differenceInWeeks/index.js")); + +var _index34 = _interopRequireDefault(require("./differenceInYears/index.js")); + +var _index35 = _interopRequireDefault(require("./eachDayOfInterval/index.js")); + +var _index36 = _interopRequireDefault(require("./eachWeekOfInterval/index.js")); + +var _index37 = _interopRequireDefault(require("./eachWeekendOfInterval/index.js")); + +var _index38 = _interopRequireDefault(require("./eachWeekendOfMonth/index.js")); + +var _index39 = _interopRequireDefault(require("./eachWeekendOfYear/index.js")); + +var _index40 = _interopRequireDefault(require("./endOfDay/index.js")); + +var _index41 = _interopRequireDefault(require("./endOfDecade/index.js")); + +var _index42 = _interopRequireDefault(require("./endOfHour/index.js")); + +var _index43 = _interopRequireDefault(require("./endOfISOWeek/index.js")); + +var _index44 = _interopRequireDefault(require("./endOfISOWeekYear/index.js")); + +var _index45 = _interopRequireDefault(require("./endOfMinute/index.js")); + +var _index46 = _interopRequireDefault(require("./endOfMonth/index.js")); + +var _index47 = _interopRequireDefault(require("./endOfQuarter/index.js")); + +var _index48 = _interopRequireDefault(require("./endOfSecond/index.js")); + +var _index49 = _interopRequireDefault(require("./endOfToday/index.js")); + +var _index50 = _interopRequireDefault(require("./endOfTomorrow/index.js")); + +var _index51 = _interopRequireDefault(require("./endOfWeek/index.js")); + +var _index52 = _interopRequireDefault(require("./endOfYear/index.js")); + +var _index53 = _interopRequireDefault(require("./endOfYesterday/index.js")); + +var _index54 = _interopRequireDefault(require("./format/index.js")); + +var _index55 = _interopRequireDefault(require("./formatDistance/index.js")); + +var _index56 = _interopRequireDefault(require("./formatDistanceStrict/index.js")); + +var _index57 = _interopRequireDefault(require("./formatDistanceToNow/index.js")); + +var _index58 = _interopRequireDefault(require("./formatRelative/index.js")); + +var _index59 = _interopRequireDefault(require("./fromUnixTime/index.js")); + +var _index60 = _interopRequireDefault(require("./getDate/index.js")); + +var _index61 = _interopRequireDefault(require("./getDay/index.js")); + +var _index62 = _interopRequireDefault(require("./getDayOfYear/index.js")); + +var _index63 = _interopRequireDefault(require("./getDaysInMonth/index.js")); + +var _index64 = _interopRequireDefault(require("./getDaysInYear/index.js")); + +var _index65 = _interopRequireDefault(require("./getDecade/index.js")); + +var _index66 = _interopRequireDefault(require("./getHours/index.js")); + +var _index67 = _interopRequireDefault(require("./getISODay/index.js")); + +var _index68 = _interopRequireDefault(require("./getISOWeek/index.js")); + +var _index69 = _interopRequireDefault(require("./getISOWeekYear/index.js")); + +var _index70 = _interopRequireDefault(require("./getISOWeeksInYear/index.js")); + +var _index71 = _interopRequireDefault(require("./getMilliseconds/index.js")); + +var _index72 = _interopRequireDefault(require("./getMinutes/index.js")); + +var _index73 = _interopRequireDefault(require("./getMonth/index.js")); + +var _index74 = _interopRequireDefault(require("./getOverlappingDaysInIntervals/index.js")); + +var _index75 = _interopRequireDefault(require("./getQuarter/index.js")); + +var _index76 = _interopRequireDefault(require("./getSeconds/index.js")); + +var _index77 = _interopRequireDefault(require("./getTime/index.js")); + +var _index78 = _interopRequireDefault(require("./getUnixTime/index.js")); + +var _index79 = _interopRequireDefault(require("./getWeek/index.js")); + +var _index80 = _interopRequireDefault(require("./getWeekOfMonth/index.js")); + +var _index81 = _interopRequireDefault(require("./getWeekYear/index.js")); + +var _index82 = _interopRequireDefault(require("./getWeeksInMonth/index.js")); + +var _index83 = _interopRequireDefault(require("./getYear/index.js")); + +var _index84 = _interopRequireDefault(require("./isAfter/index.js")); + +var _index85 = _interopRequireDefault(require("./isBefore/index.js")); + +var _index86 = _interopRequireDefault(require("./isDate/index.js")); + +var _index87 = _interopRequireDefault(require("./isEqual/index.js")); + +var _index88 = _interopRequireDefault(require("./isFirstDayOfMonth/index.js")); + +var _index89 = _interopRequireDefault(require("./isFriday/index.js")); + +var _index90 = _interopRequireDefault(require("./isFuture/index.js")); + +var _index91 = _interopRequireDefault(require("./isLastDayOfMonth/index.js")); + +var _index92 = _interopRequireDefault(require("./isLeapYear/index.js")); + +var _index93 = _interopRequireDefault(require("./isMonday/index.js")); + +var _index94 = _interopRequireDefault(require("./isPast/index.js")); + +var _index95 = _interopRequireDefault(require("./isSameDay/index.js")); + +var _index96 = _interopRequireDefault(require("./isSameHour/index.js")); + +var _index97 = _interopRequireDefault(require("./isSameISOWeek/index.js")); + +var _index98 = _interopRequireDefault(require("./isSameISOWeekYear/index.js")); + +var _index99 = _interopRequireDefault(require("./isSameMinute/index.js")); + +var _index100 = _interopRequireDefault(require("./isSameMonth/index.js")); + +var _index101 = _interopRequireDefault(require("./isSameQuarter/index.js")); + +var _index102 = _interopRequireDefault(require("./isSameSecond/index.js")); + +var _index103 = _interopRequireDefault(require("./isSameWeek/index.js")); + +var _index104 = _interopRequireDefault(require("./isSameYear/index.js")); + +var _index105 = _interopRequireDefault(require("./isSaturday/index.js")); + +var _index106 = _interopRequireDefault(require("./isSunday/index.js")); + +var _index107 = _interopRequireDefault(require("./isThisHour/index.js")); + +var _index108 = _interopRequireDefault(require("./isThisISOWeek/index.js")); + +var _index109 = _interopRequireDefault(require("./isThisMinute/index.js")); + +var _index110 = _interopRequireDefault(require("./isThisMonth/index.js")); + +var _index111 = _interopRequireDefault(require("./isThisQuarter/index.js")); + +var _index112 = _interopRequireDefault(require("./isThisSecond/index.js")); + +var _index113 = _interopRequireDefault(require("./isThisWeek/index.js")); + +var _index114 = _interopRequireDefault(require("./isThisYear/index.js")); + +var _index115 = _interopRequireDefault(require("./isThursday/index.js")); + +var _index116 = _interopRequireDefault(require("./isToday/index.js")); + +var _index117 = _interopRequireDefault(require("./isTomorrow/index.js")); + +var _index118 = _interopRequireDefault(require("./isTuesday/index.js")); + +var _index119 = _interopRequireDefault(require("./isValid/index.js")); + +var _index120 = _interopRequireDefault(require("./isWednesday/index.js")); + +var _index121 = _interopRequireDefault(require("./isWeekend/index.js")); + +var _index122 = _interopRequireDefault(require("./isWithinInterval/index.js")); + +var _index123 = _interopRequireDefault(require("./isYesterday/index.js")); + +var _index124 = _interopRequireDefault(require("./lastDayOfDecade/index.js")); + +var _index125 = _interopRequireDefault(require("./lastDayOfISOWeek/index.js")); + +var _index126 = _interopRequireDefault(require("./lastDayOfISOWeekYear/index.js")); + +var _index127 = _interopRequireDefault(require("./lastDayOfMonth/index.js")); + +var _index128 = _interopRequireDefault(require("./lastDayOfQuarter/index.js")); + +var _index129 = _interopRequireDefault(require("./lastDayOfWeek/index.js")); + +var _index130 = _interopRequireDefault(require("./lastDayOfYear/index.js")); + +var _index131 = _interopRequireDefault(require("./lightFormat/index.js")); + +var _index132 = _interopRequireDefault(require("./max/index.js")); + +var _index133 = _interopRequireDefault(require("./min/index.js")); + +var _index134 = _interopRequireDefault(require("./parse/index.js")); + +var _index135 = _interopRequireDefault(require("./parseISO/index.js")); + +var _index136 = _interopRequireDefault(require("./roundToNearestMinutes/index.js")); + +var _index137 = _interopRequireDefault(require("./setDate/index.js")); + +var _index138 = _interopRequireDefault(require("./setDay/index.js")); + +var _index139 = _interopRequireDefault(require("./setDayOfYear/index.js")); + +var _index140 = _interopRequireDefault(require("./setHours/index.js")); + +var _index141 = _interopRequireDefault(require("./setISODay/index.js")); + +var _index142 = _interopRequireDefault(require("./setISOWeek/index.js")); + +var _index143 = _interopRequireDefault(require("./setISOWeekYear/index.js")); + +var _index144 = _interopRequireDefault(require("./setMilliseconds/index.js")); + +var _index145 = _interopRequireDefault(require("./setMinutes/index.js")); + +var _index146 = _interopRequireDefault(require("./setMonth/index.js")); + +var _index147 = _interopRequireDefault(require("./setQuarter/index.js")); + +var _index148 = _interopRequireDefault(require("./setSeconds/index.js")); + +var _index149 = _interopRequireDefault(require("./setWeek/index.js")); + +var _index150 = _interopRequireDefault(require("./setWeekYear/index.js")); + +var _index151 = _interopRequireDefault(require("./setYear/index.js")); + +var _index152 = _interopRequireDefault(require("./startOfDay/index.js")); + +var _index153 = _interopRequireDefault(require("./startOfDecade/index.js")); + +var _index154 = _interopRequireDefault(require("./startOfHour/index.js")); + +var _index155 = _interopRequireDefault(require("./startOfISOWeek/index.js")); + +var _index156 = _interopRequireDefault(require("./startOfISOWeekYear/index.js")); + +var _index157 = _interopRequireDefault(require("./startOfMinute/index.js")); + +var _index158 = _interopRequireDefault(require("./startOfMonth/index.js")); + +var _index159 = _interopRequireDefault(require("./startOfQuarter/index.js")); + +var _index160 = _interopRequireDefault(require("./startOfSecond/index.js")); + +var _index161 = _interopRequireDefault(require("./startOfToday/index.js")); + +var _index162 = _interopRequireDefault(require("./startOfTomorrow/index.js")); + +var _index163 = _interopRequireDefault(require("./startOfWeek/index.js")); + +var _index164 = _interopRequireDefault(require("./startOfWeekYear/index.js")); + +var _index165 = _interopRequireDefault(require("./startOfYear/index.js")); + +var _index166 = _interopRequireDefault(require("./startOfYesterday/index.js")); + +var _index167 = _interopRequireDefault(require("./subDays/index.js")); + +var _index168 = _interopRequireDefault(require("./subHours/index.js")); + +var _index169 = _interopRequireDefault(require("./subISOWeekYears/index.js")); + +var _index170 = _interopRequireDefault(require("./subMilliseconds/index.js")); + +var _index171 = _interopRequireDefault(require("./subMinutes/index.js")); + +var _index172 = _interopRequireDefault(require("./subMonths/index.js")); + +var _index173 = _interopRequireDefault(require("./subQuarters/index.js")); + +var _index174 = _interopRequireDefault(require("./subSeconds/index.js")); + +var _index175 = _interopRequireDefault(require("./subWeeks/index.js")); + +var _index176 = _interopRequireDefault(require("./subYears/index.js")); + +var _index177 = _interopRequireDefault(require("./toDate/index.js")); + +var _index178 = require("./constants/index.js"); + +Object.keys(_index178).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _index178[key]; + } + }); +}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +},{"./addBusinessDays/index.js":23,"./addDays/index.js":24,"./addHours/index.js":25,"./addISOWeekYears/index.js":26,"./addMilliseconds/index.js":27,"./addMinutes/index.js":28,"./addMonths/index.js":29,"./addQuarters/index.js":30,"./addSeconds/index.js":31,"./addWeeks/index.js":32,"./addYears/index.js":33,"./areIntervalsOverlapping/index.js":34,"./closestIndexTo/index.js":35,"./closestTo/index.js":36,"./compareAsc/index.js":37,"./compareDesc/index.js":38,"./constants/index.js":39,"./differenceInBusinessDays/index.js":40,"./differenceInCalendarDays/index.js":41,"./differenceInCalendarISOWeekYears/index.js":42,"./differenceInCalendarISOWeeks/index.js":43,"./differenceInCalendarMonths/index.js":44,"./differenceInCalendarQuarters/index.js":45,"./differenceInCalendarWeeks/index.js":46,"./differenceInCalendarYears/index.js":47,"./differenceInDays/index.js":48,"./differenceInHours/index.js":49,"./differenceInISOWeekYears/index.js":50,"./differenceInMilliseconds/index.js":51,"./differenceInMinutes/index.js":52,"./differenceInMonths/index.js":53,"./differenceInQuarters/index.js":54,"./differenceInSeconds/index.js":55,"./differenceInWeeks/index.js":56,"./differenceInYears/index.js":57,"./eachDayOfInterval/index.js":58,"./eachWeekOfInterval/index.js":59,"./eachWeekendOfInterval/index.js":60,"./eachWeekendOfMonth/index.js":61,"./eachWeekendOfYear/index.js":62,"./endOfDay/index.js":63,"./endOfDecade/index.js":64,"./endOfHour/index.js":65,"./endOfISOWeek/index.js":66,"./endOfISOWeekYear/index.js":67,"./endOfMinute/index.js":68,"./endOfMonth/index.js":69,"./endOfQuarter/index.js":70,"./endOfSecond/index.js":71,"./endOfToday/index.js":72,"./endOfTomorrow/index.js":73,"./endOfWeek/index.js":74,"./endOfYear/index.js":75,"./endOfYesterday/index.js":76,"./format/index.js":77,"./formatDistance/index.js":78,"./formatDistanceStrict/index.js":79,"./formatDistanceToNow/index.js":80,"./formatRelative/index.js":81,"./fromUnixTime/index.js":82,"./getDate/index.js":83,"./getDay/index.js":84,"./getDayOfYear/index.js":85,"./getDaysInMonth/index.js":86,"./getDaysInYear/index.js":87,"./getDecade/index.js":88,"./getHours/index.js":89,"./getISODay/index.js":90,"./getISOWeek/index.js":91,"./getISOWeekYear/index.js":92,"./getISOWeeksInYear/index.js":93,"./getMilliseconds/index.js":94,"./getMinutes/index.js":95,"./getMonth/index.js":96,"./getOverlappingDaysInIntervals/index.js":97,"./getQuarter/index.js":98,"./getSeconds/index.js":99,"./getTime/index.js":100,"./getUnixTime/index.js":101,"./getWeek/index.js":102,"./getWeekOfMonth/index.js":103,"./getWeekYear/index.js":104,"./getWeeksInMonth/index.js":105,"./getYear/index.js":106,"./isAfter/index.js":108,"./isBefore/index.js":109,"./isDate/index.js":110,"./isEqual/index.js":111,"./isFirstDayOfMonth/index.js":112,"./isFriday/index.js":113,"./isFuture/index.js":114,"./isLastDayOfMonth/index.js":115,"./isLeapYear/index.js":116,"./isMonday/index.js":117,"./isPast/index.js":118,"./isSameDay/index.js":119,"./isSameHour/index.js":120,"./isSameISOWeek/index.js":121,"./isSameISOWeekYear/index.js":122,"./isSameMinute/index.js":123,"./isSameMonth/index.js":124,"./isSameQuarter/index.js":125,"./isSameSecond/index.js":126,"./isSameWeek/index.js":127,"./isSameYear/index.js":128,"./isSaturday/index.js":129,"./isSunday/index.js":130,"./isThisHour/index.js":131,"./isThisISOWeek/index.js":132,"./isThisMinute/index.js":133,"./isThisMonth/index.js":134,"./isThisQuarter/index.js":135,"./isThisSecond/index.js":136,"./isThisWeek/index.js":137,"./isThisYear/index.js":138,"./isThursday/index.js":139,"./isToday/index.js":140,"./isTomorrow/index.js":141,"./isTuesday/index.js":142,"./isValid/index.js":143,"./isWednesday/index.js":144,"./isWeekend/index.js":145,"./isWithinInterval/index.js":146,"./isYesterday/index.js":147,"./lastDayOfDecade/index.js":148,"./lastDayOfISOWeek/index.js":149,"./lastDayOfISOWeekYear/index.js":150,"./lastDayOfMonth/index.js":151,"./lastDayOfQuarter/index.js":152,"./lastDayOfWeek/index.js":153,"./lastDayOfYear/index.js":154,"./lightFormat/index.js":155,"./max/index.js":166,"./min/index.js":167,"./parse/index.js":169,"./parseISO/index.js":170,"./roundToNearestMinutes/index.js":171,"./setDate/index.js":172,"./setDay/index.js":173,"./setDayOfYear/index.js":174,"./setHours/index.js":175,"./setISODay/index.js":176,"./setISOWeek/index.js":177,"./setISOWeekYear/index.js":178,"./setMilliseconds/index.js":179,"./setMinutes/index.js":180,"./setMonth/index.js":181,"./setQuarter/index.js":182,"./setSeconds/index.js":183,"./setWeek/index.js":184,"./setWeekYear/index.js":185,"./setYear/index.js":186,"./startOfDay/index.js":187,"./startOfDecade/index.js":188,"./startOfHour/index.js":189,"./startOfISOWeek/index.js":190,"./startOfISOWeekYear/index.js":191,"./startOfMinute/index.js":192,"./startOfMonth/index.js":193,"./startOfQuarter/index.js":194,"./startOfSecond/index.js":195,"./startOfToday/index.js":196,"./startOfTomorrow/index.js":197,"./startOfWeek/index.js":198,"./startOfWeekYear/index.js":199,"./startOfYear/index.js":200,"./startOfYesterday/index.js":201,"./subDays/index.js":202,"./subHours/index.js":203,"./subISOWeekYears/index.js":204,"./subMilliseconds/index.js":205,"./subMinutes/index.js":206,"./subMonths/index.js":207,"./subQuarters/index.js":208,"./subSeconds/index.js":209,"./subWeeks/index.js":210,"./subYears/index.js":211,"./toDate/index.js":212}],108:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isAfter; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isAfter + * @category Common Helpers + * @summary Is the first date after the second one? + * + * @description + * Is the first date after the second one? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date that should be after the other one to return true + * @param {Date|Number} dateToCompare - the date to compare with + * @returns {Boolean} the first date is after the second date + * @throws {TypeError} 2 arguments required + * + * @example + * // Is 10 July 1989 after 11 February 1987? + * var result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11)) + * //=> true + */ +function isAfter(dirtyDate, dirtyDateToCompare) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var dateToCompare = (0, _index.default)(dirtyDateToCompare); + return date.getTime() > dateToCompare.getTime(); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],109:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isBefore; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isBefore + * @category Common Helpers + * @summary Is the first date before the second one? + * + * @description + * Is the first date before the second one? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date that should be before the other one to return true + * @param {Date|Number} dateToCompare - the date to compare with + * @returns {Boolean} the first date is before the second date + * @throws {TypeError} 2 arguments required + * + * @example + * // Is 10 July 1989 before 11 February 1987? + * var result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11)) + * //=> false + */ +function isBefore(dirtyDate, dirtyDateToCompare) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var dateToCompare = (0, _index.default)(dirtyDateToCompare); + return date.getTime() < dateToCompare.getTime(); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],110:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isDate; + +/** + * @name isDate + * @category Common Helpers + * @summary Is the given value a date? + * + * @description + * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {*} value - the value to check + * @returns {boolean} true if the given value is a date + * @throws {TypeError} 1 arguments required + * + * @example + * // For a valid date: + * var result = isDate(new Date()) + * //=> true + * + * @example + * // For an invalid date: + * var result = isDate(new Date(NaN)) + * //=> true + * + * @example + * // For some value: + * var result = isDate('2014-02-31') + * //=> false + * + * @example + * // For an object: + * var result = isDate({}) + * //=> false + */ +function isDate(value) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return value instanceof Date || typeof value === 'object' && Object.prototype.toString.call(value) === '[object Date]'; +} + +module.exports = exports.default; +},{}],111:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isEqual; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isEqual + * @category Common Helpers + * @summary Are the given dates equal? + * + * @description + * Are the given dates equal? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the first date to compare + * @param {Date|Number} dateRight - the second date to compare + * @returns {Boolean} the dates are equal + * @throws {TypeError} 2 arguments required + * + * @example + * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal? + * var result = isEqual( + * new Date(2014, 6, 2, 6, 30, 45, 0), + * new Date(2014, 6, 2, 6, 30, 45, 500) + * ) + * //=> false + */ +function isEqual(dirtyLeftDate, dirtyRightDate) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index.default)(dirtyLeftDate); + var dateRight = (0, _index.default)(dirtyRightDate); + return dateLeft.getTime() === dateRight.getTime(); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],112:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isFirstDayOfMonth; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isFirstDayOfMonth + * @category Month Helpers + * @summary Is the given date the first day of a month? + * + * @description + * Is the given date the first day of a month? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is the first day of a month + * @throws {TypeError} 1 argument required + * + * @example + * // Is 1 September 2014 the first day of a month? + * var result = isFirstDayOfMonth(new Date(2014, 8, 1)) + * //=> true + */ +function isFirstDayOfMonth(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate).getDate() === 1; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],113:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isFriday; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isFriday + * @category Weekday Helpers + * @summary Is the given date Friday? + * + * @description + * Is the given date Friday? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is Friday + * @throws {TypeError} 1 argument required + * + * @example + * // Is 26 September 2014 Friday? + * var result = isFriday(new Date(2014, 8, 26)) + * //=> true + */ +function isFriday(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate).getDay() === 5; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],114:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isFuture; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isFuture + * @category Common Helpers + * @summary Is the given date in the future? + * @pure false + * + * @description + * Is the given date in the future? + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is in the future + * @throws {TypeError} 1 argument required + * + * @example + * // If today is 6 October 2014, is 31 December 2014 in the future? + * var result = isFuture(new Date(2014, 11, 31)) + * //=> true + */ +function isFuture(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate).getTime() > Date.now(); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],115:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isLastDayOfMonth; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../endOfDay/index.js")); + +var _index3 = _interopRequireDefault(require("../endOfMonth/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isLastDayOfMonth + * @category Month Helpers + * @summary Is the given date the last day of a month? + * + * @description + * Is the given date the last day of a month? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is the last day of a month + * @throws {TypeError} 1 argument required + * + * @example + * // Is 28 February 2014 the last day of a month? + * var result = isLastDayOfMonth(new Date(2014, 1, 28)) + * //=> true + */ +function isLastDayOfMonth(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + return (0, _index2.default)(date).getTime() === (0, _index3.default)(date).getTime(); +} + +module.exports = exports.default; +},{"../endOfDay/index.js":63,"../endOfMonth/index.js":69,"../toDate/index.js":212}],116:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isLeapYear; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isLeapYear + * @category Year Helpers + * @summary Is the given date in the leap year? + * + * @description + * Is the given date in the leap year? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is in the leap year + * @throws {TypeError} 1 argument required + * + * @example + * // Is 1 September 2012 in the leap year? + * var result = isLeapYear(new Date(2012, 8, 1)) + * //=> true + */ +function isLeapYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var year = date.getFullYear(); + return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],117:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isMonday; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isMonday + * @category Weekday Helpers + * @summary Is the given date Monday? + * + * @description + * Is the given date Monday? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is Monday + * @throws {TypeError} 1 argument required + * + * @example + * // Is 22 September 2014 Monday? + * var result = isMonday(new Date(2014, 8, 22)) + * //=> true + */ +function isMonday(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate).getDay() === 1; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],118:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isPast; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isPast + * @category Common Helpers + * @summary Is the given date in the past? + * @pure false + * + * @description + * Is the given date in the past? + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is in the past + * @throws {TypeError} 1 argument required + * + * @example + * // If today is 6 October 2014, is 2 July 2014 in the past? + * var result = isPast(new Date(2014, 6, 2)) + * //=> true + */ +function isPast(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate).getTime() < Date.now(); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],119:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSameDay; + +var _index = _interopRequireDefault(require("../startOfDay/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isSameDay + * @category Day Helpers + * @summary Are the given dates in the same day? + * + * @description + * Are the given dates in the same day? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the first date to check + * @param {Date|Number} dateRight - the second date to check + * @returns {Boolean} the dates are in the same day + * @throws {TypeError} 2 arguments required + * + * @example + * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day? + * var result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0)) + * //=> true + */ +function isSameDay(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeftStartOfDay = (0, _index.default)(dirtyDateLeft); + var dateRightStartOfDay = (0, _index.default)(dirtyDateRight); + return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime(); +} + +module.exports = exports.default; +},{"../startOfDay/index.js":187}],120:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSameHour; + +var _index = _interopRequireDefault(require("../startOfHour/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isSameHour + * @category Hour Helpers + * @summary Are the given dates in the same hour? + * + * @description + * Are the given dates in the same hour? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the first date to check + * @param {Date|Number} dateRight - the second date to check + * @returns {Boolean} the dates are in the same hour + * @throws {TypeError} 2 arguments required + * + * @example + * // Are 4 September 2014 06:00:00 and 4 September 06:30:00 in the same hour? + * var result = isSameHour(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 6, 30)) + * //=> true + */ +function isSameHour(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeftStartOfHour = (0, _index.default)(dirtyDateLeft); + var dateRightStartOfHour = (0, _index.default)(dirtyDateRight); + return dateLeftStartOfHour.getTime() === dateRightStartOfHour.getTime(); +} + +module.exports = exports.default; +},{"../startOfHour/index.js":189}],121:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSameISOWeek; + +var _index = _interopRequireDefault(require("../isSameWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isSameISOWeek + * @category ISO Week Helpers + * @summary Are the given dates in the same ISO week? + * + * @description + * Are the given dates in the same ISO week? + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the first date to check + * @param {Date|Number} dateRight - the second date to check + * @returns {Boolean} the dates are in the same ISO week + * @throws {TypeError} 2 arguments required + * + * @example + * // Are 1 September 2014 and 7 September 2014 in the same ISO week? + * var result = isSameISOWeek(new Date(2014, 8, 1), new Date(2014, 8, 7)) + * //=> true + */ +function isSameISOWeek(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDateLeft, dirtyDateRight, { + weekStartsOn: 1 + }); +} + +module.exports = exports.default; +},{"../isSameWeek/index.js":127}],122:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSameISOWeekYear; + +var _index = _interopRequireDefault(require("../startOfISOWeekYear/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isSameISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Are the given dates in the same ISO week-numbering year? + * + * @description + * Are the given dates in the same ISO week-numbering year? + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `isSameISOYear` to `isSameISOWeekYear`. + * "ISO week year" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date). + * This change makes the name consistent with + * locale-dependent week-numbering year helpers, e.g., `getWeekYear`. + * + * @param {Date|Number} dateLeft - the first date to check + * @param {Date|Number} dateRight - the second date to check + * @returns {Boolean} the dates are in the same ISO week-numbering year + * @throws {TypeError} 2 arguments required + * + * @example + * // Are 29 December 2003 and 2 January 2005 in the same ISO week-numbering year? + * var result = isSameISOWeekYear(new Date(2003, 11, 29), new Date(2005, 0, 2)) + * //=> true + */ +function isSameISOWeekYear(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeftStartOfYear = (0, _index.default)(dirtyDateLeft); + var dateRightStartOfYear = (0, _index.default)(dirtyDateRight); + return dateLeftStartOfYear.getTime() === dateRightStartOfYear.getTime(); +} + +module.exports = exports.default; +},{"../startOfISOWeekYear/index.js":191}],123:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSameMinute; + +var _index = _interopRequireDefault(require("../startOfMinute/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isSameMinute + * @category Minute Helpers + * @summary Are the given dates in the same minute? + * + * @description + * Are the given dates in the same minute? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the first date to check + * @param {Date|Number} dateRight - the second date to check + * @returns {Boolean} the dates are in the same minute + * @throws {TypeError} 2 arguments required + * + * @example + * // Are 4 September 2014 06:30:00 and 4 September 2014 06:30:15 + * // in the same minute? + * var result = isSameMinute( + * new Date(2014, 8, 4, 6, 30), + * new Date(2014, 8, 4, 6, 30, 15) + * ) + * //=> true + */ +function isSameMinute(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeftStartOfMinute = (0, _index.default)(dirtyDateLeft); + var dateRightStartOfMinute = (0, _index.default)(dirtyDateRight); + return dateLeftStartOfMinute.getTime() === dateRightStartOfMinute.getTime(); +} + +module.exports = exports.default; +},{"../startOfMinute/index.js":192}],124:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSameMonth; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isSameMonth + * @category Month Helpers + * @summary Are the given dates in the same month? + * + * @description + * Are the given dates in the same month? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the first date to check + * @param {Date|Number} dateRight - the second date to check + * @returns {Boolean} the dates are in the same month + * @throws {TypeError} 2 arguments required + * + * @example + * // Are 2 September 2014 and 25 September 2014 in the same month? + * var result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25)) + * //=> true + */ +function isSameMonth(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index.default)(dirtyDateLeft); + var dateRight = (0, _index.default)(dirtyDateRight); + return dateLeft.getFullYear() === dateRight.getFullYear() && dateLeft.getMonth() === dateRight.getMonth(); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],125:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSameQuarter; + +var _index = _interopRequireDefault(require("../startOfQuarter/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isSameQuarter + * @category Quarter Helpers + * @summary Are the given dates in the same year quarter? + * + * @description + * Are the given dates in the same year quarter? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the first date to check + * @param {Date|Number} dateRight - the second date to check + * @returns {Boolean} the dates are in the same quarter + * @throws {TypeError} 2 arguments required + * + * @example + * // Are 1 January 2014 and 8 March 2014 in the same quarter? + * var result = isSameQuarter(new Date(2014, 0, 1), new Date(2014, 2, 8)) + * //=> true + */ +function isSameQuarter(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeftStartOfQuarter = (0, _index.default)(dirtyDateLeft); + var dateRightStartOfQuarter = (0, _index.default)(dirtyDateRight); + return dateLeftStartOfQuarter.getTime() === dateRightStartOfQuarter.getTime(); +} + +module.exports = exports.default; +},{"../startOfQuarter/index.js":194}],126:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSameSecond; + +var _index = _interopRequireDefault(require("../startOfSecond/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isSameSecond + * @category Second Helpers + * @summary Are the given dates in the same second? + * + * @description + * Are the given dates in the same second? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the first date to check + * @param {Date|Number} dateRight - the second date to check + * @returns {Boolean} the dates are in the same second + * @throws {TypeError} 2 arguments required + * + * @example + * // Are 4 September 2014 06:30:15.000 and 4 September 2014 06:30.15.500 + * // in the same second? + * var result = isSameSecond( + * new Date(2014, 8, 4, 6, 30, 15), + * new Date(2014, 8, 4, 6, 30, 15, 500) + * ) + * //=> true + */ +function isSameSecond(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeftStartOfSecond = (0, _index.default)(dirtyDateLeft); + var dateRightStartOfSecond = (0, _index.default)(dirtyDateRight); + return dateLeftStartOfSecond.getTime() === dateRightStartOfSecond.getTime(); +} + +module.exports = exports.default; +},{"../startOfSecond/index.js":195}],127:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSameWeek; + +var _index = _interopRequireDefault(require("../startOfWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isSameWeek + * @category Week Helpers + * @summary Are the given dates in the same week? + * + * @description + * Are the given dates in the same week? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the first date to check + * @param {Date|Number} dateRight - the second date to check + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Boolean} the dates are in the same week + * @throws {TypeError} 2 arguments required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * + * @example + * // Are 31 August 2014 and 4 September 2014 in the same week? + * var result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4)) + * //=> true + * + * @example + * // If week starts with Monday, + * // are 31 August 2014 and 4 September 2014 in the same week? + * var result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), { + * weekStartsOn: 1 + * }) + * //=> false + */ +function isSameWeek(dirtyDateLeft, dirtyDateRight, dirtyOptions) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeftStartOfWeek = (0, _index.default)(dirtyDateLeft, dirtyOptions); + var dateRightStartOfWeek = (0, _index.default)(dirtyDateRight, dirtyOptions); + return dateLeftStartOfWeek.getTime() === dateRightStartOfWeek.getTime(); +} + +module.exports = exports.default; +},{"../startOfWeek/index.js":198}],128:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSameYear; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isSameYear + * @category Year Helpers + * @summary Are the given dates in the same year? + * + * @description + * Are the given dates in the same year? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} dateLeft - the first date to check + * @param {Date|Number} dateRight - the second date to check + * @returns {Boolean} the dates are in the same year + * @throws {TypeError} 2 arguments required + * + * @example + * // Are 2 September 2014 and 25 September 2014 in the same year? + * var result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25)) + * //=> true + */ +function isSameYear(dirtyDateLeft, dirtyDateRight) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var dateLeft = (0, _index.default)(dirtyDateLeft); + var dateRight = (0, _index.default)(dirtyDateRight); + return dateLeft.getFullYear() === dateRight.getFullYear(); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],129:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSaturday; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isSaturday + * @category Weekday Helpers + * @summary Is the given date Saturday? + * + * @description + * Is the given date Saturday? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is Saturday + * @throws {TypeError} 1 argument required + * + * @example + * // Is 27 September 2014 Saturday? + * var result = isSaturday(new Date(2014, 8, 27)) + * //=> true + */ +function isSaturday(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate).getDay() === 6; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],130:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSunday; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isSunday + * @category Weekday Helpers + * @summary Is the given date Sunday? + * + * @description + * Is the given date Sunday? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is Sunday + * @throws {TypeError} 1 argument required + * + * @example + * // Is 21 September 2014 Sunday? + * var result = isSunday(new Date(2014, 8, 21)) + * //=> true + */ +function isSunday(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate).getDay() === 0; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],131:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isThisHour; + +var _index = _interopRequireDefault(require("../isSameHour/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isThisHour + * @category Hour Helpers + * @summary Is the given date in the same hour as the current date? + * @pure false + * + * @description + * Is the given date in the same hour as the current date? + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is in this hour + * @throws {TypeError} 1 argument required + * + * @example + * // If now is 25 September 2014 18:30:15.500, + * // is 25 September 2014 18:00:00 in this hour? + * var result = isThisHour(new Date(2014, 8, 25, 18)) + * //=> true + */ +function isThisHour(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(Date.now(), dirtyDate); +} + +module.exports = exports.default; +},{"../isSameHour/index.js":120}],132:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isThisISOWeek; + +var _index = _interopRequireDefault(require("../isSameISOWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isThisISOWeek + * @category ISO Week Helpers + * @summary Is the given date in the same ISO week as the current date? + * @pure false + * + * @description + * Is the given date in the same ISO week as the current date? + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is in this ISO week + * @throws {TypeError} 1 argument required + * + * @example + * // If today is 25 September 2014, is 22 September 2014 in this ISO week? + * var result = isThisISOWeek(new Date(2014, 8, 22)) + * //=> true + */ +function isThisISOWeek(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate, Date.now()); +} + +module.exports = exports.default; +},{"../isSameISOWeek/index.js":121}],133:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isThisMinute; + +var _index = _interopRequireDefault(require("../isSameMinute/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isThisMinute + * @category Minute Helpers + * @summary Is the given date in the same minute as the current date? + * @pure false + * + * @description + * Is the given date in the same minute as the current date? + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is in this minute + * @throws {TypeError} 1 argument required + * + * @example + * // If now is 25 September 2014 18:30:15.500, + * // is 25 September 2014 18:30:00 in this minute? + * var result = isThisMinute(new Date(2014, 8, 25, 18, 30)) + * //=> true + */ +function isThisMinute(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(Date.now(), dirtyDate); +} + +module.exports = exports.default; +},{"../isSameMinute/index.js":123}],134:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isThisMonth; + +var _index = _interopRequireDefault(require("../isSameMonth/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isThisMonth + * @category Month Helpers + * @summary Is the given date in the same month as the current date? + * @pure false + * + * @description + * Is the given date in the same month as the current date? + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is in this month + * @throws {TypeError} 1 argument required + * + * @example + * // If today is 25 September 2014, is 15 September 2014 in this month? + * var result = isThisMonth(new Date(2014, 8, 15)) + * //=> true + */ +function isThisMonth(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(Date.now(), dirtyDate); +} + +module.exports = exports.default; +},{"../isSameMonth/index.js":124}],135:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isThisQuarter; + +var _index = _interopRequireDefault(require("../isSameQuarter/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isThisQuarter + * @category Quarter Helpers + * @summary Is the given date in the same quarter as the current date? + * @pure false + * + * @description + * Is the given date in the same quarter as the current date? + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is in this quarter + * @throws {TypeError} 1 argument required + * + * @example + * // If today is 25 September 2014, is 2 July 2014 in this quarter? + * var result = isThisQuarter(new Date(2014, 6, 2)) + * //=> true + */ +function isThisQuarter(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(Date.now(), dirtyDate); +} + +module.exports = exports.default; +},{"../isSameQuarter/index.js":125}],136:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isThisSecond; + +var _index = _interopRequireDefault(require("../isSameSecond/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isThisSecond + * @category Second Helpers + * @summary Is the given date in the same second as the current date? + * @pure false + * + * @description + * Is the given date in the same second as the current date? + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is in this second + * @throws {TypeError} 1 argument required + * + * @example + * // If now is 25 September 2014 18:30:15.500, + * // is 25 September 2014 18:30:15.000 in this second? + * var result = isThisSecond(new Date(2014, 8, 25, 18, 30, 15)) + * //=> true + */ +function isThisSecond(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(Date.now(), dirtyDate); +} + +module.exports = exports.default; +},{"../isSameSecond/index.js":126}],137:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isThisWeek; + +var _index = _interopRequireDefault(require("../isSameWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isThisWeek + * @category Week Helpers + * @summary Is the given date in the same week as the current date? + * @pure false + * + * @description + * Is the given date in the same week as the current date? + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @param {Object} [options] - the object with options + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Boolean} the date is in this week + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * + * @example + * // If today is 25 September 2014, is 21 September 2014 in this week? + * var result = isThisWeek(new Date(2014, 8, 21)) + * //=> true + * + * @example + * // If today is 25 September 2014 and week starts with Monday + * // is 21 September 2014 in this week? + * var result = isThisWeek(new Date(2014, 8, 21), { weekStartsOn: 1 }) + * //=> false + */ +function isThisWeek(dirtyDate, options) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate, Date.now(), options); +} + +module.exports = exports.default; +},{"../isSameWeek/index.js":127}],138:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isThisYear; + +var _index = _interopRequireDefault(require("../isSameYear/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isThisYear + * @category Year Helpers + * @summary Is the given date in the same year as the current date? + * @pure false + * + * @description + * Is the given date in the same year as the current date? + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is in this year + * @throws {TypeError} 1 argument required + * + * @example + * // If today is 25 September 2014, is 2 July 2014 in this year? + * var result = isThisYear(new Date(2014, 6, 2)) + * //=> true + */ +function isThisYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate, Date.now()); +} + +module.exports = exports.default; +},{"../isSameYear/index.js":128}],139:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isThursday; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isThursday + * @category Weekday Helpers + * @summary Is the given date Thursday? + * + * @description + * Is the given date Thursday? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is Thursday + * @throws {TypeError} 1 argument required + * + * @example + * // Is 25 September 2014 Thursday? + * var result = isThursday(new Date(2014, 8, 25)) + * //=> true + */ +function isThursday(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate).getDay() === 4; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],140:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isToday; + +var _index = _interopRequireDefault(require("../isSameDay/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isToday + * @category Day Helpers + * @summary Is the given date today? + * @pure false + * + * @description + * Is the given date today? + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is today + * @throws {TypeError} 1 argument required + * + * @example + * // If today is 6 October 2014, is 6 October 14:00:00 today? + * var result = isToday(new Date(2014, 9, 6, 14, 0)) + * //=> true + */ +function isToday(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate, Date.now()); +} + +module.exports = exports.default; +},{"../isSameDay/index.js":119}],141:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isTomorrow; + +var _index = _interopRequireDefault(require("../addDays/index.js")); + +var _index2 = _interopRequireDefault(require("../isSameDay/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isTomorrow + * @category Day Helpers + * @summary Is the given date tomorrow? + * @pure false + * + * @description + * Is the given date tomorrow? + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is tomorrow + * @throws {TypeError} 1 argument required + * + * @example + * // If today is 6 October 2014, is 7 October 14:00:00 tomorrow? + * var result = isTomorrow(new Date(2014, 9, 7, 14, 0)) + * //=> true + */ +function isTomorrow(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index2.default)(dirtyDate, (0, _index.default)(Date.now(), 1)); +} + +module.exports = exports.default; +},{"../addDays/index.js":24,"../isSameDay/index.js":119}],142:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isTuesday; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isTuesday + * @category Weekday Helpers + * @summary Is the given date Tuesday? + * + * @description + * Is the given date Tuesday? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is Tuesday + * @throws {TypeError} 1 argument required + * + * @example + * // Is 23 September 2014 Tuesday? + * var result = isTuesday(new Date(2014, 8, 23)) + * //=> true + */ +function isTuesday(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate).getDay() === 2; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],143:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isValid; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isValid + * @category Common Helpers + * @summary Is the given date valid? + * + * @description + * Returns false if argument is Invalid Date and true otherwise. + * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate} + * Invalid Date is a Date, whose time value is NaN. + * + * Time value of Date: http://es5.github.io/#x15.9.1.1 + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - Now `isValid` doesn't throw an exception + * if the first argument is not an instance of Date. + * Instead, argument is converted beforehand using `toDate`. + * + * Examples: + * + * | `isValid` argument | Before v2.0.0 | v2.0.0 onward | + * |---------------------------|---------------|---------------| + * | `new Date()` | `true` | `true` | + * | `new Date('2016-01-01')` | `true` | `true` | + * | `new Date('')` | `false` | `false` | + * | `new Date(1488370835081)` | `true` | `true` | + * | `new Date(NaN)` | `false` | `false` | + * | `'2016-01-01'` | `TypeError` | `true` | + * | `''` | `TypeError` | `false` | + * | `1488370835081` | `TypeError` | `true` | + * | `NaN` | `TypeError` | `false` | + * + * We introduce this change to make *date-fns* consistent with ECMAScript behavior + * that try to coerce arguments to the expected type + * (which is also the case with other *date-fns* functions). + * + * @param {*} date - the date to check + * @returns {Boolean} the date is valid + * @throws {TypeError} 1 argument required + * + * @example + * // For the valid date: + * var result = isValid(new Date(2014, 1, 31)) + * //=> true + * + * @example + * // For the value, convertable into a date: + * var result = isValid(1393804800000) + * //=> true + * + * @example + * // For the invalid date: + * var result = isValid(new Date('')) + * //=> false + */ +function isValid(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + return !isNaN(date); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],144:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isWednesday; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isWednesday + * @category Weekday Helpers + * @summary Is the given date Wednesday? + * + * @description + * Is the given date Wednesday? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is Wednesday + * @throws {TypeError} 1 argument required + * + * @example + * // Is 24 September 2014 Wednesday? + * var result = isWednesday(new Date(2014, 8, 24)) + * //=> true + */ +function isWednesday(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate).getDay() === 3; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],145:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isWeekend; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isWeekend + * @category Weekday Helpers + * @summary Does the given date fall on a weekend? + * + * @description + * Does the given date fall on a weekend? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date falls on a weekend + * @throws {TypeError} 1 argument required + * + * @example + * // Does 5 October 2014 fall on a weekend? + * var result = isWeekend(new Date(2014, 9, 5)) + * //=> true + */ +function isWeekend(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var day = date.getDay(); + return day === 0 || day === 6; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],146:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isWithinInterval; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isWithinInterval + * @category Interval Helpers + * @summary Is the given date within the interval? + * + * @description + * Is the given date within the interval? + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `isWithinRange` to `isWithinInterval`. + * This change was made to mirror the use of the word "interval" in standard ISO 8601:2004 terminology: + * + * ``` + * 2.1.3 + * time interval + * part of the time axis limited by two instants + * ``` + * + * Also, this function now accepts an object with `start` and `end` properties + * instead of two arguments as an interval. + * This function now throws `RangeError` if the start of the interval is after its end + * or if any date in the interval is `Invalid Date`. + * + * ```javascript + * // Before v2.0.0 + * + * isWithinRange( + * new Date(2014, 0, 3), + * new Date(2014, 0, 1), new Date(2014, 0, 7) + * ) + * + * // v2.0.0 onward + * + * isWithinInterval( + * new Date(2014, 0, 3), + * { start: new Date(2014, 0, 1), end: new Date(2014, 0, 7) } + * ) + * ``` + * + * @param {Date|Number} date - the date to check + * @param {Interval} interval - the interval to check + * @returns {Boolean} the date is within the interval + * @throws {TypeError} 2 arguments required + * @throws {RangeError} The start of an interval cannot be after its end + * @throws {RangeError} Date in interval cannot be `Invalid Date` + * + * @example + * // For the date within the interval: + * isWithinInterval(new Date(2014, 0, 3), { + * start: new Date(2014, 0, 1), + * end: new Date(2014, 0, 7) + * }) + * //=> true + * + * @example + * // For the date outside of the interval: + * isWithinInterval(new Date(2014, 0, 10), { + * start: new Date(2014, 0, 1), + * end: new Date(2014, 0, 7) + * }) + * //=> false + */ +function isWithinInterval(dirtyDate, dirtyInterval) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var interval = dirtyInterval || {}; + var time = (0, _index.default)(dirtyDate).getTime(); + var startTime = (0, _index.default)(interval.start).getTime(); + var endTime = (0, _index.default)(interval.end).getTime(); // Throw an exception if start date is after end date or if any date is `Invalid Date` + + if (!(startTime <= endTime)) { + throw new RangeError('Invalid interval'); + } + + return time >= startTime && time <= endTime; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],147:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isYesterday; + +var _index = _interopRequireDefault(require("../isSameDay/index.js")); + +var _index2 = _interopRequireDefault(require("../subDays/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name isYesterday + * @category Day Helpers + * @summary Is the given date yesterday? + * @pure false + * + * @description + * Is the given date yesterday? + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to check + * @returns {Boolean} the date is yesterday + * @throws {TypeError} 1 argument required + * + * @example + * // If today is 6 October 2014, is 5 October 14:00:00 yesterday? + * var result = isYesterday(new Date(2014, 9, 5, 14, 0)) + * //=> true + */ +function isYesterday(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate, (0, _index2.default)(Date.now(), 1)); +} + +module.exports = exports.default; +},{"../isSameDay/index.js":119,"../subDays/index.js":202}],148:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = lastDayOfDecade; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name lastDayOfDecade + * @category Decade Helpers + * @summary Return the last day of a decade for the given date. + * + * @description + * Return the last day of a decade for the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the last day of a decade + * @throws {TypeError} 1 argument required + * + * @example + * // The last day of a decade for 21 December 2012 21:12:00: + * var result = lastDayOfDecade(new Date(2012, 11, 21, 21, 12, 00)) + * //=> Wed Dec 31 2019 00:00:00 + */ +function lastDayOfDecade(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var year = date.getFullYear(); + var decade = 9 + Math.floor(year / 10) * 10; + date.setFullYear(decade + 1, 0, 0); + date.setHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],149:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = lastDayOfISOWeek; + +var _index = _interopRequireDefault(require("../lastDayOfWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name lastDayOfISOWeek + * @category ISO Week Helpers + * @summary Return the last day of an ISO week for the given date. + * + * @description + * Return the last day of an ISO week for the given date. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the last day of an ISO week + * @throws {TypeError} 1 argument required + * + * @example + * // The last day of an ISO week for 2 September 2014 11:55:00: + * var result = lastDayOfISOWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Sun Sep 07 2014 00:00:00 + */ +function lastDayOfISOWeek(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate, { + weekStartsOn: 1 + }); +} + +module.exports = exports.default; +},{"../lastDayOfWeek/index.js":153}],150:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = lastDayOfISOWeekYear; + +var _index = _interopRequireDefault(require("../getISOWeekYear/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfISOWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name lastDayOfISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Return the last day of an ISO week-numbering year for the given date. + * + * @description + * Return the last day of an ISO week-numbering year, + * which always starts 3 days before the year's first Thursday. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `lastDayOfISOYear` to `lastDayOfISOWeekYear`. + * "ISO week year" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date). + * This change makes the name consistent with + * locale-dependent week-numbering year helpers, e.g., `getWeekYear`. + * + * @param {Date|Number} date - the original date + * @returns {Date} the end of an ISO week-numbering year + * @throws {TypeError} 1 argument required + * + * @example + * // The last day of an ISO week-numbering year for 2 July 2005: + * var result = lastDayOfISOWeekYear(new Date(2005, 6, 2)) + * //=> Sun Jan 01 2006 00:00:00 + */ +function lastDayOfISOWeekYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var year = (0, _index.default)(dirtyDate); + var fourthOfJanuary = new Date(0); + fourthOfJanuary.setFullYear(year + 1, 0, 4); + fourthOfJanuary.setHours(0, 0, 0, 0); + var date = (0, _index2.default)(fourthOfJanuary); + date.setDate(date.getDate() - 1); + return date; +} + +module.exports = exports.default; +},{"../getISOWeekYear/index.js":92,"../startOfISOWeek/index.js":190}],151:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = lastDayOfMonth; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name lastDayOfMonth + * @category Month Helpers + * @summary Return the last day of a month for the given date. + * + * @description + * Return the last day of a month for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the last day of a month + * @throws {TypeError} 1 argument required + * + * @example + * // The last day of a month for 2 September 2014 11:55:00: + * var result = lastDayOfMonth(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 30 2014 00:00:00 + */ +function lastDayOfMonth(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var month = date.getMonth(); + date.setFullYear(date.getFullYear(), month + 1, 0); + date.setHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],152:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = lastDayOfQuarter; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name lastDayOfQuarter + * @category Quarter Helpers + * @summary Return the last day of a year quarter for the given date. + * + * @description + * Return the last day of a year quarter for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @param {Object} [options] - an object with options. + * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate} + * @returns {Date} the last day of a quarter + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2 + * + * @example + * // The last day of a quarter for 2 September 2014 11:55:00: + * var result = lastDayOfQuarter(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 30 2014 00:00:00 + */ +function lastDayOfQuarter(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var currentMonth = date.getMonth(); + var month = currentMonth - currentMonth % 3 + 3; + date.setMonth(month, 0); + date.setHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],153:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = lastDayOfWeek; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name lastDayOfWeek + * @category Week Helpers + * @summary Return the last day of a week for the given date. + * + * @description + * Return the last day of a week for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Date} the last day of a week + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * + * @example + * // The last day of a week for 2 September 2014 11:55:00: + * var result = lastDayOfWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Sat Sep 06 2014 00:00:00 + * + * @example + * // If the week starts on Monday, the last day of the week for 2 September 2014 11:55:00: + * var result = lastDayOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 }) + * //=> Sun Sep 07 2014 00:00:00 + */ +function lastDayOfWeek(dirtyDate, dirtyOptions) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var locale = options.locale; + var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn; + var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : (0, _index2.default)(localeWeekStartsOn); + var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : (0, _index2.default)(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN + + if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { + throw new RangeError('weekStartsOn must be between 0 and 6'); + } + + var date = (0, _index.default)(dirtyDate); + var day = date.getDay(); + var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn); + date.setHours(0, 0, 0, 0); + date.setDate(date.getDate() + diff); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],154:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = lastDayOfYear; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name lastDayOfYear + * @category Year Helpers + * @summary Return the last day of a year for the given date. + * + * @description + * Return the last day of a year for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the last day of a year + * @throws {TypeError} 1 argument required + * + * @example + * // The last day of a year for 2 September 2014 11:55:00: + * var result = lastDayOfYear(new Date(2014, 8, 2, 11, 55, 00)) + * //=> Wed Dec 31 2014 00:00:00 + */ +function lastDayOfYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var year = date.getFullYear(); + date.setFullYear(year + 1, 0, 0); + date.setHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],155:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = lightFormat; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../_lib/format/lightFormatters/index.js")); + +var _index3 = _interopRequireDefault(require("../_lib/getTimezoneOffsetInMilliseconds/index.js")); + +var _index4 = _interopRequireDefault(require("../isValid/index.js")); + +var _index5 = _interopRequireDefault(require("../subMilliseconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// This RegExp consists of three parts separated by `|`: +// - (\w)\1* matches any sequences of the same letter +// - '' matches two quote characters in a row +// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('), +// except a single quote symbol, which ends the sequence. +// Two quote characters do not end the sequence. +// If there is no matching single quote +// then the sequence will continue until the end of the string. +// - . matches any single character unmatched by previous parts of the RegExps +var formattingTokensRegExp = /(\w)\1*|''|'(''|[^'])+('|$)|./g; +var escapedStringRegExp = /^'(.*?)'?$/; +var doubleQuoteRegExp = /''/g; +var unescapedLatinCharacterRegExp = /[a-zA-Z]/; +/** + * @name lightFormat + * @category Common Helpers + * @summary Format the date. + * + * @description + * Return the formatted date string in the given format. Unlike `format`, + * `lightFormat` doesn't use locales and outputs date using the most popular tokens. + * + * > ⚠️ Please note that the `lightFormat` tokens differ from Moment.js and other libraries. + * > See: https://git.io/fxCyr + * + * The characters wrapped between two single quotes characters (') are escaped. + * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote. + * + * Format of the string is based on Unicode Technical Standard #35: + * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table + * + * Accepted patterns: + * | Unit | Pattern | Result examples | + * |---------------------------------|---------|-----------------------------------| + * | AM, PM | a..aaa | AM, PM | + * | | aaaa | a.m., p.m. | + * | | aaaaa | a, p | + * | Calendar year | y | 44, 1, 1900, 2017 | + * | | yy | 44, 01, 00, 17 | + * | | yyy | 044, 001, 000, 017 | + * | | yyyy | 0044, 0001, 1900, 2017 | + * | Month (formatting) | M | 1, 2, ..., 12 | + * | | MM | 01, 02, ..., 12 | + * | Day of month | d | 1, 2, ..., 31 | + * | | dd | 01, 02, ..., 31 | + * | Hour [1-12] | h | 1, 2, ..., 11, 12 | + * | | hh | 01, 02, ..., 11, 12 | + * | Hour [0-23] | H | 0, 1, 2, ..., 23 | + * | | HH | 00, 01, 02, ..., 23 | + * | Minute | m | 0, 1, ..., 59 | + * | | mm | 00, 01, ..., 59 | + * | Second | s | 0, 1, ..., 59 | + * | | ss | 00, 01, ..., 59 | + * | Fraction of second | S | 0, 1, ..., 9 | + * | | SS | 00, 01, ..., 99 | + * | | SSS | 000, 0001, ..., 999 | + * | | SSSS | ... | + * + * @param {Date|Number} date - the original date + * @param {String} format - the string of tokens + * @returns {String} the formatted date string + * @throws {TypeError} 2 arguments required + * @throws {RangeError} format string contains an unescaped latin alphabet character + * + * @example + * var result = format(new Date(2014, 1, 11), 'yyyy-MM-dd') + * //=> '1987-02-11' + */ + +function lightFormat(dirtyDate, dirtyFormatStr) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var formatStr = String(dirtyFormatStr); + var originalDate = (0, _index.default)(dirtyDate); + + if (!(0, _index4.default)(originalDate)) { + throw new RangeError('Invalid time value'); + } // Convert the date in system timezone to the same date in UTC+00:00 timezone. + // This ensures that when UTC functions will be implemented, locales will be compatible with them. + // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376 + + + var timezoneOffset = (0, _index3.default)(originalDate); + var utcDate = (0, _index5.default)(originalDate, timezoneOffset); + var result = formatStr.match(formattingTokensRegExp).map(function (substring) { + // Replace two single quote characters with one single quote character + if (substring === "''") { + return "'"; + } + + var firstCharacter = substring[0]; + + if (firstCharacter === "'") { + return cleanEscapedString(substring); + } + + var formatter = _index2.default[firstCharacter]; + + if (formatter) { + return formatter(utcDate, substring, null, {}); + } + + if (firstCharacter.match(unescapedLatinCharacterRegExp)) { + throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`'); + } + + return substring; + }).join(''); + return result; +} + +function cleanEscapedString(input) { + return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, "'"); +} + +module.exports = exports.default; +},{"../_lib/format/lightFormatters/index.js":5,"../_lib/getTimezoneOffsetInMilliseconds/index.js":7,"../isValid/index.js":143,"../subMilliseconds/index.js":205,"../toDate/index.js":212}],156:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = buildFormatLongFn; + +function buildFormatLongFn(args) { + return function (dirtyOptions) { + var options = dirtyOptions || {}; + var width = options.width ? String(options.width) : args.defaultWidth; + var format = args.formats[width] || args.formats[args.defaultWidth]; + return format; + }; +} + +module.exports = exports.default; +},{}],157:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = buildLocalizeFn; + +function buildLocalizeFn(args) { + return function (dirtyIndex, dirtyOptions) { + var options = dirtyOptions || {}; + var context = options.context ? String(options.context) : 'standalone'; + var valuesArray; + + if (context === 'formatting' && args.formattingValues) { + var defaultWidth = args.defaultFormattingWidth || args.defaultWidth; + var width = options.width ? String(options.width) : defaultWidth; + valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth]; + } else { + var _defaultWidth = args.defaultWidth; + + var _width = options.width ? String(options.width) : args.defaultWidth; + + valuesArray = args.values[_width] || args.values[_defaultWidth]; + } + + var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex; + return valuesArray[index]; + }; +} + +module.exports = exports.default; +},{}],158:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = buildMatchFn; + +function buildMatchFn(args) { + return function (dirtyString, dirtyOptions) { + var string = String(dirtyString); + var options = dirtyOptions || {}; + var width = options.width; + var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth]; + var matchResult = string.match(matchPattern); + + if (!matchResult) { + return null; + } + + var matchedString = matchResult[0]; + var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth]; + var value; + + if (Object.prototype.toString.call(parsePatterns) === '[object Array]') { + value = parsePatterns.findIndex(function (pattern) { + return pattern.test(string); + }); + } else { + value = findKey(parsePatterns, function (pattern) { + return pattern.test(string); + }); + } + + value = args.valueCallback ? args.valueCallback(value) : value; + value = options.valueCallback ? options.valueCallback(value) : value; + return { + value: value, + rest: string.slice(matchedString.length) + }; + }; +} + +function findKey(object, predicate) { + for (var key in object) { + if (object.hasOwnProperty(key) && predicate(object[key])) { + return key; + } + } +} + +module.exports = exports.default; +},{}],159:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = buildMatchPatternFn; + +function buildMatchPatternFn(args) { + return function (dirtyString, dirtyOptions) { + var string = String(dirtyString); + var options = dirtyOptions || {}; + var matchResult = string.match(args.matchPattern); + + if (!matchResult) { + return null; + } + + var matchedString = matchResult[0]; + var parseResult = string.match(args.parsePattern); + + if (!parseResult) { + return null; + } + + var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0]; + value = options.valueCallback ? options.valueCallback(value) : value; + return { + value: value, + rest: string.slice(matchedString.length) + }; + }; +} + +module.exports = exports.default; +},{}],160:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = formatDistance; +var formatDistanceLocale = { + lessThanXSeconds: { + one: 'less than a second', + other: 'less than {{count}} seconds' + }, + xSeconds: { + one: '1 second', + other: '{{count}} seconds' + }, + halfAMinute: 'half a minute', + lessThanXMinutes: { + one: 'less than a minute', + other: 'less than {{count}} minutes' + }, + xMinutes: { + one: '1 minute', + other: '{{count}} minutes' + }, + aboutXHours: { + one: 'about 1 hour', + other: 'about {{count}} hours' + }, + xHours: { + one: '1 hour', + other: '{{count}} hours' + }, + xDays: { + one: '1 day', + other: '{{count}} days' + }, + aboutXMonths: { + one: 'about 1 month', + other: 'about {{count}} months' + }, + xMonths: { + one: '1 month', + other: '{{count}} months' + }, + aboutXYears: { + one: 'about 1 year', + other: 'about {{count}} years' + }, + xYears: { + one: '1 year', + other: '{{count}} years' + }, + overXYears: { + one: 'over 1 year', + other: 'over {{count}} years' + }, + almostXYears: { + one: 'almost 1 year', + other: 'almost {{count}} years' + } +}; + +function formatDistance(token, count, options) { + options = options || {}; + var result; + + if (typeof formatDistanceLocale[token] === 'string') { + result = formatDistanceLocale[token]; + } else if (count === 1) { + result = formatDistanceLocale[token].one; + } else { + result = formatDistanceLocale[token].other.replace('{{count}}', count); + } + + if (options.addSuffix) { + if (options.comparison > 0) { + return 'in ' + result; + } else { + return result + ' ago'; + } + } + + return result; +} + +module.exports = exports.default; +},{}],161:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _index = _interopRequireDefault(require("../../../_lib/buildFormatLongFn/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var dateFormats = { + full: 'EEEE, MMMM do, y', + long: 'MMMM do, y', + medium: 'MMM d, y', + short: 'MM/dd/yyyy' +}; +var timeFormats = { + full: 'h:mm:ss a zzzz', + long: 'h:mm:ss a z', + medium: 'h:mm:ss a', + short: 'h:mm a' +}; +var dateTimeFormats = { + full: "{{date}} 'at' {{time}}", + long: "{{date}} 'at' {{time}}", + medium: '{{date}}, {{time}}', + short: '{{date}}, {{time}}' +}; +var formatLong = { + date: (0, _index.default)({ + formats: dateFormats, + defaultWidth: 'full' + }), + time: (0, _index.default)({ + formats: timeFormats, + defaultWidth: 'full' + }), + dateTime: (0, _index.default)({ + formats: dateTimeFormats, + defaultWidth: 'full' + }) +}; +var _default = formatLong; +exports.default = _default; +module.exports = exports.default; +},{"../../../_lib/buildFormatLongFn/index.js":156}],162:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = formatRelative; +var formatRelativeLocale = { + lastWeek: "'last' eeee 'at' p", + yesterday: "'yesterday at' p", + today: "'today at' p", + tomorrow: "'tomorrow at' p", + nextWeek: "eeee 'at' p", + other: 'P' +}; + +function formatRelative(token, _date, _baseDate, _options) { + return formatRelativeLocale[token]; +} + +module.exports = exports.default; +},{}],163:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _index = _interopRequireDefault(require("../../../_lib/buildLocalizeFn/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var eraValues = { + narrow: ['B', 'A'], + abbreviated: ['BC', 'AD'], + wide: ['Before Christ', 'Anno Domini'] +}; +var quarterValues = { + narrow: ['1', '2', '3', '4'], + abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'], + wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized. + // If you are making a new locale based on this one, check if the same is true for the language you're working on. + // Generally, formatted dates should look like they are in the middle of a sentence, + // e.g. in Spanish language the weekdays and months should be in the lowercase. + +}; +var monthValues = { + narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'] +}; +var dayValues = { + narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], + short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], + abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] +}; +var dayPeriodValues = { + narrow: { + am: 'a', + pm: 'p', + midnight: 'mi', + noon: 'n', + morning: 'morning', + afternoon: 'afternoon', + evening: 'evening', + night: 'night' + }, + abbreviated: { + am: 'AM', + pm: 'PM', + midnight: 'midnight', + noon: 'noon', + morning: 'morning', + afternoon: 'afternoon', + evening: 'evening', + night: 'night' + }, + wide: { + am: 'a.m.', + pm: 'p.m.', + midnight: 'midnight', + noon: 'noon', + morning: 'morning', + afternoon: 'afternoon', + evening: 'evening', + night: 'night' + } +}; +var formattingDayPeriodValues = { + narrow: { + am: 'a', + pm: 'p', + midnight: 'mi', + noon: 'n', + morning: 'in the morning', + afternoon: 'in the afternoon', + evening: 'in the evening', + night: 'at night' + }, + abbreviated: { + am: 'AM', + pm: 'PM', + midnight: 'midnight', + noon: 'noon', + morning: 'in the morning', + afternoon: 'in the afternoon', + evening: 'in the evening', + night: 'at night' + }, + wide: { + am: 'a.m.', + pm: 'p.m.', + midnight: 'midnight', + noon: 'noon', + morning: 'in the morning', + afternoon: 'in the afternoon', + evening: 'in the evening', + night: 'at night' + } +}; + +function ordinalNumber(dirtyNumber, _dirtyOptions) { + var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example, + // if they are different for different grammatical genders, + // use `options.unit`: + // + // var options = dirtyOptions || {} + // var unit = String(options.unit) + // + // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear', + // 'day', 'hour', 'minute', 'second' + + var rem100 = number % 100; + + if (rem100 > 20 || rem100 < 10) { + switch (rem100 % 10) { + case 1: + return number + 'st'; + + case 2: + return number + 'nd'; + + case 3: + return number + 'rd'; + } + } + + return number + 'th'; +} + +var localize = { + ordinalNumber: ordinalNumber, + era: (0, _index.default)({ + values: eraValues, + defaultWidth: 'wide' + }), + quarter: (0, _index.default)({ + values: quarterValues, + defaultWidth: 'wide', + argumentCallback: function (quarter) { + return Number(quarter) - 1; + } + }), + month: (0, _index.default)({ + values: monthValues, + defaultWidth: 'wide' + }), + day: (0, _index.default)({ + values: dayValues, + defaultWidth: 'wide' + }), + dayPeriod: (0, _index.default)({ + values: dayPeriodValues, + defaultWidth: 'wide', + formattingValues: formattingDayPeriodValues, + defaultFormattingWidth: 'wide' + }) +}; +var _default = localize; +exports.default = _default; +module.exports = exports.default; +},{"../../../_lib/buildLocalizeFn/index.js":157}],164:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _index = _interopRequireDefault(require("../../../_lib/buildMatchPatternFn/index.js")); + +var _index2 = _interopRequireDefault(require("../../../_lib/buildMatchFn/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i; +var parseOrdinalNumberPattern = /\d+/i; +var matchEraPatterns = { + narrow: /^(b|a)/i, + abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, + wide: /^(before christ|before common era|anno domini|common era)/i +}; +var parseEraPatterns = { + any: [/^b/i, /^(a|c)/i] +}; +var matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](th|st|nd|rd)? quarter/i +}; +var parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i] +}; +var matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i, + wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i +}; +var parseMonthPatterns = { + narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i], + any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i] +}; +var matchDayPatterns = { + narrow: /^[smtwf]/i, + short: /^(su|mo|tu|we|th|fr|sa)/i, + abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i, + wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i +}; +var parseDayPatterns = { + narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], + any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i] +}; +var matchDayPeriodPatterns = { + narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, + any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i +}; +var parseDayPeriodPatterns = { + any: { + am: /^a/i, + pm: /^p/i, + midnight: /^mi/i, + noon: /^no/i, + morning: /morning/i, + afternoon: /afternoon/i, + evening: /evening/i, + night: /night/i + } +}; +var match = { + ordinalNumber: (0, _index.default)({ + matchPattern: matchOrdinalNumberPattern, + parsePattern: parseOrdinalNumberPattern, + valueCallback: function (value) { + return parseInt(value, 10); + } + }), + era: (0, _index2.default)({ + matchPatterns: matchEraPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseEraPatterns, + defaultParseWidth: 'any' + }), + quarter: (0, _index2.default)({ + matchPatterns: matchQuarterPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseQuarterPatterns, + defaultParseWidth: 'any', + valueCallback: function (index) { + return index + 1; + } + }), + month: (0, _index2.default)({ + matchPatterns: matchMonthPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseMonthPatterns, + defaultParseWidth: 'any' + }), + day: (0, _index2.default)({ + matchPatterns: matchDayPatterns, + defaultMatchWidth: 'wide', + parsePatterns: parseDayPatterns, + defaultParseWidth: 'any' + }), + dayPeriod: (0, _index2.default)({ + matchPatterns: matchDayPeriodPatterns, + defaultMatchWidth: 'any', + parsePatterns: parseDayPeriodPatterns, + defaultParseWidth: 'any' + }) +}; +var _default = match; +exports.default = _default; +module.exports = exports.default; +},{"../../../_lib/buildMatchFn/index.js":158,"../../../_lib/buildMatchPatternFn/index.js":159}],165:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _index = _interopRequireDefault(require("./_lib/formatDistance/index.js")); + +var _index2 = _interopRequireDefault(require("./_lib/formatLong/index.js")); + +var _index3 = _interopRequireDefault(require("./_lib/formatRelative/index.js")); + +var _index4 = _interopRequireDefault(require("./_lib/localize/index.js")); + +var _index5 = _interopRequireDefault(require("./_lib/match/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @type {Locale} + * @category Locales + * @summary English locale (United States). + * @language English + * @iso-639-2 eng + * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp} + * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss} + */ +var locale = { + formatDistance: _index.default, + formatLong: _index2.default, + formatRelative: _index3.default, + localize: _index4.default, + match: _index5.default, + options: { + weekStartsOn: 0 + /* Sunday */ + , + firstWeekContainsDate: 1 + } +}; +var _default = locale; +exports.default = _default; +module.exports = exports.default; +},{"./_lib/formatDistance/index.js":160,"./_lib/formatLong/index.js":161,"./_lib/formatRelative/index.js":162,"./_lib/localize/index.js":163,"./_lib/match/index.js":164}],166:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = max; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name max + * @category Common Helpers + * @summary Return the latest of the given dates. + * + * @description + * Return the latest of the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - `max` function now accepts an array of dates rather than spread arguments. + * + * ```javascript + * // Before v2.0.0 + * var date1 = new Date(1989, 6, 10) + * var date2 = new Date(1987, 1, 11) + * var maxDate = max(date1, date2) + * + * // v2.0.0 onward: + * var dates = [new Date(1989, 6, 10), new Date(1987, 1, 11)] + * var maxDate = max(dates) + * ``` + * + * @param {Date[]|Number[]} datesArray - the dates to compare + * @returns {Date} the latest of the dates + * @throws {TypeError} 1 argument required + * + * @example + * // Which of these dates is the latest? + * var result = max([ + * new Date(1989, 6, 10), + * new Date(1987, 1, 11), + * new Date(1995, 6, 2), + * new Date(1990, 0, 1) + * ]) + * //=> Sun Jul 02 1995 00:00:00 + */ +function max(dirtyDatesArray) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var datesArray; // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method + + if (dirtyDatesArray && typeof dirtyDatesArray.forEach === 'function') { + datesArray = dirtyDatesArray; // If `dirtyDatesArray` is Array-like Object, convert to Array. + } else if (typeof dirtyDatesArray === 'object' && dirtyDatesArray !== null) { + datesArray = Array.prototype.slice.call(dirtyDatesArray); + } else { + // `dirtyDatesArray` is non-iterable, return Invalid Date + return new Date(NaN); + } + + var result; + datesArray.forEach(function (dirtyDate) { + var currentDate = (0, _index.default)(dirtyDate); + + if (result === undefined || result < currentDate || isNaN(currentDate)) { + result = currentDate; + } + }); + return result || new Date(NaN); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],167:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = min; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name min + * @category Common Helpers + * @summary Return the earliest of the given dates. + * + * @description + * Return the earliest of the given dates. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - `min` function now accepts an array of dates rather than spread arguments. + * + * ```javascript + * // Before v2.0.0 + * var date1 = new Date(1989, 6, 10) + * var date2 = new Date(1987, 1, 11) + * var minDate = min(date1, date2) + * + * // v2.0.0 onward: + * var dates = [new Date(1989, 6, 10), new Date(1987, 1, 11)] + * var minDate = min(dates) + * ``` + * + * @param {Date[]|Number[]} datesArray - the dates to compare + * @returns {Date} the earliest of the dates + * @throws {TypeError} 1 argument required + * + * @example + * // Which of these dates is the earliest? + * var result = min([ + * new Date(1989, 6, 10), + * new Date(1987, 1, 11), + * new Date(1995, 6, 2), + * new Date(1990, 0, 1) + * ]) + * //=> Wed Feb 11 1987 00:00:00 + */ +function min(dirtyDatesArray) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var datesArray; // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method + + if (dirtyDatesArray && typeof dirtyDatesArray.forEach === 'function') { + datesArray = dirtyDatesArray; // If `dirtyDatesArray` is Array-like Object, convert to Array. + } else if (typeof dirtyDatesArray === 'object' && dirtyDatesArray !== null) { + datesArray = Array.prototype.slice.call(dirtyDatesArray); + } else { + // `dirtyDatesArray` is non-iterable, return Invalid Date + return new Date(NaN); + } + + var result; + datesArray.forEach(function (dirtyDate) { + var currentDate = (0, _index.default)(dirtyDate); + + if (result === undefined || result > currentDate || isNaN(currentDate)) { + result = currentDate; + } + }); + return result || new Date(NaN); +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],168:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _index = _interopRequireDefault(require("../../../_lib/getUTCWeekYear/index.js")); + +var _index2 = _interopRequireDefault(require("../../../_lib/setUTCDay/index.js")); + +var _index3 = _interopRequireDefault(require("../../../_lib/setUTCISODay/index.js")); + +var _index4 = _interopRequireDefault(require("../../../_lib/setUTCISOWeek/index.js")); + +var _index5 = _interopRequireDefault(require("../../../_lib/setUTCWeek/index.js")); + +var _index6 = _interopRequireDefault(require("../../../_lib/startOfUTCISOWeek/index.js")); + +var _index7 = _interopRequireDefault(require("../../../_lib/startOfUTCWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_HOUR = 3600000; +var MILLISECONDS_IN_MINUTE = 60000; +var MILLISECONDS_IN_SECOND = 1000; +var numericPatterns = { + month: /^(1[0-2]|0?\d)/, + // 0 to 12 + date: /^(3[0-1]|[0-2]?\d)/, + // 0 to 31 + dayOfYear: /^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/, + // 0 to 366 + week: /^(5[0-3]|[0-4]?\d)/, + // 0 to 53 + hour23h: /^(2[0-3]|[0-1]?\d)/, + // 0 to 23 + hour24h: /^(2[0-4]|[0-1]?\d)/, + // 0 to 24 + hour11h: /^(1[0-1]|0?\d)/, + // 0 to 11 + hour12h: /^(1[0-2]|0?\d)/, + // 0 to 12 + minute: /^[0-5]?\d/, + // 0 to 59 + second: /^[0-5]?\d/, + // 0 to 59 + singleDigit: /^\d/, + // 0 to 9 + twoDigits: /^\d{1,2}/, + // 0 to 99 + threeDigits: /^\d{1,3}/, + // 0 to 999 + fourDigits: /^\d{1,4}/, + // 0 to 9999 + anyDigitsSigned: /^-?\d+/, + singleDigitSigned: /^-?\d/, + // 0 to 9, -0 to -9 + twoDigitsSigned: /^-?\d{1,2}/, + // 0 to 99, -0 to -99 + threeDigitsSigned: /^-?\d{1,3}/, + // 0 to 999, -0 to -999 + fourDigitsSigned: /^-?\d{1,4}/ // 0 to 9999, -0 to -9999 + +}; +var timezonePatterns = { + basicOptionalMinutes: /^([+-])(\d{2})(\d{2})?|Z/, + basic: /^([+-])(\d{2})(\d{2})|Z/, + basicOptionalSeconds: /^([+-])(\d{2})(\d{2})((\d{2}))?|Z/, + extended: /^([+-])(\d{2}):(\d{2})|Z/, + extendedOptionalSeconds: /^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/ +}; + +function parseNumericPattern(pattern, string, valueCallback) { + var matchResult = string.match(pattern); + + if (!matchResult) { + return null; + } + + var value = parseInt(matchResult[0], 10); + return { + value: valueCallback ? valueCallback(value) : value, + rest: string.slice(matchResult[0].length) + }; +} + +function parseTimezonePattern(pattern, string) { + var matchResult = string.match(pattern); + + if (!matchResult) { + return null; + } // Input is 'Z' + + + if (matchResult[0] === 'Z') { + return { + value: 0, + rest: string.slice(1) + }; + } + + var sign = matchResult[1] === '+' ? 1 : -1; + var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0; + var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0; + var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0; + return { + value: sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * MILLISECONDS_IN_SECOND), + rest: string.slice(matchResult[0].length) + }; +} + +function parseAnyDigitsSigned(string, valueCallback) { + return parseNumericPattern(numericPatterns.anyDigitsSigned, string, valueCallback); +} + +function parseNDigits(n, string, valueCallback) { + switch (n) { + case 1: + return parseNumericPattern(numericPatterns.singleDigit, string, valueCallback); + + case 2: + return parseNumericPattern(numericPatterns.twoDigits, string, valueCallback); + + case 3: + return parseNumericPattern(numericPatterns.threeDigits, string, valueCallback); + + case 4: + return parseNumericPattern(numericPatterns.fourDigits, string, valueCallback); + + default: + return parseNumericPattern(new RegExp('^\\d{1,' + n + '}'), string, valueCallback); + } +} + +function parseNDigitsSigned(n, string, valueCallback) { + switch (n) { + case 1: + return parseNumericPattern(numericPatterns.singleDigitSigned, string, valueCallback); + + case 2: + return parseNumericPattern(numericPatterns.twoDigitsSigned, string, valueCallback); + + case 3: + return parseNumericPattern(numericPatterns.threeDigitsSigned, string, valueCallback); + + case 4: + return parseNumericPattern(numericPatterns.fourDigitsSigned, string, valueCallback); + + default: + return parseNumericPattern(new RegExp('^-?\\d{1,' + n + '}'), string, valueCallback); + } +} + +function dayPeriodEnumToHours(enumValue) { + switch (enumValue) { + case 'morning': + return 4; + + case 'evening': + return 17; + + case 'pm': + case 'noon': + case 'afternoon': + return 12; + + case 'am': + case 'midnight': + case 'night': + default: + return 0; + } +} + +function normalizeTwoDigitYear(twoDigitYear, currentYear) { + var isCommonEra = currentYear > 0; // Absolute number of the current year: + // 1 -> 1 AC + // 0 -> 1 BC + // -1 -> 2 BC + + var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear; + var result; + + if (absCurrentYear <= 50) { + result = twoDigitYear || 100; + } else { + var rangeEnd = absCurrentYear + 50; + var rangeEndCentury = Math.floor(rangeEnd / 100) * 100; + var isPreviousCentury = twoDigitYear >= rangeEnd % 100; + result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0); + } + + return isCommonEra ? result : 1 - result; +} + +var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +var DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // User for validation + +function isLeapYearIndex(year) { + return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0; +} +/* + * | | Unit | | Unit | + * |-----|--------------------------------|-----|--------------------------------| + * | a | AM, PM | A* | Milliseconds in day | + * | b | AM, PM, noon, midnight | B | Flexible day period | + * | c | Stand-alone local day of week | C* | Localized hour w/ day period | + * | d | Day of month | D | Day of year | + * | e | Local day of week | E | Day of week | + * | f | | F* | Day of week in month | + * | g* | Modified Julian day | G | Era | + * | h | Hour [1-12] | H | Hour [0-23] | + * | i! | ISO day of week | I! | ISO week of year | + * | j* | Localized hour w/ day period | J* | Localized hour w/o day period | + * | k | Hour [1-24] | K | Hour [0-11] | + * | l* | (deprecated) | L | Stand-alone month | + * | m | Minute | M | Month | + * | n | | N | | + * | o! | Ordinal number modifier | O* | Timezone (GMT) | + * | p | | P | | + * | q | Stand-alone quarter | Q | Quarter | + * | r* | Related Gregorian year | R! | ISO week-numbering year | + * | s | Second | S | Fraction of second | + * | t! | Seconds timestamp | T! | Milliseconds timestamp | + * | u | Extended year | U* | Cyclic year | + * | v* | Timezone (generic non-locat.) | V* | Timezone (location) | + * | w | Local week of year | W* | Week of month | + * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) | + * | y | Year (abs) | Y | Local week-numbering year | + * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) | + * + * Letters marked by * are not implemented but reserved by Unicode standard. + * + * Letters marked by ! are non-standard, but implemented by date-fns: + * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs) + * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days, + * i.e. 7 for Sunday, 1 for Monday, etc. + * - `I` is ISO week of year, as opposed to `w` which is local week of year. + * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year. + * `R` is supposed to be used in conjunction with `I` and `i` + * for universal ISO week-numbering date, whereas + * `Y` is supposed to be used in conjunction with `w` and `e` + * for week-numbering date specific to the locale. + */ + + +var parsers = { + // Era + G: { + priority: 140, + parse: function (string, token, match, _options) { + switch (token) { + // AD, BC + case 'G': + case 'GG': + case 'GGG': + return match.era(string, { + width: 'abbreviated' + }) || match.era(string, { + width: 'narrow' + }); + // A, B + + case 'GGGGG': + return match.era(string, { + width: 'narrow' + }); + // Anno Domini, Before Christ + + case 'GGGG': + default: + return match.era(string, { + width: 'wide' + }) || match.era(string, { + width: 'abbreviated' + }) || match.era(string, { + width: 'narrow' + }); + } + }, + set: function (date, flags, value, _options) { + flags.era = value; + date.setUTCFullYear(value, 0, 1); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['R', 'u', 't', 'T'] + }, + // Year + y: { + // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns + // | Year | y | yy | yyy | yyyy | yyyyy | + // |----------|-------|----|-------|-------|-------| + // | AD 1 | 1 | 01 | 001 | 0001 | 00001 | + // | AD 12 | 12 | 12 | 012 | 0012 | 00012 | + // | AD 123 | 123 | 23 | 123 | 0123 | 00123 | + // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 | + // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 | + priority: 130, + parse: function (string, token, match, _options) { + var valueCallback = function (year) { + return { + year: year, + isTwoDigitYear: token === 'yy' + }; + }; + + switch (token) { + case 'y': + return parseNDigits(4, string, valueCallback); + + case 'yo': + return match.ordinalNumber(string, { + unit: 'year', + valueCallback: valueCallback + }); + + default: + return parseNDigits(token.length, string, valueCallback); + } + }, + validate: function (_date, value, _options) { + return value.isTwoDigitYear || value.year > 0; + }, + set: function (date, flags, value, _options) { + var currentYear = date.getUTCFullYear(); + + if (value.isTwoDigitYear) { + var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear); + date.setUTCFullYear(normalizedTwoDigitYear, 0, 1); + date.setUTCHours(0, 0, 0, 0); + return date; + } + + var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year; + date.setUTCFullYear(year, 0, 1); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['Y', 'R', 'u', 'w', 'I', 'i', 'e', 'c', 't', 'T'] + }, + // Local week-numbering year + Y: { + priority: 130, + parse: function (string, token, match, _options) { + var valueCallback = function (year) { + return { + year: year, + isTwoDigitYear: token === 'YY' + }; + }; + + switch (token) { + case 'Y': + return parseNDigits(4, string, valueCallback); + + case 'Yo': + return match.ordinalNumber(string, { + unit: 'year', + valueCallback: valueCallback + }); + + default: + return parseNDigits(token.length, string, valueCallback); + } + }, + validate: function (_date, value, _options) { + return value.isTwoDigitYear || value.year > 0; + }, + set: function (date, flags, value, options) { + var currentYear = (0, _index.default)(date, options); + + if (value.isTwoDigitYear) { + var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear); + date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate); + date.setUTCHours(0, 0, 0, 0); + return (0, _index7.default)(date, options); + } + + var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year; + date.setUTCFullYear(year, 0, options.firstWeekContainsDate); + date.setUTCHours(0, 0, 0, 0); + return (0, _index7.default)(date, options); + }, + incompatibleTokens: ['y', 'R', 'u', 'Q', 'q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T'] + }, + // ISO week-numbering year + R: { + priority: 130, + parse: function (string, token, _match, _options) { + if (token === 'R') { + return parseNDigitsSigned(4, string); + } + + return parseNDigitsSigned(token.length, string); + }, + set: function (_date, _flags, value, _options) { + var firstWeekOfYear = new Date(0); + firstWeekOfYear.setUTCFullYear(value, 0, 4); + firstWeekOfYear.setUTCHours(0, 0, 0, 0); + return (0, _index6.default)(firstWeekOfYear); + }, + incompatibleTokens: ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T'] + }, + // Extended year + u: { + priority: 130, + parse: function (string, token, _match, _options) { + if (token === 'u') { + return parseNDigitsSigned(4, string); + } + + return parseNDigitsSigned(token.length, string); + }, + set: function (date, _flags, value, _options) { + date.setUTCFullYear(value, 0, 1); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['G', 'y', 'Y', 'R', 'w', 'I', 'i', 'e', 'c', 't', 'T'] + }, + // Quarter + Q: { + priority: 120, + parse: function (string, token, match, _options) { + switch (token) { + // 1, 2, 3, 4 + case 'Q': + case 'QQ': + // 01, 02, 03, 04 + return parseNDigits(token.length, string); + // 1st, 2nd, 3rd, 4th + + case 'Qo': + return match.ordinalNumber(string, { + unit: 'quarter' + }); + // Q1, Q2, Q3, Q4 + + case 'QQQ': + return match.quarter(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.quarter(string, { + width: 'narrow', + context: 'formatting' + }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) + + case 'QQQQQ': + return match.quarter(string, { + width: 'narrow', + context: 'formatting' + }); + // 1st quarter, 2nd quarter, ... + + case 'QQQQ': + default: + return match.quarter(string, { + width: 'wide', + context: 'formatting' + }) || match.quarter(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.quarter(string, { + width: 'narrow', + context: 'formatting' + }); + } + }, + validate: function (_date, value, _options) { + return value >= 1 && value <= 4; + }, + set: function (date, _flags, value, _options) { + date.setUTCMonth((value - 1) * 3, 1); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['Y', 'R', 'q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T'] + }, + // Stand-alone quarter + q: { + priority: 120, + parse: function (string, token, match, _options) { + switch (token) { + // 1, 2, 3, 4 + case 'q': + case 'qq': + // 01, 02, 03, 04 + return parseNDigits(token.length, string); + // 1st, 2nd, 3rd, 4th + + case 'qo': + return match.ordinalNumber(string, { + unit: 'quarter' + }); + // Q1, Q2, Q3, Q4 + + case 'qqq': + return match.quarter(string, { + width: 'abbreviated', + context: 'standalone' + }) || match.quarter(string, { + width: 'narrow', + context: 'standalone' + }); + // 1, 2, 3, 4 (narrow quarter; could be not numerical) + + case 'qqqqq': + return match.quarter(string, { + width: 'narrow', + context: 'standalone' + }); + // 1st quarter, 2nd quarter, ... + + case 'qqqq': + default: + return match.quarter(string, { + width: 'wide', + context: 'standalone' + }) || match.quarter(string, { + width: 'abbreviated', + context: 'standalone' + }) || match.quarter(string, { + width: 'narrow', + context: 'standalone' + }); + } + }, + validate: function (_date, value, _options) { + return value >= 1 && value <= 4; + }, + set: function (date, _flags, value, _options) { + date.setUTCMonth((value - 1) * 3, 1); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['Y', 'R', 'Q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T'] + }, + // Month + M: { + priority: 110, + parse: function (string, token, match, _options) { + var valueCallback = function (value) { + return value - 1; + }; + + switch (token) { + // 1, 2, ..., 12 + case 'M': + return parseNumericPattern(numericPatterns.month, string, valueCallback); + // 01, 02, ..., 12 + + case 'MM': + return parseNDigits(2, string, valueCallback); + // 1st, 2nd, ..., 12th + + case 'Mo': + return match.ordinalNumber(string, { + unit: 'month', + valueCallback: valueCallback + }); + // Jan, Feb, ..., Dec + + case 'MMM': + return match.month(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.month(string, { + width: 'narrow', + context: 'formatting' + }); + // J, F, ..., D + + case 'MMMMM': + return match.month(string, { + width: 'narrow', + context: 'formatting' + }); + // January, February, ..., December + + case 'MMMM': + default: + return match.month(string, { + width: 'wide', + context: 'formatting' + }) || match.month(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.month(string, { + width: 'narrow', + context: 'formatting' + }); + } + }, + validate: function (_date, value, _options) { + return value >= 0 && value <= 11; + }, + set: function (date, _flags, value, _options) { + date.setUTCMonth(value, 1); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['Y', 'R', 'q', 'Q', 'L', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T'] + }, + // Stand-alone month + L: { + priority: 110, + parse: function (string, token, match, _options) { + var valueCallback = function (value) { + return value - 1; + }; + + switch (token) { + // 1, 2, ..., 12 + case 'L': + return parseNumericPattern(numericPatterns.month, string, valueCallback); + // 01, 02, ..., 12 + + case 'LL': + return parseNDigits(2, string, valueCallback); + // 1st, 2nd, ..., 12th + + case 'Lo': + return match.ordinalNumber(string, { + unit: 'month', + valueCallback: valueCallback + }); + // Jan, Feb, ..., Dec + + case 'LLL': + return match.month(string, { + width: 'abbreviated', + context: 'standalone' + }) || match.month(string, { + width: 'narrow', + context: 'standalone' + }); + // J, F, ..., D + + case 'LLLLL': + return match.month(string, { + width: 'narrow', + context: 'standalone' + }); + // January, February, ..., December + + case 'LLLL': + default: + return match.month(string, { + width: 'wide', + context: 'standalone' + }) || match.month(string, { + width: 'abbreviated', + context: 'standalone' + }) || match.month(string, { + width: 'narrow', + context: 'standalone' + }); + } + }, + validate: function (_date, value, _options) { + return value >= 0 && value <= 11; + }, + set: function (date, _flags, value, _options) { + date.setUTCMonth(value, 1); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['Y', 'R', 'q', 'Q', 'M', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T'] + }, + // Local week of year + w: { + priority: 100, + parse: function (string, token, match, _options) { + switch (token) { + case 'w': + return parseNumericPattern(numericPatterns.week, string); + + case 'wo': + return match.ordinalNumber(string, { + unit: 'week' + }); + + default: + return parseNDigits(token.length, string); + } + }, + validate: function (_date, value, _options) { + return value >= 1 && value <= 53; + }, + set: function (date, _flags, value, options) { + return (0, _index7.default)((0, _index5.default)(date, value, options), options); + }, + incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T'] + }, + // ISO week of year + I: { + priority: 100, + parse: function (string, token, match, _options) { + switch (token) { + case 'I': + return parseNumericPattern(numericPatterns.week, string); + + case 'Io': + return match.ordinalNumber(string, { + unit: 'week' + }); + + default: + return parseNDigits(token.length, string); + } + }, + validate: function (_date, value, _options) { + return value >= 1 && value <= 53; + }, + set: function (date, _flags, value, options) { + return (0, _index6.default)((0, _index4.default)(date, value, options), options); + }, + incompatibleTokens: ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T'] + }, + // Day of the month + d: { + priority: 90, + parse: function (string, token, match, _options) { + switch (token) { + case 'd': + return parseNumericPattern(numericPatterns.date, string); + + case 'do': + return match.ordinalNumber(string, { + unit: 'date' + }); + + default: + return parseNDigits(token.length, string); + } + }, + validate: function (date, value, _options) { + var year = date.getUTCFullYear(); + var isLeapYear = isLeapYearIndex(year); + var month = date.getUTCMonth(); + + if (isLeapYear) { + return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month]; + } else { + return value >= 1 && value <= DAYS_IN_MONTH[month]; + } + }, + set: function (date, _flags, value, _options) { + date.setUTCDate(value); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['Y', 'R', 'q', 'Q', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T'] + }, + // Day of year + D: { + priority: 90, + parse: function (string, token, match, _options) { + switch (token) { + case 'D': + case 'DD': + return parseNumericPattern(numericPatterns.dayOfYear, string); + + case 'Do': + return match.ordinalNumber(string, { + unit: 'date' + }); + + default: + return parseNDigits(token.length, string); + } + }, + validate: function (date, value, _options) { + var year = date.getUTCFullYear(); + var isLeapYear = isLeapYearIndex(year); + + if (isLeapYear) { + return value >= 1 && value <= 366; + } else { + return value >= 1 && value <= 365; + } + }, + set: function (date, _flags, value, _options) { + date.setUTCMonth(0, value); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T'] + }, + // Day of week + E: { + priority: 90, + parse: function (string, token, match, _options) { + switch (token) { + // Tue + case 'E': + case 'EE': + case 'EEE': + return match.day(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.day(string, { + width: 'short', + context: 'formatting' + }) || match.day(string, { + width: 'narrow', + context: 'formatting' + }); + // T + + case 'EEEEE': + return match.day(string, { + width: 'narrow', + context: 'formatting' + }); + // Tu + + case 'EEEEEE': + return match.day(string, { + width: 'short', + context: 'formatting' + }) || match.day(string, { + width: 'narrow', + context: 'formatting' + }); + // Tuesday + + case 'EEEE': + default: + return match.day(string, { + width: 'wide', + context: 'formatting' + }) || match.day(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.day(string, { + width: 'short', + context: 'formatting' + }) || match.day(string, { + width: 'narrow', + context: 'formatting' + }); + } + }, + validate: function (_date, value, _options) { + return value >= 0 && value <= 6; + }, + set: function (date, _flags, value, options) { + date = (0, _index2.default)(date, value, options); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['D', 'i', 'e', 'c', 't', 'T'] + }, + // Local day of week + e: { + priority: 90, + parse: function (string, token, match, options) { + var valueCallback = function (value) { + var wholeWeekDays = Math.floor((value - 1) / 7) * 7; + return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays; + }; + + switch (token) { + // 3 + case 'e': + case 'ee': + // 03 + return parseNDigits(token.length, string, valueCallback); + // 3rd + + case 'eo': + return match.ordinalNumber(string, { + unit: 'day', + valueCallback: valueCallback + }); + // Tue + + case 'eee': + return match.day(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.day(string, { + width: 'short', + context: 'formatting' + }) || match.day(string, { + width: 'narrow', + context: 'formatting' + }); + // T + + case 'eeeee': + return match.day(string, { + width: 'narrow', + context: 'formatting' + }); + // Tu + + case 'eeeeee': + return match.day(string, { + width: 'short', + context: 'formatting' + }) || match.day(string, { + width: 'narrow', + context: 'formatting' + }); + // Tuesday + + case 'eeee': + default: + return match.day(string, { + width: 'wide', + context: 'formatting' + }) || match.day(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.day(string, { + width: 'short', + context: 'formatting' + }) || match.day(string, { + width: 'narrow', + context: 'formatting' + }); + } + }, + validate: function (_date, value, _options) { + return value >= 0 && value <= 6; + }, + set: function (date, _flags, value, options) { + date = (0, _index2.default)(date, value, options); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'c', 't', 'T'] + }, + // Stand-alone local day of week + c: { + priority: 90, + parse: function (string, token, match, options) { + var valueCallback = function (value) { + var wholeWeekDays = Math.floor((value - 1) / 7) * 7; + return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays; + }; + + switch (token) { + // 3 + case 'c': + case 'cc': + // 03 + return parseNDigits(token.length, string, valueCallback); + // 3rd + + case 'co': + return match.ordinalNumber(string, { + unit: 'day', + valueCallback: valueCallback + }); + // Tue + + case 'ccc': + return match.day(string, { + width: 'abbreviated', + context: 'standalone' + }) || match.day(string, { + width: 'short', + context: 'standalone' + }) || match.day(string, { + width: 'narrow', + context: 'standalone' + }); + // T + + case 'ccccc': + return match.day(string, { + width: 'narrow', + context: 'standalone' + }); + // Tu + + case 'cccccc': + return match.day(string, { + width: 'short', + context: 'standalone' + }) || match.day(string, { + width: 'narrow', + context: 'standalone' + }); + // Tuesday + + case 'cccc': + default: + return match.day(string, { + width: 'wide', + context: 'standalone' + }) || match.day(string, { + width: 'abbreviated', + context: 'standalone' + }) || match.day(string, { + width: 'short', + context: 'standalone' + }) || match.day(string, { + width: 'narrow', + context: 'standalone' + }); + } + }, + validate: function (_date, value, _options) { + return value >= 0 && value <= 6; + }, + set: function (date, _flags, value, options) { + date = (0, _index2.default)(date, value, options); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'e', 't', 'T'] + }, + // ISO day of week + i: { + priority: 90, + parse: function (string, token, match, _options) { + var valueCallback = function (value) { + if (value === 0) { + return 7; + } + + return value; + }; + + switch (token) { + // 2 + case 'i': + case 'ii': + // 02 + return parseNDigits(token.length, string); + // 2nd + + case 'io': + return match.ordinalNumber(string, { + unit: 'day' + }); + // Tue + + case 'iii': + return match.day(string, { + width: 'abbreviated', + context: 'formatting', + valueCallback: valueCallback + }) || match.day(string, { + width: 'short', + context: 'formatting', + valueCallback: valueCallback + }) || match.day(string, { + width: 'narrow', + context: 'formatting', + valueCallback: valueCallback + }); + // T + + case 'iiiii': + return match.day(string, { + width: 'narrow', + context: 'formatting', + valueCallback: valueCallback + }); + // Tu + + case 'iiiiii': + return match.day(string, { + width: 'short', + context: 'formatting', + valueCallback: valueCallback + }) || match.day(string, { + width: 'narrow', + context: 'formatting', + valueCallback: valueCallback + }); + // Tuesday + + case 'iiii': + default: + return match.day(string, { + width: 'wide', + context: 'formatting', + valueCallback: valueCallback + }) || match.day(string, { + width: 'abbreviated', + context: 'formatting', + valueCallback: valueCallback + }) || match.day(string, { + width: 'short', + context: 'formatting', + valueCallback: valueCallback + }) || match.day(string, { + width: 'narrow', + context: 'formatting', + valueCallback: valueCallback + }); + } + }, + validate: function (_date, value, _options) { + return value >= 1 && value <= 7; + }, + set: function (date, _flags, value, options) { + date = (0, _index3.default)(date, value, options); + date.setUTCHours(0, 0, 0, 0); + return date; + }, + incompatibleTokens: ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'E', 'e', 'c', 't', 'T'] + }, + // AM or PM + a: { + priority: 80, + parse: function (string, token, match, _options) { + switch (token) { + case 'a': + case 'aa': + case 'aaa': + return match.dayPeriod(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.dayPeriod(string, { + width: 'narrow', + context: 'formatting' + }); + + case 'aaaaa': + return match.dayPeriod(string, { + width: 'narrow', + context: 'formatting' + }); + + case 'aaaa': + default: + return match.dayPeriod(string, { + width: 'wide', + context: 'formatting' + }) || match.dayPeriod(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.dayPeriod(string, { + width: 'narrow', + context: 'formatting' + }); + } + }, + set: function (date, _flags, value, _options) { + date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0); + return date; + }, + incompatibleTokens: ['b', 'B', 'H', 'K', 'k', 't', 'T'] + }, + // AM, PM, midnight + b: { + priority: 80, + parse: function (string, token, match, _options) { + switch (token) { + case 'b': + case 'bb': + case 'bbb': + return match.dayPeriod(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.dayPeriod(string, { + width: 'narrow', + context: 'formatting' + }); + + case 'bbbbb': + return match.dayPeriod(string, { + width: 'narrow', + context: 'formatting' + }); + + case 'bbbb': + default: + return match.dayPeriod(string, { + width: 'wide', + context: 'formatting' + }) || match.dayPeriod(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.dayPeriod(string, { + width: 'narrow', + context: 'formatting' + }); + } + }, + set: function (date, _flags, value, _options) { + date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0); + return date; + }, + incompatibleTokens: ['a', 'B', 'H', 'K', 'k', 't', 'T'] + }, + // in the morning, in the afternoon, in the evening, at night + B: { + priority: 80, + parse: function (string, token, match, _options) { + switch (token) { + case 'B': + case 'BB': + case 'BBB': + return match.dayPeriod(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.dayPeriod(string, { + width: 'narrow', + context: 'formatting' + }); + + case 'BBBBB': + return match.dayPeriod(string, { + width: 'narrow', + context: 'formatting' + }); + + case 'BBBB': + default: + return match.dayPeriod(string, { + width: 'wide', + context: 'formatting' + }) || match.dayPeriod(string, { + width: 'abbreviated', + context: 'formatting' + }) || match.dayPeriod(string, { + width: 'narrow', + context: 'formatting' + }); + } + }, + set: function (date, _flags, value, _options) { + date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0); + return date; + }, + incompatibleTokens: ['a', 'b', 't', 'T'] + }, + // Hour [1-12] + h: { + priority: 70, + parse: function (string, token, match, _options) { + switch (token) { + case 'h': + return parseNumericPattern(numericPatterns.hour12h, string); + + case 'ho': + return match.ordinalNumber(string, { + unit: 'hour' + }); + + default: + return parseNDigits(token.length, string); + } + }, + validate: function (_date, value, _options) { + return value >= 1 && value <= 12; + }, + set: function (date, _flags, value, _options) { + var isPM = date.getUTCHours() >= 12; + + if (isPM && value < 12) { + date.setUTCHours(value + 12, 0, 0, 0); + } else if (!isPM && value === 12) { + date.setUTCHours(0, 0, 0, 0); + } else { + date.setUTCHours(value, 0, 0, 0); + } + + return date; + }, + incompatibleTokens: ['H', 'K', 'k', 't', 'T'] + }, + // Hour [0-23] + H: { + priority: 70, + parse: function (string, token, match, _options) { + switch (token) { + case 'H': + return parseNumericPattern(numericPatterns.hour23h, string); + + case 'Ho': + return match.ordinalNumber(string, { + unit: 'hour' + }); + + default: + return parseNDigits(token.length, string); + } + }, + validate: function (_date, value, _options) { + return value >= 0 && value <= 23; + }, + set: function (date, _flags, value, _options) { + date.setUTCHours(value, 0, 0, 0); + return date; + }, + incompatibleTokens: ['a', 'b', 'h', 'K', 'k', 't', 'T'] + }, + // Hour [0-11] + K: { + priority: 70, + parse: function (string, token, match, _options) { + switch (token) { + case 'K': + return parseNumericPattern(numericPatterns.hour11h, string); + + case 'Ko': + return match.ordinalNumber(string, { + unit: 'hour' + }); + + default: + return parseNDigits(token.length, string); + } + }, + validate: function (_date, value, _options) { + return value >= 0 && value <= 11; + }, + set: function (date, _flags, value, _options) { + var isPM = date.getUTCHours() >= 12; + + if (isPM && value < 12) { + date.setUTCHours(value + 12, 0, 0, 0); + } else { + date.setUTCHours(value, 0, 0, 0); + } + + return date; + }, + incompatibleTokens: ['a', 'b', 'h', 'H', 'k', 't', 'T'] + }, + // Hour [1-24] + k: { + priority: 70, + parse: function (string, token, match, _options) { + switch (token) { + case 'k': + return parseNumericPattern(numericPatterns.hour24h, string); + + case 'ko': + return match.ordinalNumber(string, { + unit: 'hour' + }); + + default: + return parseNDigits(token.length, string); + } + }, + validate: function (_date, value, _options) { + return value >= 1 && value <= 24; + }, + set: function (date, _flags, value, _options) { + var hours = value <= 24 ? value % 24 : value; + date.setUTCHours(hours, 0, 0, 0); + return date; + }, + incompatibleTokens: ['a', 'b', 'h', 'H', 'K', 't', 'T'] + }, + // Minute + m: { + priority: 60, + parse: function (string, token, match, _options) { + switch (token) { + case 'm': + return parseNumericPattern(numericPatterns.minute, string); + + case 'mo': + return match.ordinalNumber(string, { + unit: 'minute' + }); + + default: + return parseNDigits(token.length, string); + } + }, + validate: function (_date, value, _options) { + return value >= 0 && value <= 59; + }, + set: function (date, _flags, value, _options) { + date.setUTCMinutes(value, 0, 0); + return date; + }, + incompatibleTokens: ['t', 'T'] + }, + // Second + s: { + priority: 50, + parse: function (string, token, match, _options) { + switch (token) { + case 's': + return parseNumericPattern(numericPatterns.second, string); + + case 'so': + return match.ordinalNumber(string, { + unit: 'second' + }); + + default: + return parseNDigits(token.length, string); + } + }, + validate: function (_date, value, _options) { + return value >= 0 && value <= 59; + }, + set: function (date, _flags, value, _options) { + date.setUTCSeconds(value, 0); + return date; + }, + incompatibleTokens: ['t', 'T'] + }, + // Fraction of second + S: { + priority: 30, + parse: function (string, token, _match, _options) { + var valueCallback = function (value) { + return Math.floor(value * Math.pow(10, -token.length + 3)); + }; + + return parseNDigits(token.length, string, valueCallback); + }, + set: function (date, _flags, value, _options) { + date.setUTCMilliseconds(value); + return date; + }, + incompatibleTokens: ['t', 'T'] + }, + // Timezone (ISO-8601. +00:00 is `'Z'`) + X: { + priority: 10, + parse: function (string, token, _match, _options) { + switch (token) { + case 'X': + return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string); + + case 'XX': + return parseTimezonePattern(timezonePatterns.basic, string); + + case 'XXXX': + return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string); + + case 'XXXXX': + return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string); + + case 'XXX': + default: + return parseTimezonePattern(timezonePatterns.extended, string); + } + }, + set: function (date, flags, value, _options) { + if (flags.timestampIsSet) { + return date; + } + + return new Date(date.getTime() - value); + }, + incompatibleTokens: ['t', 'T', 'x'] + }, + // Timezone (ISO-8601) + x: { + priority: 10, + parse: function (string, token, _match, _options) { + switch (token) { + case 'x': + return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, string); + + case 'xx': + return parseTimezonePattern(timezonePatterns.basic, string); + + case 'xxxx': + return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, string); + + case 'xxxxx': + return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, string); + + case 'xxx': + default: + return parseTimezonePattern(timezonePatterns.extended, string); + } + }, + set: function (date, flags, value, _options) { + if (flags.timestampIsSet) { + return date; + } + + return new Date(date.getTime() - value); + }, + incompatibleTokens: ['t', 'T', 'X'] + }, + // Seconds timestamp + t: { + priority: 40, + parse: function (string, _token, _match, _options) { + return parseAnyDigitsSigned(string); + }, + set: function (_date, _flags, value, _options) { + return [new Date(value * 1000), { + timestampIsSet: true + }]; + }, + incompatibleTokens: '*' + }, + // Milliseconds timestamp + T: { + priority: 20, + parse: function (string, _token, _match, _options) { + return parseAnyDigitsSigned(string); + }, + set: function (_date, _flags, value, _options) { + return [new Date(value), { + timestampIsSet: true + }]; + }, + incompatibleTokens: '*' + } +}; +var _default = parsers; +exports.default = _default; +module.exports = exports.default; +},{"../../../_lib/getUTCWeekYear/index.js":12,"../../../_lib/setUTCDay/index.js":14,"../../../_lib/setUTCISODay/index.js":15,"../../../_lib/setUTCISOWeek/index.js":16,"../../../_lib/setUTCWeek/index.js":17,"../../../_lib/startOfUTCISOWeek/index.js":18,"../../../_lib/startOfUTCWeek/index.js":20}],169:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = parse; + +var _index = _interopRequireDefault(require("../locale/en-US/index.js")); + +var _index2 = _interopRequireDefault(require("../subMilliseconds/index.js")); + +var _index3 = _interopRequireDefault(require("../toDate/index.js")); + +var _index4 = _interopRequireDefault(require("../_lib/assign/index.js")); + +var _index5 = _interopRequireDefault(require("../_lib/format/longFormatters/index.js")); + +var _index6 = _interopRequireDefault(require("../_lib/getTimezoneOffsetInMilliseconds/index.js")); + +var _index7 = require("../_lib/protectedTokens/index.js"); + +var _index8 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index9 = _interopRequireDefault(require("./_lib/parsers/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var TIMEZONE_UNIT_PRIORITY = 10; // This RegExp consists of three parts separated by `|`: +// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token +// (one of the certain letters followed by `o`) +// - (\w)\1* matches any sequences of the same letter +// - '' matches two quote characters in a row +// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('), +// except a single quote symbol, which ends the sequence. +// Two quote characters do not end the sequence. +// If there is no matching single quote +// then the sequence will continue until the end of the string. +// - . matches any single character unmatched by previous parts of the RegExps + +var formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also +// sequences of symbols P, p, and the combinations like `PPPPPPPppppp` + +var longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g; +var escapedStringRegExp = /^'(.*?)'?$/; +var doubleQuoteRegExp = /''/g; +var notWhitespaceRegExp = /\S/; +var unescapedLatinCharacterRegExp = /[a-zA-Z]/; +/** + * @name parse + * @category Common Helpers + * @summary Parse the date. + * + * @description + * Return the date parsed from string using the given format string. + * + * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries. + * > See: https://git.io/fxCyr + * + * The characters in the format string wrapped between two single quotes characters (') are escaped. + * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote. + * + * Format of the format string is based on Unicode Technical Standard #35: + * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table + * with a few additions (see note 5 below the table). + * + * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited + * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception: + * + * ```javascript + * parse('23 AM', 'HH a', new Date()) + * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time + * ``` + * + * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true + * + * Accepted format string patterns: + * | Unit |Prior| Pattern | Result examples | Notes | + * |---------------------------------|-----|---------|-----------------------------------|-------| + * | Era | 140 | G..GGG | AD, BC | | + * | | | GGGG | Anno Domini, Before Christ | 2 | + * | | | GGGGG | A, B | | + * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 | + * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 | + * | | | yy | 44, 01, 00, 17 | 4 | + * | | | yyy | 044, 001, 123, 999 | 4 | + * | | | yyyy | 0044, 0001, 1900, 2017 | 4 | + * | | | yyyyy | ... | 2,4 | + * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 | + * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 | + * | | | YY | 44, 01, 00, 17 | 4,6 | + * | | | YYY | 044, 001, 123, 999 | 4 | + * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 | + * | | | YYYYY | ... | 2,4 | + * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 | + * | | | RR | -43, 01, 00, 17 | 4,5 | + * | | | RRR | -043, 001, 123, 999, -999 | 4,5 | + * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 | + * | | | RRRRR | ... | 2,4,5 | + * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 | + * | | | uu | -43, 01, 99, -99 | 4 | + * | | | uuu | -043, 001, 123, 999, -999 | 4 | + * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 | + * | | | uuuuu | ... | 2,4 | + * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | | + * | | | Qo | 1st, 2nd, 3rd, 4th | 5 | + * | | | QQ | 01, 02, 03, 04 | | + * | | | QQQ | Q1, Q2, Q3, Q4 | | + * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 | + * | | | QQQQQ | 1, 2, 3, 4 | 4 | + * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | | + * | | | qo | 1st, 2nd, 3rd, 4th | 5 | + * | | | qq | 01, 02, 03, 04 | | + * | | | qqq | Q1, Q2, Q3, Q4 | | + * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 | + * | | | qqqqq | 1, 2, 3, 4 | 3 | + * | Month (formatting) | 110 | M | 1, 2, ..., 12 | | + * | | | Mo | 1st, 2nd, ..., 12th | 5 | + * | | | MM | 01, 02, ..., 12 | | + * | | | MMM | Jan, Feb, ..., Dec | | + * | | | MMMM | January, February, ..., December | 2 | + * | | | MMMMM | J, F, ..., D | | + * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | | + * | | | Lo | 1st, 2nd, ..., 12th | 5 | + * | | | LL | 01, 02, ..., 12 | | + * | | | LLL | Jan, Feb, ..., Dec | | + * | | | LLLL | January, February, ..., December | 2 | + * | | | LLLLL | J, F, ..., D | | + * | Local week of year | 100 | w | 1, 2, ..., 53 | | + * | | | wo | 1st, 2nd, ..., 53th | 5 | + * | | | ww | 01, 02, ..., 53 | | + * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 | + * | | | Io | 1st, 2nd, ..., 53th | 5 | + * | | | II | 01, 02, ..., 53 | 5 | + * | Day of month | 90 | d | 1, 2, ..., 31 | | + * | | | do | 1st, 2nd, ..., 31st | 5 | + * | | | dd | 01, 02, ..., 31 | | + * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 | + * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 | + * | | | DD | 01, 02, ..., 365, 366 | 7 | + * | | | DDD | 001, 002, ..., 365, 366 | | + * | | | DDDD | ... | 2 | + * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Su | | + * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 | + * | | | EEEEE | M, T, W, T, F, S, S | | + * | | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | | + * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 | + * | | | io | 1st, 2nd, ..., 7th | 5 | + * | | | ii | 01, 02, ..., 07 | 5 | + * | | | iii | Mon, Tue, Wed, ..., Su | 5 | + * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 | + * | | | iiiii | M, T, W, T, F, S, S | 5 | + * | | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 5 | + * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | | + * | | | eo | 2nd, 3rd, ..., 1st | 5 | + * | | | ee | 02, 03, ..., 01 | | + * | | | eee | Mon, Tue, Wed, ..., Su | | + * | | | eeee | Monday, Tuesday, ..., Sunday | 2 | + * | | | eeeee | M, T, W, T, F, S, S | | + * | | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | | + * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | | + * | | | co | 2nd, 3rd, ..., 1st | 5 | + * | | | cc | 02, 03, ..., 01 | | + * | | | ccc | Mon, Tue, Wed, ..., Su | | + * | | | cccc | Monday, Tuesday, ..., Sunday | 2 | + * | | | ccccc | M, T, W, T, F, S, S | | + * | | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | | + * | AM, PM | 80 | a..aaa | AM, PM | | + * | | | aaaa | a.m., p.m. | 2 | + * | | | aaaaa | a, p | | + * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | | + * | | | bbbb | a.m., p.m., noon, midnight | 2 | + * | | | bbbbb | a, p, n, mi | | + * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | | + * | | | BBBB | at night, in the morning, ... | 2 | + * | | | BBBBB | at night, in the morning, ... | | + * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | | + * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 | + * | | | hh | 01, 02, ..., 11, 12 | | + * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | | + * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 | + * | | | HH | 00, 01, 02, ..., 23 | | + * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | | + * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 | + * | | | KK | 1, 2, ..., 11, 0 | | + * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | | + * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 | + * | | | kk | 24, 01, 02, ..., 23 | | + * | Minute | 60 | m | 0, 1, ..., 59 | | + * | | | mo | 0th, 1st, ..., 59th | 5 | + * | | | mm | 00, 01, ..., 59 | | + * | Second | 50 | s | 0, 1, ..., 59 | | + * | | | so | 0th, 1st, ..., 59th | 5 | + * | | | ss | 00, 01, ..., 59 | | + * | Seconds timestamp | 40 | t | 512969520 | | + * | | | tt | ... | 2 | + * | Fraction of second | 30 | S | 0, 1, ..., 9 | | + * | | | SS | 00, 01, ..., 99 | | + * | | | SSS | 000, 0001, ..., 999 | | + * | | | SSSS | ... | 2 | + * | Milliseconds timestamp | 20 | T | 512969520900 | | + * | | | TT | ... | 2 | + * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | | + * | | | XX | -0800, +0530, Z | | + * | | | XXX | -08:00, +05:30, Z | | + * | | | XXXX | -0800, +0530, Z, +123456 | 2 | + * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | | + * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | | + * | | | xx | -0800, +0530, +0000 | | + * | | | xxx | -08:00, +05:30, +00:00 | 2 | + * | | | xxxx | -0800, +0530, +0000, +123456 | | + * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | | + * | Long localized date | NA | P | 05/29/1453 | 5,8 | + * | | | PP | May 29, 1453 | | + * | | | PPP | May 29th, 1453 | | + * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 | + * | Long localized time | NA | p | 12:00 AM | 5,8 | + * | | | pp | 12:00:00 AM | | + * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | | + * | | | PPpp | May 29, 1453, 12:00:00 AM | | + * | | | PPPpp | May 29th, 1453 at ... | | + * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 | + * Notes: + * 1. "Formatting" units (e.g. formatting quarter) in the default en-US locale + * are the same as "stand-alone" units, but are different in some languages. + * "Formatting" units are declined according to the rules of the language + * in the context of a date. "Stand-alone" units are always nominative singular. + * In `format` function, they will produce different result: + * + * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'` + * + * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'` + * + * `parse` will try to match both formatting and stand-alone units interchangably. + * + * 2. Any sequence of the identical letters is a pattern, unless it is escaped by + * the single quote characters (see below). + * If the sequence is longer than listed in table: + * - for numerical units (`yyyyyyyy`) `parse` will try to match a number + * as wide as the sequence + * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit. + * These variations are marked with "2" in the last column of the table. + * + * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales. + * These tokens represent the shortest form of the quarter. + * + * 4. The main difference between `y` and `u` patterns are B.C. years: + * + * | Year | `y` | `u` | + * |------|-----|-----| + * | AC 1 | 1 | 1 | + * | BC 1 | 1 | 0 | + * | BC 2 | 2 | -1 | + * + * Also `yy` will try to guess the century of two digit year by proximity with `backupDate`: + * + * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00` + * + * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00` + * + * while `uu` will just assign the year as is: + * + * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00` + * + * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00` + * + * The same difference is true for local and ISO week-numbering years (`Y` and `R`), + * except local week-numbering years are dependent on `options.weekStartsOn` + * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear} + * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}). + * + * 5. These patterns are not in the Unicode Technical Standard #35: + * - `i`: ISO day of week + * - `I`: ISO week of year + * - `R`: ISO week-numbering year + * - `o`: ordinal number modifier + * - `P`: long localized date + * - `p`: long localized time + * + * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years. + * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr + * + * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month. + * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr + * + * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based + * on the given locale. + * + * using `en-US` locale: `P` => `MM/dd/yyyy` + * using `en-US` locale: `p` => `hh:mm a` + * using `pt-BR` locale: `P` => `dd/MM/yyyy` + * using `pt-BR` locale: `p` => `HH:mm` + * + * Values will be assigned to the date in the descending order of its unit's priority. + * Units of an equal priority overwrite each other in the order of appearance. + * + * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year), + * the values will be taken from 3rd argument `backupDate` which works as a context of parsing. + * + * `backupDate` must be passed for correct work of the function. + * If you're not sure which `backupDate` to supply, create a new instance of Date: + * `parse('02/11/2014', 'MM/dd/yyyy', new Date())` + * In this case parsing will be done in the context of the current date. + * If `backupDate` is `Invalid Date` or a value not convertible to valid `Date`, + * then `Invalid Date` will be returned. + * + * The result may vary by locale. + * + * If `formatString` matches with `dateString` but does not provides tokens, `backupDate` will be returned. + * + * If parsing failed, `Invalid Date` will be returned. + * Invalid Date is a Date, whose time value is NaN. + * Time value of Date: http://es5.github.io/#x15.9.1.1 + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - Old `parse` was renamed to `toDate`. + * Now `parse` is a new function which parses a string using a provided format. + * + * ```javascript + * // Before v2.0.0 + * parse('2016-01-01') + * + * // v2.0.0 onward + * toDate('2016-01-01') + * parse('2016-01-01', 'yyyy-MM-dd', new Date()) + * ``` + * + * @param {String} dateString - the string to parse + * @param {String} formatString - the string of tokens + * @param {Date|Number} backupDate - defines values missing from the parsed dateString + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year + * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`; + * see: https://git.io/fxCyr + * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`; + * see: https://git.io/fxCyr + * @returns {Date} the parsed date + * @throws {TypeError} 3 arguments required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7 + * @throws {RangeError} `options.locale` must contain `match` property + * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr + * @throws {RangeError} use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr + * @throws {RangeError} use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr + * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr + * @throws {RangeError} format string contains an unescaped latin alphabet character + * + * @example + * // Parse 11 February 2014 from middle-endian format: + * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date()) + * //=> Tue Feb 11 2014 00:00:00 + * + * @example + * // Parse 28th of February in Esperanto locale in the context of 2010 year: + * import eo from 'date-fns/locale/eo' + * var result = parse('28-a de februaro', "do 'de' MMMM", new Date(2010, 0, 1), { + * locale: eo + * }) + * //=> Sun Feb 28 2010 00:00:00 + */ + +function parse(dirtyDateString, dirtyFormatString, dirtyBackupDate, dirtyOptions) { + if (arguments.length < 3) { + throw new TypeError('3 arguments required, but only ' + arguments.length + ' present'); + } + + var dateString = String(dirtyDateString); + var formatString = String(dirtyFormatString); + var options = dirtyOptions || {}; + var locale = options.locale || _index.default; + + if (!locale.match) { + throw new RangeError('locale must contain match property'); + } + + var localeFirstWeekContainsDate = locale.options && locale.options.firstWeekContainsDate; + var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : (0, _index8.default)(localeFirstWeekContainsDate); + var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : (0, _index8.default)(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN + + if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) { + throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively'); + } + + var localeWeekStartsOn = locale.options && locale.options.weekStartsOn; + var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : (0, _index8.default)(localeWeekStartsOn); + var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : (0, _index8.default)(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN + + if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { + throw new RangeError('weekStartsOn must be between 0 and 6 inclusively'); + } + + if (formatString === '') { + if (dateString === '') { + return (0, _index3.default)(dirtyBackupDate); + } else { + return new Date(NaN); + } + } + + var subFnOptions = { + firstWeekContainsDate: firstWeekContainsDate, + weekStartsOn: weekStartsOn, + locale: locale // If timezone isn't specified, it will be set to the system timezone + + }; + var setters = [{ + priority: TIMEZONE_UNIT_PRIORITY, + set: dateToSystemTimezone, + index: 0 + }]; + var i; + var tokens = formatString.match(longFormattingTokensRegExp).map(function (substring) { + var firstCharacter = substring[0]; + + if (firstCharacter === 'p' || firstCharacter === 'P') { + var longFormatter = _index5.default[firstCharacter]; + return longFormatter(substring, locale.formatLong, subFnOptions); + } + + return substring; + }).join('').match(formattingTokensRegExp); + var usedTokens = []; + + for (i = 0; i < tokens.length; i++) { + var token = tokens[i]; + + if (!options.useAdditionalWeekYearTokens && (0, _index7.isProtectedWeekYearToken)(token)) { + (0, _index7.throwProtectedError)(token); + } + + if (!options.useAdditionalDayOfYearTokens && (0, _index7.isProtectedDayOfYearToken)(token)) { + (0, _index7.throwProtectedError)(token); + } + + var firstCharacter = token[0]; + var parser = _index9.default[firstCharacter]; + + if (parser) { + var incompatibleTokens = parser.incompatibleTokens; + + if (Array.isArray(incompatibleTokens)) { + var incompatibleToken = void 0; + + for (var _i = 0; _i < usedTokens.length; _i++) { + var usedToken = usedTokens[_i].token; + + if (incompatibleTokens.indexOf(usedToken) !== -1 || usedToken === firstCharacter) { + incompatibleToken = usedTokens[_i]; + break; + } + } + + if (incompatibleToken) { + throw new RangeError("The format string mustn't contain `".concat(incompatibleToken.fullToken, "` and `").concat(token, "` at the same time")); + } + } else if (parser.incompatibleTokens === '*' && usedTokens.length) { + throw new RangeError("The format string mustn't contain `".concat(token, "` and any other token at the same time")); + } + + usedTokens.push({ + token: firstCharacter, + fullToken: token + }); + var parseResult = parser.parse(dateString, token, locale.match, subFnOptions); + + if (!parseResult) { + return new Date(NaN); + } + + setters.push({ + priority: parser.priority, + set: parser.set, + validate: parser.validate, + value: parseResult.value, + index: setters.length + }); + dateString = parseResult.rest; + } else { + if (firstCharacter.match(unescapedLatinCharacterRegExp)) { + throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`'); + } // Replace two single quote characters with one single quote character + + + if (token === "''") { + token = "'"; + } else if (firstCharacter === "'") { + token = cleanEscapedString(token); + } // Cut token from string, or, if string doesn't match the token, return Invalid Date + + + if (dateString.indexOf(token) === 0) { + dateString = dateString.slice(token.length); + } else { + return new Date(NaN); + } + } + } // Check if the remaining input contains something other than whitespace + + + if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) { + return new Date(NaN); + } + + var uniquePrioritySetters = setters.map(function (setter) { + return setter.priority; + }).sort(function (a, b) { + return b - a; + }).filter(function (priority, index, array) { + return array.indexOf(priority) === index; + }).map(function (priority) { + return setters.filter(function (setter) { + return setter.priority === priority; + }).reverse(); + }).map(function (setterArray) { + return setterArray[0]; + }); + var date = (0, _index3.default)(dirtyBackupDate); + + if (isNaN(date)) { + return new Date(NaN); + } // Convert the date in system timezone to the same date in UTC+00:00 timezone. + // This ensures that when UTC functions will be implemented, locales will be compatible with them. + // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/37 + + + var utcDate = (0, _index2.default)(date, (0, _index6.default)(date)); + var flags = {}; + + for (i = 0; i < uniquePrioritySetters.length; i++) { + var setter = uniquePrioritySetters[i]; + + if (setter.validate && !setter.validate(utcDate, setter.value, subFnOptions)) { + return new Date(NaN); + } + + var result = setter.set(utcDate, flags, setter.value, subFnOptions); // Result is tuple (date, flags) + + if (result[0]) { + utcDate = result[0]; + (0, _index4.default)(flags, result[1]); // Result is date + } else { + utcDate = result; + } + } + + return utcDate; +} + +function dateToSystemTimezone(date, flags) { + if (flags.timestampIsSet) { + return date; + } + + var convertedDate = new Date(0); + convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()); + convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds()); + return convertedDate; +} + +function cleanEscapedString(input) { + return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, "'"); +} + +module.exports = exports.default; +},{"../_lib/assign/index.js":2,"../_lib/format/longFormatters/index.js":6,"../_lib/getTimezoneOffsetInMilliseconds/index.js":7,"../_lib/protectedTokens/index.js":13,"../_lib/toInteger/index.js":22,"../locale/en-US/index.js":165,"../subMilliseconds/index.js":205,"../toDate/index.js":212,"./_lib/parsers/index.js":168}],170:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = parseISO; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../_lib/getTimezoneOffsetInMilliseconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var MILLISECONDS_IN_HOUR = 3600000; +var MILLISECONDS_IN_MINUTE = 60000; +var DEFAULT_ADDITIONAL_DIGITS = 2; +var patterns = { + dateTimeDelimiter: /[T ]/, + timeZoneDelimiter: /[Z ]/i, + timezone: /([Z+-].*)$/ +}; +var dateRegex = /^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/; +var timeRegex = /^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/; +var timezoneRegex = /^([+-])(\d{2})(?::?(\d{2}))?$/; +/** + * @name parseISO + * @category Common Helpers + * @summary Parse ISO string + * + * @description + * Parse the given string in ISO 8601 format and return an instance of Date. + * + * Function accepts complete ISO 8601 formats as well as partial implementations. + * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601 + * + * If the argument isn't a string, the function cannot parse the string or + * the values are invalid, it returns Invalid Date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The previous `parse` implementation was renamed to `parseISO`. + * + * ```javascript + * // Before v2.0.0 + * parse('2016-01-01') + * + * // v2.0.0 onward + * parseISO('2016-01-01') + * ``` + * + * - `parseISO` now validates separate date and time values in ISO-8601 strings + * and returns `Invalid Date` if the date is invalid. + * + * ```javascript + * parseISO('2018-13-32') + * //=> Invalid Date + * ``` + * + * - `parseISO` now doesn't fall back to `new Date` constructor + * if it fails to parse a string argument. Instead, it returns `Invalid Date`. + * + * @param {String} argument - the value to convert + * @param {Object} [options] - an object with options. + * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format + * @returns {Date} the parsed date in the local time zone + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2 + * + * @example + * // Convert string '2014-02-11T11:30:30' to date: + * var result = parseISO('2014-02-11T11:30:30') + * //=> Tue Feb 11 2014 11:30:30 + * + * @example + * // Convert string '+02014101' to date, + * // if the additional number of digits in the extended year format is 1: + * var result = parseISO('+02014101', { additionalDigits: 1 }) + * //=> Fri Apr 11 2014 00:00:00 + */ + +function parseISO(argument, dirtyOptions) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : (0, _index.default)(options.additionalDigits); + + if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) { + throw new RangeError('additionalDigits must be 0, 1 or 2'); + } + + if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) { + return new Date(NaN); + } + + var dateStrings = splitDateString(argument); + var date; + + if (dateStrings.date) { + var parseYearResult = parseYear(dateStrings.date, additionalDigits); + date = parseDate(parseYearResult.restDateString, parseYearResult.year); + } + + if (isNaN(date) || !date) { + return new Date(NaN); + } + + var timestamp = date.getTime(); + var time = 0; + var offset; + + if (dateStrings.time) { + time = parseTime(dateStrings.time); + + if (isNaN(time) || time === null) { + return new Date(NaN); + } + } + + if (dateStrings.timezone) { + offset = parseTimezone(dateStrings.timezone); + + if (isNaN(offset)) { + return new Date(NaN); + } + } else { + var fullTime = timestamp + time; + var fullTimeDate = new Date(fullTime); + offset = (0, _index2.default)(fullTimeDate); // Adjust time when it's coming from DST + + var fullTimeDateNextDay = new Date(fullTime); + fullTimeDateNextDay.setDate(fullTimeDate.getDate() + 1); + var offsetDiff = (0, _index2.default)(fullTimeDateNextDay) - offset; + + if (offsetDiff > 0) { + offset += offsetDiff; + } + } + + return new Date(timestamp + time + offset); +} + +function splitDateString(dateString) { + var dateStrings = {}; + var array = dateString.split(patterns.dateTimeDelimiter); + var timeString; + + if (/:/.test(array[0])) { + dateStrings.date = null; + timeString = array[0]; + } else { + dateStrings.date = array[0]; + timeString = array[1]; + + if (patterns.timeZoneDelimiter.test(dateStrings.date)) { + dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0]; + timeString = dateString.substr(dateStrings.date.length, dateString.length); + } + } + + if (timeString) { + var token = patterns.timezone.exec(timeString); + + if (token) { + dateStrings.time = timeString.replace(token[1], ''); + dateStrings.timezone = token[1]; + } else { + dateStrings.time = timeString; + } + } + + return dateStrings; +} + +function parseYear(dateString, additionalDigits) { + var regex = new RegExp('^(?:(\\d{4}|[+-]\\d{' + (4 + additionalDigits) + '})|(\\d{2}|[+-]\\d{' + (2 + additionalDigits) + '})$)'); + var captures = dateString.match(regex); // Invalid ISO-formatted year + + if (!captures) return { + year: null + }; + var year = captures[1] && parseInt(captures[1]); + var century = captures[2] && parseInt(captures[2]); + return { + year: century == null ? year : century * 100, + restDateString: dateString.slice((captures[1] || captures[2]).length) + }; +} + +function parseDate(dateString, year) { + // Invalid ISO-formatted year + if (year === null) return null; + var captures = dateString.match(dateRegex); // Invalid ISO-formatted string + + if (!captures) return null; + var isWeekDate = !!captures[4]; + var dayOfYear = parseDateUnit(captures[1]); + var month = parseDateUnit(captures[2]) - 1; + var day = parseDateUnit(captures[3]); + var week = parseDateUnit(captures[4]); + var dayOfWeek = parseDateUnit(captures[5]) - 1; + + if (isWeekDate) { + if (!validateWeekDate(year, week, dayOfWeek)) { + return new Date(NaN); + } + + return dayOfISOWeekYear(year, week, dayOfWeek); + } else { + var date = new Date(0); + + if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) { + return new Date(NaN); + } + + date.setUTCFullYear(year, month, Math.max(dayOfYear, day)); + return date; + } +} + +function parseDateUnit(value) { + return value ? parseInt(value) : 1; +} + +function parseTime(timeString) { + var captures = timeString.match(timeRegex); + if (!captures) return null; // Invalid ISO-formatted time + + var hours = parseTimeUnit(captures[1]); + var minutes = parseTimeUnit(captures[2]); + var seconds = parseTimeUnit(captures[3]); + + if (!validateTime(hours, minutes, seconds)) { + return NaN; + } + + return hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1000; +} + +function parseTimeUnit(value) { + return value && parseFloat(value.replace(',', '.')) || 0; +} + +function parseTimezone(timezoneString) { + if (timezoneString === 'Z') return 0; + var captures = timezoneString.match(timezoneRegex); + if (!captures) return 0; + var sign = captures[1] === '+' ? -1 : 1; + var hours = parseInt(captures[2]); + var minutes = captures[3] && parseInt(captures[3]) || 0; + + if (!validateTimezone(hours, minutes)) { + return NaN; + } + + return sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE); +} + +function dayOfISOWeekYear(isoWeekYear, week, day) { + var date = new Date(0); + date.setUTCFullYear(isoWeekYear, 0, 4); + var fourthOfJanuaryDay = date.getUTCDay() || 7; + var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay; + date.setUTCDate(date.getUTCDate() + diff); + return date; +} // Validation functions +// February is null to handle the leap year (using ||) + + +var daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + +function isLeapYearIndex(year) { + return year % 400 === 0 || year % 4 === 0 && year % 100; +} + +function validateDate(year, month, date) { + return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28)); +} + +function validateDayOfYearDate(year, dayOfYear) { + return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365); +} + +function validateWeekDate(_year, week, day) { + return week >= 1 && week <= 53 && day >= 0 && day <= 6; +} + +function validateTime(hours, minutes, seconds) { + if (hours === 24) { + return minutes === 0 && seconds === 0; + } + + return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25; +} + +function validateTimezone(_hours, minutes) { + return minutes >= 0 && minutes <= 59; +} + +module.exports = exports.default; +},{"../_lib/getTimezoneOffsetInMilliseconds/index.js":7,"../_lib/toInteger/index.js":22}],171:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = roundToNearestMinutes; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name roundToNearestMinutes + * @category Minute Helpers + * @summary Rounds the given date to the nearest minute + * + * @description + * Rounds the given date to the nearest minute + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to round + * @param {Object} [options] - an object with options. + * @param {Number} [options.nearestTo=1] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate} + * @returns {Date} the new date rounded to the closest minute + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.nearestTo` must be between 1 and 30 + * + * @example + * // Round 10 July 2014 12:12:34 to nearest minute: + * var result = roundToNearestMinutes(new Date(2014, 6, 10, 12, 12, 34)) + * //=> Thu Jul 10 2014 12:13:00 + */ +function roundToNearestMinutes(dirtyDate, options) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only none provided present'); + } + + var nearestTo = options && 'nearestTo' in options ? (0, _index2.default)(options.nearestTo) : 1; + + if (nearestTo < 1 || nearestTo > 30) { + throw new RangeError('`options.nearestTo` must be between 1 and 30'); + } + + var date = (0, _index.default)(dirtyDate); + var seconds = date.getSeconds(); // relevant if nearestTo is 1, which is the default case + + var minutes = date.getMinutes() + seconds / 60; + var roundedMinutes = Math.floor(minutes / nearestTo) * nearestTo; + var remainderMinutes = minutes % nearestTo; + var addedMinutes = Math.round(remainderMinutes / nearestTo) * nearestTo; + return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), roundedMinutes + addedMinutes); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],172:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setDate; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setDate + * @category Day Helpers + * @summary Set the day of the month to the given date. + * + * @description + * Set the day of the month to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} dayOfMonth - the day of the month of the new date + * @returns {Date} the new date with the day of the month set + * @throws {TypeError} 2 arguments required + * + * @example + * // Set the 30th day of the month to 1 September 2014: + * var result = setDate(new Date(2014, 8, 1), 30) + * //=> Tue Sep 30 2014 00:00:00 + */ +function setDate(dirtyDate, dirtyDayOfMonth) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var dayOfMonth = (0, _index.default)(dirtyDayOfMonth); + date.setDate(dayOfMonth); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],173:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setDay; + +var _index = _interopRequireDefault(require("../addDays/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setDay + * @category Weekday Helpers + * @summary Set the day of the week to the given date. + * + * @description + * Set the day of the week to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} day - the day of the week of the new date + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Date} the new date with the day of the week set + * @throws {TypeError} 2 arguments required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * + * @example + * // Set Sunday to 1 September 2014: + * var result = setDay(new Date(2014, 8, 1), 0) + * //=> Sun Aug 31 2014 00:00:00 + * + * @example + * // If week starts with Monday, set Sunday to 1 September 2014: + * var result = setDay(new Date(2014, 8, 1), 0, { weekStartsOn: 1 }) + * //=> Sun Sep 07 2014 00:00:00 + */ +function setDay(dirtyDate, dirtyDay, dirtyOptions) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var locale = options.locale; + var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn; + var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : (0, _index3.default)(localeWeekStartsOn); + var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : (0, _index3.default)(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN + + if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { + throw new RangeError('weekStartsOn must be between 0 and 6 inclusively'); + } + + var date = (0, _index2.default)(dirtyDate, options); + var day = (0, _index3.default)(dirtyDay); + var currentDay = date.getDay(); + var remainder = day % 7; + var dayIndex = (remainder + 7) % 7; + var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay; + return (0, _index.default)(date, diff, options); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addDays/index.js":24,"../toDate/index.js":212}],174:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setDayOfYear; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setDayOfYear + * @category Day Helpers + * @summary Set the day of the year to the given date. + * + * @description + * Set the day of the year to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} dayOfYear - the day of the year of the new date + * @returns {Date} the new date with the day of the year set + * @throws {TypeError} 2 arguments required + * + * @example + * // Set the 2nd day of the year to 2 July 2014: + * var result = setDayOfYear(new Date(2014, 6, 2), 2) + * //=> Thu Jan 02 2014 00:00:00 + */ +function setDayOfYear(dirtyDate, dirtyDayOfYear) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var dayOfYear = (0, _index.default)(dirtyDayOfYear); + date.setMonth(0); + date.setDate(dayOfYear); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],175:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setHours; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setHours + * @category Hour Helpers + * @summary Set the hours to the given date. + * + * @description + * Set the hours to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} hours - the hours of the new date + * @returns {Date} the new date with the hours set + * @throws {TypeError} 2 arguments required + * + * @example + * // Set 4 hours to 1 September 2014 11:30:00: + * var result = setHours(new Date(2014, 8, 1, 11, 30), 4) + * //=> Mon Sep 01 2014 04:30:00 + */ +function setHours(dirtyDate, dirtyHours) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var hours = (0, _index.default)(dirtyHours); + date.setHours(hours); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],176:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setISODay; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../addDays/index.js")); + +var _index4 = _interopRequireDefault(require("../getISODay/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setISODay + * @category Weekday Helpers + * @summary Set the day of the ISO week to the given date. + * + * @description + * Set the day of the ISO week to the given date. + * ISO week starts with Monday. + * 7 is the index of Sunday, 1 is the index of Monday etc. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} day - the day of the ISO week of the new date + * @returns {Date} the new date with the day of the ISO week set + * @throws {TypeError} 2 arguments required + * + * @example + * // Set Sunday to 1 September 2014: + * var result = setISODay(new Date(2014, 8, 1), 7) + * //=> Sun Sep 07 2014 00:00:00 + */ +function setISODay(dirtyDate, dirtyDay) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var day = (0, _index.default)(dirtyDay); + var currentDay = (0, _index4.default)(date); + var diff = day - currentDay; + return (0, _index3.default)(date, diff); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addDays/index.js":24,"../getISODay/index.js":90,"../toDate/index.js":212}],177:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setISOWeek; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../getISOWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setISOWeek + * @category ISO Week Helpers + * @summary Set the ISO week to the given date. + * + * @description + * Set the ISO week to the given date, saving the weekday number. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} isoWeek - the ISO week of the new date + * @returns {Date} the new date with the ISO week set + * @throws {TypeError} 2 arguments required + * + * @example + * // Set the 53rd ISO week to 7 August 2004: + * var result = setISOWeek(new Date(2004, 7, 7), 53) + * //=> Sat Jan 01 2005 00:00:00 + */ +function setISOWeek(dirtyDate, dirtyISOWeek) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var isoWeek = (0, _index.default)(dirtyISOWeek); + var diff = (0, _index3.default)(date) - isoWeek; + date.setDate(date.getDate() - diff * 7); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../getISOWeek/index.js":91,"../toDate/index.js":212}],178:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setISOWeekYear; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../startOfISOWeekYear/index.js")); + +var _index4 = _interopRequireDefault(require("../differenceInCalendarDays/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Set the ISO week-numbering year to the given date. + * + * @description + * Set the ISO week-numbering year to the given date, + * saving the week number and the weekday number. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `setISOYear` to `setISOWeekYear`. + * "ISO week year" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date). + * This change makes the name consistent with + * locale-dependent week-numbering year helpers, e.g., `setWeekYear`. + * + * @param {Date|Number} date - the date to be changed + * @param {Number} isoWeekYear - the ISO week-numbering year of the new date + * @returns {Date} the new date with the ISO week-numbering year set + * @throws {TypeError} 2 arguments required + * + * @example + * // Set ISO week-numbering year 2007 to 29 December 2008: + * var result = setISOWeekYear(new Date(2008, 11, 29), 2007) + * //=> Mon Jan 01 2007 00:00:00 + */ +function setISOWeekYear(dirtyDate, dirtyISOWeekYear) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var isoWeekYear = (0, _index.default)(dirtyISOWeekYear); + var diff = (0, _index4.default)(date, (0, _index3.default)(date)); + var fourthOfJanuary = new Date(0); + fourthOfJanuary.setFullYear(isoWeekYear, 0, 4); + fourthOfJanuary.setHours(0, 0, 0, 0); + date = (0, _index3.default)(fourthOfJanuary); + date.setDate(date.getDate() + diff); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../differenceInCalendarDays/index.js":41,"../startOfISOWeekYear/index.js":191,"../toDate/index.js":212}],179:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setMilliseconds; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setMilliseconds + * @category Millisecond Helpers + * @summary Set the milliseconds to the given date. + * + * @description + * Set the milliseconds to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} milliseconds - the milliseconds of the new date + * @returns {Date} the new date with the milliseconds set + * @throws {TypeError} 2 arguments required + * + * @example + * // Set 300 milliseconds to 1 September 2014 11:30:40.500: + * var result = setMilliseconds(new Date(2014, 8, 1, 11, 30, 40, 500), 300) + * //=> Mon Sep 01 2014 11:30:40.300 + */ +function setMilliseconds(dirtyDate, dirtyMilliseconds) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var milliseconds = (0, _index.default)(dirtyMilliseconds); + date.setMilliseconds(milliseconds); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],180:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setMinutes; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setMinutes + * @category Minute Helpers + * @summary Set the minutes to the given date. + * + * @description + * Set the minutes to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} minutes - the minutes of the new date + * @returns {Date} the new date with the minutes set + * @throws {TypeError} 2 arguments required + * + * @example + * // Set 45 minutes to 1 September 2014 11:30:40: + * var result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45) + * //=> Mon Sep 01 2014 11:45:40 + */ +function setMinutes(dirtyDate, dirtyMinutes) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var minutes = (0, _index.default)(dirtyMinutes); + date.setMinutes(minutes); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],181:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setMonth; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../getDaysInMonth/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setMonth + * @category Month Helpers + * @summary Set the month to the given date. + * + * @description + * Set the month to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} month - the month of the new date + * @returns {Date} the new date with the month set + * @throws {TypeError} 2 arguments required + * + * @example + * // Set February to 1 September 2014: + * var result = setMonth(new Date(2014, 8, 1), 1) + * //=> Sat Feb 01 2014 00:00:00 + */ +function setMonth(dirtyDate, dirtyMonth) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var month = (0, _index.default)(dirtyMonth); + var year = date.getFullYear(); + var day = date.getDate(); + var dateWithDesiredMonth = new Date(0); + dateWithDesiredMonth.setFullYear(year, month, 15); + dateWithDesiredMonth.setHours(0, 0, 0, 0); + var daysInMonth = (0, _index3.default)(dateWithDesiredMonth); // Set the last day of the new month + // if the original date was the last day of the longer month + + date.setMonth(month, Math.min(day, daysInMonth)); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../getDaysInMonth/index.js":86,"../toDate/index.js":212}],182:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setQuarter; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../setMonth/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setQuarter + * @category Quarter Helpers + * @summary Set the year quarter to the given date. + * + * @description + * Set the year quarter to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} quarter - the quarter of the new date + * @returns {Date} the new date with the quarter set + * @throws {TypeError} 2 arguments required + * + * @example + * // Set the 2nd quarter to 2 July 2014: + * var result = setQuarter(new Date(2014, 6, 2), 2) + * //=> Wed Apr 02 2014 00:00:00 + */ +function setQuarter(dirtyDate, dirtyQuarter) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var quarter = (0, _index.default)(dirtyQuarter); + var oldQuarter = Math.floor(date.getMonth() / 3) + 1; + var diff = quarter - oldQuarter; + return (0, _index3.default)(date, date.getMonth() + diff * 3); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../setMonth/index.js":181,"../toDate/index.js":212}],183:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setSeconds; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setSeconds + * @category Second Helpers + * @summary Set the seconds to the given date. + * + * @description + * Set the seconds to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} seconds - the seconds of the new date + * @returns {Date} the new date with the seconds set + * @throws {TypeError} 2 arguments required + * + * @example + * // Set 45 seconds to 1 September 2014 11:30:40: + * var result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45) + * //=> Mon Sep 01 2014 11:30:45 + */ +function setSeconds(dirtyDate, dirtySeconds) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var seconds = (0, _index.default)(dirtySeconds); + date.setSeconds(seconds); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],184:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setWeek; + +var _index = _interopRequireDefault(require("../getWeek/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +var _index3 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setWeek + * @category Week Helpers + * @summary Set the local week to the given date. + * + * @description + * Set the local week to the given date, saving the weekday number. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} week - the week of the new date + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year + * @returns {Date} the new date with the local week set + * @throws {TypeError} 2 arguments required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7 + * + * @example + * // Set the 1st week to 2 January 2005 with default options: + * var result = setWeek(new Date(2005, 0, 2), 1) + * //=> Sun Dec 26 2004 00:00:00 + * + * @example + * // Set the 1st week to 2 January 2005, + * // if Monday is the first day of the week, + * // and the first week of the year always contains 4 January: + * var result = setWeek(new Date(2005, 0, 2), 1, { + * weekStartsOn: 1, + * firstWeekContainsDate: 4 + * }) + * //=> Sun Jan 4 2004 00:00:00 + */ +function setWeek(dirtyDate, dirtyWeek, dirtyOptions) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var week = (0, _index3.default)(dirtyWeek); + var diff = (0, _index.default)(date, dirtyOptions) - week; + date.setDate(date.getDate() - diff * 7); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../getWeek/index.js":102,"../toDate/index.js":212}],185:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setWeekYear; + +var _index = _interopRequireDefault(require("../differenceInCalendarDays/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfWeekYear/index.js")); + +var _index3 = _interopRequireDefault(require("../toDate/index.js")); + +var _index4 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setWeekYear + * @category Week-Numbering Year Helpers + * @summary Set the local week-numbering year to the given date. + * + * @description + * Set the local week-numbering year to the given date, + * saving the week number and the weekday number. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} weekYear - the local week-numbering year of the new date + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year + * @returns {Date} the new date with the local week-numbering year set + * @throws {TypeError} 2 arguments required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7 + * + * @example + * // Set the local week-numbering year 2004 to 2 January 2010 with default options: + * var result = setWeekYear(new Date(2010, 0, 2), 2004) + * //=> Sat Jan 03 2004 00:00:00 + * + * @example + * // Set the local week-numbering year 2004 to 2 January 2010, + * // if Monday is the first day of week + * // and 4 January is always in the first week of the year: + * var result = setWeekYear(new Date(2010, 0, 2), 2004, { + * weekStartsOn: 1, + * firstWeekContainsDate: 4 + * }) + * //=> Sat Jan 01 2005 00:00:00 + */ +function setWeekYear(dirtyDate, dirtyWeekYear, dirtyOptions) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var locale = options.locale; + var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate; + var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : (0, _index4.default)(localeFirstWeekContainsDate); + var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : (0, _index4.default)(options.firstWeekContainsDate); + var date = (0, _index3.default)(dirtyDate); + var weekYear = (0, _index4.default)(dirtyWeekYear); + var diff = (0, _index.default)(date, (0, _index2.default)(date, dirtyOptions)); + var firstWeek = new Date(0); + firstWeek.setFullYear(weekYear, 0, firstWeekContainsDate); + firstWeek.setHours(0, 0, 0, 0); + date = (0, _index2.default)(firstWeek, dirtyOptions); + date.setDate(date.getDate() + diff); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../differenceInCalendarDays/index.js":41,"../startOfWeekYear/index.js":199,"../toDate/index.js":212}],186:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = setYear; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name setYear + * @category Year Helpers + * @summary Set the year to the given date. + * + * @description + * Set the year to the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} year - the year of the new date + * @returns {Date} the new date with the year set + * @throws {TypeError} 2 arguments required + * + * @example + * // Set year 2013 to 1 September 2014: + * var result = setYear(new Date(2014, 8, 1), 2013) + * //=> Sun Sep 01 2013 00:00:00 + */ +function setYear(dirtyDate, dirtyYear) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index2.default)(dirtyDate); + var year = (0, _index.default)(dirtyYear); // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date + + if (isNaN(date)) { + return new Date(NaN); + } + + date.setFullYear(year); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],187:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfDay; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfDay + * @category Day Helpers + * @summary Return the start of a day for the given date. + * + * @description + * Return the start of a day for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the start of a day + * @throws {TypeError} 1 argument required + * + * @example + * // The start of a day for 2 September 2014 11:55:00: + * var result = startOfDay(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Sep 02 2014 00:00:00 + */ +function startOfDay(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + date.setHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],188:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfDecade; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfDecade + * @category Decade Helpers + * @summary Return the start of a decade for the given date. + * + * @description + * Return the start of a decade for the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the start of a decade + * @throws {TypeError} 1 argument required + * + * @example + * // The start of a decade for 21 October 2015 00:00:00: + * var result = startOfDecade(new Date(2015, 9, 21, 00, 00, 00)) + * //=> Jan 01 2010 00:00:00 + */ +function startOfDecade(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var year = date.getFullYear(); + var decade = Math.floor(year / 10) * 10; + date.setFullYear(decade, 0, 1); + date.setHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],189:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfHour; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfHour + * @category Hour Helpers + * @summary Return the start of an hour for the given date. + * + * @description + * Return the start of an hour for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the start of an hour + * @throws {TypeError} 1 argument required + * + * @example + * // The start of an hour for 2 September 2014 11:55:00: + * var result = startOfHour(new Date(2014, 8, 2, 11, 55)) + * //=> Tue Sep 02 2014 11:00:00 + */ +function startOfHour(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + date.setMinutes(0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],190:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfISOWeek; + +var _index = _interopRequireDefault(require("../startOfWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfISOWeek + * @category ISO Week Helpers + * @summary Return the start of an ISO week for the given date. + * + * @description + * Return the start of an ISO week for the given date. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the start of an ISO week + * @throws {TypeError} 1 argument required + * + * @example + * // The start of an ISO week for 2 September 2014 11:55:00: + * var result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Mon Sep 01 2014 00:00:00 + */ +function startOfISOWeek(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + return (0, _index.default)(dirtyDate, { + weekStartsOn: 1 + }); +} + +module.exports = exports.default; +},{"../startOfWeek/index.js":198}],191:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfISOWeekYear; + +var _index = _interopRequireDefault(require("../getISOWeekYear/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfISOWeek/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfISOWeekYear + * @category ISO Week-Numbering Year Helpers + * @summary Return the start of an ISO week-numbering year for the given date. + * + * @description + * Return the start of an ISO week-numbering year, + * which always starts 3 days before the year's first Thursday. + * The result will be in the local timezone. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the start of an ISO week-numbering year + * @throws {TypeError} 1 argument required + * + * @example + * // The start of an ISO week-numbering year for 2 July 2005: + * var result = startOfISOWeekYear(new Date(2005, 6, 2)) + * //=> Mon Jan 03 2005 00:00:00 + */ +function startOfISOWeekYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var year = (0, _index.default)(dirtyDate); + var fourthOfJanuary = new Date(0); + fourthOfJanuary.setFullYear(year, 0, 4); + fourthOfJanuary.setHours(0, 0, 0, 0); + var date = (0, _index2.default)(fourthOfJanuary); + return date; +} + +module.exports = exports.default; +},{"../getISOWeekYear/index.js":92,"../startOfISOWeek/index.js":190}],192:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfMinute; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfMinute + * @category Minute Helpers + * @summary Return the start of a minute for the given date. + * + * @description + * Return the start of a minute for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the start of a minute + * @throws {TypeError} 1 argument required + * + * @example + * // The start of a minute for 1 December 2014 22:15:45.400: + * var result = startOfMinute(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:00 + */ +function startOfMinute(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + date.setSeconds(0, 0); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],193:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfMonth; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfMonth + * @category Month Helpers + * @summary Return the start of a month for the given date. + * + * @description + * Return the start of a month for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the start of a month + * @throws {TypeError} 1 argument required + * + * @example + * // The start of a month for 2 September 2014 11:55:00: + * var result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Mon Sep 01 2014 00:00:00 + */ +function startOfMonth(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + date.setDate(1); + date.setHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],194:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfQuarter; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfQuarter + * @category Quarter Helpers + * @summary Return the start of a year quarter for the given date. + * + * @description + * Return the start of a year quarter for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the start of a quarter + * @throws {TypeError} 1 argument required + * + * @example + * // The start of a quarter for 2 September 2014 11:55:00: + * var result = startOfQuarter(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Tue Jul 01 2014 00:00:00 + */ +function startOfQuarter(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + var currentMonth = date.getMonth(); + var month = currentMonth - currentMonth % 3; + date.setMonth(month, 1); + date.setHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],195:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfSecond; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfSecond + * @category Second Helpers + * @summary Return the start of a second for the given date. + * + * @description + * Return the start of a second for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the start of a second + * @throws {TypeError} 1 argument required + * + * @example + * // The start of a second for 1 December 2014 22:15:45.400: + * var result = startOfSecond(new Date(2014, 11, 1, 22, 15, 45, 400)) + * //=> Mon Dec 01 2014 22:15:45.000 + */ +function startOfSecond(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var date = (0, _index.default)(dirtyDate); + date.setMilliseconds(0); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],196:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfToday; + +var _index = _interopRequireDefault(require("../startOfDay/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfToday + * @category Day Helpers + * @summary Return the start of today. + * @pure false + * + * @description + * Return the start of today. + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @returns {Date} the start of today + * + * @example + * // If today is 6 October 2014: + * var result = startOfToday() + * //=> Mon Oct 6 2014 00:00:00 + */ +function startOfToday() { + return (0, _index.default)(Date.now()); +} + +module.exports = exports.default; +},{"../startOfDay/index.js":187}],197:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfTomorrow; + +/** + * @name startOfTomorrow + * @category Day Helpers + * @summary Return the start of tomorrow. + * @pure false + * + * @description + * Return the start of tomorrow. + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @returns {Date} the start of tomorrow + * + * @example + * // If today is 6 October 2014: + * var result = startOfTomorrow() + * //=> Tue Oct 7 2014 00:00:00 + */ +function startOfTomorrow() { + var now = new Date(); + var year = now.getFullYear(); + var month = now.getMonth(); + var day = now.getDate(); + var date = new Date(0); + date.setFullYear(year, month, day + 1); + date.setHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{}],198:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfWeek; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +var _index2 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfWeek + * @category Week Helpers + * @summary Return the start of a week for the given date. + * + * @description + * Return the start of a week for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @returns {Date} the start of a week + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * + * @example + * // The start of a week for 2 September 2014 11:55:00: + * var result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0)) + * //=> Sun Aug 31 2014 00:00:00 + * + * @example + * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00: + * var result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 }) + * //=> Mon Sep 01 2014 00:00:00 + */ +function startOfWeek(dirtyDate, dirtyOptions) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var locale = options.locale; + var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn; + var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : (0, _index2.default)(localeWeekStartsOn); + var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : (0, _index2.default)(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN + + if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) { + throw new RangeError('weekStartsOn must be between 0 and 6 inclusively'); + } + + var date = (0, _index.default)(dirtyDate); + var day = date.getDay(); + var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn; + date.setDate(date.getDate() - diff); + date.setHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../toDate/index.js":212}],199:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfWeekYear; + +var _index = _interopRequireDefault(require("../getWeekYear/index.js")); + +var _index2 = _interopRequireDefault(require("../startOfWeek/index.js")); + +var _index3 = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfWeekYear + * @category Week-Numbering Year Helpers + * @summary Return the start of a local week-numbering year for the given date. + * + * @description + * Return the start of a local week-numbering year. + * The exact calculation depends on the values of + * `options.weekStartsOn` (which is the index of the first day of the week) + * and `options.firstWeekContainsDate` (which is the day of January, which is always in + * the first week of the week-numbering year) + * + * Week numbering: https://en.wikipedia.org/wiki/Week#Week_numbering + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @param {Object} [options] - an object with options. + * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} + * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday) + * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year + * @returns {Date} the start of a week-numbering year + * @throws {TypeError} 1 argument required + * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6 + * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7 + * + * @example + * // The start of an a week-numbering year for 2 July 2005 with default settings: + * var result = startOfWeekYear(new Date(2005, 6, 2)) + * //=> Sun Dec 26 2004 00:00:00 + * + * @example + * // The start of a week-numbering year for 2 July 2005 + * // if Monday is the first day of week + * // and 4 January is always in the first week of the year: + * var result = startOfWeekYear(new Date(2005, 6, 2), { + * weekStartsOn: 1, + * firstWeekContainsDate: 4 + * }) + * //=> Mon Jan 03 2005 00:00:00 + */ +function startOfWeekYear(dirtyDate, dirtyOptions) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var options = dirtyOptions || {}; + var locale = options.locale; + var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate; + var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : (0, _index3.default)(localeFirstWeekContainsDate); + var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : (0, _index3.default)(options.firstWeekContainsDate); + var year = (0, _index.default)(dirtyDate, dirtyOptions); + var firstWeek = new Date(0); + firstWeek.setFullYear(year, 0, firstWeekContainsDate); + firstWeek.setHours(0, 0, 0, 0); + var date = (0, _index2.default)(firstWeek, dirtyOptions); + return date; +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../getWeekYear/index.js":104,"../startOfWeek/index.js":198}],200:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfYear; + +var _index = _interopRequireDefault(require("../toDate/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name startOfYear + * @category Year Helpers + * @summary Return the start of a year for the given date. + * + * @description + * Return the start of a year for the given date. + * The result will be in the local timezone. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the original date + * @returns {Date} the start of a year + * @throws {TypeError} 1 argument required + * + * @example + * // The start of a year for 2 September 2014 11:55:00: + * var result = startOfYear(new Date(2014, 8, 2, 11, 55, 00)) + * //=> Wed Jan 01 2014 00:00:00 + */ +function startOfYear(dirtyDate) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var cleanDate = (0, _index.default)(dirtyDate); + var date = new Date(0); + date.setFullYear(cleanDate.getFullYear(), 0, 1); + date.setHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{"../toDate/index.js":212}],201:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = startOfYesterday; + +/** + * @name startOfYesterday + * @category Day Helpers + * @summary Return the start of yesterday. + * @pure false + * + * @description + * Return the start of yesterday. + * + * > ⚠️ Please note that this function is not present in the FP submodule as + * > it uses `Date.now()` internally hence impure and can't be safely curried. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @returns {Date} the start of yesterday + * + * @example + * // If today is 6 October 2014: + * var result = startOfYesterday() + * //=> Sun Oct 5 2014 00:00:00 + */ +function startOfYesterday() { + var now = new Date(); + var year = now.getFullYear(); + var month = now.getMonth(); + var day = now.getDate(); + var date = new Date(0); + date.setFullYear(year, month, day - 1); + date.setHours(0, 0, 0, 0); + return date; +} + +module.exports = exports.default; +},{}],202:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = subDays; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addDays/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name subDays + * @category Day Helpers + * @summary Subtract the specified number of days from the given date. + * + * @description + * Subtract the specified number of days from the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of days to be subtracted + * @returns {Date} the new date with the days subtracted + * @throws {TypeError} 2 arguments required + * + * @example + * // Subtract 10 days from 1 September 2014: + * var result = subDays(new Date(2014, 8, 1), 10) + * //=> Fri Aug 22 2014 00:00:00 + */ +function subDays(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, -amount); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addDays/index.js":24}],203:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = subHours; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addHours/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name subHours + * @category Hour Helpers + * @summary Subtract the specified number of hours from the given date. + * + * @description + * Subtract the specified number of hours from the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of hours to be subtracted + * @returns {Date} the new date with the hours subtracted + * @throws {TypeError} 2 arguments required + * + * @example + * // Subtract 2 hours from 11 July 2014 01:00:00: + * var result = subHours(new Date(2014, 6, 11, 1, 0), 2) + * //=> Thu Jul 10 2014 23:00:00 + */ +function subHours(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, -amount); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addHours/index.js":25}],204:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = subISOWeekYears; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addISOWeekYears/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name subISOWeekYears + * @category ISO Week-Numbering Year Helpers + * @summary Subtract the specified number of ISO week-numbering years from the given date. + * + * @description + * Subtract the specified number of ISO week-numbering years from the given date. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * - The function was renamed from `subISOYears` to `subISOWeekYears`. + * "ISO week year" is short for [ISO week-numbering year](https://en.wikipedia.org/wiki/ISO_week_date). + * This change makes the name consistent with + * locale-dependent week-numbering year helpers, e.g., `setWeekYear`. + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of ISO week-numbering years to be subtracted + * @returns {Date} the new date with the ISO week-numbering years subtracted + * @throws {TypeError} 2 arguments required + * + * @example + * // Subtract 5 ISO week-numbering years from 1 September 2014: + * var result = subISOWeekYears(new Date(2014, 8, 1), 5) + * //=> Mon Aug 31 2009 00:00:00 + */ +function subISOWeekYears(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, -amount); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addISOWeekYears/index.js":26}],205:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = subMilliseconds; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addMilliseconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name subMilliseconds + * @category Millisecond Helpers + * @summary Subtract the specified number of milliseconds from the given date. + * + * @description + * Subtract the specified number of milliseconds from the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of milliseconds to be subtracted + * @returns {Date} the new date with the milliseconds subtracted + * @throws {TypeError} 2 arguments required + * + * @example + * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000: + * var result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750) + * //=> Thu Jul 10 2014 12:45:29.250 + */ +function subMilliseconds(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, -amount); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addMilliseconds/index.js":27}],206:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = subMinutes; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addMinutes/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name subMinutes + * @category Minute Helpers + * @summary Subtract the specified number of minutes from the given date. + * + * @description + * Subtract the specified number of minutes from the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of minutes to be subtracted + * @returns {Date} the new date with the minutes subtracted + * @throws {TypeError} 2 arguments required + * + * @example + * // Subtract 30 minutes from 10 July 2014 12:00:00: + * var result = subMinutes(new Date(2014, 6, 10, 12, 0), 30) + * //=> Thu Jul 10 2014 11:30:00 + */ +function subMinutes(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, -amount); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addMinutes/index.js":28}],207:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = subMonths; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addMonths/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name subMonths + * @category Month Helpers + * @summary Subtract the specified number of months from the given date. + * + * @description + * Subtract the specified number of months from the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of months to be subtracted + * @returns {Date} the new date with the months subtracted + * @throws {TypeError} 2 arguments required + * + * @example + * // Subtract 5 months from 1 February 2015: + * var result = subMonths(new Date(2015, 1, 1), 5) + * //=> Mon Sep 01 2014 00:00:00 + */ +function subMonths(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, -amount); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addMonths/index.js":29}],208:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = subQuarters; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addQuarters/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name subQuarters + * @category Quarter Helpers + * @summary Subtract the specified number of year quarters from the given date. + * + * @description + * Subtract the specified number of year quarters from the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of quarters to be subtracted + * @returns {Date} the new date with the quarters subtracted + * @throws {TypeError} 2 arguments required + * + * @example + * // Subtract 3 quarters from 1 September 2014: + * var result = subQuarters(new Date(2014, 8, 1), 3) + * //=> Sun Dec 01 2013 00:00:00 + */ +function subQuarters(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, -amount); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addQuarters/index.js":30}],209:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = subSeconds; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addSeconds/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name subSeconds + * @category Second Helpers + * @summary Subtract the specified number of seconds from the given date. + * + * @description + * Subtract the specified number of seconds from the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of seconds to be subtracted + * @returns {Date} the new date with the seconds subtracted + * @throws {TypeError} 2 arguments required + * + * @example + * // Subtract 30 seconds from 10 July 2014 12:45:00: + * var result = subSeconds(new Date(2014, 6, 10, 12, 45, 0), 30) + * //=> Thu Jul 10 2014 12:44:30 + */ +function subSeconds(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, -amount); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addSeconds/index.js":31}],210:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = subWeeks; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addWeeks/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name subWeeks + * @category Week Helpers + * @summary Subtract the specified number of weeks from the given date. + * + * @description + * Subtract the specified number of weeks from the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of weeks to be subtracted + * @returns {Date} the new date with the weeks subtracted + * @throws {TypeError} 2 arguments required + * + * @example + * // Subtract 4 weeks from 1 September 2014: + * var result = subWeeks(new Date(2014, 8, 1), 4) + * //=> Mon Aug 04 2014 00:00:00 + */ +function subWeeks(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, -amount); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addWeeks/index.js":32}],211:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = subYears; + +var _index = _interopRequireDefault(require("../_lib/toInteger/index.js")); + +var _index2 = _interopRequireDefault(require("../addYears/index.js")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/** + * @name subYears + * @category Year Helpers + * @summary Subtract the specified number of years from the given date. + * + * @description + * Subtract the specified number of years from the given date. + * + * ### v2.0.0 breaking changes: + * + * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes). + * + * @param {Date|Number} date - the date to be changed + * @param {Number} amount - the amount of years to be subtracted + * @returns {Date} the new date with the years subtracted + * @throws {TypeError} 2 arguments required + * + * @example + * // Subtract 5 years from 1 September 2014: + * var result = subYears(new Date(2014, 8, 1), 5) + * //=> Tue Sep 01 2009 00:00:00 + */ +function subYears(dirtyDate, dirtyAmount) { + if (arguments.length < 2) { + throw new TypeError('2 arguments required, but only ' + arguments.length + ' present'); + } + + var amount = (0, _index.default)(dirtyAmount); + return (0, _index2.default)(dirtyDate, -amount); +} + +module.exports = exports.default; +},{"../_lib/toInteger/index.js":22,"../addYears/index.js":33}],212:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = toDate; + +/** + * @name toDate + * @category Common Helpers + * @summary Convert the given argument to an instance of Date. + * + * @description + * Convert the given argument to an instance of Date. + * + * If the argument is an instance of Date, the function returns its clone. + * + * If the argument is a number, it is treated as a timestamp. + * + * If the argument is none of the above, the function returns Invalid Date. + * + * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`. + * + * @param {Date|Number} argument - the value to convert + * @returns {Date} the parsed date in the local time zone + * @throws {TypeError} 1 argument required + * + * @example + * // Clone the date: + * const result = toDate(new Date(2014, 1, 11, 11, 30, 30)) + * //=> Tue Feb 11 2014 11:30:30 + * + * @example + * // Convert the timestamp to date: + * const result = toDate(1392098430000) + * //=> Tue Feb 11 2014 11:30:30 + */ +function toDate(argument) { + if (arguments.length < 1) { + throw new TypeError('1 argument required, but only ' + arguments.length + ' present'); + } + + var argStr = Object.prototype.toString.call(argument); // Clone the date + + if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') { + // Prevent the date to lose the milliseconds when passed to new Date() in IE10 + return new Date(argument.getTime()); + } else if (typeof argument === 'number' || argStr === '[object Number]') { + return new Date(argument); + } else { + if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') { + // eslint-disable-next-line no-console + console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"); // eslint-disable-next-line no-console + + console.warn(new Error().stack); + } + + return new Date(NaN); + } +} + +module.exports = exports.default; +},{}],213:[function(require,module,exports){ function AsyncResolvers(onFailedOne, onResolvedAll) { this.onResolvedAll = onResolvedAll; this.onFailedOne = onFailedOne; @@ -82,7 +16746,7 @@ AsyncResolvers.prototype = { module.exports = AsyncResolvers; -},{}],2:[function(require,module,exports){ +},{}],214:[function(require,module,exports){ var replacements = { /** @@ -203,7 +16867,7 @@ var replacements = { }); }, - /** + /** * After replacement. * * @param {string} template @@ -283,7 +16947,7 @@ module.exports = { formatter: formatter }; -},{}],3:[function(require,module,exports){ +},{}],215:[function(require,module,exports){ var Errors = function() { this.errors = {}; }; @@ -362,7 +17026,7 @@ Errors.prototype = { module.exports = Errors; -},{}],4:[function(require,module,exports){ +},{}],216:[function(require,module,exports){ var Messages = require('./messages'); require('./lang/en'); @@ -442,7 +17106,7 @@ var container = { module.exports = container; -},{"./lang/en":5,"./messages":6}],5:[function(require,module,exports){ +},{"./lang/en":217,"./messages":218}],217:[function(require,module,exports){ module.exports = { accepted: 'The :attribute must be accepted.', after: 'The :attribute must be after :after.', @@ -460,7 +17124,7 @@ module.exports = { digits: 'The :attribute must be :digits digits.', digits_between: 'The :attribute field must be between :min and :max digits.', different: 'The :attribute and :different must be different.', - 'in': 'The selected :attribute is invalid.', + in: 'The selected :attribute is invalid.', integer: 'The :attribute must be an integer.', hex: 'The :attribute field should have hexadecimal format', min: { @@ -492,7 +17156,7 @@ module.exports = { attributes: {} }; -},{}],6:[function(require,module,exports){ +},{}],218:[function(require,module,exports){ var Attributes = require('./attributes'); var Messages = function(lang, messages) { @@ -646,40 +17310,73 @@ Messages.prototype = { module.exports = Messages; -},{"./attributes":2}],7:[function(require,module,exports){ +},{"./attributes":214}],219:[function(require,module,exports){ +var dateTools = require('date-fns'); + function leapYear(year) { - return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0); + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; } function isValidDate(inDate) { - var valid = true; - - // reformat if supplied as mm.dd.yyyy (period delimiter) - if (typeof inDate === 'string') { - var pos = inDate.indexOf('.'); - if ((pos > 0 && pos <= 6)) { - inDate = inDate.replace(/\./g, '-'); + let test = inDate; + if (typeof inDate === 'string') { + let dateParsed = dateTools.parseISO(inDate); + if (typeof dateParsed === 'object') { + if (dateParsed.toString() === 'Invalid Date') { + return isValidDate2(inDate); } } + return dateTools.isValid(dateParsed); + } + return isValidDate2(inDate); +} + +function isValidDate2(inDate) { + var valid = true; + + if (inDate instanceof Date) { + return !isNaN(inDate); + } + + // reformat if supplied as mm.dd.yyyy (period delimiter) + if (typeof inDate === 'string') { + var pos = inDate.indexOf('.'); + if (pos > 0 && pos <= 6) { + inDate = inDate.replace(/\./g, '-'); + } + } - var testDate = new Date(inDate); - var yr = testDate.getFullYear(); - var mo = testDate.getMonth(); - var day = testDate.getDate(); + // TODO: This approach is not going to work as Date conversion will always be accurate + // For example: 2019-02-31 will return as 2019-03-03 thus calculations will always be correct + // Need to devise another method of check validity - var daysInMonth = [31, (leapYear(yr) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var testDate = new Date(inDate); + var yr = testDate.getFullYear(); + var mo = testDate.getMonth(); + var day = testDate.getDate(); - if (yr < 1000) { return false; } - if (isNaN(mo)) { return false; } - if (mo + 1 > 12) { return false; } - if (isNaN(day)) { return false; } - if (day > daysInMonth[mo]) { return false; } + var daysInMonth = [31, leapYear(yr) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + + if (yr < 1000) { + return false; + } + if (isNaN(mo)) { + return false; + } + if (mo + 1 > 12) { + return false; + } + if (isNaN(day)) { + return false; + } + if (day > daysInMonth[mo]) { + return false; + } - return valid; + return valid; } var rules = { - required: function(val) { var str; @@ -687,7 +17384,7 @@ var rules = { return false; } - str = String(val).replace(/\s/g, ""); + str = String(val).replace(/\s/g, ''); return str.length > 0 ? true : false; }, @@ -718,10 +17415,9 @@ var rules = { }, required_with_all: function(val, req, attribute) { - req = this.getParameters(); - for(var i = 0; i < req.length; i++) { + for (var i = 0; i < req.length; i++) { if (!this.validator._objectPath(this.validator.input, req[i])) { return true; } @@ -731,7 +17427,6 @@ var rules = { }, required_without: function(val, req, attribute) { - if (this.validator._objectPath(this.validator.input, req)) { return true; } @@ -740,10 +17435,9 @@ var rules = { }, required_without_all: function(val, req, attribute) { - req = this.getParameters(); - for(var i = 0; i < req.length; i++) { + for (var i = 0; i < req.length; i++) { if (this.validator._objectPath(this.validator.input, req[i])) { return true; } @@ -752,7 +17446,7 @@ var rules = { return this.validator.getRule('required').validate(val); }, - 'boolean': function (val) { + boolean: function(val) { return ( val === true || val === false || @@ -833,19 +17527,19 @@ var rules = { }, url: function(url) { - return (/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/i).test(url); + return /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_\+.~#?&/=]*)/i.test(url); }, alpha: function(val) { - return (/^[a-zA-Z]+$/).test(val); + return /^[a-zA-Z]+$/.test(val); }, alpha_dash: function(val) { - return (/^[a-zA-Z0-9_\-]+$/).test(val); + return /^[a-zA-Z0-9_\-]+$/.test(val); }, alpha_num: function(val) { - return (/^[a-zA-Z0-9]+$/).test(val); + return /^[a-zA-Z0-9]+$/.test(val); }, same: function(val, req) { @@ -870,7 +17564,7 @@ var rules = { return false; }, - "in": function(val, req) { + in: function(val, req) { var list, i; if (val) { @@ -973,8 +17667,8 @@ var rules = { regex: function(val, req) { var mod = /[g|i|m]{1,3}$/; var flag = req.match(mod); - flag = flag ? flag[0] : ""; - req = req.replace(mod, "").slice(1, -1); + flag = flag ? flag[0] : ''; + req = req.replace(mod, '').slice(1, -1); req = new RegExp(req, flag); return !!req.test(val); }, @@ -987,12 +17681,16 @@ var rules = { return typeof val !== 'undefined'; }, - after: function(val, req){ + after: function(val, req) { var val1 = this.validator.input[req]; var val2 = val; - if(!isValidDate(val1)){ return false;} - if(!isValidDate(val2)){ return false;} + if (!isValidDate(val1)) { + return false; + } + if (!isValidDate(val2)) { + return false; + } if (new Date(val1).getTime() < new Date(val2).getTime()) { return true; @@ -1001,12 +17699,16 @@ var rules = { return false; }, - after_or_equal: function(val, req){ + after_or_equal: function(val, req) { var val1 = this.validator.input[req]; var val2 = val; - if(!isValidDate(val1)){ return false;} - if(!isValidDate(val2)){ return false;} + if (!isValidDate(val1)) { + return false; + } + if (!isValidDate(val2)) { + return false; + } if (new Date(val1).getTime() <= new Date(val2).getTime()) { return true; @@ -1015,12 +17717,16 @@ var rules = { return false; }, - before: function(val, req){ + before: function(val, req) { var val1 = this.validator.input[req]; var val2 = val; - if(!isValidDate(val1)){ return false;} - if(!isValidDate(val2)){ return false;} + if (!isValidDate(val1)) { + return false; + } + if (!isValidDate(val2)) { + return false; + } if (new Date(val1).getTime() > new Date(val2).getTime()) { return true; @@ -1029,12 +17735,16 @@ var rules = { return false; }, - before_or_equal: function(val, req){ + before_or_equal: function(val, req) { var val1 = this.validator.input[req]; var val2 = val; - if(!isValidDate(val1)){ return false;} - if(!isValidDate(val2)){ return false;} + if (!isValidDate(val1)) { + return false; + } + if (!isValidDate(val2)) { + return false; + } if (new Date(val1).getTime() >= new Date(val2).getTime()) { return true; @@ -1044,7 +17754,7 @@ var rules = { }, hex: function(val) { - return (/^[0-9a-f]+$/i).test(val); + return /^[0-9a-f]+$/i.test(val); } }; @@ -1062,7 +17772,6 @@ function Rule(name, fn, async) { } Rule.prototype = { - /** * Validate rule * @@ -1171,7 +17880,6 @@ Rule.prototype = { * @return {string} */ _getValueType: function() { - if (typeof this.inputValue === 'number' || this.validator._hasNumericRule(this.attribute)) { return 'numeric'; } @@ -1187,7 +17895,7 @@ Rule.prototype = { * @return {void} */ response: function(passes, message) { - this.passes = (passes === undefined || passes === true); + this.passes = passes === undefined || passes === true; this._customMessage = message; this.callback(this.passes, message); }, @@ -1217,7 +17925,6 @@ Rule.prototype = { }; var manager = { - /** * List of async rule names * @@ -1230,7 +17937,17 @@ var manager = { * * @type {Array} */ - implicitRules: ['required', 'required_if', 'required_unless', 'required_with', 'required_with_all', 'required_without', 'required_without_all', 'accepted', 'present'], + implicitRules: [ + 'required', + 'required_if', + 'required_unless', + 'required_with', + 'required_with_all', + 'required_without', + 'required_without_all', + 'accepted', + 'present' + ], /** * Get rule by name @@ -1282,7 +17999,7 @@ var manager = { rules[name] = fn; }, - /** + /** * Register new implicit rule * * @param {string} name @@ -1324,11 +18041,9 @@ var manager = { } }; - - module.exports = manager; -},{}],8:[function(require,module,exports){ +},{"date-fns":107}],220:[function(require,module,exports){ var Rules = require('./rules'); var Lang = require('./lang'); var Errors = require('./errors'); @@ -1503,7 +18218,7 @@ Validator.prototype = { var isEmpty = true; for (var p in current) { isEmpty = false; - recurse(current[p], property ? property + "." + p : p); + recurse(current[p], property ? property + '.' + p : p); } if (isEmpty) { flattened[property] = {}; @@ -1528,7 +18243,7 @@ Validator.prototype = { return obj[path]; } - var keys = path.replace(/\[(\w+)\]/g, ".$1").replace(/^\./, "").split("."); + var keys = path.replace(/\[(\w+)\]/g, '.$1').replace(/^\./, '').split('.'); var copy = {}; for (var attr in obj) { if (Object.prototype.hasOwnProperty.call(obj, attr)) { @@ -1537,7 +18252,7 @@ Validator.prototype = { } for (var i = 0, l = keys.length; i < l; i++) { - if (Object.hasOwnProperty.call(copy, keys[i])) { + if (typeof copy === 'object' && copy !== null && Object.hasOwnProperty.call(copy, keys[i])) { copy = copy[keys[i]]; } else { return; @@ -1702,7 +18417,7 @@ Validator.prototype = { if (ruleString.indexOf(':') >= 0) { ruleArray = ruleString.split(':'); rule.name = ruleArray[0]; - rule.value = ruleArray.slice(1).join(":"); + rule.value = ruleArray.slice(1).join(':'); } return rule; @@ -1988,5 +18703,5 @@ Validator.registerMissedRuleValidator = function(fn, message) { module.exports = Validator; -},{"./async":1,"./attributes":2,"./errors":3,"./lang":4,"./rules":7}]},{},[8])(8) -}); \ No newline at end of file +},{"./async":213,"./attributes":214,"./errors":215,"./lang":216,"./rules":219}]},{},[220])(220) +}); diff --git a/dist/validator.min.js b/dist/validator.min.js deleted file mode 100644 index 3a472158..00000000 --- a/dist/validator.min.js +++ /dev/null @@ -1 +0,0 @@ -/*! validatorjs - v3.15.0 - - 2019-03-28 */!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.Validator=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g0&&c<=6&&(a=a.replace(/\./g,"-"))}var e=new Date(a),f=e.getFullYear(),g=e.getMonth(),h=e.getDate(),i=[31,d(f)?29:28,31,30,31,30,31,31,30,31,30,31];return!(f<1e3)&&(!isNaN(g)&&(!(g+1>12)&&(!isNaN(h)&&(!(h>i[g])&&b))))}function f(a,b,c){this.name=a,this.fn=b,this.passes=null,this._customMessage=void 0,this.async=c}var g,h={required:function(a){var b;return void 0!==a&&null!==a&&(b=String(a).replace(/\s/g,""),b.length>0)},required_if:function(a,b,c){return b=this.getParameters(),this.validator._objectPath(this.validator.input,b[0])!==b[1]||this.validator.getRule("required").validate(a)},required_unless:function(a,b,c){return b=this.getParameters(),this.validator._objectPath(this.validator.input,b[0])===b[1]||this.validator.getRule("required").validate(a)},required_with:function(a,b,c){return!this.validator._objectPath(this.validator.input,b)||this.validator.getRule("required").validate(a)},required_with_all:function(a,b,c){b=this.getParameters();for(var d=0;d=b},max:function(a,b,c){var d=this.getSize();return d<=b},between:function(a,b,c){b=this.getParameters();var d=this.getSize(),e=parseFloat(b[0],10),f=parseFloat(b[1],10);return d>=e&&d<=f},email:function(a){var b=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return b.test(a)},numeric:function(a){var b;return b=Number(a),"number"==typeof b&&!isNaN(b)&&"boolean"!=typeof a},array:function(a){return a instanceof Array},url:function(a){return/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)/i.test(a)},alpha:function(a){return/^[a-zA-Z]+$/.test(a)},alpha_dash:function(a){return/^[a-zA-Z0-9_\-]+$/.test(a)},alpha_num:function(a){return/^[a-zA-Z0-9]+$/.test(a)},same:function(a,b){var c=this.validator._flattenObject(this.validator.input)[b],d=a;return c===d},different:function(a,b){var c=this.validator._flattenObject(this.validator.input)[b],d=a;return c!==d},"in":function(a,b){var c,d;if(a&&(c=this.getParameters()),a&&!(a instanceof Array)){var e=a;for(d=0;d=e&&d<=f)},regex:function(a,b){var c=/[g|i|m]{1,3}$/,d=b.match(c);return d=d?d[0]:"",b=b.replace(c,"").slice(1,-1),b=new RegExp(b,d),!!b.test(a)},date:function(a,b){return e(a)},present:function(a){return"undefined"!=typeof a},after:function(a,b){var c=this.validator.input[b],d=a;return!!e(c)&&(!!e(d)&&new Date(c).getTime()new Date(d).getTime())},before_or_equal:function(a,b){var c=this.validator.input[b],d=a;return!!e(c)&&(!!e(d)&&new Date(c).getTime()>=new Date(d).getTime())},hex:function(a){return/^[0-9a-f]+$/i.test(a)}},i=function(){throw new Error("Validator `"+this.name+"` is not defined!")};f.prototype={validate:function(a,b,c,d){var e=this;if(this._setValidatingData(c,a,b),"function"==typeof d){this.callback=d;var f=function(a,b){e.response(a,b)};return this.async?this._apply(a,b,c,f):f(this._apply(a,b,c))}return this._apply(a,b,c)},_apply:function(a,b,c,d){var e=this.isMissed()?i:this.fn;return e.apply(this,[a,b,c,d])},_setValidatingData:function(a,b,c){this.attribute=a,this.inputValue=b,this.ruleValue=c},getParameters:function(){var a=[];return"string"==typeof this.ruleValue&&(a=this.ruleValue.split(",")),"number"==typeof this.ruleValue&&a.push(this.ruleValue),this.ruleValue instanceof Array&&(a=this.ruleValue),a},getSize:function(){var a=this.inputValue;return a instanceof Array?a.length:"number"==typeof a?a:this.validator._hasNumericRule(this.attribute)?parseFloat(a,10):a.length},_getValueType:function(){return"number"==typeof this.inputValue||this.validator._hasNumericRule(this.attribute)?"numeric":"string"},response:function(a,b){this.passes=void 0===a||a===!0,this._customMessage=b,this.callback(this.passes,b)},setValidator:function(a){this.validator=a},isMissed:function(){return"function"!=typeof this.fn},get customMessage(){return this.isMissed()?g:this._customMessage}};var j={asyncRules:[],implicitRules:["required","required_if","required_unless","required_with","required_with_all","required_without","required_without_all","accepted","present"],make:function(a,b){var c=this.isAsync(a),d=new f(a,h[a],c);return d.setValidator(b),d},isAsync:function(a){for(var b=0,c=this.asyncRules.length;b-1},register:function(a,b){h[a]=b},registerImplicit:function(a,b){this.register(a,b),this.implicitRules.push(a)},registerAsync:function(a,b){this.register(a,b),this.asyncRules.push(a)},registerAsyncImplicit:function(a,b){this.registerImplicit(a,b),this.asyncRules.push(a)},registerMissedRuleValidator:function(a,b){i=a,g=b}};b.exports=j},{}],8:[function(a,b,c){var d=a("./rules"),e=a("./lang"),f=a("./errors"),g=a("./attributes"),h=a("./async"),i=function(a,b,c){var d=i.getDefaultLang();this.input=a||{},this.messages=e._make(d),this.messages._setCustom(c),this.setAttributeFormatter(i.prototype.attributeFormatter),this.errors=new f,this.errorCount=0,this.hasAsync=!1,this.rules=this._parseRules(b)};i.prototype={constructor:i,lang:"en",numericRules:["integer","numeric"],attributeFormatter:g.formatter,check:function(){for(var a in this.rules){var b=this.rules[a],c=this._objectPath(this.input,a);if(!this._hasRule(a,["sometimes"])||this._suppliedWithData(a))for(var d,e,f,g=0,h=b.length;g-1?this._parsedRulesRecurse(a,b,c,d):this._parseRulesDefault(a,b,c,d)},_parsedRulesRecurse:function(a,b,c,d){var e=a.substr(0,a.indexOf("*")-1),f=this._objectPath(this.input,e);if(f)for(var g=0;g=0&&(b=a.split(":"),c.name=b[0],c.value=b.slice(1).join(":")),c},_hasRule:function(a,b){for(var c=this.rules[a]||[],d=0,e=c.length;d-1)return!0;return!1},_hasNumericRule:function(a){return this._hasRule(a,this.numericRules)},_isValidatable:function(a,b){return!!d.isImplicit(a.name)||this.getRule("required").validate(b)},_shouldStopValidating:function(a,b){var c=this.stopOnAttributes;return"undefined"!=typeof c&&c!==!1&&b!==!0&&(!(c instanceof Array)||c.indexOf(a)>-1)},setAttributeNames:function(a){this.messages._setAttributeNames(a)},setAttributeFormatter:function(a){this.messages._setAttributeFormatter(a)},getRule:function(a){return d.make(a,this)},stopOnError:function(a){this.stopOnAttributes=a},passes:function(a){var b=this._checkAsync("passes",a);return b?this.checkAsync(a):this.check()},fails:function(a){var b=this._checkAsync("fails",a);return b?this.checkAsync(function(){},a):!this.check()},_checkAsync:function(a,b){var c="function"==typeof b;if(this.hasAsync&&!c)throw a+" expects a callback when async rules are being tested.";return this.hasAsync||c}},i.setMessages=function(a,b){return e._set(a,b),this},i.getMessages=function(a){return e._get(a)},i.useLang=function(a){this.prototype.lang=a},i.getDefaultLang=function(){return this.prototype.lang},i.setAttributeFormatter=function(a){this.prototype.attributeFormatter=a},i.stopOnError=function(a){this.prototype.stopOnAttributes=a},i.register=function(a,b,c){var f=i.getDefaultLang();d.register(a,b),e._setRuleMessage(f,a,c)},i.registerImplicit=function(a,b,c){var f=i.getDefaultLang();d.registerImplicit(a,b),e._setRuleMessage(f,a,c)},i.registerAsync=function(a,b,c){var f=i.getDefaultLang();d.registerAsync(a,b),e._setRuleMessage(f,a,c)},i.registerAsyncImplicit=function(a,b,c){var f=i.getDefaultLang();d.registerAsyncImplicit(a,b),e._setRuleMessage(f,a,c)},i.registerMissedRuleValidator=function(a,b){d.registerMissedRuleValidator(a,b)},b.exports=i},{"./async":1,"./attributes":2,"./errors":3,"./lang":4,"./rules":7}]},{},[8])(8)}); \ No newline at end of file diff --git a/karma.conf.js b/karma.conf.js index b2b5eedd..687f8bee 100755 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,17 +1,17 @@ -const puppeteer = require("puppeteer"); +const puppeteer = require('puppeteer'); process.env.CHROME_BIN = puppeteer.executablePath(); module.exports = function(config) { config.set({ // base path that will be used to resolve all patterns (eg. files, exclude) - basePath: "", + basePath: '', // frameworks to use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ["mocha", "chai"], + frameworks: ['mocha', 'chai'], // list of files / patterns to load in the browser - files: ["dist/validator.js", "spec/*.js"], + files: ['dist/validator.js', 'spec/*.js'], // list of files to exclude exclude: [], @@ -19,13 +19,13 @@ module.exports = function(config) { // preprocess matching files before serving them to the browser // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor preprocessors: { - "dist/validator.js": ["coverage"] + 'dist/validator.js': ['coverage'] }, // test results reporter to use // possible values: 'dots', 'progress' // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ["progress", "coverage", "growl-notifications"], + reporters: ['mocha', 'coverage', 'growl-notifications'], // web server port port: 9876, @@ -42,7 +42,7 @@ module.exports = function(config) { // start these browsers // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: ["ChromeHeadless"], + browsers: ['ChromeHeadless'], // Continuous Integration mode // if true, Karma captures browsers, runs the tests and exits diff --git a/package-lock.json b/package-lock.json old mode 100755 new mode 100644 index 4d3c3cff..d082e867 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,33 @@ { "name": "validatorjs", - "version": "3.15.0", + "version": "3.16.1", "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/highlight": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, "JSONStream": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", - "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "dev": true, "requires": { "jsonparse": "^1.2.0", @@ -32,13 +52,13 @@ "dependencies": { "mime-db": { "version": "1.12.0", - "resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=", "dev": true }, "mime-types": { "version": "2.0.14", - "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=", "dev": true, "requires": { @@ -48,9 +68,32 @@ } }, "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz", + "integrity": "sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==", + "dev": true + }, + "acorn-jsx": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz", + "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "acorn-walk": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", + "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==", "dev": true }, "after": { @@ -60,70 +103,78 @@ "dev": true }, "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "dev": true, "requires": { "es6-promisify": "^5.0.0" } }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "optional": true + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true }, "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } }, "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" } }, "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true }, "arr-flatten": { "version": "1.1.0", @@ -131,10 +182,16 @@ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, - "array-filter": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", - "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", "dev": true }, "array-find-index": { @@ -143,28 +200,16 @@ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", "dev": true }, - "array-map": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", - "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", - "dev": true - }, - "array-reduce": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", - "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", - "dev": true - }, "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", "dev": true }, "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "arraybuffer.slice": { @@ -174,9 +219,9 @@ "dev": true }, "asn1.js": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", - "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { "bn.js": "^4.0.0", @@ -185,12 +230,30 @@ } }, "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "requires": { + "object-assign": "^4.1.1", "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } } }, "assertion-error": { @@ -199,14 +262,17 @@ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, - "astw": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz", - "integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=", - "dev": true, - "requires": { - "acorn": "^4.0.3" - } + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true }, "async": { "version": "1.5.2", @@ -215,15 +281,21 @@ "dev": true }, "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true }, "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, "backo2": { @@ -238,6 +310,61 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "base64-arraybuffer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz", @@ -245,9 +372,9 @@ "dev": true }, "base64-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", "dev": true }, "base64id": { @@ -258,7 +385,7 @@ }, "benchmark": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz", "integrity": "sha1-Lx4vpMNZ8REiqhgwgiGOlX45DHM=", "dev": true }, @@ -272,21 +399,21 @@ } }, "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, "blob": { "version": "0.0.4", - "resolved": "http://registry.npmjs.org/blob/-/blob-0.0.4.tgz", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", "dev": true }, "bluebird": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz", - "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==", + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", "dev": true }, "bn.js": { @@ -313,12 +440,27 @@ "type-is": "~1.6.10" }, "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, "iconv-lite": { "version": "0.4.13", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", "dev": true }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, "qs": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz", @@ -328,9 +470,9 @@ } }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -338,14 +480,32 @@ } }, "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "brorand": { @@ -355,9 +515,9 @@ "dev": true }, "browser-pack": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.3.tgz", - "integrity": "sha512-Jo+RYsn8X8OhyP9tMXXg0ueR2fW696HUu1Hf3/DeiwNean1oGiPtdgGRNuUHBpPHzBH3x4n1kzAlgOgHSIq88g==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", "dev": true, "requires": { "JSONStream": "^1.0.3", @@ -369,9 +529,9 @@ } }, "browser-resolve": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", - "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, "requires": { "resolve": "1.1.7" @@ -438,12 +598,20 @@ "util": "~0.10.1", "vm-browserify": "~0.0.1", "xtend": "^4.0.0" + }, + "dependencies": { + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } } }, "browserify-aes": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", - "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { "buffer-xor": "^1.0.3", @@ -466,9 +634,9 @@ } }, "browserify-cipher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { "browserify-aes": "^1.0.4", @@ -477,14 +645,15 @@ } }, "browserify-des": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "requires": { "cipher-base": "^1.0.1", "des.js": "^1.0.0", - "inherits": "^2.0.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "browserify-incremental": { @@ -596,12 +765,6 @@ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", @@ -614,10 +777,27 @@ "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=", "dev": true }, - "cached-path-relative": { + "cache-base": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz", - "integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cached-path-relative": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz", + "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==", "dev": true }, "callsite": { @@ -626,32 +806,6 @@ "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", "dev": true }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, "chai": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", @@ -664,33 +818,48 @@ } }, "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "^3.2.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.2.0" } }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } } }, "cipher-base": { @@ -703,33 +872,81 @@ "safe-buffer": "^5.0.1" } }, - "cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "exit": "0.1.2", - "glob": "^7.1.1" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } } }, - "cliui": { + "cli-cursor": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" + "restore-cursor": "^2.0.0" } }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, "coffee-script": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz", "integrity": "sha1-EpOLz5vhlI+gBvkuDEyegXBRCMA=", "dev": true }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", @@ -743,14 +960,6 @@ "dev": true, "requires": { "lodash": "^4.5.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "dev": true - } } }, "combine-source-map": { @@ -766,10 +975,11 @@ } }, "commander": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", - "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=", - "dev": true + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true, + "optional": true }, "component-bind": { "version": "1.0.0", @@ -778,9 +988,9 @@ "dev": true }, "component-emitter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", - "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, "component-inherit": { @@ -806,6 +1016,12 @@ "typedarray": "~0.0.5" }, "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, "readable-stream": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", @@ -819,18 +1035,24 @@ "string_decoder": "~0.10.x", "util-deprecate": "~1.0.1" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, "connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "requires": { "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", "utils-merge": "1.0.1" }, "dependencies": { @@ -878,10 +1100,16 @@ "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=", "dev": true }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", "dev": true }, "core-util-is": { @@ -891,9 +1119,9 @@ "dev": true }, "create-ecdh": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -901,21 +1129,22 @@ } }, "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", - "ripemd160": "^2.0.0", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", "sha.js": "^2.4.0" } }, "create-hmac": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { "cipher-base": "^1.0.3", @@ -926,6 +1155,27 @@ "sha.js": "^2.4.8" } }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -960,12 +1210,23 @@ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, + "dash-ast": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", + "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==", + "dev": true + }, "data-uri-to-buffer": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-0.0.4.tgz", "integrity": "sha1-RuE6udqOMJdFyNAc5UchPr2y/j8=", "dev": true }, + "date-fns": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.0.1.tgz", + "integrity": "sha512-C14oTzTZy8DH1Eq8N78owrCWvf3+cnJw88BTK/N3DYWVxDJuJzPaNdplzYxDYuuXXGvqBcO4Vy5SOrwAooXSWw==" + }, "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", @@ -980,16 +1241,186 @@ "requires": { "get-stdin": "^4.0.1", "meow": "^3.3.0" - } - }, - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - } + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + } + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } }, "decamelize": { "version": "1.2.0", @@ -997,6 +1428,12 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, "deep-eql": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", @@ -1020,6 +1457,47 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "defined": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", @@ -1054,6 +1532,12 @@ "minimalistic-assert": "^1.0.0" } }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, "detective": { "version": "4.7.1", "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", @@ -1065,9 +1549,9 @@ }, "dependencies": { "acorn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz", - "integrity": "sha512-Yej+zOJ1Dm/IMZzzj78OntP/r3zHEaKcyNoU2lAaxPtrseM6rF0xwqoz5Q5ysAiED9hTjI2hgtvLXitlCN1/Ug==", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", "dev": true } } @@ -1085,9 +1569,9 @@ "dev": true }, "diffie-hellman": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { "bn.js": "^4.1.0", @@ -1095,6 +1579,15 @@ "randombytes": "^2.0.0" } }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, "dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", @@ -1107,61 +1600,12 @@ "void-elements": "^2.0.0" } }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, - "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", - "dev": true - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true - } - } - }, "domain-browser": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", "dev": true }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -1178,9 +1622,9 @@ "dev": true }, "elliptic": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", + "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -1192,12 +1636,27 @@ "minimalistic-crypto-utils": "^1.0.0" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, "engine.io": { "version": "1.6.10", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.6.10.tgz", @@ -1209,6 +1668,23 @@ "debug": "2.2.0", "engine.io-parser": "1.2.4", "ws": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } } }, "engine.io-client": { @@ -1229,6 +1705,29 @@ "ws": "1.0.1", "xmlhttprequest-ssl": "1.5.1", "yeast": "0.1.2" + }, + "dependencies": { + "component-emitter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", + "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } } }, "engine.io-parser": { @@ -1268,30 +1767,24 @@ "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", "dev": true }, - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", - "dev": true - }, "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, "es6-promise": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", "dev": true }, "es6-promisify": { "version": "5.0.0", - "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "requires": { @@ -1323,6 +1816,18 @@ "source-map": "~0.2.0" }, "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true + }, "source-map": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", @@ -1335,22 +1840,138 @@ } } }, + "eslint": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.8.0.tgz", + "integrity": "sha512-Zok6Bru3y2JprqTNm14mgQ15YQu/SMDkWdnmHfFg770DIUlmMFd/gqqzCHekxzjHZJxXv3tmTpH0C1icaYJsRQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.5.3", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "imurmurhash": "^0.1.4", + "inquirer": "^6.1.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.12.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.0.2", + "text-table": "^0.2.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", + "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.0.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "espree": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz", + "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==", + "dev": true, + "requires": { + "acorn": "^6.0.2", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + }, + "dependencies": { + "acorn": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "dev": true + } + } + }, "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "eventemitter2": { @@ -1360,9 +1981,9 @@ "dev": true }, "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", "dev": true }, "events": { @@ -1398,6 +2019,18 @@ "braces": "^0.1.2" }, "dependencies": { + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, "braces": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz", @@ -1432,36 +2065,216 @@ } }, "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - } - }, - "extend": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + }, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, "extract-zip": { @@ -1505,6 +2318,18 @@ } } }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", @@ -1530,13 +2355,22 @@ } }, "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "filename-regex": { @@ -1546,30 +2380,40 @@ "dev": true }, "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", "unpipe": "~1.0.0" }, "dependencies": { @@ -1587,25 +2431,9 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true } } }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, "findup-sync": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", @@ -1630,29 +2458,65 @@ } } }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "follow-redirects": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", - "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.8.1.tgz", + "integrity": "sha512-micCIbldHioIegeKs41DoH0KS3AXfFzgS30qVkM6z/XOE/GJgvmsoc839NUqa1B9udYe9dQxgv7KFwng6+p/dw==", "dev": true, "requires": { - "debug": "=3.1.0" + "debug": "^3.0.0" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, @@ -1663,14 +2527,23 @@ "dev": true }, "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { "for-in": "^1.0.1" } }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, "fs-access": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", @@ -1687,45 +2560,36 @@ "dev": true }, "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", "dev": true, "optional": true, "requires": { - "nan": "^2.3.0", - "node-pre-gyp": "^0.6.39" + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" }, "dependencies": { "abbrev": { - "version": "1.1.0", + "version": "1.1.1", "bundled": true, "dev": true, "optional": true }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" - } - }, "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { - "version": "1.1.1", + "version": "1.2.0", "bundled": true, "dev": true, "optional": true }, "are-we-there-yet": { - "version": "1.1.4", + "version": "1.1.5", "bundled": true, "dev": true, "optional": true, @@ -1734,88 +2598,24 @@ "readable-stream": "^2.0.6" } }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "optional": true - }, "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "~2.0.0" - } - }, - "boom": { - "version": "2.10.1", + "version": "1.0.0", "bundled": true, "dev": true, - "requires": { - "hoek": "2.x.x" - } + "optional": true }, "brace-expansion": { - "version": "1.1.7", + "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { - "balanced-match": "^0.4.1", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", + "chownr": { + "version": "1.1.1", "bundled": true, "dev": true, "optional": true @@ -1823,76 +2623,42 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.x.x" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, "dev": true, - "optional": true, - "requires": { - "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } + "optional": true }, "debug": { - "version": "2.6.8", + "version": "4.1.1", "bundled": true, "dev": true, "optional": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "deep-extend": { - "version": "0.4.2", + "version": "0.6.0", "bundled": true, "dev": true, "optional": true }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, "delegates": { "version": "1.0.0", "bundled": true, @@ -1900,74 +2666,25 @@ "optional": true }, "detect-libc": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", + "version": "1.0.3", "bundled": true, "dev": true, "optional": true }, - "form-data": { - "version": "2.1.4", + "fs-minipass": { + "version": "1.2.5", "bundled": true, "dev": true, "optional": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" + "minipass": "^2.2.1" } }, "fs.realpath": { "version": "1.0.0", "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, "dev": true, - "optional": true, - "requires": { - "fstream": "^1.0.0", - "inherits": "2", - "minimatch": "^3.0.0" - } + "optional": true }, "gauge": { "version": "2.7.4", @@ -1985,27 +2702,11 @@ "wide-align": "^1.1.0" } }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, "glob": { - "version": "7.1.2", + "version": "7.1.3", "bundled": true, "dev": true, + "optional": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2015,64 +2716,35 @@ "path-is-absolute": "^1.0.0" } }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ajv": "^4.9.1", - "har-schema": "^1.0.5" - } - }, "has-unicode": { "version": "2.0.1", "bundled": true, "dev": true, "optional": true }, - "hawk": { - "version": "3.1.3", + "iconv-lite": { + "version": "0.4.24", "bundled": true, "dev": true, + "optional": true, "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" + "safer-buffer": ">= 2.1.2 < 3" } }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "http-signature": { - "version": "1.1.1", + "ignore-walk": { + "version": "3.0.1", "bundled": true, "dev": true, "optional": true, "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "minimatch": "^3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, "dev": true, + "optional": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -2081,10 +2753,11 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { - "version": "1.3.4", + "version": "1.3.5", "bundled": true, "dev": true, "optional": true @@ -2093,146 +2766,93 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, "isarray": { "version": "1.0.0", "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, "dev": true, "optional": true }, - "jodid25519": { - "version": "1.0.2", + "minimatch": { + "version": "3.0.4", "bundled": true, "dev": true, "optional": true, "requires": { - "jsbn": "~0.1.0" + "brace-expansion": "^1.1.7" } }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", + "minimist": { + "version": "0.0.8", "bundled": true, "dev": true, "optional": true }, - "json-stable-stringify": { - "version": "1.0.1", + "minipass": { + "version": "2.3.5", "bundled": true, "dev": true, "optional": true, "requires": { - "jsonify": "~0.0.0" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", + "minizlib": { + "version": "1.2.1", "bundled": true, "dev": true, "optional": true, "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "~1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" + "minipass": "^2.2.1" } }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, "mkdirp": { "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } }, "ms": { - "version": "2.0.0", + "version": "2.1.1", "bundled": true, "dev": true, "optional": true }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, "node-pre-gyp": { - "version": "0.6.39", + "version": "0.12.0", "bundled": true, "dev": true, "optional": true, "requires": { "detect-libc": "^1.0.2", - "hawk": "3.1.3", "mkdirp": "^0.5.1", + "needle": "^2.2.1", "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", "npmlog": "^4.0.2", - "rc": "^1.1.7", - "request": "2.81.0", + "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", - "tar": "^2.2.1", - "tar-pack": "^3.4.0" + "tar": "^4" } }, "nopt": { @@ -2245,8 +2865,24 @@ "osenv": "^0.1.4" } }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, "npmlog": { - "version": "4.1.0", + "version": "4.1.2", "bundled": true, "dev": true, "optional": true, @@ -2257,13 +2893,8 @@ "set-blocking": "~2.0.0" } }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", + "number-is-nan": { + "version": "1.0.1", "bundled": true, "dev": true, "optional": true @@ -2278,6 +2909,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -2295,7 +2927,7 @@ "optional": true }, "osenv": { - "version": "0.1.4", + "version": "0.1.5", "bundled": true, "dev": true, "optional": true, @@ -2307,38 +2939,22 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, "dev": true, "optional": true }, "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", + "version": "2.0.0", "bundled": true, "dev": true, "optional": true }, "rc": { - "version": "1.2.1", + "version": "1.2.8", "bundled": true, "dev": true, "optional": true, "requires": { - "deep-extend": "~0.4.0", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" @@ -2353,64 +2969,49 @@ } }, "readable-stream": { - "version": "2.2.9", + "version": "2.3.6", "bundled": true, "dev": true, + "optional": true, "requires": { - "buffer-shims": "~1.0.0", "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, - "request": { - "version": "2.81.0", + "rimraf": { + "version": "2.6.3", "bundled": true, "dev": true, "optional": true, "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~4.2.1", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "performance-now": "^0.2.0", - "qs": "~6.4.0", - "safe-buffer": "^5.0.1", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.0.0" + "glob": "^7.1.3" } }, - "rimraf": { - "version": "2.6.1", + "safe-buffer": { + "version": "5.1.2", "bundled": true, "dev": true, - "requires": { - "glob": "^7.0.5" - } + "optional": true }, - "safe-buffer": { - "version": "5.0.1", + "safer-buffer": { + "version": "2.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true }, "semver": { - "version": "5.3.0", + "version": "5.7.0", "bundled": true, "dev": true, "optional": true @@ -2427,43 +3028,11 @@ "dev": true, "optional": true }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.x.x" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jodid25519": "^1.0.0", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, "string-width": { "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -2471,23 +3040,19 @@ } }, "string_decoder": { - "version": "1.0.1", + "version": "1.1.1", "bundled": true, "dev": true, + "optional": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "~5.1.0" } }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "optional": true - }, "strip-ansi": { "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -2499,94 +3064,46 @@ "optional": true }, "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^2.2.0", - "fstream": "^1.0.10", - "fstream-ignore": "^1.0.5", - "once": "^1.3.3", - "readable-stream": "^2.1.4", - "rimraf": "^2.5.1", - "tar": "^2.2.1", - "uid-number": "^0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", + "version": "4.4.8", "bundled": true, "dev": true, "optional": true, "requires": { - "punycode": "^1.4.1" + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" } }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "optional": true - }, "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, "dev": true, "optional": true }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, "wide-align": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true, "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "optional": true } } }, @@ -2596,19 +3113,31 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, "gaze": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", - "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, "requires": { "globule": "^1.0.0" } }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, "getobject": { @@ -2618,9 +3147,9 @@ "dev": true }, "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -2639,40 +3168,100 @@ "requires": { "glob-parent": "^2.0.0", "is-glob": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } } }, "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" } }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, "globule": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", - "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", "dev": true, "requires": { "glob": "~7.1.1", - "lodash": "~4.17.4", + "lodash": "~4.17.10", "minimatch": "~3.0.2" - }, - "dependencies": { - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - } } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", "dev": true }, "growl": { @@ -2705,6 +3294,12 @@ "rimraf": "~2.2.8" }, "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, "glob": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", @@ -2718,17 +3313,51 @@ "once": "^1.3.0", "path-is-absolute": "^1.0.0" } + }, + "grunt-cli": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", + "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", + "dev": true, + "requires": { + "findup-sync": "~0.3.0", + "grunt-known-options": "~1.1.0", + "nopt": "~3.0.6", + "resolve": "~1.1.0" + } + }, + "js-yaml": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", + "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", + "dev": true, + "requires": { + "argparse": "^1.0.2", + "esprima": "^2.6.0" + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + }, + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "dev": true } } }, "grunt-browserify": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-5.2.0.tgz", - "integrity": "sha512-q2KKJiXiwgew6+iR3GN44Pbee7jpCxdDnIDnkShQw7fCHWEoSWHnOc4jm4lgoCaHFjVXK3O1di3WHsMF3W6BGw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-5.3.0.tgz", + "integrity": "sha1-R/2M+LrFj+LeaDr9xX9/OoDKeS0=", "dev": true, "requires": { "async": "^2.5.0", - "browserify": "^14.4.0", + "browserify": "^16.0.0", "browserify-incremental": "^3.1.1", "glob": "^7.1.2", "lodash": "^4.17.4", @@ -2737,18 +3366,26 @@ }, "dependencies": { "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "dev": true, "requires": { - "lodash": "^4.14.0" + "lodash": "^4.17.14" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } } }, "browserify": { - "version": "14.5.0", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-14.5.0.tgz", - "integrity": "sha512-gKfOsNQv/toWz+60nSPfYzuwSEdzvV2WdxrVPUbPD/qui44rAkB3t3muNtmmGYHqrG56FGwX9SUEQmzNLAeS7g==", + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.0.tgz", + "integrity": "sha512-6bfI3cl76YLAnCZ75AGu/XPOsqUhRyc0F/olGIJeCxtfxF2HvPKEcmjU9M8oAPxl4uBY1U7Nry33Q6koV3f2iw==", "dev": true, "requires": { "JSONStream": "^1.0.3", @@ -2758,15 +3395,15 @@ "browserify-zlib": "~0.2.0", "buffer": "^5.0.2", "cached-path-relative": "^1.0.0", - "concat-stream": "~1.5.1", + "concat-stream": "^1.6.0", "console-browserify": "^1.1.0", "constants-browserify": "~1.0.0", "crypto-browserify": "^3.0.0", "defined": "^1.0.0", "deps-sort": "^2.0.0", - "domain-browser": "~1.1.0", + "domain-browser": "^1.2.0", "duplexer2": "~0.1.2", - "events": "~1.1.0", + "events": "^2.0.0", "glob": "^7.1.0", "has": "^1.0.0", "htmlescape": "^1.1.0", @@ -2774,7 +3411,8 @@ "inherits": "~2.0.1", "insert-module-globals": "^7.0.0", "labeled-stream-splicer": "^2.0.0", - "module-deps": "^4.0.8", + "mkdirp": "^0.5.0", + "module-deps": "^6.0.0", "os-browserify": "~0.3.0", "parents": "^1.0.1", "path-browserify": "~0.0.0", @@ -2787,16 +3425,16 @@ "shasum": "^1.0.0", "shell-quote": "^1.6.1", "stream-browserify": "^2.0.0", - "stream-http": "^2.0.0", - "string_decoder": "~1.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", "subarg": "^1.0.0", "syntax-error": "^1.1.1", "through2": "^2.0.0", "timers-browserify": "^1.0.1", - "tty-browserify": "~0.0.0", + "tty-browserify": "0.0.1", "url": "~0.11.0", "util": "~0.10.1", - "vm-browserify": "~0.0.1", + "vm-browserify": "^1.0.0", "xtend": "^4.0.0" } }, @@ -2810,26 +3448,78 @@ } }, "buffer": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.8.tgz", - "integrity": "sha512-xXvjQhVNz50v2nPeoOsNqWCLGfiv4ji/gXZM28jnVwdLJxH4mFyqgqCKfaK9zf1KUbG6zTkjLOy7ou+jSMarGA==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.2.tgz", + "integrity": "sha512-iy9koArjAFCzGnx3ZvNA6Z0clIbbFgbdWQ0mKD3hO0krOrZh8UgA6qMKcZvwLJxS+D6iVR76+5/pV56yMNYTag==", "dev": true, "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" } }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "dev": true + }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true + "module-deps": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.1.tgz", + "integrity": "sha512-UnEn6Ah36Tu4jFiBbJVUtt0h+iXqxpLqDvPS8nllbw5RZFmNJ1+Mz5BjYnM9ieH80zyxHkARGLnMIHlPK5bu6A==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "browser-resolve": "^1.7.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.0.2", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + } }, "os-browserify": { "version": "0.3.0", @@ -2838,39 +3528,66 @@ "dev": true }, "pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", "dev": true }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "stream-http": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.0.tgz", + "integrity": "sha512-cuB6RgO7BqC4FBYzmnvhob5Do3wIdIsXAgGycHJnW+981gHqoYcYz9lqjJrk8WXRddbwPuqPYRl+bag6mYv4lw==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^3.0.6", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } + }, + "vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true } } }, "grunt-cli": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", - "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz", + "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==", "dev": true, - "requires": { - "findup-sync": "~0.3.0", - "grunt-known-options": "~1.1.0", - "nopt": "~3.0.6", - "resolve": "~1.1.0" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true + "requires": { + "grunt-known-options": "~1.1.0", + "interpret": "~1.1.0", + "liftoff": "~2.5.0", + "nopt": "~4.0.1", + "v8flags": "~3.1.1" + }, + "dependencies": { + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } } } }, @@ -2882,85 +3599,78 @@ "requires": { "chalk": "^1.0.0", "source-map": "^0.5.3" - } - }, - "grunt-contrib-jshint": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.0.0.tgz", - "integrity": "sha1-MPQFpR3mVr+m6wKbmkZLn+AqQCo=", - "dev": true, - "requires": { - "chalk": "^1.1.1", - "hooker": "^0.2.3", - "jshint": "~2.9.1" - } - }, - "grunt-contrib-uglify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-1.0.1.tgz", - "integrity": "sha1-rWhBG5Y7mWYSEfdvRmve3tT7B6w=", - "dev": true, - "requires": { - "chalk": "^1.0.0", - "lodash": "^4.0.1", - "maxmin": "^1.1.0", - "uglify-js": "~2.6.2", - "uri-path": "^1.0.0" }, "dependencies": { - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true } } }, "grunt-contrib-watch": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz", - "integrity": "sha1-hKGnodar0m7VaEE0lscxM+mQAY8=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.1.tgz", + "integrity": "sha512-8Zka/svGl6+ZwF7d6z/CfXwsb4cDODnajmZsY4nUAs9Ob0kJEcsLiDf5qm2HdDoEcm3NHjWCrFiWx+PZ2y4D7A==", "dev": true, "requires": { "async": "^1.5.0", - "gaze": "^1.0.0", - "lodash": "^3.10.1", + "gaze": "^1.1.0", + "lodash": "^4.0.0", "tiny-lr": "^0.2.1" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - } } }, "grunt-known-options": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz", - "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz", + "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==", "dev": true }, "grunt-legacy-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz", - "integrity": "sha1-+4bxgJhHvAfcR4Q/ns1srLYt8tU=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.2.tgz", + "integrity": "sha512-WdedTJ/6zCXnI/coaouzqvkI19uwqbcPkdsXiDRKJyB5rOUlOxnCnTVbpeUdEckKVir2uHF3rDBYppj2p6N3+g==", "dev": true, "requires": { "colors": "~1.1.2", "grunt-legacy-log-utils": "~1.0.0", "hooker": "~0.2.3", - "lodash": "~3.10.1", - "underscore.string": "~3.2.3" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - } + "lodash": "~4.17.5" } }, "grunt-legacy-log-utils": { @@ -2973,11 +3683,51 @@ "lodash": "~4.3.0" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, "lodash": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz", "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=", "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true } } }, @@ -3001,49 +3751,45 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz", "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=", "dev": true + }, + "which": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, - "gzip-size": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz", - "integrity": "sha1-Zs+LEBBHInuVus5uodoMF37Vwi8=", - "dev": true, - "requires": { - "browserify-zlib": "^0.1.4", - "concat-stream": "^1.4.1" - } - }, "handlebars": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", - "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", + "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", "dev": true, "requires": { - "async": "^1.4.0", + "neo-async": "^2.6.0", "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" }, "dependencies": { "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "^1.0.2" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -3053,6 +3799,14 @@ "dev": true, "requires": { "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } } }, "has-binary": { @@ -3079,28 +3833,61 @@ "dev": true }, "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "^2.0.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "requires": { "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" + "minimalistic-assert": "^1.0.1" } }, "hat": { @@ -3120,6 +3907,15 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, "hooker": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", @@ -3127,9 +3923,9 @@ "dev": true }, "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", + "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==", "dev": true }, "htmlescape": { @@ -3138,39 +3934,6 @@ "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", "dev": true }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "dev": true, - "requires": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, "http-errors": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", @@ -3182,9 +3945,9 @@ } }, "http-parser-js": { - "version": "0.4.9", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz", - "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", "dev": true }, "http-proxy": { @@ -3205,12 +3968,12 @@ "dev": true }, "https-proxy-agent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", - "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz", + "integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==", "dev": true, "requires": { - "agent-base": "^4.1.0", + "agent-base": "^4.3.0", "debug": "^3.1.0" }, "dependencies": { @@ -3222,35 +3985,35 @@ "requires": { "ms": "^2.1.1" } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true } } }, "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", - "dev": true + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } }, "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", "dev": true }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true }, "indexof": { "version": "0.0.1", @@ -3269,9 +4032,15 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, "inline-source-map": { @@ -3283,32 +4052,125 @@ "source-map": "~0.5.3" } }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, "insert-module-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz", - "integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM=", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", + "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", "dev": true, "requires": { "JSONStream": "^1.0.3", - "combine-source-map": "~0.7.1", - "concat-stream": "~1.5.1", + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", "is-buffer": "^1.1.0", - "lexical-scope": "^1.2.0", + "path-is-absolute": "^1.0.1", "process": "~0.11.0", "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", "xtend": "^4.0.0" }, "dependencies": { - "combine-source-map": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz", - "integrity": "sha1-CHAxKFazB6h8xKxIbzqaYq7MwJ4=", + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + } + } + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "convert-source-map": "~1.1.0", - "inline-source-map": "~0.6.0", - "lodash.memoize": "~3.0.3", - "source-map": "~0.5.3" + "is-buffer": "^1.1.5" } } } @@ -3334,13 +4196,43 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } } }, "is-dotfile": { @@ -3365,9 +4257,9 @@ "dev": true }, "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-finite": { @@ -3379,22 +4271,48 @@ "number-is-nan": "^1.0.0" } }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "^2.1.1" } }, "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" } }, "is-posix-bracket": { @@ -3409,12 +4327,48 @@ "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", "dev": true }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -3437,13 +4391,10 @@ "dev": true }, "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true }, "istanbul": { "version": "0.4.5", @@ -3473,6 +4424,12 @@ "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", "dev": true }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, "glob": { "version": "5.0.15", "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", @@ -3486,6 +4443,12 @@ "path-is-absolute": "^1.0.0" } }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, "resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", @@ -3500,12 +4463,6 @@ "requires": { "has-flag": "^1.0.0" } - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true } } }, @@ -3545,39 +4502,27 @@ "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", "dev": true }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, "js-yaml": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", - "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "dev": true, "requires": { - "argparse": "^1.0.2", - "esprima": "^2.6.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, - "jshint": { - "version": "2.9.5", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz", - "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=", - "dev": true, - "requires": { - "cli": "~1.0.0", - "console-browserify": "1.1.x", - "exit": "0.1.x", - "htmlparser2": "3.8.x", - "lodash": "3.7.x", - "minimatch": "~3.0.2", - "shelljs": "0.3.x", - "strip-json-comments": "1.0.x" - }, - "dependencies": { - "lodash": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz", - "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=", - "dev": true - } - } + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "json-stable-stringify": { "version": "0.0.1", @@ -3588,6 +4533,12 @@ "jsonify": "~0.0.0" } }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "json3": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/json3/-/json3-3.2.6.tgz", @@ -3607,9 +4558,9 @@ "dev": true }, "karma": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/karma/-/karma-1.1.0.tgz", - "integrity": "sha1-Z5O1wxnHr3PytD1Gb1CTo7mgGrg=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/karma/-/karma-1.1.2.tgz", + "integrity": "sha1-eM0J4KfTghxiMpH9Hsm61al2PIU=", "dev": true, "requires": { "bluebird": "^3.3.0", @@ -3639,37 +4590,169 @@ "useragent": "^2.1.9" }, "dependencies": { + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "requires": { + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "tmp": { + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", + "integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=", "dev": true, "requires": { - "glob": "^7.0.5" + "os-tmpdir": "~1.0.1" } } } }, "karma-browserify": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/karma-browserify/-/karma-browserify-5.1.3.tgz", - "integrity": "sha1-m7/vgGUUu4hm8PDWDUVMzyvAc10=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/karma-browserify/-/karma-browserify-5.3.0.tgz", + "integrity": "sha512-EMaUd1RNyQVGTETI80dtX/fEtYs57/A5sl3rClvzJFImPW1s3EtsbESfqNtk7/OkzfYuAHLh4RSZSSbVgvhNdQ==", "dev": true, "requires": { "convert-source-map": "^1.1.3", "hat": "^0.0.3", "js-string-escape": "^1.0.0", - "lodash": "^3.10.1", + "lodash": "^4.17.10", "minimatch": "^3.0.0", "os-shim": "^0.1.3" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - } } }, "karma-chai": { @@ -3715,40 +4798,33 @@ "integrity": "sha1-As5ZtO6AwzZfCHZYYfEUrdhZGEs=", "dev": true }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "karma-mocha-reporter": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz", + "integrity": "sha1-FRIAlejtgZGG5HoLAS8810GJVWA=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "strip-ansi": "^4.0.0" } }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, "labeled-stream-splicer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz", - "integrity": "sha1-pS4dE4AkwAuGscDJH2d5GLiuClk=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz", + "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==", "dev": true, "requires": { "inherits": "^2.0.1", - "isarray": "~0.0.1", "stream-splicer": "^2.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - } } }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -3759,38 +4835,55 @@ "type-check": "~0.3.2" } }, - "lexical-scope": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz", - "integrity": "sha1-/Ope3HBKSzqHls3KQZw6CvryLfQ=", + "liftoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", + "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", "dev": true, "requires": { - "astw": "^2.0.0" + "extend": "^3.0.0", + "findup-sync": "^2.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } } }, "livereload-js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz", - "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", + "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==", "dev": true }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, "lodash": { - "version": "3.10.1", - "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", "dev": true }, "lodash.memoize": { @@ -3799,9 +4892,18 @@ "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=", "dev": true }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, "log4js": { "version": "0.6.38", - "resolved": "http://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz", "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=", "dev": true, "requires": { @@ -3817,7 +4919,7 @@ }, "readable-stream": { "version": "1.0.34", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { @@ -3829,18 +4931,18 @@ }, "semver": { "version": "4.3.6", - "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", "dev": true + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, "loud-rejection": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", @@ -3852,49 +4954,54 @@ } }, "lru-cache": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz", - "integrity": "sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0=", - "dev": true + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } }, - "map-obj": { + "make-iterator": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, - "maxmin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz", - "integrity": "sha1-cTZehKmd2Piz99X94vANHn9zvmE=", + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "chalk": "^1.0.0", - "figures": "^1.0.1", - "gzip-size": "^1.0.0", - "pretty-bytes": "^1.0.0" + "object-visit": "^1.0.0" } }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true + }, "md5.js": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "requires": { "hash-base": "^3.0.0", - "inherits": "^2.0.1" - }, - "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - } + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "media-typer": { @@ -3903,43 +5010,25 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "miller-rabin": { @@ -3959,24 +5048,30 @@ "dev": true }, "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", "dev": true }, "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", "dev": true, "requires": { - "mime-db": "~1.30.0" + "mime-db": "1.40.0" } }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, "minimalistic-assert": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, "minimalistic-crypto-utils": { @@ -3994,12 +5089,33 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", @@ -4035,6 +5151,21 @@ "to-iso-string": "0.0.2" }, "dependencies": { + "commander": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", + "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, "escape-string-regexp": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", @@ -4057,6 +5188,12 @@ "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", "dev": true }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, "minimatch": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", @@ -4067,6 +5204,12 @@ "sigmund": "~1.0.0" } }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, "supports-color": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", @@ -4091,10 +5234,50 @@ "stack-trace": "0.0.9" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, "diff": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz", - "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true } } @@ -4123,24 +5306,67 @@ } }, "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", "dev": true, "optional": true }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, "negotiator": { "version": "0.4.9", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.9.tgz", "integrity": "sha1-kuRrbbU8fkIe1koryU8IvnYw3z8=", "dev": true }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -4151,15 +5377,23 @@ } }, "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", + "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, "normalize-path": { @@ -4195,6 +5429,68 @@ "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", "dev": true }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", @@ -4203,6 +5499,26 @@ "requires": { "for-own": "^0.1.4", "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + } + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" } }, "on-finished": { @@ -4223,6 +5539,15 @@ "wrappy": "1" } }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", @@ -4238,6 +5563,12 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true } } }, @@ -4253,14 +5584,6 @@ "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "wordwrap": "~1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } } }, "options": { @@ -4275,6 +5598,12 @@ "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ=", "dev": true }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, "os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", @@ -4287,6 +5616,16 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, "outpipe": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz", @@ -4312,16 +5651,28 @@ } }, "parse-asn1": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", "dev": true, "requires": { "asn1.js": "^4.0.0", "browserify-aes": "^1.0.0", "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" } }, "parse-glob": { @@ -4334,16 +5685,30 @@ "is-dotfile": "^1.0.0", "is-extglob": "^1.0.0", "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + } } }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true }, "parsejson": { "version": "0.0.1", @@ -4373,25 +5738,28 @@ } }, "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true }, "path-is-absolute": { "version": "1.0.1", @@ -4399,10 +5767,22 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, "path-platform": { @@ -4411,21 +5791,25 @@ "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=", "dev": true }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-root-regex": "^0.1.0" } }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, "pbkdf2": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -4441,12 +5825,6 @@ "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", "dev": true }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", @@ -4462,6 +5840,18 @@ "pinkie": "^2.0.0" } }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -4474,16 +5864,6 @@ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true }, - "pretty-bytes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", - "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.1.0" - } - }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -4491,15 +5871,15 @@ "dev": true }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, "progress": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz", - "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, "proxy-from-env": { @@ -4515,16 +5895,27 @@ "dev": true }, "public-encrypt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "requires": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1" + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "punycode": { @@ -4559,24 +5950,18 @@ } }, "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", "dev": true }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "ws": { @@ -4615,59 +6000,37 @@ "dev": true }, "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" }, "dependencies": { "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true } } }, "randombytes": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" } }, "randomfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz", - "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { "randombytes": "^2.0.5", @@ -4700,81 +6063,47 @@ } }, "read-only-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", - "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "readable-stream": "^2.0.2" } }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", + "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" } }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "resolve": "^1.1.6" } }, "regex-cache": { @@ -4786,6 +6115,22 @@ "is-equal-shallow": "^0.1.3" } }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -4793,9 +6138,9 @@ "dev": true }, "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", "dev": true }, "repeat-string": { @@ -4813,6 +6158,39 @@ "is-finite": "^1.0.0" } }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + }, + "dependencies": { + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + } + } + }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -4820,61 +6198,131 @@ "dev": true }, "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "^1.0.6" } }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "dev": true, "requires": { - "align-text": "^0.1.1" + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" } }, - "rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "^2.0.0", + "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz", + "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "sha.js": { - "version": "2.4.10", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", - "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { "inherits": "^2.0.1", @@ -4891,22 +6339,25 @@ "sha.js": "~2.4.4" } }, - "shell-quote": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", - "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" + "shebang-regex": "^1.0.0" } }, - "shelljs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", - "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.1.tgz", + "integrity": "sha512-2kUqeAGnMAu6YrTPX4E3LfxacH9gKljzVjlkUeSqY0soGwK4KLl7TURXCem712tkhBCeeaFP9QK4dKn88s3Icg==", "dev": true }, "should-format": { @@ -4936,9 +6387,9 @@ } }, "should-util": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz", - "integrity": "sha1-yYzaN0qmsZDfi6h8mInCtNtiAGM=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", "dev": true }, "sigmund": { @@ -4953,6 +6404,145 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "socket.io": { "version": "1.4.7", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.4.7.tgz", @@ -4965,6 +6555,23 @@ "socket.io-adapter": "0.4.0", "socket.io-client": "1.4.6", "socket.io-parser": "2.2.6" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } } }, "socket.io-adapter": { @@ -4977,12 +6584,33 @@ "socket.io-parser": "2.2.2" }, "dependencies": { + "component-emitter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", + "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", "dev": true }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, "socket.io-parser": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.2.tgz", @@ -4998,7 +6626,7 @@ "dependencies": { "debug": { "version": "0.7.4", - "resolved": "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", "dev": true } @@ -5030,6 +6658,21 @@ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.0.tgz", "integrity": "sha1-zNETqGOI0GSC0D3j/H35hSa6jv4=", "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true } } }, @@ -5046,6 +6689,21 @@ "json3": "3.3.2" }, "dependencies": { + "component-emitter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz", + "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -5057,6 +6715,12 @@ "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", "dev": true + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true } } }, @@ -5066,27 +6730,66 @@ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", "dev": true, "requires": { - "spdx-license-ids": "^1.0.2" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", "dev": true }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", "dev": true }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -5099,16 +6802,37 @@ "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=", "dev": true }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, "stream-browserify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, "requires": { "inherits": "~2.0.1", @@ -5126,65 +6850,60 @@ } }, "stream-http": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", - "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { "builtin-status-codes": "^3.0.0", "inherits": "^2.0.1", - "readable-stream": "^2.3.3", + "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" } }, "stream-splicer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz", - "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz", + "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==", "dev": true, "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.2" } }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "safe-buffer": "~5.1.0" } }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "ansi-regex": "^3.0.0" } }, "strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, "subarg": { @@ -5197,20 +6916,75 @@ } }, "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } }, "syntax-error": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.3.0.tgz", - "integrity": "sha1-HtkmbE1AvnXcVb+bsct3Biu5bKE=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, + "requires": { + "acorn-node": "^1.2.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { - "acorn": "^4.0.3" + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } } }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -5218,12 +6992,12 @@ "dev": true }, "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { - "readable-stream": "^2.1.5", + "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, @@ -5248,15 +7022,32 @@ "livereload-js": "^2.2.0", "parseurl": "~1.3.0", "qs": "~5.1.0" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + } } }, "tmp": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", - "integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=", + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.1" + "os-tmpdir": "~1.0.2" } }, "to-array": { @@ -5277,16 +7068,58 @@ "integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE=", "dev": true }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", "dev": true }, "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", "dev": true }, "type-check": { @@ -5305,13 +7138,13 @@ "dev": true }, "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.15" + "mime-types": "~2.1.24" } }, "typedarray": { @@ -5321,31 +7154,25 @@ "dev": true }, "uglify-js": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", - "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", "dev": true, + "optional": true, "requires": { - "async": "~0.2.6", - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "commander": "~2.20.0", + "source-map": "~0.6.1" }, "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true } } }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true - }, "ultron": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", @@ -5353,27 +7180,121 @@ "dev": true }, "umd": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz", - "integrity": "sha1-iuVW4RAR9jwllnCKiDclnwGz1g4=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==", + "dev": true + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", "dev": true }, + "undeclared-identifiers": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz", + "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==", + "dev": true, + "requires": { + "acorn-node": "^1.3.0", + "dash-ast": "^1.0.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + } + }, "underscore.string": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz", "integrity": "sha1-gGmSYzZl1eX8tNsfs6hi62jp5to=", "dev": true }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", "dev": true }, - "uri-path": { + "unset-value": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", - "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, "url": { @@ -5394,6 +7315,12 @@ } } }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, "useragent": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", @@ -5402,18 +7329,6 @@ "requires": { "lru-cache": "4.1.x", "tmp": "0.0.x" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - } } }, "utf8": { @@ -5423,18 +7338,18 @@ "dev": true }, "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "dev": true, "requires": { - "inherits": "2.0.1" + "inherits": "2.0.3" }, "dependencies": { "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true } } @@ -5451,14 +7366,23 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", "dev": true }, + "v8flags": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", + "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "vm-browserify": { @@ -5477,14 +7401,14 @@ "dev": true }, "watchify": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.9.0.tgz", - "integrity": "sha1-8HX9LoqGrN6Eztum5cKgvt1SPZ4=", + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.1.tgz", + "integrity": "sha512-WwnUClyFNRMB2NIiHgJU9RQPQNqVeFk7OmZaWf5dC5EnNa0Mgr7imBydbaJ7tGTuPM2hz1Cb4uiBvK9NVxMfog==", "dev": true, "requires": { - "anymatch": "^1.3.0", - "browserify": "^14.0.0", - "chokidar": "^1.0.0", + "anymatch": "^2.0.0", + "browserify": "^16.1.0", + "chokidar": "^2.1.1", "defined": "^1.0.0", "outpipe": "^1.1.0", "through2": "^2.0.0", @@ -5492,9 +7416,9 @@ }, "dependencies": { "browserify": { - "version": "14.5.0", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-14.5.0.tgz", - "integrity": "sha512-gKfOsNQv/toWz+60nSPfYzuwSEdzvV2WdxrVPUbPD/qui44rAkB3t3muNtmmGYHqrG56FGwX9SUEQmzNLAeS7g==", + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.5.0.tgz", + "integrity": "sha512-6bfI3cl76YLAnCZ75AGu/XPOsqUhRyc0F/olGIJeCxtfxF2HvPKEcmjU9M8oAPxl4uBY1U7Nry33Q6koV3f2iw==", "dev": true, "requires": { "JSONStream": "^1.0.3", @@ -5504,15 +7428,15 @@ "browserify-zlib": "~0.2.0", "buffer": "^5.0.2", "cached-path-relative": "^1.0.0", - "concat-stream": "~1.5.1", + "concat-stream": "^1.6.0", "console-browserify": "^1.1.0", "constants-browserify": "~1.0.0", "crypto-browserify": "^3.0.0", "defined": "^1.0.0", "deps-sort": "^2.0.0", - "domain-browser": "~1.1.0", + "domain-browser": "^1.2.0", "duplexer2": "~0.1.2", - "events": "~1.1.0", + "events": "^2.0.0", "glob": "^7.1.0", "has": "^1.0.0", "htmlescape": "^1.1.0", @@ -5520,7 +7444,8 @@ "inherits": "~2.0.1", "insert-module-globals": "^7.0.0", "labeled-stream-splicer": "^2.0.0", - "module-deps": "^4.0.8", + "mkdirp": "^0.5.0", + "module-deps": "^6.0.0", "os-browserify": "~0.3.0", "parents": "^1.0.1", "path-browserify": "~0.0.0", @@ -5533,16 +7458,16 @@ "shasum": "^1.0.0", "shell-quote": "^1.6.1", "stream-browserify": "^2.0.0", - "stream-http": "^2.0.0", - "string_decoder": "~1.0.0", + "stream-http": "^3.0.0", + "string_decoder": "^1.1.1", "subarg": "^1.0.0", "syntax-error": "^1.1.1", "through2": "^2.0.0", "timers-browserify": "^1.0.1", - "tty-browserify": "~0.0.0", + "tty-browserify": "0.0.1", "url": "~0.11.0", "util": "~0.10.1", - "vm-browserify": "~0.0.1", + "vm-browserify": "^1.0.0", "xtend": "^4.0.0" } }, @@ -5556,21 +7481,79 @@ } }, "buffer": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.8.tgz", - "integrity": "sha512-xXvjQhVNz50v2nPeoOsNqWCLGfiv4ji/gXZM28jnVwdLJxH4mFyqgqCKfaK9zf1KUbG6zTkjLOy7ou+jSMarGA==", + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.2.tgz", + "integrity": "sha512-iy9koArjAFCzGnx3ZvNA6Z0clIbbFgbdWQ0mKD3hO0krOrZh8UgA6qMKcZvwLJxS+D6iVR76+5/pV56yMNYTag==", "dev": true, "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" } }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==", + "dev": true + }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, + "module-deps": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.1.tgz", + "integrity": "sha512-UnEn6Ah36Tu4jFiBbJVUtt0h+iXqxpLqDvPS8nllbw5RZFmNJ1+Mz5BjYnM9ieH80zyxHkARGLnMIHlPK5bu6A==", + "dev": true, + "requires": { + "JSONStream": "^1.0.3", + "browser-resolve": "^1.7.0", + "cached-path-relative": "^1.0.2", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.0.2", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + } + }, "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", @@ -5578,29 +7561,52 @@ "dev": true }, "pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", "dev": true }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "stream-http": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.0.tgz", + "integrity": "sha512-cuB6RgO7BqC4FBYzmnvhob5Do3wIdIsXAgGycHJnW+981gHqoYcYz9lqjJrk8WXRddbwPuqPYRl+bag6mYv4lw==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^3.0.6", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } + }, + "vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", + "dev": true } } }, "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" } }, @@ -5611,24 +7617,18 @@ "dev": true }, "which": { - "version": "1.2.14", - "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" } }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, "wrappy": { @@ -5637,9 +7637,18 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, "ws": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/ws/-/ws-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.0.1.tgz", "integrity": "sha1-fQsqLljN3YGQOcKcneZQReGzEOk=", "dev": true, "requires": { @@ -5654,9 +7663,9 @@ "dev": true }, "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, "yallist": { @@ -5665,26 +7674,6 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - } - } - }, "yauzl": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", diff --git a/package.json b/package.json index f481086e..ce9482e0 100755 --- a/package.json +++ b/package.json @@ -1,9 +1,13 @@ { "name": "validatorjs", "description": "Validation library inspired by Laravel's Validator", - "version": "3.15.0", + "version": "3.16.1", "author": "David ", "contributors": [ + { + "name": "Mike Erickson", + "email": "codedungeon@gmail.com" + }, { "name": "Gary Green", "email": "holegary@gmail.com" @@ -11,10 +15,6 @@ { "name": "Karol Janyst", "email": "lapkom@gmail.com" - }, - { - "name": "Mike Erickson", - "email": "codedungeon@gmail.com" } ], "license": "MIT", @@ -37,15 +37,17 @@ "laravel", "laravel-validator-for-js" ], + "dependencies": { + "date-fns": "2.0.1" + }, "devDependencies": { "browserify": "^13.0.1", "chai": "~3.5.0", + "eslint": "5.8.0", "grunt": "1.0.1", "grunt-browserify": "^5.0.0", "grunt-cli": "^1.2.0", "grunt-contrib-concat": "~1.0.1", - "grunt-contrib-jshint": "1.0.0", - "grunt-contrib-uglify": "1.0.1", "grunt-contrib-watch": "~1.0.0", "jit-grunt": "^0.10.0", "karma": "~1.1.0", @@ -55,16 +57,22 @@ "karma-coverage": "~1.0.0", "karma-growl-notifications-reporter": "0.0.2", "karma-mocha": "~1.1.1", + "karma-mocha-reporter": "2.2.5", "mocha": "~2.5.3", "mocha-better-spec-reporter": "github:mikeerickson/mocha-better-spec-reporter", - "puppeteer": "1.9.0" + "pump": "3.0.0", + "puppeteer": "1.9.0", + "rimraf": "3.0.0" }, "scripts": { - "build": "grunt dist", - "test-node": "node node_modules/mocha/bin/mocha spec", - "test-node:watch": "node node_modules/mocha/bin/mocha --watch spec", + "pre-commit": "npm run lint:spec && npm run lint && npm run test", + "build": "rimraf dist && grunt dist", + "lint": "eslint \"./src/**/*.js\"", + "lint:spec": "eslint \"./spec/**/*.js\" --rule 'no-redeclare: off'", + "lint:fix": "eslint \"./src/**/*.js\" --fix", + "test-node": "node node_modules/mocha/bin/mocha spec --slow 500 --reporter mocha-better-spec-reporter", + "test-node:watch": "node node_modules/mocha/bin/mocha --watch spec --slow 500 --reporter mocha-better-spec-reporter", "test-browser": "grunt dist && node node_modules/karma/bin/karma start --single-run", "test": "npm run test-node && npm run test-browser" - }, - "dependencies": {} + } } diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 00000000..a9ba07ef --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +source ./scripts/messenger.sh + +printf "\n" +success "Linting..." +npm run lint +npm run lint:spec + +printf "\n" +success "Creating TODOs...\n" + +printf "\n" +success "Building...\n" +npm run build +printf "\n" + +success "Build Process Complete" " SUCCESS " \ No newline at end of file diff --git a/scripts/messenger.sh b/scripts/messenger.sh new file mode 100644 index 00000000..f0ec9090 --- /dev/null +++ b/scripts/messenger.sh @@ -0,0 +1,263 @@ +#!/usr/bin/env bash +# messenger.sh + +# 1.0.1 adjusted 'info' color to be cyan instead of blue +VERSION="1.0.1" + +# https://askubuntu.com/questions/558280/changing-colour-of-text-and-background-of-terminal +# https://www.google.com/search?q=bash+colors+background+yellow + +test_messenger() { + echo "\n" + + success "Success Message" " SUCCESS " + success "Success Message" + echo "\n" + + error "Error Message" " ERROR " + error "Error Message" + echo "\n" + + warning "Warning Message" " WARNING " + warning "Warning Message" + echo "\n" + + warn "Warn Message" " WARN " + warn "Warn Message" + echo "\n" + + info "Info Message" " INFO " + info "Info Message" + echo "\n" + + note "Note Message" " NOTE " + note "Note Message" + echo "\n" + + log "Log Message" " LOG " + log "Log Message" + echo "\n" + + status "Status Message" " STATUS " + status "Status Message" + echo "\n" + + important "Important Message" " IMPORTANT " + important "Important Message" + echo "\n" + + notice "Notice Message" " NOTICE " + notice "Notice Message" + echo "\n" +} + +success() { + if [[ -z "$2" ]]; then + printf "\e[32m$1\e[39;49;00m\n"; + else + printf "\e[30;42;11;87m$2\e[39;49;00m\e[32m $1\e[39;49;00m\n"; + fi +} + +error() { + if [[ -z "$2" ]]; then + printf "\e[31m$1\e[39;49;00m\n"; + else + printf "\e[30;41;11;87m$2\e[39;49;00m\e[31m $1\e[39;49;00m\n"; + fi +} + +info() { + if [[ -z "$2" ]]; then + printf "\e[34;11m$1\e[39;49;00m\n"; + else + printf "\e[30;46;11;87m$2\e[39;49;00m\e[36m $1\e[39;49;00m\n"; + fi +} + +warning() { + if [[ -z "$2" ]]; then + printf "\e[33m$1\e[39;49;00m\n"; + else + printf "\e[30;43;11;87m$2\e[39;49;00m\e[33m $1\e[39;49;00m\n"; + fi +} + +warn() { + if [[ -z "$2" ]]; then + printf "\e[33m$1\e[39;49;00m\n"; + else + printf "\e[30;43;11;87m$2\e[39;49;00m\e[33m $1\e[39;49;00m\n"; + fi +} + +important() { + if [[ -z "$2" ]]; then + printf "\e[33m$1\e[39;49;00m\n"; + else + printf "\e[30;43;11;87m$2\e[39;49;00m\e[33m $1\e[39;49;00m\n"; + fi +} + +log() { + if [[ -z "$2" ]]; then + printf "$1\n"; + else + printf "\e[30;107;11;87m$2\e[39;49;00m $1\n"; + fi +} + +status() { + if [[ -z "$2" ]]; then + printf "\e[35m$1\e[39;49;00m\n"; + else + printf "\e[30;45;11;87m$2\e[39;49;00m\e[35m $1\e[39;49;00m\n"; + fi +} + +note() { + # note: { fg: '38m', bg: '48m' }, + if [[ -z "$2" ]]; then + printf "$1\n"; + else + printf "\e[30;107;11;87m$2\e[39;49;00m $1\n"; + fi +} + +notice() { + if [[ -z "$2" ]]; then + printf "\e[34m$1\e[39;49;00m\n"; + else + printf "\e[30;44;11;87m$2\e[39;49;00m\e[34m $1\e[39;49;00m\n"; + fi +} +#!/usr/bin/env bash +# messenger.sh + +# https://askubuntu.com/questions/558280/changing-colour-of-text-and-background-of-terminal +# https://www.google.com/search?q=bash+colors+background+yellow + +test_messenger() { + echo "\n" + + success "Success Message" " SUCCESS " + success "Success Message" + echo "\n" + + error "Error Message" " ERROR " + error "Error Message" + echo "\n" + + warning "Warning Message" " WARNING " + warning "Warning Message" + echo "\n" + + warn "Warn Message" " WARN " + warn "Warn Message" + echo "\n" + + info "Info Message" " INFO " + info "Info Message" + echo "\n" + + note "Note Message" " NOTE " + note "Note Message" + echo "\n" + + log "Log Message" " LOG " + log "Log Message" + echo "\n" + + status "Status Message" " STATUS " + status "Status Message" + echo "\n" + + important "Important Message" " IMPORTANT " + important "Important Message" + echo "\n" + + notice "Notice Message" " NOTICE " + notice "Notice Message" + echo "\n" +} + +success() { + if [[ -z "$2" ]]; then + printf "\e[32m$1\e[39;49;00m\n"; + else + printf "\e[30;42;11;87m$2\e[39;49;00m\e[32m $1\e[39;49;00m\n"; + fi +} + +error() { + if [[ -z "$2" ]]; then + printf "\e[31m$1\e[39;49;00m\n"; + else + printf "\e[30;41;11;87m$2\e[39;49;00m\e[31m $1\e[39;49;00m\n"; + fi +} + +info() { + if [[ -z "$2" ]]; then + printf "\e[34;11m$1\e[39;49;00m\n"; + else + printf "\e[30;46;11;87m$2\e[39;49;00m\e[36m $1\e[39;49;00m\n"; + fi +} + +warning() { + if [[ -z "$2" ]]; then + printf "\e[33m$1\e[39;49;00m\n"; + else + printf "\e[30;43;11;87m$2\e[39;49;00m\e[33m $1\e[39;49;00m\n"; + fi +} + +warn() { + if [[ -z "$2" ]]; then + printf "\e[33m$1\e[39;49;00m\n"; + else + printf "\e[30;43;11;87m$2\e[39;49;00m\e[33m $1\e[39;49;00m\n"; + fi +} + +important() { + if [[ -z "$2" ]]; then + printf "\e[33m$1\e[39;49;00m\n"; + else + printf "\e[30;43;11;87m$2\e[39;49;00m\e[33m $1\e[39;49;00m\n"; + fi +} + +log() { + if [[ -z "$2" ]]; then + printf "$1\n"; + else + printf "\e[30;107;11;87m$2\e[39;49;00m $1\n"; + fi +} + +status() { + if [[ -z "$2" ]]; then + printf "\e[35m$1\e[39;49;00m\n"; + else + printf "\e[30;45;11;87m$2\e[39;49;00m\e[35m $1\e[39;49;00m\n"; + fi +} + +note() { + # note: { fg: '38m', bg: '48m' }, + if [[ -z "$2" ]]; then + printf "$1\n"; + else + printf "\e[30;107;11;87m$2\e[39;49;00m $1\n"; + fi +} + +notice() { + if [[ -z "$2" ]]; then + printf "\e[34m$1\e[39;49;00m\n"; + else + printf "\e[30;44;11;87m$2\e[39;49;00m\e[34m $1\e[39;49;00m\n"; + fi +} diff --git a/scripts/todo.js b/scripts/todo.js new file mode 100755 index 00000000..95a23b3f --- /dev/null +++ b/scripts/todo.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node +/*eslint no-console: "off"*/ + +const { spawnSync } = require('child_process'); + +spawnSync( + 'leasot', + [ + '-x', + './**/*.{ts,js,vue,php,scss}', + '--ignore', + './node_modules,./vendor,./public/js', + '--tags', + 'review', + '--inline-files' + ], + { + stdio: 'inherit' + } +); diff --git a/spec/accepted-rule.js b/spec/accepted-rule.js index 32ab46b1..b2f2e318 100755 --- a/spec/accepted-rule.js +++ b/spec/accepted-rule.js @@ -8,79 +8,103 @@ if (typeof require !== 'undefined') { describe('accepted validation rule', function() { it('should pass if the value is yes', function() { - var validator = new Validator({ - terms: 'yes' - }, { - terms: 'accepted' - }); + var validator = new Validator( + { + terms: 'yes' + }, + { + terms: 'accepted' + } + ); expect(validator.passes()).to.be.true; expect(validator.fails()).to.be.false; }); it('should pass if the value is on', function() { - var validator = new Validator({ - terms: 'on' - }, { - terms: 'accepted' - }); + var validator = new Validator( + { + terms: 'on' + }, + { + terms: 'accepted' + } + ); expect(validator.passes()).to.be.true; - expect(validator.fails()).to.be.false + expect(validator.fails()).to.be.false; }); it('should pass if the value is the number 1', function() { - var validator = new Validator({ - terms: 1 - }, { - terms: 'accepted' - }); + var validator = new Validator( + { + terms: 1 + }, + { + terms: 'accepted' + } + ); expect(validator.passes()).to.be.true; expect(validator.fails()).to.be.false; }); it('should pass if the value is the string 1', function() { - var validator = new Validator({ - terms: '1' - }, { - terms: 'accepted' - }); + var validator = new Validator( + { + terms: '1' + }, + { + terms: 'accepted' + } + ); expect(validator.passes()).to.be.true; expect(validator.fails()).to.be.false; }); it('should pass if the value is a boolean true', function() { - var validator = new Validator({ - terms: true - }, { - terms: 'accepted' - }); + var validator = new Validator( + { + terms: true + }, + { + terms: 'accepted' + } + ); expect(validator.passes()).to.be.true; expect(validator.fails()).to.be.false; }); it('should fail if the value is not 1, on, or yes', function() { - var validator = new Validator({ - terms: '10' - }, { - terms: 'accepted' - }); + var validator = new Validator( + { + terms: '10' + }, + { + terms: 'accepted' + } + ); expect(validator.passes()).to.be.false; expect(validator.fails()).to.be.true; }); it('should fail if the value is an empty string', function() { - var validator = new Validator({ - terms: '' - }, { - terms: 'accepted' - }); + var validator = new Validator( + { + terms: '' + }, + { + terms: 'accepted' + } + ); expect(validator.passes()).to.be.false; expect(validator.fails()).to.be.true; }); it('should fail if the value is undefined', function() { - var validator = new Validator({}, { - terms: 'accepted' - }); + var validator = new Validator( + {}, + { + terms: 'accepted' + } + ); expect(validator.passes()).to.be.false; expect(validator.fails()).to.be.true; }); diff --git a/spec/async-rule.js b/spec/async-rule.js index 589da31c..8beba4bd 100755 --- a/spec/async-rule.js +++ b/spec/async-rule.js @@ -170,7 +170,7 @@ describe('async rule tests', function() { name: 'required' }); validator.fails(function() { - throw 'Should not be called.' + throw 'Should not be called.'; }); validator.passes(function() { @@ -186,7 +186,7 @@ describe('async rule tests', function() { name: 'required' }); validator.passes(function() { - throw 'Should not be called.' + throw 'Should not be called.'; }); validator.fails(function() { diff --git a/spec/attribute-names.js b/spec/attribute-names.js index 120e13a8..10233a9b 100755 --- a/spec/attribute-names.js +++ b/spec/attribute-names.js @@ -15,7 +15,7 @@ describe('custom attribute names', function() { }); validator.setAttributeNames({ name: 'custom_name' - }) + }); expect(validator.fails()).to.be.true; expect(validator.errors.first('name')).to.equal('The custom_name field is required.'); }); @@ -30,7 +30,7 @@ describe('custom attribute names', function() { validator.setAttributeNames({ name: 'custom_name', req: 'other_field' - }) + }); expect(validator.fails()).to.be.true; expect(validator.errors.first('name')).to.equal('The custom_name field is required when other_field is is_required.'); }); @@ -45,7 +45,7 @@ describe('custom attribute names', function() { validator.setAttributeNames({ name: 'custom_name', req: 'other_field' - }) + }); expect(validator.fails()).to.be.true; expect(validator.errors.first('name')).to.equal('The custom_name field is required when other_field is not is_required.'); }); @@ -60,7 +60,7 @@ describe('custom attribute names', function() { validator.setAttributeNames({ name: 'custom_name', req: 'other_field' - }) + }); expect(validator.fails()).to.be.true; expect(validator.errors.first('name')).to.equal('The custom_name field is required when other_field is not empty.'); }); @@ -77,7 +77,7 @@ describe('custom attribute names', function() { name: 'custom_name', req1: 'other_field_1', req2: 'other_field_2' - }) + }); expect(validator.fails()).to.be.true; expect(validator.errors.first('name')).to.equal('The custom_name field is required when other_field_1, other_field_2 are not empty.'); }); @@ -91,7 +91,7 @@ describe('custom attribute names', function() { validator.setAttributeNames({ name: 'custom_name', req: 'other_field' - }) + }); expect(validator.fails()).to.be.true; expect(validator.errors.first('name')).to.equal('The custom_name field is required when other_field is empty.'); }); @@ -106,7 +106,7 @@ describe('custom attribute names', function() { name: 'custom_name', req1: 'other_field_1', req2: 'other_field_2' - }) + }); expect(validator.fails()).to.be.true; expect(validator.errors.first('name')).to.equal('The custom_name field is required when other_field_1, other_field_2 are empty.'); }); @@ -121,7 +121,7 @@ describe('custom attribute names', function() { validator.setAttributeNames({ date: 'custom_name', other: 'other_field' - }) + }); expect(validator.fails()).to.be.true; expect(validator.errors.first('date')).to.equal('The custom_name must be after other_field.'); }); @@ -136,7 +136,7 @@ describe('custom attribute names', function() { validator.setAttributeNames({ date: 'custom_name', other: 'other_field' - }) + }); expect(validator.fails()).to.be.true; expect(validator.errors.first('date')).to.equal('The custom_name must be before other_field.'); }); @@ -151,7 +151,7 @@ describe('custom attribute names', function() { validator.setAttributeNames({ date: 'custom_name', other: 'other_field' - }) + }); expect(validator.fails()).to.be.true; expect(validator.errors.first('date')).to.equal('The custom_name must be equal or after other_field.'); }); @@ -166,7 +166,7 @@ describe('custom attribute names', function() { validator.setAttributeNames({ date: 'custom_name', other: 'other_field' - }) + }); expect(validator.fails()).to.be.true; expect(validator.errors.first('date')).to.equal('The custom_name must be equal or before other_field.'); }); @@ -181,7 +181,7 @@ describe('custom attribute names', function() { validator.setAttributeNames({ name: 'custom_name', other: 'other_field' - }) + }); expect(validator.fails()).to.be.true; expect(validator.errors.first('name')).to.equal('The custom_name and other_field fields must match.'); }); diff --git a/spec/date-rule.js b/spec/date-rule.js index 3fe34652..02b16d4a 100755 --- a/spec/date-rule.js +++ b/spec/date-rule.js @@ -17,15 +17,18 @@ describe('date rule', function() { '1995-08-09T00:00:00+00:00', '1995-08-09T00:00:00Z', '1995-08-09T00:00:00.000Z', - (new Date()) + new Date() ]; - asserts.forEach(function (assert) { - var validator = new Validator({ - date: assert - }, { - date: 'date' - }); + asserts.forEach(function(assert) { + var validator = new Validator( + { + date: assert + }, + { + date: 'date' + } + ); expect(validator.passes()).to.be.true; expect(validator.fails()).to.be.false; }); @@ -34,38 +37,94 @@ describe('date rule', function() { it('should pass for correct date formats', function() { var validator; - validator = new Validator({passingDate: 'Friday, March 17 2017'}, {passingDate: 'date'}); + validator = new Validator({ passingDate: 'Friday, March 17 2017' }, { passingDate: 'date' }); expect(validator.passes()).to.be.true; - validator = new Validator({passingDate: '2017-03-18'}, {passingDate: 'date'}); + validator = new Validator({ passingDate: '2017-03-18' }, { passingDate: 'date' }); expect(validator.passes()).to.be.true; - validator = new Validator({passingDate: '2017-03-18'}, {passingDate: 'date'}); + validator = new Validator({ passingDate: '2017-03-18' }, { passingDate: 'date' }); expect(validator.passes()).to.be.true; - validator = new Validator({passingDate: '2017.03.18'}, {passingDate: 'date'}); + validator = new Validator({ passingDate: '2017.03.18' }, { passingDate: 'date' }); expect(validator.passes()).to.be.true; - validator = new Validator({passingDate: '2017-03-31'}, {passingDate: 'date'}); + validator = new Validator({ passingDate: '2017-03-31' }, { passingDate: 'date' }); expect(validator.passes()).to.be.true; - }); it('should fail for incorrect date formats', function() { - var validator; - validator = new Validator({failDate: '2014-25-23'}, {failDate: 'date'}); + validator = new Validator({ failDate: '2014-25-23' }, { failDate: 'date' }); expect(validator.fails()).to.be.true; - validator = new Validator({failDate: 'foo-bar'}, {failDate: 'date'}); + validator = new Validator({ failDate: 'foo-bar' }, { failDate: 'date' }); expect(validator.fails()).to.be.true; - validator = new Validator({failDate: '0908 1995'}, {failDate: 'date'}); + validator = new Validator({ failDate: '0908 1995' }, { failDate: 'date' }); expect(validator.fails()).to.be.true; - validator = new Validator({failDate: '9/39/19'}, {failDate: 'date'}); + validator = new Validator({ failDate: '9/39/19' }, { failDate: 'date' }); expect(validator.fails()).to.be.true; + }); + it('should use custom "isValidDate" rule', () => { + /** + * NOTE + * this test case will only be executed via node as we will be extending to use the`date-fns` package + */ + + if (typeof require !== 'undefined') { + Validator.register( + 'isValidDate', + (value, requirement, attribute) => { + let { isValid, parseISO } = require('date-fns'); + return isValid(parseISO(value)); + }, + 'The :attribute is not a valid date' + ); + + var validator; + let invalidDates = [ + '2019-01-32', + '2019-02-31', + '2019-03-32', + '2019-04-31', + '2019-05-32', + '2019-06-31', + '2019-07-32', + '2019-08-32', + '2019-09-31', + '2019-10-32', + '2019-11-31', + '2019-12-32' + ]; + invalidDates.forEach(dateValue => { + validator = new Validator({ failDate: dateValue }, { failDate: 'isValidDate' }); + expect(validator.passes()).to.be.false; + }); + + let validDates = [ + '2019-01-31', + '2019-02-28', + '2019-03-31', + '2019-04-30', + '2019-05-31', + '2019-06-30', + '2019-07-31', + '2019-08-31', + '2019-09-30', + '2019-10-31', + '2019-11-30', + '2019-12-31' + ]; + validDates.forEach(dateValue => { + validator = new Validator({ failDate: dateValue }, { failDate: 'isValidDate' }); + expect(validator.passes()).to.be.true; + }); + } else { + expect(true).to.be.true; + } }); }); diff --git a/spec/digits_between-rule.js b/spec/digits_between-rule.js deleted file mode 100755 index 5486a108..00000000 --- a/spec/digits_between-rule.js +++ /dev/null @@ -1,56 +0,0 @@ -if (typeof require !== 'undefined') { - var Validator = require('../src/validator.js'); - var expect = require('chai').expect; -} else { - var Validator = window.Validator; - var expect = window.chai.expect; -} - -describe('digits_between rule', function() { - it('should be numeric and must have an exact length between 8 and 10', function() { - var validation = new Validator({ - phone: '800692775' - }, { - phone: 'digits_between:8,10' - }); - - expect(validation.passes()).to.be.true; - expect(validation.fails()).to.be.false; - }); - - it('should not pass if non-digits are present', function() { - var validation = new Validator({ - phone: '80069277a' - }, { - phone: 'digits_between:8,10' - }); - - expect(validation.fails()).to.be.true; - expect(validation.errors.first('phone')).to.equal('The phone field must be between 8 and 10 digits.'); - expect(validation.passes()).to.be.false; - }); - - it('should not pass if value length is below minimum', function() { - var validation = new Validator({ - phone: '8006927' - }, { - phone: 'digits_between:8,10' - }); - - expect(validation.fails()).to.be.true; - expect(validation.errors.first('phone')).to.equal('The phone field must be between 8 and 10 digits.'); - expect(validation.passes()).to.be.false; - }); - - it('should not pass if value length is above maximum', function() { - var validation = new Validator({ - phone: '80069277525' - }, { - phone: 'digits_between:8,10' - }); - - expect(validation.fails()).to.be.true; - expect(validation.errors.first('phone')).to.equal('The phone field must be between 8 and 10 digits.'); - expect(validation.passes()).to.be.false; - }); -}); diff --git a/spec/flatten-object.js b/spec/flatten-object.js index e5ce3d94..fcab3a6c 100755 --- a/spec/flatten-object.js +++ b/spec/flatten-object.js @@ -19,8 +19,8 @@ describe('Validator', function () { [{ foo : [] }, { foo : [] }], [{ foo: { bar: 1 } }, { 'foo.bar' : 1 }], [{ foo: { bar: [] } }, { 'foo.bar' : [] }], - [{ foo: { bar: { fizz: "buzz" } } }, { 'foo.bar.fizz' : "buzz" }], - [{ foo: { bar: { fizz: ["buzz"] } } }, { 'foo.bar.fizz' : ["buzz"] }] + [{ foo: { bar: { fizz: 'buzz' } } }, { 'foo.bar.fizz' : 'buzz' }], + [{ foo: { bar: { fizz: ['buzz'] } } }, { 'foo.bar.fizz' : ['buzz'] }] ]; var validator = new Validator({}, {}); diff --git a/spec/implicit-rule.js b/spec/implicit-rule.js index 6499d15d..4381d01d 100755 --- a/spec/implicit-rule.js +++ b/spec/implicit-rule.js @@ -37,7 +37,7 @@ describe('implicit rule tests', function() { passes(false); } }, 50); - }, ':attribute already taken'); + }, ':attribute already taken'); var validator = new Validator({ /* empty */}, { value: 'async_null' }); validator.fails(done); @@ -54,7 +54,7 @@ describe('implicit rule tests', function() { passes(false); } }, 50); - }, ':attribute already taken'); + }, ':attribute already taken'); var validator = new Validator({ value: null }, { value: 'async_null' }); validator.passes(done); diff --git a/spec/integer-rule.js b/spec/integer-rule.js index 29930e98..ef3b8ee5 100755 --- a/spec/integer-rule.js +++ b/spec/integer-rule.js @@ -57,7 +57,7 @@ describe('integer fail rules', function() { }); expect(validator.fails()).to.be.true; expect(validator.passes()).to.be.false; - expect(validator.errors.first('age')).to.equal('The age must be an integer.') + expect(validator.errors.first('age')).to.equal('The age must be an integer.'); }); it('should fail with a string value containing numbers and letters', function() { @@ -68,7 +68,7 @@ describe('integer fail rules', function() { }); expect(validator.fails()).to.be.true; expect(validator.passes()).to.be.false; - expect(validator.errors.first('age')).to.equal('The age must be an integer.') + expect(validator.errors.first('age')).to.equal('The age must be an integer.'); }); it('should fail with a boolean true value', function() { diff --git a/spec/regex-rule.js b/spec/regex-rule.js index 06d97ffb..5bb70286 100755 --- a/spec/regex-rule.js +++ b/spec/regex-rule.js @@ -136,7 +136,7 @@ describe('regex validation rule for most common regular expressions', function() }); expect(validator.passes()).to.be.true; - }) + }); it('should not be case insensitive unless specified', function() { var validator = new Validator({ diff --git a/spec/register.js b/spec/register.js index de85f0a0..cab6b0a6 100755 --- a/spec/register.js +++ b/spec/register.js @@ -63,13 +63,13 @@ describe('register a custom validation rule', function() { return true; }); - var validator = new Validator({ - field: 'test' - }, { - field: 'unknown' - }); + var validator = new Validator({ + field: 'test' + }, { + field: 'unknown' + }); - expect(validator.passes()).to.be.true; - expect(validator.fails()).to.be.false; + expect(validator.passes()).to.be.true; + expect(validator.fails()).to.be.false; }); }); diff --git a/spec/validator.js b/spec/validator.js index bb2d634c..13d1dbfd 100755 --- a/spec/validator.js +++ b/spec/validator.js @@ -17,7 +17,7 @@ describe('Validator constructor', function() { name: 'required', email: 'required' }, { - required: "You're missing :required" + required: 'You\'re missing :required' }); }); diff --git a/spec/wildcard.js b/spec/wildcard.js index 7e38c4c4..1bf50da5 100755 --- a/spec/wildcard.js +++ b/spec/wildcard.js @@ -1,100 +1,100 @@ if (typeof require !== 'undefined') { - var Validator = require('../src/validator.js'); - var expect = require('chai').expect; + var Validator = require('../src/validator.js'); + var expect = require('chai').expect; } else { - var Validator = window.Validator; - var expect = window.chai.expect; + var Validator = window.Validator; + var expect = window.chai.expect; } describe('Wildcard', function () { - describe('Simple Rules ', function () { - it('should have validation a deep level fails', function () { - var validator = new Validator({ - foo: [{ - bar: [{ - people: [{ - name: '', - age: 'aa', - term: false, - isActive: 'not' - }, - { - name: '', - age: 'aa', - term: false, - isActive: 'not' - } - ] - }, - { - people: [{ - name: '', - age: 'aa', - term: false, - isActive: 'not' - }, - { - name: '', - age: 'aa', - term: false, - isActive: 'not' - } - ] - } - ] - }] - }, { - 'foo.*.bar.*.people.*.name': 'required', - 'foo.*.bar.*.people.*.age': 'numeric', - 'foo.*.bar.*.people.*.term': 'accepted', - 'foo.*.bar.*.people.*.isActive': 'boolean', - }); - expect(validator.fails()).to.be.true; - expect(validator.passes()).to.be.false; - }); - it('should have validation a deep level passes', function () { - var validator = new Validator({ - foo: [{ - bar: [{ - people: [{ - name: 'Test', - age: '100', - term: true, - isActive: '0' - }] - }] - }] - }, { - 'foo.*.bar.*.people.*.name': 'required', - 'foo.*.bar.*.people.*.age': 'numeric', - 'foo.*.bar.*.people.*.term': 'accepted', - 'foo.*.bar.*.people.*.isActive': 'boolean', - }); - expect(validator.fails()).to.be.false; - expect(validator.passes()).to.be.true; - }); + describe('Simple Rules ', function () { + it('should have validation a deep level fails', function () { + var validator = new Validator({ + foo: [{ + bar: [{ + people: [{ + name: '', + age: 'aa', + term: false, + isActive: 'not' + }, + { + name: '', + age: 'aa', + term: false, + isActive: 'not' + } + ] + }, + { + people: [{ + name: '', + age: 'aa', + term: false, + isActive: 'not' + }, + { + name: '', + age: 'aa', + term: false, + isActive: 'not' + } + ] + } + ] + }] + }, { + 'foo.*.bar.*.people.*.name': 'required', + 'foo.*.bar.*.people.*.age': 'numeric', + 'foo.*.bar.*.people.*.term': 'accepted', + 'foo.*.bar.*.people.*.isActive': 'boolean', + }); + expect(validator.fails()).to.be.true; + expect(validator.passes()).to.be.false; }); - describe('Rules with dependent of another field', function () { - it('should have validation fail with required_* and show customMessage', function () { - var validator = new Validator({ - users: [{ - name: 'Teste', - lastName: '', - age: '', - requiredAge: 'true', - }] - }, { - 'users.*.age': 'required_if:users.*.requiredAge,true', - 'users.*.lastName': 'required_with:users.*.name', - }, { - 'required_if.users.*.age': 'Required' - }); - expect(validator.fails()).to.be.true; - expect(validator.passes()).to.be.false; - expect(validator.errors.all()).to.eql({ - 'users.0.age': ['Required'], - 'users.0.lastName': ['The users.0.lastName field is required when users.0.name is not empty.'] - }) - }); + it('should have validation a deep level passes', function () { + var validator = new Validator({ + foo: [{ + bar: [{ + people: [{ + name: 'Test', + age: '100', + term: true, + isActive: '0' + }] + }] + }] + }, { + 'foo.*.bar.*.people.*.name': 'required', + 'foo.*.bar.*.people.*.age': 'numeric', + 'foo.*.bar.*.people.*.term': 'accepted', + 'foo.*.bar.*.people.*.isActive': 'boolean', + }); + expect(validator.fails()).to.be.false; + expect(validator.passes()).to.be.true; }); + }); + describe('Rules with dependent of another field', function () { + it('should have validation fail with required_* and show customMessage', function () { + var validator = new Validator({ + users: [{ + name: 'Teste', + lastName: '', + age: '', + requiredAge: 'true', + }] + }, { + 'users.*.age': 'required_if:users.*.requiredAge,true', + 'users.*.lastName': 'required_with:users.*.name', + }, { + 'required_if.users.*.age': 'Required' + }); + expect(validator.fails()).to.be.true; + expect(validator.passes()).to.be.false; + expect(validator.errors.all()).to.eql({ + 'users.0.age': ['Required'], + 'users.0.lastName': ['The users.0.lastName field is required when users.0.name is not empty.'] + }); + }); + }); }); \ No newline at end of file diff --git a/src/attributes.js b/src/attributes.js index 7541aafb..26c8f1e7 100755 --- a/src/attributes.js +++ b/src/attributes.js @@ -118,7 +118,7 @@ var replacements = { }); }, - /** + /** * After replacement. * * @param {string} template diff --git a/src/lang/ar.js b/src/lang/ar.js index 04665d61..2da4d18a 100755 --- a/src/lang/ar.js +++ b/src/lang/ar.js @@ -15,7 +15,7 @@ module.exports = { digits: 'الصفة :attribute يجب أن تكون :digits أرقام.', digits_between: 'يجب أن يحتوي :attribute بين :min و :max رقمًا/أرقام .', different: 'الصفة :attribute و الصفة :different يجب أن تكونا مختلفتين', - 'in': 'الصفة :attribute المختارة، غير صحيحة.', + in: 'الصفة :attribute المختارة، غير صحيحة.', integer: 'الصفة :attribute يجب أن تكون عدد صحيح', hex: 'حقل الصفة :attribute يجب أن يحتوي على صيغة هكسيديسمل', min: { diff --git a/src/lang/az.js b/src/lang/az.js index 3c5de9c4..c1ba8102 100644 --- a/src/lang/az.js +++ b/src/lang/az.js @@ -13,7 +13,7 @@ module.exports = { numeric: ':attribute :min ilə :max arasında olmalıdır', file: ':attribute :min ilə :max KB ölçüsü intervalında olmalıdır', string: ':attribute :min ilə :max simvolu intervalında olmalıdır', - array: ':attribute :min ilə :max intervalında hissədən ibarət olmalıdır', + array: ':attribute :min ilə :max intervalında hissədən ibarət olmalıdır' }, boolean: ' :attribute doğru və ya yanlış ola bilər', confirmed: ' :attribute doğrulanması yanlışdır', @@ -32,13 +32,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: ' :attribute şəkil formatında olmalıdır', in: ' seçilmiş :attribute yanlışdır', @@ -52,19 +52,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: ' :attribute maksiumum :max rəqəmdən ibarət ola bilər', file: ' :attribute maksimum :max KB ölçüsündə ola bilər', string: ' :attribute maksimum :max simvoldan ibarət ola bilər', - array: ' :attribute maksimum :max hədd\'dən ibarət ola bilər', + array: ' :attribute maksimum :max hədd\'dən ibarət ola bilər' }, mimes: ' :attribute :values tipində fayl olmalıdır', mimetypes: ' :attribute :values tipində fayl olmalıdır', @@ -72,7 +72,7 @@ module.exports = { numeric: ' :attribute minimum :min rəqəmdən ibarət ola bilər', file: ' :attribute minimum :min KB ölçüsündə ola bilər', string: ' :attribute minimum :min simvoldan ibarət ola bilər', - array: ' :attribute minimum :min hədd\'dən ibarət ola bilər', + array: ' :attribute minimum :min hədd\'dən ibarət ola bilər' }, not_in: ' seçilmiş :attribute yanlışdır', numeric: ' :attribute rəqəmlərdən ibarət olmalıdır', @@ -90,12 +90,11 @@ module.exports = { numeric: ' :attribute :size ölçüsündə olmalıdır', file: ' :attribute :size KB ölçüsündə olmalıdır', string: ' :attribute :size simvoldan ibarət olmalıdır', - array: ' :attribute :size hədd\'dən ibarət olmalıdır', + array: ' :attribute :size hədd\'dən ibarət olmalıdır' }, string: ' :attribute hərf formatında olmalıdır', timezone: ' :attribute ərazi formatında olmalıdır', unique: ' :attribute artıq iştirak edib', uploaded: ' :attribute yüklənməsi mümkün olmadı', - url: ' :attribute formatı yanlışdır', - + url: ' :attribute formatı yanlışdır' }; diff --git a/src/lang/be.js b/src/lang/be.js index b13c183a..feb24ed5 100644 --- a/src/lang/be.js +++ b/src/lang/be.js @@ -13,7 +13,7 @@ module.exports = { numeric: 'Поле :attribute павінна быць паміж :min і :max.', file: 'Памер файла ў поле :attribute павінен быць паміж :min і :max кілабайт.', string: 'Колькасць сiмвалаў у поле :attribute павінна быць паміж :min і :max.', - array: 'Колькасць элементаў у поле :attribute павінна быць паміж :min і :max.', + array: 'Колькасць элементаў у поле :attribute павінна быць паміж :min і :max.' }, boolean: 'Поле :attribute павінна мець значэнне лагічнага тыпу.', confirmed: 'Поле :attribute не супадае з пацвярджэннем.', @@ -32,13 +32,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: 'Поле :attribute павінна быць малюнкам.', in: 'Выбранае значэнне для :attribute памылкова.', @@ -52,19 +52,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: 'Поле :attribute не можа быць больш :max.', file: 'Памер файла ў поле :attribute не можа быць больш :max кілабайт).', string: 'Колькасць сiмвалаў у поле :attribute не можа перавышаць :max.', - array: 'Колькасць элементаў у поле :attribute не можа перавышаць :max.', + array: 'Колькасць элементаў у поле :attribute не можа перавышаць :max.' }, mimes: 'Поле :attribute павінна быць файлам аднаго з наступных тыпаў: :values.', mimetypes: 'Поле :attribute павінна быць файлам аднаго з наступных тыпаў: :values.', @@ -72,7 +72,7 @@ module.exports = { numeric: 'Поле :attribute павінна быць не менш :min.', file: 'Памер файла ў полее :attribute павінен быць не менш :min кілабайт.', string: 'Колькасць сiмвалаў у поле :attribute павінна быць не менш :min.', - array: 'Колькасць элементаў у поле :attribute павінна быць не менш :min.', + array: 'Колькасць элементаў у поле :attribute павінна быць не менш :min.' }, not_in: 'Выбранае значэнне для :attribute памылкова.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +91,11 @@ module.exports = { numeric: 'Поле :attribute павінна быць :size.', file: 'Размер файла в поле :attribute павінен быць :size кілабайт.', string: 'Колькасць сiмвалаў у поле :attribute павінна быць :size.', - array: 'Колькасць элементаў у поле :attribute павінна быць :size.', + array: 'Колькасць элементаў у поле :attribute павінна быць :size.' }, string: 'Поле :attribute павінна быць радком.', timezone: 'Поле :attribute павінна быць сапраўдным гадзінным поясам.', unique: 'Такое значэнне поля :attribute ўжо існуе.', uploaded: 'The :attribute failed to upload.', - url: 'Поле :attribute мае памылковы фармат.', + url: 'Поле :attribute мае памылковы фармат.' }; diff --git a/src/lang/bg.js b/src/lang/bg.js index 270185d8..509ce23d 100644 --- a/src/lang/bg.js +++ b/src/lang/bg.js @@ -13,7 +13,7 @@ module.exports = { numeric: 'Полето :attribute трябва да бъде между :min и :max.', file: 'Полето :attribute трябва да бъде между :min и :max килобайта.', string: 'Полето :attribute трябва да бъде между :min и :max знака.', - array: 'Полето :attribute трябва да има между :min - :max елемента.', + array: 'Полето :attribute трябва да има между :min - :max елемента.' }, boolean: 'Полето :attribute трябва да съдържа Да или Не', confirmed: 'Полето :attribute не е потвърдено.', @@ -32,13 +32,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: 'Полето :attribute трябва да бъде изображение.', in: 'Избраното поле :attribute е невалидно.', @@ -52,19 +52,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: 'Полето :attribute трябва да бъде по-малко от :max.', file: 'Полето :attribute трябва да бъде по-малко от :max килобайта.', string: 'Полето :attribute трябва да бъде по-малко от :max знака.', - array: 'Полето :attribute трябва да има по-малко от :max елемента.', + array: 'Полето :attribute трябва да има по-малко от :max елемента.' }, mimes: 'Полето :attribute трябва да бъде файл от тип: :values.', mimetypes: 'Полето :attribute трябва да бъде файл от тип: :values.', @@ -72,7 +72,7 @@ module.exports = { numeric: 'Полето :attribute трябва да бъде минимум :min.', file: 'Полето :attribute трябва да бъде минимум :min килобайта.', string: 'Полето :attribute трябва да бъде минимум :min знака.', - array: 'Полето :attribute трябва има минимум :min елемента.', + array: 'Полето :attribute трябва има минимум :min елемента.' }, not_in: 'Избраното поле :attribute е невалидно.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +91,11 @@ module.exports = { numeric: 'Полето :attribute трябва да бъде :size.', file: 'Полето :attribute трябва да бъде :size килобайта.', string: 'Полето :attribute трябва да бъде :size знака.', - array: 'Полето :attribute трябва да има :size елемента.', + array: 'Полето :attribute трябва да има :size елемента.' }, string: 'Полето :attribute трябва да бъде знаков низ.', timezone: 'Полето :attribute трябва да съдържа валидна часова зона.', unique: 'Полето :attribute вече съществува.', uploaded: 'Неуспешно качване на :attribute.', - url: 'Полето :attribute е в невалиден формат.', + url: 'Полето :attribute е в невалиден формат.' }; diff --git a/src/lang/bs.js b/src/lang/bs.js index 77072059..c85ff858 100644 --- a/src/lang/bs.js +++ b/src/lang/bs.js @@ -6,6 +6,7 @@ module.exports = { alpha: 'Polje :attribute može sadržati samo slova.', alpha_dash: 'Polje :attribute može sadržati samo slova, brojeve i povlake.', alpha_num: 'Polje :attribute može sadržati samo slova i brojeve.', + attributes: {}, array: 'Polje :attribute mora biti niz.', before: 'Polje :attribute mora biti datum prije :date.', before_or_equal: 'The :attribute must be a date before or equal to :date.', @@ -13,7 +14,7 @@ module.exports = { numeric: 'Polje :attribute mora biti izmedju :min - :max.', file: 'Fajl :attribute mora biti izmedju :min - :max kilobajta.', string: 'Polje :attribute mora biti izmedju :min - :max karaktera.', - array: 'Polje :attribute mora biti između :min - :max karaktera.', + array: 'Polje :attribute mora biti između :min - :max karaktera.' }, boolean: 'Polje :attribute mora biti tačno ili netačno', confirmed: 'Potvrda polja :attribute se ne poklapa.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: 'Polje :attribute mora biti slika.', in: 'Odabrano polje :attribute nije validno.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: 'Polje :attribute mora biti manje od :max.', file: 'Polje :attribute mora biti manje od :max kilobajta.', string: 'Polje :attribute mora sadržati manje od :max karaktera.', - array: 'Polje :attribute mora sadržati manje od :max karaktera.', + array: 'Polje :attribute mora sadržati manje od :max karaktera.' }, mimes: 'Polje :attribute mora biti fajl tipa: :values.', mimetypes: 'Polje :attribute mora biti fajl tipa: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: 'Polje :attribute mora biti najmanje :min.', file: 'Fajl :attribute mora biti najmanje :min kilobajta.', string: 'Polje :attribute mora sadržati najmanje :min karaktera.', - array: 'Polje :attribute mora sadržati najmanje :min karaktera.', + array: 'Polje :attribute mora sadržati najmanje :min karaktera.' }, not_in: 'Odabrani element polja :attribute nije validan.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +92,11 @@ module.exports = { numeric: 'Polje :attribute mora biti :size.', file: 'Fajl :attribute mora biti :size kilobajta.', string: 'Polje :attribute mora biti :size karaktera.', - array: 'Polje :attribute mora biti :size karaktera.', + array: 'Polje :attribute mora biti :size karaktera.' }, string: 'Polje :attribute mora sadrzavati slova.', timezone: 'Polje :attribute mora biti ispravna vremenska zona.', unique: 'Polje :attribute već postoji.', uploaded: 'The :attribute failed to upload.', - url: 'Format polja :attribute nije validan.', + url: 'Format polja :attribute nije validan.' }; diff --git a/src/lang/cs.js b/src/lang/cs.js index 4364f95b..79bb492f 100644 --- a/src/lang/cs.js +++ b/src/lang/cs.js @@ -4,8 +4,10 @@ module.exports = { after: ':attribute musí být datum po :date.', after_or_equal: 'The :attribute must be a date after or equal to :date.', alpha: ':attribute může obsahovat pouze písmena.', - alpha_dash: ':attribute může obsahovat pouze písmena, číslice, pomlčky a podtržítka. České znaky (á, é, í, ó, ú, ů, ž, š, č, ř, ď, ť, ň) nejsou podporovány.', + alpha_dash: + ':attribute může obsahovat pouze písmena, číslice, pomlčky a podtržítka. České znaky (á, é, í, ó, ú, ů, ž, š, č, ř, ď, ť, ň) nejsou podporovány.', alpha_num: ':attribute může obsahovat pouze písmena a číslice.', + attributes: {}, array: ':attribute musí být pole.', before: ':attribute musí být datum před :date.', before_or_equal: 'The :attribute must be a date before or equal to :date.', @@ -13,7 +15,7 @@ module.exports = { numeric: ':attribute musí být hodnota mezi :min a :max.', file: ':attribute musí být větší než :min a menší než :max Kilobytů.', string: ':attribute musí být delší než :min a kratší než :max znaků.', - array: ':attribute musí obsahovat nejméně :min a nesmí obsahovat více než :max prvků.', + array: ':attribute musí obsahovat nejméně :min a nesmí obsahovat více než :max prvků.' }, boolean: ':attribute musí být true nebo false', confirmed: ':attribute nebylo odsouhlaseno.', @@ -32,13 +34,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: ':attribute musí být obrázek.', in: 'Zvolená hodnota pro :attribute je neplatná.', @@ -52,19 +54,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: ':attribute musí být nižší než :max.', file: ':attribute musí být menší než :max Kilobytů.', string: ':attribute musí být kratší než :max znaků.', - array: ':attribute nesmí obsahovat více než :max prvků.', + array: ':attribute nesmí obsahovat více než :max prvků.' }, mimes: ':attribute musí být jeden z následujících datových typů :values.', mimetypes: ':attribute musí být jeden z následujících datových typů :values.', @@ -72,7 +74,7 @@ module.exports = { numeric: ':attribute musí být větší než :min.', file: ':attribute musí být větší než :min Kilobytů.', string: ':attribute musí být delší než :min znaků.', - array: ':attribute musí obsahovat více než :min prvků.', + array: ':attribute musí obsahovat více než :min prvků.' }, not_in: 'Zvolená hodnota pro :attribute je neplatná.', not_regex: 'The :attribute format is invalid.', @@ -81,21 +83,21 @@ module.exports = { regex: ':attribute nemá správný formát.', required: ':attribute musí být vyplněno.', required_if: ':attribute musí být vyplněno pokud :other je :value.', - required_unless: ':attribute musí být vyplněno dokud :other je v :values.', - required_with: ':attribute musí být vyplněno pokud :values je vyplněno.', - required_with_all: ':attribute musí být vyplněno pokud :values je zvoleno.', - required_without: ':attribute musí být vyplněno pokud :values není vyplněno.', - required_without_all: ':attribute musí být vyplněno pokud není žádné z :values zvoleno.', + required_unless: ':attribute musí být vyplněno dokud :other je v :value.', + required_with: ':attribute musí být vyplněno pokud :field je vyplněno.', + required_with_all: ':attribute musí být vyplněno pokud :fields je zvoleno.', + required_without: ':attribute musí být vyplněno pokud :field není vyplněno.', + required_without_all: ':attribute musí být vyplněno pokud není žádné z :fields zvoleno.', same: ':attribute a :other se musí shodovat.', size: { numeric: ':attribute musí být přesně :size.', file: ':attribute musí mít přesně :size Kilobytů.', string: ':attribute musí být přesně :size znaků dlouhý.', - array: ':attribute musí obsahovat právě :size prvků.', + array: ':attribute musí obsahovat právě :size prvků.' }, string: ':attribute musí být řetězec znaků.', timezone: ':attribute musí být platná časová zóna.', unique: ':attribute musí být unikátní.', uploaded: 'Nahrávání :attribute se nezdařilo.', - url: 'Formát :attribute je neplatný.', + url: 'Formát :attribute je neplatný.' }; diff --git a/src/lang/cy.js b/src/lang/cy.js index 42e56070..3a5f3f81 100644 --- a/src/lang/cy.js +++ b/src/lang/cy.js @@ -3,9 +3,10 @@ module.exports = { active_url: 'Nid yw :attribute yn URL dilys.', after: 'Rhaid i :attribute fod yn ddyddiad sydd ar ôl :date.', after_or_equal: 'The :attribute must be a date after or equal to :date.', - alpha: "Dim ond llythrennau'n unig gall :attribute gynnwys.", + alpha: 'Dim ond llythrennau\'n unig gall :attribute gynnwys.', alpha_dash: 'Dim ond llythrennau, rhifau a dash yn unig gall :attribute gynnwys.', alpha_num: 'Dim ond llythrennau a rhifau yn unig gall :attribute gynnwys.', + attributes: {}, array: 'Rhaid i :attribute fod yn array.', before: 'Rhaid i :attribute fod yn ddyddiad sydd cyn :date.', before_or_equal: 'The :attribute must be a date before or equal to :date.', @@ -13,10 +14,10 @@ module.exports = { numeric: 'Rhaid i :attribute fod rhwng :min a :max.', file: 'Rhaid i :attribute fod rhwng :min a :max kilobytes.', string: 'Rhaid i :attribute fod rhwng :min a :max nodyn.', - array: 'Rhaid i :attribute fod rhwng :min a :max eitem.', + array: 'Rhaid i :attribute fod rhwng :min a :max eitem.' }, - boolean: "Rhaid i'r maes :attribute fod yn wir neu gau.", - confirmed: "Nid yw'r cadarnhad :attribute yn gyfwerth.", + boolean: 'Rhaid i\'r maes :attribute fod yn wir neu gau.', + confirmed: 'Nid yw\'r cadarnhad :attribute yn gyfwerth.', date: 'Nid yw :attribute yn ddyddiad dilys.', date_format: 'Nid yw :attribute yn y fformat :format.', different: 'Rhaid i :attribute a :other fod yn wahanol.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: 'Rhaid i :attribute fod yn lun.', in: 'Nid yw :attribute yn ddilys.', @@ -52,27 +53,27 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: 'Ni chai :attribute fod yn fwy na :max.', file: 'Ni chai :attribute fod yn fwy na :max kilobytes.', string: 'Ni chai :attribute fod yn fwy na :max nodyn.', - array: 'Ni chai :attribute fod yn fwy na :max eitem.', + array: 'Ni chai :attribute fod yn fwy na :max eitem.' }, - mimes: "Rhaid i :attribute fod yn ffeil o'r math: :values.", - mimetypes: "Rhaid i :attribute fod yn ffeil o'r math: :values.", + mimes: 'Rhaid i :attribute fod yn ffeil o\'r math: :values.', + mimetypes: 'Rhaid i :attribute fod yn ffeil o\'r math: :values.', min: { numeric: 'Rhaid i :attribute fod o leiaf :min.', file: 'Rhaid i :attribute fod o leiaf :min kilobytes.', string: 'Rhaid i :attribute fod o leiaf :min nodyn.', - array: 'Rhaid i :attribute fod o leiaf :min eitem.', + array: 'Rhaid i :attribute fod o leiaf :min eitem.' }, not_in: 'Nid yw :attribute yn ddilys.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +92,11 @@ module.exports = { numeric: 'Rhaid i :attribute fod yn :size.', file: 'Rhaid i :attribute fod yn :size kilobytes.', string: 'Rhaid i :attribute fod yn :size nodyn.', - array: 'Rhaid i :attribute fod yn :size eitem.', + array: 'Rhaid i :attribute fod yn :size eitem.' }, string: 'The :attribute must be a string.', timezone: 'Rhaid i :attribute fod yn timezone dilys.', unique: 'Mae :attribute eisoes yn bodoli.', uploaded: 'The :attribute failed to upload.', - url: 'Nid yw fformat :attribute yn ddilys.', + url: 'Nid yw fformat :attribute yn ddilys.' }; diff --git a/src/lang/de.js b/src/lang/de.js index c2ed96cc..cf82cbfa 100755 --- a/src/lang/de.js +++ b/src/lang/de.js @@ -15,7 +15,7 @@ module.exports = { digits: 'Das :attribute Feld muss :digits Stellen haben.', digits_between: 'Das :attribute Feld muss zwischen :min und :max Stellen haben.', different: 'Die Felder :attribute und :different müssen sich unterscheiden.', - 'in': 'Der gewählte Wert für :attribute ist ungültig.', + in: 'Der gewählte Wert für :attribute ist ungültig.', integer: 'Das :attribute Feld muss eine ganze Zahl sein.', hex: 'Das :attribute Feld sollte hexadezimal sein', min: { diff --git a/src/lang/el.js b/src/lang/el.js index 1a013c5e..1f7206a1 100755 --- a/src/lang/el.js +++ b/src/lang/el.js @@ -12,7 +12,7 @@ module.exports = { digits: 'Το πεδίο :attribute πρέπει να είναι :digits ψηφία.', digits_between: 'Το πεδίο :attribute πρέπει να είναι μεταξύ :min και :max ψηφία.', different: 'Το πεδίο :attribute και :different πρέπει να είναι διαφορετικά.', - 'in': 'Το επιλεγμένο :attribute δεν είναι έγκυρο.', + in: 'Το επιλεγμένο :attribute δεν είναι έγκυρο.', integer: 'Το πεδίο :attribute πρέπει να είναι ακέραιος.', hex: 'Το πεδίο :attribute πρέπει να είναι σε δεκαεξαδική μορφή.', min: { diff --git a/src/lang/en.js b/src/lang/en.js index db8a9663..622d770c 100755 --- a/src/lang/en.js +++ b/src/lang/en.js @@ -15,7 +15,7 @@ module.exports = { digits: 'The :attribute must be :digits digits.', digits_between: 'The :attribute field must be between :min and :max digits.', different: 'The :attribute and :different must be different.', - 'in': 'The selected :attribute is invalid.', + in: 'The selected :attribute is invalid.', integer: 'The :attribute must be an integer.', hex: 'The :attribute field should have hexadecimal format', min: { diff --git a/src/lang/es.js b/src/lang/es.js index c29e6efc..f96ac43f 100755 --- a/src/lang/es.js +++ b/src/lang/es.js @@ -11,7 +11,7 @@ module.exports = { digits: 'El campo :attribute debe tener :digits dígitos.', digits_between: 'El campo :attribute debe tener entre :min y :max dígitos.', email: 'El campo :attribute no es un correo válido.', - 'in': 'El campo :attribute es inválido.', + in: 'El campo :attribute es inválido.', integer: 'El campo :attribute debe ser un número entero.', hex: 'El campo :attribute debe tener formato hexadecimal.', max: { diff --git a/src/lang/et.js b/src/lang/et.js index 4a3a89b5..d2ce0a4c 100644 --- a/src/lang/et.js +++ b/src/lang/et.js @@ -6,6 +6,7 @@ module.exports = { alpha: ':attribute võib sisaldada vaid tähemärke.', alpha_dash: ':attribute võib sisaldada vaid tähti, numbreid ja kriipse.', alpha_num: ':attribute võib sisaldada vaid tähti ja numbreid.', + attributes: {}, array: ':attribute peab olema massiiv.', before: ':attribute peab olema kuupäev enne :date.', before_or_equal: ':attribute peab olema kuupäev enne või samastuma :date.', @@ -13,7 +14,7 @@ module.exports = { numeric: ':attribute peab olema :min ja :max vahel.', file: ':attribute peab olema :min ja :max kilobaidi vahel.', string: ':attribute peab olema :min ja :max tähemärgi vahel.', - array: ':attribute peab olema :min ja :max kirje vahel.', + array: ':attribute peab olema :min ja :max kirje vahel.' }, boolean: ':attribute väli peab olema tõene või väär.', confirmed: ':attribute kinnitus ei vasta.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: ':attribute peab olema pilt.', in: 'Valitud :attribute on vigane.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: ':attribute ei tohi olla suurem kui :max.', file: ':attribute ei tohi olla suurem kui :max kilobaiti.', string: ':attribute ei tohi olla suurem kui :max tähemärki.', - array: ':attribute ei tohi sisaldada rohkem kui :max kirjet.', + array: ':attribute ei tohi sisaldada rohkem kui :max kirjet.' }, mimes: ':attribute peab olema :values tüüpi.', mimetypes: ':attribute peab olema :values tüüpi.', @@ -72,7 +73,7 @@ module.exports = { numeric: ':attribute peab olema vähemalt :min.', file: ':attribute peab olema vähemalt :min kilobaiti.', string: ':attribute peab olema vähemalt :min tähemärki.', - array: ':attribute peab olema vähemalt :min kirjet.', + array: ':attribute peab olema vähemalt :min kirjet.' }, not_in: 'Valitud :attribute on vigane.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +92,11 @@ module.exports = { numeric: ':attribute peab olema :size.', file: ':attribute peab olema :size kilobaiti.', string: ':attribute peab olema :size tähemärki.', - array: ':attribute peab sisaldama :size kirjet.', + array: ':attribute peab sisaldama :size kirjet.' }, string: ':attribute peab olema string.', timezone: ':attribute peab olema kehtiv tsoon.', unique: ':attribute on juba hõivatud.', uploaded: ':attribute ei õnnestunud laadida.', - url: ':attribute vorming on vigane.', + url: ':attribute vorming on vigane.' }; diff --git a/src/lang/eu.js b/src/lang/eu.js index b4c9173a..806b9d86 100644 --- a/src/lang/eu.js +++ b/src/lang/eu.js @@ -6,6 +6,7 @@ module.exports = { alpha: ':attribute hizkiak besterik ezin ditu izan.', alpha_dash: ':attribute hizkiak, zenbakiak eta marrak besterik ezin ditu izan.', alpha_num: ':attribute hizkiak eta zenbakiak besterik ezin ditu izan.', + attributes: {}, array: ':attribute bilduma izan behar da.', before: ':attribute :date aurreko data izan behar da.', before_or_equal: ':attribute :date aurreko data edo data berdina izan behar da.', @@ -13,7 +14,7 @@ module.exports = { numeric: ':attribute :min eta :max artean egon behar da.', file: ':attribute-k :min eta :max kilobyte arteko pisua izan behar du.', string: ':attribute :min eta :max karaktere artean egon behar da.', - array: ':attribute-k :min eta :max arteko ale kantitatea euki behar du.', + array: ':attribute-k :min eta :max arteko ale kantitatea euki behar du.' }, boolean: ':attribute-ren balioa egia edo gezurra izan behar da.', confirmed: ':attribute-ren konfirmazioa ez dator bat.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: ':attribute irudi bat izan behar da.', in: 'Hautatutako :attribute baliogabea da.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: ':attribute ezin da :max baino handiagoa izan.', file: ':attribute-k ezin du :max kilobyte baino gehiagoko pisua euki.', string: ':attribute-k ezin du :max karaktere baino gehiago euki.', - array: ':attribute-k ezin du :max ale baino gehiago euki.', + array: ':attribute-k ezin du :max ale baino gehiago euki.' }, mimes: ':attribute :values motatako fitxategia izan behar da.', mimetypes: ':attribute :values motatako fitxategia izan behar da.', @@ -72,7 +73,7 @@ module.exports = { numeric: ':attribute-k gutxienez :min-eko tamaina izan behar du.', file: ':attribute-k gutxienez :min kilobyteko pisua euki behar du.', string: ':attribute-k gutxienez :min karaktere euki behar ditu.', - array: ':attribute-k gutxienez :min ale euki behar ditu.', + array: ':attribute-k gutxienez :min ale euki behar ditu.' }, not_in: 'Hautatutako :attribute baliogabea da.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +92,11 @@ module.exports = { numeric: ':attribute-k :size-eko tamaina izan behar du.', file: ':attribute-k :size kilobyteko pisua euki behar du.', string: ':attribute-k :size karaktere euki beha ditu.', - array: ':attribute-k :size ale euki behar ditu.', + array: ':attribute-k :size ale euki behar ditu.' }, string: ':attribute karaktere-katea izan behar da.', timezone: ':attribute baliozko gunea izan behar da.', unique: ':attribute jadanik erregistratua izan da.', uploaded: ':attribute igotzerakoan huts egin du.', - url: ':attribute-k ez dauka formatu egokirik.', + url: ':attribute-k ez dauka formatu egokirik.' }; diff --git a/src/lang/fa.js b/src/lang/fa.js index c129c255..f2750a6a 100755 --- a/src/lang/fa.js +++ b/src/lang/fa.js @@ -11,7 +11,7 @@ module.exports = { digits: 'فیلد :attribute می بایست شامل :digits رقم باشد', digits_between: ':attribute باید بین :min و :max رقم باشد.', different: 'فیلد :attribute می بایست مقداری غیر از :different داشته باشد', - 'in': 'فیلد :attribute انتخاب شده صحیح نمی باشد', + in: 'فیلد :attribute انتخاب شده صحیح نمی باشد', integer: 'فیلد :attribute می بایست عددی باشد', hex: 'فیلد :attribute باید در فرمت مبنای ۱۶ باشد', min: { diff --git a/src/lang/fi.js b/src/lang/fi.js index 1025c2d1..4a026c2e 100644 --- a/src/lang/fi.js +++ b/src/lang/fi.js @@ -15,7 +15,7 @@ module.exports = { digits: ':attribute on oltava :digits numeroa pitkä.', digits_between: 'Kentän :attribute arvon tulee olla :min - :max numeroa.', different: ':attribute ei saa olla yhtä kuin :different.', - 'in': 'Valittu :attribute ei kelpaa.', + in: 'Valittu :attribute ei kelpaa.', integer: ':attribute ei ole numero.', hex: ':attribute on oltava heksadesimaali.', min: { @@ -46,4 +46,3 @@ module.exports = { regex: ':attribute on väärässä muodossa.', attributes: {} }; - diff --git a/src/lang/fr.js b/src/lang/fr.js index 2fb58deb..42015d79 100755 --- a/src/lang/fr.js +++ b/src/lang/fr.js @@ -10,7 +10,7 @@ module.exports = { digits: 'Le champ :attribute doit être composé de :digits chiffres.', digits_between: 'Le champ :attribute doit contenir entre :min et :max chiffres.', different: 'Les champs :attribute et :different doivent être différents.', - 'in': 'Le champ :attribute est invalide.', + in: 'Le champ :attribute est invalide.', integer: 'Le champ :attribute doit être un entier.', hex: 'Le champ :attribute doit être au format hexadécimal.', min: { diff --git a/src/lang/hr.js b/src/lang/hr.js index 8e5de65d..202d03f6 100644 --- a/src/lang/hr.js +++ b/src/lang/hr.js @@ -6,6 +6,7 @@ module.exports = { alpha: 'Polje :attribute smije sadržavati samo slova.', alpha_dash: 'Polje :attribute smije sadržavati samo slova, brojeve i crtice.', alpha_num: 'Polje :attribute smije sadržavati samo slova i brojeve.', + attributes: {}, array: 'Polje :attribute mora biti niz.', before: 'Polje :attribute mora biti datum prije :date.', before_or_equal: 'Polje :attribute mora biti datum manji ili jednak :date.', @@ -13,7 +14,7 @@ module.exports = { numeric: 'Polje :attribute mora biti između :min - :max.', file: 'Polje :attribute mora biti između :min - :max kilobajta.', string: 'Polje :attribute mora biti između :min - :max znakova.', - array: 'Polje :attribute mora imati između :min - :max stavki.', + array: 'Polje :attribute mora imati između :min - :max stavki.' }, boolean: 'Polje :attribute mora biti false ili true.', confirmed: 'Potvrda polja :attribute se ne podudara.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'Polje :attribute mora biti veće od :value.', file: 'Polje :attribute mora biti veće od :value kilobajta.', string: 'Polje :attribute mora biti veće od :value karaktera.', - array: 'Polje :attribute mora biti veće od :value stavki.', + array: 'Polje :attribute mora biti veće od :value stavki.' }, gte: { numeric: 'Polje :attribute mora biti veće ili jednako :value.', file: 'Polje :attribute mora biti veće ili jednako :value kilobajta.', string: 'Polje :attribute mora biti veće ili jednako :value znakova.', - array: 'Polje :attribute mora imati :value stavki ili više.', + array: 'Polje :attribute mora imati :value stavki ili više.' }, image: 'Polje :attribute mora biti slika.', in: 'Odabrano polje :attribute nije ispravno.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'Polje :attribute mora biti manje od :value.', file: 'Polje :attribute mora biti manje od :value kilobajta.', string: 'Polje :attribute mora biti manje od :value znakova.', - array: 'Polje :attribute mora biti manje od :value stavki.', + array: 'Polje :attribute mora biti manje od :value stavki.' }, lte: { numeric: 'Polje :attribute mora biti manje ili jednako :value.', file: 'Polje :attribute mora biti manje ili jednako :value kilobajta.', string: 'Polje :attribute mora biti manje ili jednako :value znakova.', - array: 'Polje :attribute ne smije imati više od :value stavki.', + array: 'Polje :attribute ne smije imati više od :value stavki.' }, max: { numeric: 'Polje :attribute mora biti manje od :max.', file: 'Polje :attribute mora biti manje od :max kilobajta.', string: 'Polje :attribute mora sadržavati manje od :max znakova.', - array: 'Polje :attribute ne smije imati više od :max stavki.', + array: 'Polje :attribute ne smije imati više od :max stavki.' }, mimes: 'Polje :attribute mora biti datoteka tipa: :values.', mimetypes: 'Polje :attribute mora biti datoteka tipa: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: 'Polje :attribute mora biti najmanje :min.', file: 'Polje :attribute mora biti najmanje :min kilobajta.', string: 'Polje :attribute mora sadržavati najmanje :min znakova.', - array: 'Polje :attribute mora sadržavati najmanje :min stavki.', + array: 'Polje :attribute mora sadržavati najmanje :min stavki.' }, not_in: 'Odabrano polje :attribute nije ispravno.', not_regex: 'Format polja :attribute je neispravan.', @@ -91,11 +92,11 @@ module.exports = { numeric: 'Polje :attribute mora biti :size.', file: 'Polje :attribute mora biti :size kilobajta.', string: 'Polje :attribute mora biti :size znakova.', - array: 'Polje :attribute mora sadržavati :size stavki.', + array: 'Polje :attribute mora sadržavati :size stavki.' }, string: 'Polje :attribute mora biti string.', timezone: 'Polje :attribute mora biti ispravna vremenska zona.', unique: 'Polje :attribute već postoji.', uploaded: 'Polje :attribute nije uspešno učitano.', - url: 'Polje :attribute nije ispravnog formata.', + url: 'Polje :attribute nije ispravnog formata.' }; diff --git a/src/lang/hu.js b/src/lang/hu.js index b2d50ba0..0e2b16d0 100644 --- a/src/lang/hu.js +++ b/src/lang/hu.js @@ -6,6 +6,7 @@ module.exports = { alpha: 'A(z) :attribute kizárólag betűket tartalmazhat!', alpha_dash: 'A(z) :attribute kizárólag betűket, számokat és kötőjeleket tartalmazhat!', alpha_num: 'A(z) :attribute kizárólag betűket és számokat tartalmazhat!', + attributes: {}, array: 'A(z) :attribute egy tömb kell, hogy legyen!', before: 'A(z) :attribute :date előtti dátum kell, hogy legyen!', before_or_equal: 'A(z) :attribute nem lehet későbbi dátum, mint :date!', @@ -13,7 +14,7 @@ module.exports = { numeric: 'A(z) :attribute :min és :max közötti szám kell, hogy legyen!', file: 'A(z) :attribute mérete :min és :max kilobájt között kell, hogy legyen!', string: 'A(z) :attribute hossza :min és :max karakter között kell, hogy legyen!', - array: 'A(z) :attribute :min - :max közötti elemet kell, hogy tartalmazzon!', + array: 'A(z) :attribute :min - :max közötti elemet kell, hogy tartalmazzon!' }, boolean: 'A(z) :attribute mező csak true vagy false értéket kaphat!', confirmed: 'A(z) :attribute nem egyezik a megerősítéssel.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'A(z) :attribute nagyobb kell, hogy legyen, mint :value!', file: 'A(z) :attribute mérete nagyobb kell, hogy legyen, mint :value kilobájt.', string: 'A(z) :attribute hosszabb kell, hogy legyen, mint :value karakter.', - array: 'A(z) :attribute több, mint :value elemet kell, hogy tartalmazzon.', + array: 'A(z) :attribute több, mint :value elemet kell, hogy tartalmazzon.' }, gte: { numeric: 'A(z) :attribute nagyobb vagy egyenlő kell, hogy legyen, mint :value!', file: 'A(z) :attribute mérete nem lehet kevesebb, mint :value kilobájt.', string: 'A(z) :attribute hossza nem lehet kevesebb, mint :value karakter.', - array: 'A(z) :attribute legalább :value elemet kell, hogy tartalmazzon.', + array: 'A(z) :attribute legalább :value elemet kell, hogy tartalmazzon.' }, image: 'A(z) :attribute képfájl kell, hogy legyen!', in: 'A kiválasztott :attribute érvénytelen.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'A(z) :attribute kisebb kell, hogy legyen, mint :value!', file: 'A(z) :attribute mérete kisebb kell, hogy legyen, mint :value kilobájt.', string: 'A(z) :attribute rövidebb kell, hogy legyen, mint :value karakter.', - array: 'A(z) :attribute kevesebb, mint :value elemet kell, hogy tartalmazzon.', + array: 'A(z) :attribute kevesebb, mint :value elemet kell, hogy tartalmazzon.' }, lte: { numeric: 'A(z) :attribute kisebb vagy egyenlő kell, hogy legyen, mint :value!', file: 'A(z) :attribute mérete nem lehet több, mint :value kilobájt.', string: 'A(z) :attribute hossza nem lehet több, mint :value karakter.', - array: 'A(z) :attribute legfeljebb :value elemet kell, hogy tartalmazzon.', + array: 'A(z) :attribute legfeljebb :value elemet kell, hogy tartalmazzon.' }, max: { numeric: 'A(z) :attribute értéke nem lehet nagyobb, mint :max!', file: 'A(z) :attribute mérete nem lehet több, mint :max kilobájt.', string: 'A(z) :attribute hossza nem lehet több, mint :max karakter.', - array: 'A(z) :attribute legfeljebb :max elemet kell, hogy tartalmazzon.', + array: 'A(z) :attribute legfeljebb :max elemet kell, hogy tartalmazzon.' }, mimes: 'A(z) :attribute kizárólag az alábbi fájlformátumok egyike lehet: :values.', mimetypes: 'A(z) :attribute kizárólag az alábbi fájlformátumok egyike lehet: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: 'A(z) :attribute értéke nem lehet kisebb, mint :min!', file: 'A(z) :attribute mérete nem lehet kevesebb, mint :min kilobájt.', string: 'A(z) :attribute hossza nem lehet kevesebb, mint :min karakter.', - array: 'A(z) :attribute legalább :min elemet kell, hogy tartalmazzon.', + array: 'A(z) :attribute legalább :min elemet kell, hogy tartalmazzon.' }, not_in: 'A(z) :attribute értéke érvénytelen.', not_regex: 'A(z) :attribute formátuma érvénytelen.', @@ -91,11 +92,11 @@ module.exports = { numeric: 'A(z) :attribute értéke :size kell, hogy legyen!', file: 'A(z) :attribute mérete :size kilobájt kell, hogy legyen!', string: 'A(z) :attribute hossza :size karakter kell, hogy legyen!', - array: 'A(z) :attribute :size elemet kell tartalmazzon!', + array: 'A(z) :attribute :size elemet kell tartalmazzon!' }, string: 'A(z) :attribute szöveg kell, hogy legyen.', timezone: 'A(z) :attribute nem létező időzona.', unique: 'A(z) :attribute már foglalt.', uploaded: 'A(z) :attribute feltöltése sikertelen.', - url: 'A(z) :attribute érvénytelen link.', + url: 'A(z) :attribute érvénytelen link.' }; diff --git a/src/lang/id.js b/src/lang/id.js index da74ff71..641cc3e8 100755 --- a/src/lang/id.js +++ b/src/lang/id.js @@ -15,7 +15,7 @@ module.exports = { digits: ':attribute harus :digits digit.', digits_between: 'Isian :attribute harus antara angka :min dan :max.', different: ':attribute dan :different harus berbeda.', - 'in': ':attribute tidak benar.', + in: ':attribute tidak benar.', integer: ':attribute harus berupa angka.', hex: ':attribute harus berformat heksadesimal', min: { diff --git a/src/lang/it.js b/src/lang/it.js index bd993701..6f8354c6 100755 --- a/src/lang/it.js +++ b/src/lang/it.js @@ -10,7 +10,7 @@ module.exports = { digits: 'Il campo :attribute deve essere di :digits cifre.', digits_between: 'Il campo :attribute deve essere tra :min e :max cifre.', different: 'Il campo :attribute e :different devo essere diversi.', - 'in': 'Il valore del campo :attribute non è valido.', + in: 'Il valore del campo :attribute non è valido.', integer: 'Il campo :attribute deve essere un valore intero.', hex: 'Il campo :attribute deve essere in formato esadecimale', min: { diff --git a/src/lang/ja.js b/src/lang/ja.js index 97ab7010..a58bc223 100755 --- a/src/lang/ja.js +++ b/src/lang/ja.js @@ -15,34 +15,34 @@ module.exports = { digits: ':attributeは:digitsの数字のみで入力してください。', digits_between: ':attributeは、:min桁から:max桁にしてください。', different: ':attributeと:differentは同じであってはなりません。', - 'in': '選択された:attributeは無効です。', + in: '選択された:attributeは無効です。', integer: ':attributeは整数で入力してください。', hex: ':attributeは16進数で入力してください。', min: { - numeric: ":attributeは:min以上で入力してください。", - string: ":attributeは:min文字以上で入力してください。" + numeric: ':attributeは:min以上で入力してください。', + string: ':attributeは:min文字以上で入力してください。' }, max: { - numeric: ":attributeは:max以下で入力してください。", - string: ":attributeは:max文字以下で入力してください。" + numeric: ':attributeは:max以下で入力してください。', + string: ':attributeは:max文字以下で入力してください。' }, - not_in: "選択された:attributeは無効です。", - numeric: ":attributeは数値で入力してください。", + not_in: '選択された:attributeは無効です。', + numeric: ':attributeは数値で入力してください。', present: ':attributeを入力してください(空欄も可能です)。', - required: ":attributeは必須です。", - required_if: ":otherは:valueになったら:attributeは必須です。", + required: ':attributeは必須です。', + required_if: ':otherは:valueになったら:attributeは必須です。', required_unless: ':otherが:valueでなければ:attributeは必須です。', required_with: ':fieldが空欄でなければ:attributeは必須です。', required_with_all: ':fieldsが空欄でなければ:attributeは必須です。', required_without: ':fieldが空欄なら:attributeは必須です。', required_without_all: ':fieldsが空欄なら:attributeは必須です。', - same: ":attributeと:sameは同じでなければなりません。", + same: ':attributeと:sameは同じでなければなりません。', size: { - numeric: ":attributeは:sizeを入力してください。", - string: ":attributeは:size文字で入力してください。" + numeric: ':attributeは:sizeを入力してください。', + string: ':attributeは:size文字で入力してください。' }, string: ':attributeは文字のみで入力してください。', - url: ":attributeは正しいURIを入力してください。", - regex: ":attributeの値はパターンにマッチする必要があります。", + url: ':attributeは正しいURIを入力してください。', + regex: ':attributeの値はパターンにマッチする必要があります。', attributes: {} }; diff --git a/src/lang/ka.js b/src/lang/ka.js index be92bc7c..c3e0cc18 100644 --- a/src/lang/ka.js +++ b/src/lang/ka.js @@ -6,6 +6,7 @@ module.exports = { alpha: ':attribute უნდა შეიცავდეს მხოლოდ ასოებს.', alpha_dash: ':attribute უნდა შეიცავდეს მხოლოდ ასოებს, რიცხვებს და ტირეებს.', alpha_num: ':attribute უნდა შეიცავდეს მხოლოდ ასოებს და რიცხვებს.', + attributes: {}, array: ':attribute უნდა იყოს მასივი.', before: ':attribute უნდა იყოს :date-მდე.', before_or_equal: ':attribute უნდა იყოს :date-მდე ან მისი ტოლი.', @@ -13,7 +14,7 @@ module.exports = { numeric: ':attribute უნდა იყოს :min-სა და :max-ს შორის.', file: ':attribute უნდა იყოს :min-სა და :max კილობაიტს შორის.', string: ':attribute უნდა იყოს :min-სა და :max სიმბოლოს შორის.', - array: ':attribute-ის რაოდენობა უნდა იყოს :min-დან :max-მდე.', + array: ':attribute-ის რაოდენობა უნდა იყოს :min-დან :max-მდე.' }, boolean: ':attribute უნდა იყოს true, false, 0 ან 1.', confirmed: ':attribute არ ემთხვევა დადასტურებას.', @@ -32,13 +33,13 @@ module.exports = { numeric: ':attribute უნდა იყოს :value-ზე მეტი.', file: ':attribute უნდა იყოს :value კილობაიტზე მეტი.', string: ':attribute უნდა შეიცავდეს :value სიმბოლოზე მეტს.', - array: ':attribute უნდა შეიცავლდეს :value ელემენტზე მეტს.', + array: ':attribute უნდა შეიცავლდეს :value ელემენტზე მეტს.' }, gte: { numeric: ':attribute უნდა იყოს მინიმუმ :value.', file: ':attribute უნდა იყოს მინიმუმ :value კილობაიტი.', string: ':attribute უნდა შეიცავდეს მინიმუმ :value სიმბოლოს.', - array: ':attribute უნდა შეიცავდეს მინიმუმ :value ელემენტს.', + array: ':attribute უნდა შეიცავდეს მინიმუმ :value ელემენტს.' }, image: ':attribute უნდა იყოს სურათი.', in: 'მითითებული :attribute არასწორია.', @@ -52,19 +53,19 @@ module.exports = { numeric: ':attribute უნდა იყოს :value-ზე ნაკლები.', file: ':attribute უნდა იყოს :value კილობაიტზე ნაკლები.', string: ':attribute უნდა შეიცავდეს :value სიმბოლოზე ნაკლებს.', - array: ':attribute უნდა შეიცავლდეს :value ელემენტზე ნაკლებს.', + array: ':attribute უნდა შეიცავლდეს :value ელემენტზე ნაკლებს.' }, lte: { numeric: ':attribute უნდა იყოს მაქსიმუმ :value.', file: ':attribute უნდა იყოს მაქსიმუმ :value კილობაიტი.', string: ':attribute უნდა შეიცავდეს მაქსიმუმ :value სიმბოლოს.', - array: ':attribute უნდა შეიცავდეს მაქსიმუმ :value ელემენტს.', + array: ':attribute უნდა შეიცავდეს მაქსიმუმ :value ელემენტს.' }, max: { numeric: ':attribute არ უნდა აღემატებოდეს :max-ს.', file: ':attribute არ უნდა აღემატებოდეს :max კილობაიტს.', string: ':attribute არ უნდა აღემატებოდეს :max სიმბოლოს.', - array: ':attribute-ის რაოდენობა არ უნდა აღემატებოდეს :max-ს.', + array: ':attribute-ის რაოდენობა არ უნდა აღემატებოდეს :max-ს.' }, mimes: ':attribute უნდა იყოს შემდეგი ტიპის: :values.', mimetypes: ':attribute უნდა იყოს შემდეგი ტიპის: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: ':attribute უნდა იყოს მინიმუმ :min.', file: ':attribute უნდა იყოს მინიმუმ :min კილობაიტი.', string: ':attribute უნდა შეიცავდეს მინიმუმ :min სიმბოლოს.', - array: ':attribute უნდა იყოს მინიმუმ :min.', + array: ':attribute უნდა იყოს მინიმუმ :min.' }, not_in: 'მითითებული :attribute არასწორია.', not_regex: ':attribute არასწორ ფორმატშია.', @@ -91,11 +92,11 @@ module.exports = { numeric: ':attribute უნდა იყოს :size-ის ტოლი.', file: ':attribute უნდა იყოს :size კილობაიტი.', string: ':attribute უნდა შედგებოდეს :size სიმბოლოსგან.', - array: ':attribute უნდა შეიცავდეს :size ელემენტს.', + array: ':attribute უნდა შეიცავდეს :size ელემენტს.' }, string: ':attribute უნდა იყოს ტექსტი.', timezone: ':attribute უნდა იყოს სასაათო სარტყელი.', unique: 'ასეთი :attribute უკვე არსებობს.', uploaded: ':attribute-ის ატვირთვა ვერ მოხერხდა.', - url: ':attribute უნდა იყოს URL მისამართი.', + url: ':attribute უნდა იყოს URL მისამართი.' }; diff --git a/src/lang/ko.js b/src/lang/ko.js index 2b781eb9..66c64195 100644 --- a/src/lang/ko.js +++ b/src/lang/ko.js @@ -6,6 +6,7 @@ module.exports = { alpha: ':attribute은(는) 문자만 포함할 수 있습니다.', alpha_dash: ':attribute은(는) 문자, 숫자, 대쉬(-)만 포함할 수 있습니다.', alpha_num: ':attribute은(는) 문자와 숫자만 포함할 수 있습니다.', + attributes: {}, array: ':attribute은(는) 배열이어야 합니다.', before: ':attribute은(는) :date 이전 날짜여야 합니다.', before_or_equal: ':attribute은(는) :date 이전 날짜이거나 같은 날짜여야 합니다.', @@ -13,7 +14,7 @@ module.exports = { numeric: ':attribute은(는) :min에서 :max 사이여야 합니다.', file: ':attribute은(는) :min에서 :max 킬로바이트 사이여야 합니다.', string: ':attribute은(는) :min에서 :max 문자 사이여야 합니다.', - array: ':attribute은(는) :min에서 :max 개의 항목이 있어야 합니다.', + array: ':attribute은(는) :min에서 :max 개의 항목이 있어야 합니다.' }, boolean: ':attribute은(는) true 또는 false 이어야 합니다.', confirmed: ':attribute 확인 항목이 일치하지 않습니다.', @@ -32,13 +33,13 @@ module.exports = { numeric: ':attribute의 값은 :value보다 커야 합니다.', file: ':attribute의 용량은 :value킬로바이트보다 커야 합니다.', string: ':attribute의 길이는 :value보다 길어야 합니다.', - array: ':attribute의 항목수는 :value개 보다 많아야 합니다.', + array: ':attribute의 항목수는 :value개 보다 많아야 합니다.' }, gte: { numeric: ':attribute의 값은 :value보다 같거나 커야 합니다.', file: ':attribute의 용량은 :value킬로바이트보다 같거나 커야 합니다.', string: ':attribute의 길이는 :value보다 같거나 길어야 합니다.', - array: ':attribute의 항목수는 :value개 보다 같거나 많아야 합니다.', + array: ':attribute의 항목수는 :value개 보다 같거나 많아야 합니다.' }, image: ':attribute은(는) 이미지여야 합니다.', in: '선택된 :attribute은(는) 유효하지 않습니다.', @@ -52,19 +53,19 @@ module.exports = { numeric: ':attribute의 값은 :value보다 작아야 합니다.', file: ':attribute의 용량은 :value킬로바이트보다 작아야 합니다.', string: ':attribute의 길이는 :value보다 짧아야 합니다.', - array: ':attribute의 항목수는 :value개 보다 작아야 합니다.', + array: ':attribute의 항목수는 :value개 보다 작아야 합니다.' }, lte: { numeric: ':attribute의 값은 :value보다 같거나 작아야 합니다.', file: ':attribute의 용량은 :value킬로바이트보다 같거나 작아야 합니다.', string: ':attribute의 길이는 :value보다 같거나 짧아야 합니다.', - array: ':attribute의 항목수는 :value개 보다 같거나 작아야 합니다.', + array: ':attribute의 항목수는 :value개 보다 같거나 작아야 합니다.' }, max: { numeric: ':attribute은(는) :max보다 클 수 없습니다.', file: ':attribute은(는) :max킬로바이트보다 클 수 없습니다.', string: ':attribute은(는) :max자보다 클 수 없습니다.', - array: ':attribute은(는) :max개보다 많을 수 없습니다.', + array: ':attribute은(는) :max개보다 많을 수 없습니다.' }, mimes: ':attribute은(는) 다음의 파일 형식이어야 합니다: :values.', mimetypes: ':attribute은(는) 다음의 파일 형식이어야 합니다: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: ':attribute은(는) 최소한 :min이어야 합니다.', file: ':attribute은(는) 최소한 :min킬로바이트이어야 합니다.', string: ':attribute은(는) 최소한 :min자이어야 합니다.', - array: ':attribute은(는) 최소한 :min개의 항목이 있어야 합니다.', + array: ':attribute은(는) 최소한 :min개의 항목이 있어야 합니다.' }, not_in: '선택된 :attribute이(가) 유효하지 않습니다.', not_regex: ':attribute의 형식이 올바르지 않습니다.', @@ -91,11 +92,11 @@ module.exports = { numeric: ':attribute은(는) :size (이)여야 합니다.', file: ':attribute은(는) :size킬로바이트여야 합니다.', string: ':attribute은(는) :size자여야 합니다.', - array: ':attribute은(는) :size개의 항목을 포함해야 합니다.', + array: ':attribute은(는) :size개의 항목을 포함해야 합니다.' }, string: ':attribute은(는) 문자열이어야 합니다.', timezone: ':attribute은(는) 올바른 시간대 이어야 합니다.', unique: ':attribute은(는) 이미 사용 중입니다.', uploaded: ':attribute을(를) 업로드하지 못했습니다.', - url: ':attribute 형식은 유효하지 않습니다.', + url: ':attribute 형식은 유효하지 않습니다.' }; diff --git a/src/lang/lt.js b/src/lang/lt.js index f619e8c2..a170e816 100644 --- a/src/lang/lt.js +++ b/src/lang/lt.js @@ -6,6 +6,7 @@ module.exports = { alpha: 'Laukas :attribute gali turėti tik raides.', alpha_dash: 'Laukas :attribute gali turėti tik raides, skaičius ir brūkšnelius.', alpha_num: 'Laukas :attribute gali turėti tik raides ir skaičius.', + attributes: {}, array: 'Laukas :attribute turi būti masyvas.', before: 'Laukas :attribute turi būti data prieš :date.', before_or_equal: 'The :attribute must be a date before or equal to :date.', @@ -13,9 +14,9 @@ module.exports = { numeric: 'Lauko :attribute reikšmė turi būti tarp :min ir :max.', file: 'Failo dydis lauke :attribute turi būti tarp :min ir :max kilobaitų.', string: 'Simbolių skaičius lauke :attribute turi būti tarp :min ir :max.', - array: 'Elementų skaičius lauke :attribute turi turėti nuo :min iki :max.', + array: 'Elementų skaičius lauke :attribute turi turėti nuo :min iki :max.' }, - boolean: "Lauko reikšmė :attribute turi būti 'taip' arba 'ne'.", + boolean: 'Lauko reikšmė :attribute turi būti \'taip\' arba \'ne\'.', confirmed: 'Lauko :attribute patvirtinimas nesutampa.', date: 'Lauko :attribute reikšmė nėra galiojanti data.', date_format: 'Lauko :attribute reikšmė neatitinka formato :format.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: 'Lauko :attribute reikšmė turi būti paveikslėlis.', in: 'Pasirinkta negaliojanti :attribute reikšmė.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: 'Lauko :attribute reikšmė negali būti didesnė nei :max.', file: 'Failo dydis lauke :attribute reikšmė negali būti didesnė nei :max kilobaitų.', string: 'Simbolių kiekis lauke :attribute reikšmė negali būti didesnė nei :max simbolių.', - array: 'Elementų kiekis lauke :attribute negali turėti daugiau nei :max elementų.', + array: 'Elementų kiekis lauke :attribute negali turėti daugiau nei :max elementų.' }, mimes: 'Lauko reikšmė :attribute turi būti failas vieno iš sekančių tipų: :values.', mimetypes: 'Lauko reikšmė :attribute turi būti failas vieno iš sekančių tipų: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: 'Lauko :attribute reikšmė turi būti ne mažesnė nei :min.', file: 'Failo dydis lauke :attribute turi būti ne mažesnis nei :min kilobaitų.', string: 'Simbolių kiekis lauke :attribute turi būti ne mažiau nei :min.', - array: 'Elementų kiekis lauke :attribute turi būti ne mažiau nei :min.', + array: 'Elementų kiekis lauke :attribute turi būti ne mažiau nei :min.' }, not_in: 'Pasirinkta negaliojanti reikšmė :attribute.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +92,11 @@ module.exports = { numeric: 'Lauko :attribute reikšmė turi būti :size.', file: 'Failo dydis lauke :attribute turi būti :size kilobaitai.', string: 'Simbolių skaičius lauke :attribute turi būti :size.', - array: 'Elementų kiekis lauke :attribute turi būti :size.', + array: 'Elementų kiekis lauke :attribute turi būti :size.' }, string: 'Laukas :attribute turi būti tekstinis.', timezone: 'Lauko :attribute reikšmė turi būti galiojanti laiko zona.', unique: 'Tokia :attribute reikšmė jau pasirinkta.', uploaded: 'The :attribute failed to upload.', - url: 'Negaliojantis lauko :attribute formatas.', + url: 'Negaliojantis lauko :attribute formatas.' }; diff --git a/src/lang/lv.js b/src/lang/lv.js index 043d6cd9..0f9f3490 100644 --- a/src/lang/lv.js +++ b/src/lang/lv.js @@ -6,6 +6,7 @@ module.exports = { alpha: ' :attribute var saturēt tikai burtus.', alpha_dash: ' :attribute var saturēt tikai burtus, nummurus un atstarpes.', alpha_num: ' :attribute var tikai saturēt burtus un nummurus.', + attributes: {}, array: ' :attribute ir jābūt sakārtotam.', before: ' :attribute ir jābūt ar datumu pirms :datums.', before_or_equal: ' :attribute ir jābūt ar datumu pirms vai vienādu ar :datums.', @@ -13,7 +14,7 @@ module.exports = { numeric: ' :attribute jābūt starp :min un :max.', file: ' :attribute jābūt starp :min un :max kilobaiti.', string: ' :attribute jābūt no :min līdz :max zīmēm.', - array: ' :attribute jābūt no :min līdz :max vienībām.', + array: ' :attribute jābūt no :min līdz :max vienībām.' }, boolean: ' :attribute laiciņam jābūt atbilstošam vai neatbilstošam.', confirmed: ' :attribute apstiprinājums neatbilst.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: ' :attribute jābūt attēlam.', in: 'Izvēlētais :attribute ir nederīgs.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: ' :attribute nedrīkst pārsniegt :max.', file: ' :attribute nedrīkst pārsniegt :max kilobaiti.', string: ' :attribute nedrīkst pārsniegt :max zīmes.', - array: ' :attribute nedrīkst pārsniegt :max vienības.', + array: ' :attribute nedrīkst pārsniegt :max vienības.' }, mimes: ' :attribute jābūt faila tipam: :values', mimetypes: ' :attribute jābūt faile tipam: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: ' :attribute jābūt vismaz :min.', file: ' :attribute jābūt vismaz :min kilobaiti.', string: ' :attribute jābūt vismaz :min zīmes.', - array: ' :attribute jāsatur vismaz :min vienības.', + array: ' :attribute jāsatur vismaz :min vienības.' }, not_in: ' izvēlieties :attribute ir nederīgs.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +92,11 @@ module.exports = { numeric: ' :attribute jābūt :size.', file: ' :attribute jābūt :size kilobaiti.', string: ' :attribute jābūt :size zīmes.', - array: ' :attribute jāsatur :size vienības.', + array: ' :attribute jāsatur :size vienības.' }, string: ' :attribute jābūt virknē.', timezone: ' :attribute jābūt derīgā zonā.', unique: ' :attribute jau ir aizņemts.', uploaded: ' :attribute netika augšuplādēts.', - url: ' :attribute formāts ir nederīgs.', + url: ' :attribute formāts ir nederīgs.' }; diff --git a/src/lang/mk.js b/src/lang/mk.js index 61503e2f..7c8317f3 100644 --- a/src/lang/mk.js +++ b/src/lang/mk.js @@ -6,6 +6,7 @@ module.exports = { alpha: 'Полето :attribute може да содржи само букви.', alpha_dash: 'Полето :attribute може да содржи само букви, цифри, долна црта и тире.', alpha_num: 'Полето :attribute може да содржи само букви и цифри.', + attributes: {}, array: 'Полето :attribute мора да биде низа.', before: 'Полето :attribute мора да биде датум пред :date.', before_or_equal: 'The :attribute must be a date before or equal to :date.', @@ -13,7 +14,7 @@ module.exports = { numeric: 'Полето :attribute мора да биде помеѓу :min и :max.', file: 'Полето :attribute мора да биде помеѓу :min и :max килобајти.', string: 'Полето :attribute мора да биде помеѓу :min и :max карактери.', - array: 'Полето :attribute мора да има помеѓу :min - :max карактери.', + array: 'Полето :attribute мора да има помеѓу :min - :max карактери.' }, boolean: 'The :attribute field must be true or false', confirmed: 'Полето :attribute не е потврдено.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: 'Полето :attribute мора да биде слика.', in: 'Избраното поле :attribute е невалидно.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: 'Полето :attribute мора да биде помало од :max.', file: 'Полето :attribute мора да биде помало од :max килобајти.', string: 'Полето :attribute мора да има помалку од :max карактери.', - array: 'Полето :attribute не може да има повеќе од :max карактери.', + array: 'Полето :attribute не може да има повеќе од :max карактери.' }, mimes: 'Полето :attribute мора да биде фајл од типот: :values.', mimetypes: 'Полето :attribute мора да биде фајл од типот: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: 'Полето :attribute мора да биде минимум :min.', file: 'Полето :attribute мора да биде минимум :min килобајти.', string: 'Полето :attribute мора да има минимум :min карактери.', - array: 'Полето :attribute мора да има минимум :min карактери.', + array: 'Полето :attribute мора да има минимум :min карактери.' }, not_in: 'Избраното поле :attribute е невалидно.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +92,11 @@ module.exports = { numeric: 'Полето :attribute мора да биде :size.', file: 'Полето :attribute мора да биде :size килобајти.', string: 'Полето :attribute мора да има :size карактери.', - array: 'Полето :attribute мора да има :size карактери.', + array: 'Полето :attribute мора да има :size карактери.' }, string: 'The :attribute must be a string.', timezone: 'The :attribute must be a valid zone.', unique: 'Полето :attribute веќе постои.', uploaded: 'The :attribute failed to upload.', - url: 'Полето :attribute не е во валиден формат.', + url: 'Полето :attribute не е во валиден формат.' }; diff --git a/src/lang/mn.js b/src/lang/mn.js index 8372d10b..34d7589d 100644 --- a/src/lang/mn.js +++ b/src/lang/mn.js @@ -6,6 +6,7 @@ module.exports = { alpha: ':Attribute талбарт латин үсэг оруулна уу.', alpha_dash: ':Attribute талбарт латин үсэг, тоо болон зураас оруулах боломжтой.', alpha_num: ':Attribute талбарт латин үсэг болон тоо оруулах боломжтой.', + attributes: {}, array: ':Attribute талбар массив байх шаардлагатай.', before: ':Attribute талбарт :date-с өмнөх огноо оруулна уу.', before_or_equal: ':attribute талбарт :date эсвэл түүнээс өмнөх огноо оруулна уу.', @@ -13,7 +14,7 @@ module.exports = { numeric: ':Attribute талбарт :min-:max хооронд тоо оруулна уу.', file: ':Attribute талбарт :min-:max килобайт хэмжээтэй файл оруулна уу.', string: ':Attribute талбарт :min-:max урттай текст оруулна уу.', - array: ':Attribute массивт :min-:max элемэнт байх шаардлагатай.', + array: ':Attribute массивт :min-:max элемэнт байх шаардлагатай.' }, boolean: ':Attribute талбарын утга үнэн эсвэл худал байх шаардлагатай.', confirmed: ':Attribute талбарын баталагажуулалт тохирохгүй байна.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: ':Attribute талбарт зураг оруулна уу.', in: 'Сонгогдсон :attribute буруу байна.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: ':Attribute талбарт :max буюу түүнээс бага утга оруулна уу.', file: ':Attribute талбарт :max килобайтаас бага хэмжээтэй файл оруулна уу.', string: ':Attribute талбарт :max-с бага урттай текст оруулна уу.', - array: ':Attribute талбарт хамгийн ихдээ :max элемэнт оруулах боломжтой.', + array: ':Attribute талбарт хамгийн ихдээ :max элемэнт оруулах боломжтой.' }, mimes: ':Attribute талбарт дараах төрлийн файл оруулах боломжтой: :values.', mimetypes: ':Attribute талбарт дараах төрлийн файл оруулах боломжтой: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: ':Attribute талбарт :min буюу түүнээс их тоо оруулна уу.', file: ':Attribute талбарт :min килобайтаас их хэмжээтэй файл оруулна уу.', string: ':Attribute талбарт :min буюу түүнээс их үсэг бүхий текст оруулна уу.', - array: ':Attribute талбарт хамгийн багадаа :min элемэнт оруулах боломжтой.', + array: ':Attribute талбарт хамгийн багадаа :min элемэнт оруулах боломжтой.' }, not_in: 'Буруу :attribute сонгогдсон байна.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +92,11 @@ module.exports = { numeric: ':Attribute :size хэмжээтэй байх шаардлагатай.', file: ':Attribute :size килобайт хэмжээтэй байх шаардлагатай.', string: ':Attribute :size тэмдэгтийн урттай байх шаардлагатай.', - array: ':Attribute :size элемэнттэй байх шаардлагатай.', + array: ':Attribute :size элемэнттэй байх шаардлагатай.' }, string: ':Attribute талбарт текст оруулна уу.', timezone: ':Attribute талбарт зөв цагийн бүс оруулна уу.', unique: 'Оруулсан :attribute аль хэдий нь бүртгэгдсэн байна.', uploaded: ':Attribute талбарт оруулсан файлыг хуулхад алдаа гарлаа.', - url: ':Attribute зөв url хаяг оруулна уу.', + url: ':Attribute зөв url хаяг оруулна уу.' }; diff --git a/src/lang/ms.js b/src/lang/ms.js index b947119a..80b6401b 100644 --- a/src/lang/ms.js +++ b/src/lang/ms.js @@ -6,6 +6,7 @@ module.exports = { alpha: ':attribute hanya boleh mengandungi huruf.', alpha_dash: ':attribute boleh mengandungi huruf, nombor, dan sengkang.', alpha_num: ':attribute boleh mengandungi huruf dan nombor.', + attributes: {}, array: ':attribute mesti jujukan.', before: ':attribute mesti tarikh sebelum :date.', before_or_equal: ':attribute mesti tarikh sebelum atau sama dengan :date.', @@ -13,7 +14,7 @@ module.exports = { numeric: ':attribute mesti mengandungi antara :min dan :max.', file: ':attribute mesti mengandungi antara :min dan :max kilobait.', string: ':attribute mesti mengandungi antara :min dan :max aksara.', - array: ':attribute mesti mengandungi antara :min dan :max perkara.', + array: ':attribute mesti mengandungi antara :min dan :max perkara.' }, boolean: ':attribute mesti benar atau salah.', confirmed: ':attribute pengesahan yang tidak sepadan.', @@ -32,13 +33,13 @@ module.exports = { numeric: ':attribute mesti melebihi :value.', file: ':attribute mesti melebihi :value kilobait.', string: ':attribute mesti melebihi :value aksara.', - array: ':attribute mesti mengandungi lebih daripada :value perkara.', + array: ':attribute mesti mengandungi lebih daripada :value perkara.' }, gte: { numeric: ':attribute mesti melebihi atau bersamaan :value.', file: ':attribute mesti melebihi atau bersamaan :value kilobait.', string: ':attribute mesti melebihi atau bersamaan :value aksara.', - array: ':attribute mesti mengandungi :value perkara atau lebih.', + array: ':attribute mesti mengandungi :value perkara atau lebih.' }, image: ':attribute mesti imej.', in: ':attribute tidak sah.', @@ -52,19 +53,19 @@ module.exports = { numeric: ':attribute mesti kurang daripada :value.', file: ':attribute mesti kurang daripada :value kilobait.', string: ':attribute mesti kurang daripada :value aksara.', - array: ':attribute mesti mengandungi kurang daripada :value perkara.', + array: ':attribute mesti mengandungi kurang daripada :value perkara.' }, lte: { numeric: ':attribute mesti kurang daripada atau bersamaan dengan :value.', file: ':attribute mesti kurang daripada atau bersamaan dengan :value kilobait.', string: ':attribute mesti kurang daripada atau bersamaan dengan :value aksara.', - array: ':attribute mesti mengandungi kurang daripada atau bersamaan dengan :value perkara.', + array: ':attribute mesti mengandungi kurang daripada atau bersamaan dengan :value perkara.' }, max: { numeric: 'Jumlah :attribute mesti tidak melebihi :max.', file: 'Jumlah :attribute mesti tidak melebihi :max kilobait.', string: 'Jumlah :attribute mesti tidak melebihi :max aksara.', - array: 'Jumlah :attribute mesti tidak melebihi :max perkara.', + array: 'Jumlah :attribute mesti tidak melebihi :max perkara.' }, mimes: ':attribute mesti fail type: :values.', mimetypes: ':attribute mesti fail type: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: 'Jumlah :attribute mesti sekurang-kurangnya :min.', file: 'Jumlah :attribute mesti sekurang-kurangnya :min kilobait.', string: 'Jumlah :attribute mesti sekurang-kurangnya :min aksara.', - array: 'Jumlah :attribute mesti sekurang-kurangnya :min perkara.', + array: 'Jumlah :attribute mesti sekurang-kurangnya :min perkara.' }, not_in: ':attribute tidak sah.', not_regex: 'Format :attribute adalah tidak sah.', @@ -91,11 +92,11 @@ module.exports = { numeric: 'Saiz :attribute mesti :size.', file: 'Saiz :attribute mesti :size kilobait.', string: 'Saiz :attribute mesti :size aksara.', - array: 'Saiz :attribute mesti mengandungi :size perkara.', + array: 'Saiz :attribute mesti mengandungi :size perkara.' }, string: ':attribute mesti aksara.', timezone: ':attribute mesti zon masa yang sah.', unique: ':attribute telah wujud.', uploaded: ':attribute gagal dimuat naik.', - url: ':attribute format tidak sah.', + url: ':attribute format tidak sah.' }; diff --git a/src/lang/nb_NO.js b/src/lang/nb_NO.js index e0b685a8..9f95df99 100755 --- a/src/lang/nb_NO.js +++ b/src/lang/nb_NO.js @@ -11,7 +11,7 @@ module.exports = { digits: ':attribute må være på :digits siffer.', digits_between: ':attribute må være mellom :min og :max siffer.', different: ':attribute og :different må være forskjellige.', - 'in': 'Den oppgitte verdien for :attribute er ugyldig.', + in: 'Den oppgitte verdien for :attribute er ugyldig.', integer: ':attribute må være et heltall.', hex: 'The :attribute should have hexadecimal format', min: { @@ -22,7 +22,7 @@ module.exports = { numeric: ':attribute kan ikke være større enn :max.', string: ':attribute kan maks ha :max tegn.' }, - 'not_in': 'Den oppgitte verdien for :attribute er ugyldig.', + not_in: 'Den oppgitte verdien for :attribute er ugyldig.', numeric: ':attribute må være et tall.', present: 'The :attribute field must be present (but can be empty).', required: ':attribute feltet er påkrevd.', diff --git a/src/lang/nl.js b/src/lang/nl.js index dda2c17d..b59d3f5b 100755 --- a/src/lang/nl.js +++ b/src/lang/nl.js @@ -15,7 +15,7 @@ module.exports = { digits: 'Het :attribute veld moet :digits cijfers hebben.', digits_between: ':attribute moet bestaan uit minimaal :min en maximaal :max cijfers.', different: 'Het :attribute en :different veld moeten verschillend zijn.', - 'in': 'De gekozen waarde voor :attribute is ongeldig.', + in: 'De gekozen waarde voor :attribute is ongeldig.', integer: 'Het :attribute veld moet een geheel getal zijn.', hex: 'Het :attribute veld moet hexadecimaal zijn', min: { diff --git a/src/lang/pl.js b/src/lang/pl.js index 360b09bb..7839fe45 100755 --- a/src/lang/pl.js +++ b/src/lang/pl.js @@ -11,7 +11,7 @@ module.exports = { digits: 'Pole :attribute może zawierać tylko cyfry ze zbioru :digits.', digits_between: 'Pole :attribute musi mieć od :min do :max cyfr.', different: 'Pola :attribute i :different muszą się różnić.', - 'in': 'Pole :attribute musi należeć do zbioru :in.', + in: 'Pole :attribute musi należeć do zbioru :in.', integer: 'Pole :attribute musi być liczbą całkowitą.', hex: 'The :attribute should have hexadecimal format', min: { diff --git a/src/lang/pt.js b/src/lang/pt.js index 1e960134..a848724c 100755 --- a/src/lang/pt.js +++ b/src/lang/pt.js @@ -6,6 +6,7 @@ module.exports = { alpha: 'O campo :attribute deverá conter apenas letras.', alpha_dash: 'O campo :attribute deverá conter apenas letras, números e traços.', alpha_num: 'O campo :attribute deverá conter apenas letras e números .', + attributes: {}, array: 'O campo :attribute deverá conter uma coleção de elementos.', before: 'O campo :attribute deverá conter uma data anterior a :date.', before_or_equal: 'O Campo :attribute deverá conter uma data anterior ou igual a :date.', @@ -13,7 +14,7 @@ module.exports = { numeric: 'O campo :attribute deverá ter um valor entre :min - :max.', file: 'O campo :attribute deverá ter um tamanho entre :min - :max kilobytes.', string: 'O campo :attribute deverá conter entre :min - :max caracteres.', - array: 'O campo :attribute deverá conter entre :min - :max elementos.', + array: 'O campo :attribute deverá conter entre :min - :max elementos.' }, boolean: 'O campo :attribute deverá conter o valor verdadeiro ou falso.', confirmed: 'A confirmação para o campo :attribute não coincide.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: 'O campo :attribute deverá conter uma imagem.', in: 'O campo :attribute não contém um valor válido.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: 'O campo :attribute não deverá conter um valor superior a :max.', file: 'O campo :attribute não deverá ter um tamanho superior a :max kilobytes.', string: 'O campo :attribute não deverá conter mais de :max caracteres.', - array: 'O campo :attribute não deverá conter mais de :max elementos.', + array: 'O campo :attribute não deverá conter mais de :max elementos.' }, mimes: 'O campo :attribute deverá conter um ficheiro do tipo: :values.', mimetypes: 'O campo :attribute deverá conter um ficheiro do tipo: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: 'O campo :attribute deverá ter um valor superior ou igual a :min.', file: 'O campo :attribute deverá ter no mínimo :min kilobytes.', string: 'O campo :attribute deverá conter no mínimo :min caracteres.', - array: 'O campo :attribute deverá conter no mínimo :min elementos.', + array: 'O campo :attribute deverá conter no mínimo :min elementos.' }, not_in: 'O campo :attribute contém um valor inválido.', not_regex: 'The :attribute format is invalid.', @@ -80,22 +81,26 @@ module.exports = { present: 'O campo :attribute deverá estar presente.', regex: 'O formato do valor para o campo :attribute é inválido.', required: 'É obrigatória a indicação de um valor para o campo :attribute.', - required_if: 'É obrigatória a indicação de um valor para o campo :attribute quando o valor do campo :other é igual a :value.', - required_unless: 'É obrigatória a indicação de um valor para o campo :attribute a menos que :other esteja presente em :values.', + required_if: + 'É obrigatória a indicação de um valor para o campo :attribute quando o valor do campo :other é igual a :value.', + required_unless: + 'É obrigatória a indicação de um valor para o campo :attribute a menos que :other esteja presente em :values.', required_with: 'É obrigatória a indicação de um valor para o campo :attribute quando :values está presente.', - required_with_all: 'É obrigatória a indicação de um valor para o campo :attribute quando um dos :values está presente.', + required_with_all: + 'É obrigatória a indicação de um valor para o campo :attribute quando um dos :values está presente.', required_without: 'É obrigatória a indicação de um valor para o campo :attribute quando :values não está presente.', - required_without_all: 'É obrigatória a indicação de um valor para o campo :attribute quando nenhum dos :values está presente.', + required_without_all: + 'É obrigatória a indicação de um valor para o campo :attribute quando nenhum dos :values está presente.', same: 'Os campos :attribute e :other deverão conter valores iguais.', size: { numeric: 'O campo :attribute deverá conter o valor :size.', file: 'O campo :attribute deverá ter o tamanho de :size kilobytes.', string: 'O campo :attribute deverá conter :size caracteres.', - array: 'O campo :attribute deverá conter :size elementos.', + array: 'O campo :attribute deverá conter :size elementos.' }, string: 'O campo :attribute deverá conter texto.', timezone: 'O campo :attribute deverá ter um fuso horário válido.', unique: 'O valor indicado para o campo :attribute já se encontra registado.', uploaded: 'O upload do ficheiro :attribute falhou.', - url: 'O formato do URL indicado para o campo :attribute é inválido.', + url: 'O formato do URL indicado para o campo :attribute é inválido.' }; diff --git a/src/lang/pt_BR.js b/src/lang/pt_BR.js index 575e1642..455592e9 100644 --- a/src/lang/pt_BR.js +++ b/src/lang/pt_BR.js @@ -13,7 +13,7 @@ module.exports = { numeric: 'O campo :attribute deve conter um número entre :min e :max.', file: 'O campo :attribute deve conter um arquivo de :min a :max kilobytes.', string: 'O campo :attribute deve conter entre :min a :max caracteres.', - array: 'O campo :attribute deve conter de :min a :max itens.', + array: 'O campo :attribute deve conter de :min a :max itens.' }, boolean: 'O campo :attribute deve conter o valor verdadeiro ou falso.', confirmed: 'A confirmação para o campo :attribute não coincide.', @@ -32,13 +32,13 @@ module.exports = { numeric: 'O campo :attribute deve ser maior que :value.', file: 'O arquivo :attribute deve ser maior que :value kilobytes.', string: 'O campo :attribute deve ser maior que :value caracteres.', - array: 'O campo :attribute deve ter mais que :value itens.', + array: 'O campo :attribute deve ter mais que :value itens.' }, gte: { numeric: 'O campo :attribute deve ser maior ou igual a :value.', file: 'O arquivo :attribute deve ser maior ou igual a :value kilobytes.', string: 'O campo :attribute deve ser maior ou igual a :value caracteres.', - array: 'O campo :attribute deve ter :value itens ou mais.', + array: 'O campo :attribute deve ter :value itens ou mais.' }, image: 'O campo :attribute deve conter uma imagem.', in: 'O campo :attribute não contém um valor válido.', @@ -52,19 +52,19 @@ module.exports = { numeric: 'O campo :attribute deve ser menor que :value.', file: 'O arquivo :attribute ser menor que :value kilobytes.', string: 'O campo :attribute deve ser menor que :value caracteres.', - array: 'O campo :attribute deve ter menos que :value itens.', + array: 'O campo :attribute deve ter menos que :value itens.' }, lte: { numeric: 'O campo :attribute deve ser menor ou igual a :value.', file: 'O arquivo :attribute ser menor ou igual a :value kilobytes.', string: 'O campo :attribute deve ser menor ou igual a :value caracteres.', - array: 'O campo :attribute não deve ter mais que :value itens.', + array: 'O campo :attribute não deve ter mais que :value itens.' }, max: { numeric: 'O campo :attribute não pode conter um valor superior a :max.', file: 'O campo :attribute não pode conter um arquivo com mais de :max kilobytes.', string: 'O campo :attribute não pode conter mais de :max caracteres.', - array: 'O campo :attribute deve conter no máximo :max itens.', + array: 'O campo :attribute deve conter no máximo :max itens.' }, mimes: 'O campo :attribute deve conter um arquivo do tipo: :values.', mimetypes: 'O campo :attribute deve conter um arquivo do tipo: :values.', @@ -72,7 +72,7 @@ module.exports = { numeric: 'O campo :attribute deve conter um número superior ou igual a :min.', file: 'O campo :attribute deve conter um arquivo com no mínimo :min kilobytes.', string: 'O campo :attribute deve conter no mínimo :min caracteres.', - array: 'O campo :attribute deve conter no mínimo :min itens.', + array: 'O campo :attribute deve conter no mínimo :min itens.' }, not_in: 'O campo :attribute contém um valor inválido.', not_regex: 'O formato do valor :attribute é inválido.', @@ -91,12 +91,11 @@ module.exports = { numeric: 'O campo :attribute deve conter o número :size.', file: 'O campo :attribute deve conter um arquivo com o tamanho de :size kilobytes.', string: 'O campo :attribute deve conter :size caracteres.', - array: 'O campo :attribute deve conter :size itens.', + array: 'O campo :attribute deve conter :size itens.' }, string: 'O campo :attribute deve ser uma string.', timezone: 'O campo :attribute deve conter um fuso horário válido.', unique: 'O valor informado para o campo :attribute já está em uso.', uploaded: 'Falha no Upload do arquivo :attribute.', - url: 'O formato da URL informada para o campo :attribute é inválido.', - url: 'O formato da URL informada para o campo :attribute é inválido.', + url: 'O formato da URL informada para o campo :attribute é inválido.' }; diff --git a/src/lang/ro.js b/src/lang/ro.js index 2432fe9d..97a71a3a 100644 --- a/src/lang/ro.js +++ b/src/lang/ro.js @@ -15,7 +15,7 @@ module.exports = { digits: ':attribute trebuie să aibă :digits cifre.', digits_between: 'Câmpul :attribute trebuie să aibă între :min și :max cifre.', different: ':attribute și :different trebuie sa fie diferite.', - 'in': 'Atributul selectat :attribute nu este valid.', + in: 'Atributul selectat :attribute nu este valid.', integer: ':attribute trebuie să fie un număr întreg.', hex: 'Câmpul :attribute trebuie să aibă format hexazecimal.', min: { @@ -46,4 +46,3 @@ module.exports = { regex: 'Formatul :attribute nu este valid.', attributes: {} }; - \ No newline at end of file diff --git a/src/lang/ru.js b/src/lang/ru.js index f183ba64..8ef142fd 100755 --- a/src/lang/ru.js +++ b/src/lang/ru.js @@ -10,7 +10,7 @@ module.exports = { digits: 'Длина цифрового поля :attribute должна быть :digits.', digits_between: 'Длинна цифрового поля :attribute должна быть от :min до :max знаков.', different: 'Поля :attribute и :different должны различаться.', - 'in': 'Выбранное значение для :attribute ошибочно.', + in: 'Выбранное значение для :attribute ошибочно.', integer: 'Поле :attribute должно быть целым числом.', hex: 'Поле :attribute должно иметь шестнадцатеричный формат', min: { diff --git a/src/lang/se.js b/src/lang/se.js new file mode 100644 index 00000000..5caa0b3d --- /dev/null +++ b/src/lang/se.js @@ -0,0 +1,47 @@ +module.exports = { + accepted: ':attribute måste vara accepterat.', + after: ':attribute måste vara efter :after.', + after_or_equal: ':attribute måste vara samtidigt eller efter :after_or_equal.', + alpha: ':attribute får bara bestå av bokstäver.', + alpha_dash: ':attribute får bara bestå av alfanumeriska tecken, bindestreck och understreck.', + alpha_num: ':attribute får bara bestå av alfanumeriska tecken', + before: ':attribute måste vara före :before.', + before_or_equal: ':attribute måste vara samtidigt eller före :before_or_equal.', + between: ':attribute måste vara mellan :min och :max.', + confirmed: ':attribute stämmer inte överens med bekräftelsefältet.', + email: 'Felaktigt format för :attribute.', + date: ':attribute är inte ett giltigt datum.', + def: 'Attributet :attribute innehåller fel.', + digits: ':attribute ska innehålla :digits siffror.', + different: ':attribute och :different måste vara olika.', + in: 'Det valda :attribute är ogiltigt.', + integer: ':attribute måste vara ett heltal.', + hex: ':attribute måste vara i hexadecimalt format', + min: { + numeric: ':attribute måste vara minst :min.', + string: ':attribute måste vara minst :min tecken.' + }, + max: { + numeric: ':attribute får inte vara högre än :max.', + string: ':attribute får inte innehålla fler än :max tecken.' + }, + not_in: 'Det valda attributet :attribute är ogiltigt', + numeric: ':attribute måste vara en siffra.', + present: ':attribute måste vara tillgängligt.', + required: ':attribute måste vara ifyllt.', + required_if: ':attribute måste vara ifyllt när :other är :value.', + required_unless: ':attribute måste vara ifyllt när :other inte är :value.', + required_with: ':attribute måste vara ifyllt när :field är ifyllt.', + required_with_all: ':attribute måste vara ifyllt när :fields är ifyllda.', + required_without: ':attribute måste vara ifyllt när :field inte är ifyllt.', + required_without_all: ':attribute måste vara ifyllt när ingen av :fields är ifyllda.', + same: ':attribute och :same måste matcha.', + size: { + numeric: ':attribute måste vara :size.', + string: ':attribute måste vara :size tecken lång.' + }, + string: ':attribute måste vara en sträng.', + url: ':attribute formatet är ogiltigt.', + regex: ':attribute formatet är ogiltigt.', + attributes: {} +}; diff --git a/src/lang/sl.js b/src/lang/sl.js index a9fc0aca..55932bdd 100644 --- a/src/lang/sl.js +++ b/src/lang/sl.js @@ -6,6 +6,7 @@ module.exports = { alpha: ':attribute lahko vsebuje samo črke.', alpha_dash: ':attribute lahko vsebuje samo črke, številke in črtice.', alpha_num: ':attribute lahko vsebuje samo črke in številke.', + attributes: {}, array: ':attribute mora biti polje.', before: ':attribute mora biti pred datumom :date.', before_or_equal: ':attribute mora biti pred ali enak :date.', @@ -13,7 +14,7 @@ module.exports = { numeric: ':attribute mora biti med :min in :max.', file: ':attribute mora biti med :min in :max kilobajti.', string: ':attribute mora biti med :min in :max znaki.', - array: ':attribute mora imeti med :min in :max elementov.', + array: ':attribute mora imeti med :min in :max elementov.' }, boolean: ':attribute polje mora biti 1 ali 0', confirmed: ':attribute potrditev se ne ujema.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: ':attribute mora biti slika.', in: 'izbran :attribute je neveljaven.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: ':attribute ne sme biti večje od :max.', file: ':attribute ne sme biti večje :max kilobajtov.', string: ':attribute ne sme biti večje :max znakov.', - array: ':attribute ne smejo imeti več kot :max elementov.', + array: ':attribute ne smejo imeti več kot :max elementov.' }, mimes: ':attribute mora biti datoteka tipa: :values.', mimetypes: ':attribute mora biti datoteka tipa: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: ':attribute mora biti vsaj dolžine :min.', file: ':attribute mora imeti vsaj :min kilobajtov.', string: ':attribute mora imeti vsaj :min znakov.', - array: ':attribute mora imeti vsaj :min elementov.', + array: ':attribute mora imeti vsaj :min elementov.' }, not_in: 'izbran :attribute je neveljaven.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +92,11 @@ module.exports = { numeric: ':attribute mora biti :size.', file: ':attribute mora biti :size kilobajtov.', string: ':attribute mora biti :size znakov.', - array: ':attribute mora vsebovati :size elementov.', + array: ':attribute mora vsebovati :size elementov.' }, string: ':attribute mora biti tekst.', timezone: ':attribute mora biti časovna cona.', unique: ':attribute je že zaseden.', uploaded: 'Nalaganje :attribute ni uspelo.', - url: ':attribute format je neveljaven.', + url: ':attribute format je neveljaven.' }; diff --git a/src/lang/sq.js b/src/lang/sq.js index 4d4f34c7..34f43909 100644 --- a/src/lang/sq.js +++ b/src/lang/sq.js @@ -6,6 +6,7 @@ module.exports = { alpha: ':attribute mund të përmbajë vetëm shkronja.', alpha_dash: ':attribute mund të përmbajë vetëm shkronja, numra, dhe viza.', alpha_num: ':attribute mund të përmbajë vetëm shkronja dhe numra.', + attributes: {}, array: ':attribute duhet të jetë një bashkësi (array).', before: ':attribute duhet të jetë datë para :date.', before_or_equal: 'The :attribute must be a date before or equal to :date.', @@ -13,7 +14,7 @@ module.exports = { numeric: ':attribute duhet të jetë midis :min - :max.', file: ':attribute duhet të jetë midis :min - :max kilobajtëve.', string: ':attribute duhet të jetë midis :min - :max karaktereve.', - array: ':attribute duhet të jetë midis :min - :max elementëve.', + array: ':attribute duhet të jetë midis :min - :max elementëve.' }, boolean: 'Fusha :attribute duhet të jetë e vërtetë ose e gabuar', confirmed: ':attribute konfirmimi nuk përputhet.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: ':attribute duhet të jetë imazh.', in: ':attribute përzgjedhur është i/e pasaktë.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: ':attribute nuk mund të jetë më tepër se :max.', file: ':attribute nuk mund të jetë më tepër se :max kilobajtë.', string: ':attribute nuk mund të jetë më tepër se :max karaktere.', - array: ':attribute nuk mund të ketë më tepër se :max elemente.', + array: ':attribute nuk mund të ketë më tepër se :max elemente.' }, mimes: ':attribute duhet të jetë një dokument i tipit: :values.', mimetypes: ':attribute duhet të jetë një dokument i tipit: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: ':attribute nuk mund të jetë më pak se :min.', file: ':attribute nuk mund të jetë më pak se :min kilobajtë.', string: ':attribute nuk mund të jetë më pak se :min karaktere.', - array: ':attribute nuk mund të ketë më pak se :min elemente.', + array: ':attribute nuk mund të ketë më pak se :min elemente.' }, not_in: ':attribute përzgjedhur është i/e pasaktë.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +92,11 @@ module.exports = { numeric: ':attribute duhet të jetë :size.', file: ':attribute duhet të jetë :size kilobajtë.', string: ':attribute duhet të jetë :size karaktere.', - array: ':attribute duhet të ketë :size elemente.', + array: ':attribute duhet të ketë :size elemente.' }, string: ':attribute duhet të jetë varg.', timezone: ':attribute duhet të jetë zonë e saktë.', unique: ':attribute është marrë tashmë.', uploaded: 'The :attribute failed to upload.', - url: 'Formati i :attribute është i pasaktë.', + url: 'Formati i :attribute është i pasaktë.' }; diff --git a/src/lang/sr.js b/src/lang/sr.js index f539e955..d43f98b1 100644 --- a/src/lang/sr.js +++ b/src/lang/sr.js @@ -6,6 +6,7 @@ module.exports = { alpha: 'Polje :attribute može sadržati samo slova.', alpha_dash: 'Polje :attribute može sadržati samo slova, brojeve i povlake.', alpha_num: 'Polje :attribute može sadržati samo slova i brojeve.', + attributes: {}, array: 'Polje :attribute mora sadržati nekih niz stavki.', before: 'Polje :attribute mora biti datum pre :date.', before_or_equal: 'The :attribute must be a date before or equal to :date.', @@ -13,7 +14,7 @@ module.exports = { numeric: 'Polje :attribute mora biti između :min - :max.', file: 'Fajl :attribute mora biti između :min - :max kilobajta.', string: 'Polje :attribute mora biti između :min - :max karaktera.', - array: 'Polje :attribute mora biti između :min - :max stavki.', + array: 'Polje :attribute mora biti između :min - :max stavki.' }, boolean: 'Polje :attribute mora biti tačno ili netačno', confirmed: 'Potvrda polja :attribute se ne poklapa.', @@ -32,13 +33,13 @@ module.exports = { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: 'Polje :attribute mora biti slika.', in: 'Odabrano polje :attribute nije validno.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: 'Polje :attribute mora biti manje od :max.', file: 'Polje :attribute mora biti manje od :max kilobajta.', string: 'Polje :attribute mora sadržati manje od :max karaktera.', - array: 'Polje :attribute ne smije da image više od :max stavki.', + array: 'Polje :attribute ne smije da image više od :max stavki.' }, mimes: 'Polje :attribute mora biti fajl tipa: :values.', mimetypes: 'Polje :attribute mora biti fajl tipa: :values.', @@ -72,7 +73,7 @@ module.exports = { numeric: 'Polje :attribute mora biti najmanje :min.', file: 'Fajl :attribute mora biti najmanje :min kilobajta.', string: 'Polje :attribute mora sadržati najmanje :min karaktera.', - array: 'Polje :attribute mora sadrzati najmanje :min stavku.', + array: 'Polje :attribute mora sadrzati najmanje :min stavku.' }, not_in: 'Odabrani element polja :attribute nije validan.', not_regex: 'The :attribute format is invalid.', @@ -91,11 +92,11 @@ module.exports = { numeric: 'Polje :attribute mora biti :size.', file: 'Fajl :attribute mora biti :size kilobajta.', string: 'Polje :attribute mora biti :size karaktera.', - array: 'Polje :attribute mora sadržati :size stavki.', + array: 'Polje :attribute mora sadržati :size stavki.' }, string: 'Polje :attribute mora sadržati slova.', timezone: 'Polje :attribute mora biti ispravna vremenska zona.', unique: 'Polje :attribute već postoji.', uploaded: 'The :attribute failed to upload.', - url: 'Format polja :attribute ne važi.', + url: 'Format polja :attribute ne važi.' }; diff --git a/src/lang/sv.js b/src/lang/sv.js index d1d89d8a..711d8686 100644 --- a/src/lang/sv.js +++ b/src/lang/sv.js @@ -13,7 +13,7 @@ module.exports = { numeric: ':attribute måste vara en siffra mellan :min och :max.', file: ':attribute måste vara mellan :min till :max kilobyte stor.', string: ':attribute måste innehålla :min till :max tecken.', - array: ':attribute måste innehålla mellan :min - :max objekt.', + array: ':attribute måste innehålla mellan :min - :max objekt.' }, boolean: ':attribute måste vara sant eller falskt.', confirmed: ':attribute bekräftelsen matchar inte.', @@ -32,13 +32,13 @@ module.exports = { numeric: ':attribute måste vara större än :value.', file: ':attribute måste vara större än :value kilobyte stor.', string: ':attribute måste vara längre än :value tecken.', - array: ':attribute måste innehålla fler än :value objekt.', + array: ':attribute måste innehålla fler än :value objekt.' }, gte: { numeric: ':attribute måste vara lika med eller större än :value.', file: ':attribute måste vara lika med eller större än :value kilobyte stor.', string: ':attribute måste vara lika med eller längre än :value tecken.', - array: ':attribute måste innehålla lika många eller fler än :value objekt.', + array: ':attribute måste innehålla lika många eller fler än :value objekt.' }, image: ':attribute måste vara en bild.', in: ':attribute är ogiltigt.', @@ -52,19 +52,19 @@ module.exports = { numeric: ':attribute måste vara mindre än :value.', file: ':attribute måste vara mindre än :value kilobyte stor.', string: ':attribute måste vara kortare än :value tecken.', - array: ':attribute måste innehålla färre än :value objekt.', + array: ':attribute måste innehålla färre än :value objekt.' }, lte: { numeric: ':attribute måste vara lika med eller mindre än :value.', file: ':attribute måste vara lika med eller mindre än :value kilobyte stor.', string: ':attribute måste vara lika med eller kortare än :value tecken.', - array: ':attribute måste innehålla lika många eller färre än :value objekt.', + array: ':attribute måste innehålla lika många eller färre än :value objekt.' }, max: { numeric: ':attribute får inte vara större än :max.', file: ':attribute får max vara :max kilobyte stor.', string: ':attribute får max innehålla :max tecken.', - array: ':attribute får inte innehålla mer än :max objekt.', + array: ':attribute får inte innehålla mer än :max objekt.' }, mimes: ':attribute måste vara en fil av typen: :values.', mimetypes: ':attribute måste vara en fil av typen: :values.', @@ -72,7 +72,7 @@ module.exports = { numeric: ':attribute måste vara större än :min.', file: ':attribute måste vara minst :min kilobyte stor.', string: ':attribute måste innehålla minst :min tecken.', - array: ':attribute måste innehålla minst :min objekt.', + array: ':attribute måste innehålla minst :min objekt.' }, not_in: ':attribute är ogiltigt.', not_regex: 'Formatet för :attribute är ogiltigt.', @@ -91,11 +91,11 @@ module.exports = { numeric: ':attribute måste vara :size.', file: ':attribute får endast vara :size kilobyte stor.', string: ':attribute måste innehålla :size tecken.', - array: ':attribute måste innehålla :size objekt.', + array: ':attribute måste innehålla :size objekt.' }, string: ':attribute måste vara en sträng.', timezone: ':attribute måste vara en giltig tidszon.', unique: ':attribute används redan.', uploaded: ':attribute kunde inte laddas upp.', - url: ':attribute har ett ogiltigt format.', + url: ':attribute har ett ogiltigt format.' }; diff --git a/src/lang/tr.js b/src/lang/tr.js index bf596cc2..1395aad2 100755 --- a/src/lang/tr.js +++ b/src/lang/tr.js @@ -11,7 +11,7 @@ module.exports = { digits: ':attribute sadece rakamlardan oluşabilir.', digits_between: ':attribute :min ile :max arasında rakam olmalıdır.', different: ':attribute ve :different farklı olmalı.', - 'in': 'Seçilen :attribute geçerli değil.', + in: 'Seçilen :attribute geçerli değil.', integer: ':attribute tam sayı olmalı.', hex: 'The :attribute should have hexadecimal format', min: { diff --git a/src/lang/ua.js b/src/lang/ua.js index f38aac39..93bf2644 100755 --- a/src/lang/ua.js +++ b/src/lang/ua.js @@ -10,7 +10,7 @@ module.exports = { digits: 'Довжина числового поля :attribute повинна бути :digits.', digits_between: 'Довжина цифрового поля :attribute повинна бути від :min до :max.', different: 'Поля :attribute і :different повинні відрізнятись.', - 'in': 'Обране значення для :attribute помилкове.', + in: 'Обране значення для :attribute помилкове.', integer: 'Значення поля :attribute повинно бути цілим числом.', hex: 'Значення поля :attribute повинно бути шістнадцяткового формату', min: { diff --git a/src/lang/uk.js b/src/lang/uk.js index aa2e73b8..76718d79 100644 --- a/src/lang/uk.js +++ b/src/lang/uk.js @@ -6,6 +6,7 @@ module.exports = { alpha: 'Поле :attribute має містити лише літери.', alpha_dash: 'Поле :attribute має містити лише літери, цифри та підкреслення.', alpha_num: 'Поле :attribute має містити лише літери та цифри.', + attributes: {}, array: 'Поле :attribute має бути масивом.', before: 'Поле :attribute має містити дату не пізніше :date.', before_or_equal: 'Поле :attribute має містити дату не пізніше або дорівнюватися :date.', @@ -13,7 +14,7 @@ module.exports = { numeric: 'Поле :attribute має бути між :min та :max.', file: 'Розмір файлу в полі :attribute має бути не менше :min та не більше :max кілобайт.', string: 'Текст в полі :attribute має бути не менше :min та не більше :max символів.', - array: 'Поле :attribute має містити від :min до :max елементів.', + array: 'Поле :attribute має містити від :min до :max елементів.' }, boolean: 'Поле :attribute повинне містити логічний тип.', confirmed: 'Поле :attribute не збігається з підтвердженням.', @@ -26,19 +27,19 @@ module.exports = { distinct: 'Поле :attribute містить значення, яке дублюється.', email: 'Поле :attribute повинне містити коректну електронну адресу.', file: 'Поле :attribute має містити файл.', - filled: "Поле :attribute є обов'язковим для заповнення.", + filled: 'Поле :attribute є обов\'язковим для заповнення.', exists: 'Вибране для :attribute значення не коректне.', gt: { numeric: 'The :attribute must be greater than :value.', file: 'The :attribute must be greater than :value kilobytes.', string: 'The :attribute must be greater than :value characters.', - array: 'The :attribute must have more than :value items.', + array: 'The :attribute must have more than :value items.' }, gte: { numeric: 'The :attribute must be greater than or equal :value.', file: 'The :attribute must be greater than or equal :value kilobytes.', string: 'The :attribute must be greater than or equal :value characters.', - array: 'The :attribute must have :value items or more.', + array: 'The :attribute must have :value items or more.' }, image: 'Поле :attribute має містити зображення.', in: 'Вибране для :attribute значення не коректне.', @@ -52,19 +53,19 @@ module.exports = { numeric: 'The :attribute must be less than :value.', file: 'The :attribute must be less than :value kilobytes.', string: 'The :attribute must be less than :value characters.', - array: 'The :attribute must have less than :value items.', + array: 'The :attribute must have less than :value items.' }, lte: { numeric: 'The :attribute must be less than or equal :value.', file: 'The :attribute must be less than or equal :value kilobytes.', string: 'The :attribute must be less than or equal :value characters.', - array: 'The :attribute must not have more than :value items.', + array: 'The :attribute must not have more than :value items.' }, max: { numeric: 'Поле :attribute має бути не більше :max.', file: 'Файл в полі :attribute має бути не більше :max кілобайт.', string: 'Текст в полі :attribute повинен мати довжину не більшу за :max.', - array: 'Поле :attribute повинне містити не більше :max елементів.', + array: 'Поле :attribute повинне містити не більше :max елементів.' }, mimes: 'Поле :attribute повинне містити файл одного з типів: :values.', mimetypes: 'Поле :attribute повинне містити файл одного з типів: :values.', @@ -72,31 +73,30 @@ module.exports = { numeric: 'Поле :attribute повинне бути не менше :min.', file: 'Розмір файлу в полі :attribute має бути не меншим :min кілобайт.', string: 'Текст в полі :attribute повинен містити не менше :min символів.', - array: 'Поле :attribute повинне містити не менше :min елементів.', + array: 'Поле :attribute повинне містити не менше :min елементів.' }, not_in: 'Вибране для :attribute значення не коректне.', not_regex: 'The :attribute format is invalid.', numeric: 'Поле :attribute повинно містити число.', present: 'Поле :attribute повинне бути присутнє.', regex: 'Поле :attribute має хибний формат.', - required: "Поле :attribute є обов'язковим для заповнення.", - required_if: "Поле :attribute є обов'язковим для заповнення, коли :other є рівним :value.", - required_unless: "Поле :attribute є обов'язковим для заповнення, коли :other відрізняється від :values", - required_with: "Поле :attribute є обов'язковим для заповнення, коли :values вказано.", - required_with_all: "Поле :attribute є обов'язковим для заповнення, коли :values вказано.", - required_without: "Поле :attribute є обов'язковим для заповнення, коли :values не вказано.", - required_without_all: "Поле :attribute є обов'язковим для заповнення, коли :values не вказано.", + required: 'Поле :attribute є обов\'язковим для заповнення.', + required_if: 'Поле :attribute є обов\'язковим для заповнення, коли :other є рівним :value.', + required_unless: 'Поле :attribute є обов\'язковим для заповнення, коли :other відрізняється від :values', + required_with: 'Поле :attribute є обов\'язковим для заповнення, коли :values вказано.', + required_with_all: 'Поле :attribute є обов\'язковим для заповнення, коли :values вказано.', + required_without: 'Поле :attribute є обов\'язковим для заповнення, коли :values не вказано.', + required_without_all: 'Поле :attribute є обов\'язковим для заповнення, коли :values не вказано.', same: 'Поля :attribute та :other мають співпадати.', size: { numeric: 'Поле :attribute має бути довжини :size.', file: 'Файл в полі :attribute має бути розміром :size кілобайт.', string: 'Текст в полі :attribute повинен містити :size символів.', - array: 'Поле :attribute повинне містити :size елементів.', + array: 'Поле :attribute повинне містити :size елементів.' }, string: 'Поле :attribute повинне містити текст.', timezone: 'Поле :attribute повинне містити коректну часову зону.', unique: 'Таке значення поля :attribute вже існує.', uploaded: 'Завантаження поля :attribute не вдалося.', - url: 'Формат поля :attribute неправильний.', - + url: 'Формат поля :attribute неправильний.' }; diff --git a/src/lang/vi.js b/src/lang/vi.js index 191722d1..99584865 100755 --- a/src/lang/vi.js +++ b/src/lang/vi.js @@ -11,7 +11,7 @@ module.exports = { digits: ':attribute phải là số và có chiều dài bằng :digits.', digits_between: 'Độ dài của trường :attribute phải nằm trong khoảng :min and :max chữ số.', different: 'Giá trị của hai trường :attribute và :different phải khác nhau.', - 'in': 'Giá trị được chọn của :attribute không hợp lệ.', + in: 'Giá trị được chọn của :attribute không hợp lệ.', integer: ':attribute phải là số nguyên.', hex: 'The :attribute should have hexadecimal format', min: { diff --git a/src/lang/zh.js b/src/lang/zh.js index cab0fc74..ebe32faf 100755 --- a/src/lang/zh.js +++ b/src/lang/zh.js @@ -11,7 +11,7 @@ module.exports = { digits: ':attribute必须是:digits位小数.', digits_between: ':attribute 必须是介于 :min 和 :max 位的数字。', different: ':attribute和:different必须不同.', - 'in': '选择的:attribute无效', + in: '选择的:attribute无效', integer: ':attribute必须是一个整数.', hex: 'The :attribute should have hexadecimal format', min: { diff --git a/src/lang/zh_TW.js b/src/lang/zh_TW.js index 6db9b7f0..96ff3ef9 100755 --- a/src/lang/zh_TW.js +++ b/src/lang/zh_TW.js @@ -11,7 +11,7 @@ module.exports = { digits: ':attribute必須是:digits位小數。', digits_between: ':attribute 必須介於 :min 至 :max 位數字。', different: ':attribute和:different必須不同。', - 'in': '選擇的:attribute無效', + in: '選擇的:attribute無效', integer: ':attribute必須是一個整數。', hex: ':attribute 必須是十六進位格式', min: { diff --git a/src/rules.js b/src/rules.js index a53f7a4b..b7ddf222 100755 --- a/src/rules.js +++ b/src/rules.js @@ -1,36 +1,69 @@ +var dateTools = require('date-fns'); + function leapYear(year) { - return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0); + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; } function isValidDate(inDate) { - var valid = true; - - // reformat if supplied as mm.dd.yyyy (period delimiter) - if (typeof inDate === 'string') { - var pos = inDate.indexOf('.'); - if ((pos > 0 && pos <= 6)) { - inDate = inDate.replace(/\./g, '-'); + let test = inDate; + if (typeof inDate === 'string') { + let dateParsed = dateTools.parseISO(inDate); + if (typeof dateParsed === 'object') { + if (dateParsed.toString() === 'Invalid Date') { + return isValidDate2(inDate); } } + return dateTools.isValid(dateParsed); + } + return isValidDate2(inDate); +} + +function isValidDate2(inDate) { + var valid = true; + + if (inDate instanceof Date) { + return !isNaN(inDate); + } + + // reformat if supplied as mm.dd.yyyy (period delimiter) + if (typeof inDate === 'string') { + var pos = inDate.indexOf('.'); + if (pos > 0 && pos <= 6) { + inDate = inDate.replace(/\./g, '-'); + } + } + + // TODO: This approach is not going to work as Date conversion will always be accurate + // For example: 2019-02-31 will return as 2019-03-03 thus calculations will always be correct + // Need to devise another method of check validity - var testDate = new Date(inDate); - var yr = testDate.getFullYear(); - var mo = testDate.getMonth(); - var day = testDate.getDate(); + var testDate = new Date(inDate); + var yr = testDate.getFullYear(); + var mo = testDate.getMonth(); + var day = testDate.getDate(); - var daysInMonth = [31, (leapYear(yr) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; + var daysInMonth = [31, leapYear(yr) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; - if (yr < 1000) { return false; } - if (isNaN(mo)) { return false; } - if (mo + 1 > 12) { return false; } - if (isNaN(day)) { return false; } - if (day > daysInMonth[mo]) { return false; } + if (yr < 1000) { + return false; + } + if (isNaN(mo)) { + return false; + } + if (mo + 1 > 12) { + return false; + } + if (isNaN(day)) { + return false; + } + if (day > daysInMonth[mo]) { + return false; + } - return valid; + return valid; } var rules = { - required: function(val) { var str; @@ -38,7 +71,7 @@ var rules = { return false; } - str = String(val).replace(/\s/g, ""); + str = String(val).replace(/\s/g, ''); return str.length > 0 ? true : false; }, @@ -69,10 +102,9 @@ var rules = { }, required_with_all: function(val, req, attribute) { - req = this.getParameters(); - for(var i = 0; i < req.length; i++) { + for (var i = 0; i < req.length; i++) { if (!this.validator._objectPath(this.validator.input, req[i])) { return true; } @@ -82,7 +114,6 @@ var rules = { }, required_without: function(val, req, attribute) { - if (this.validator._objectPath(this.validator.input, req)) { return true; } @@ -91,10 +122,9 @@ var rules = { }, required_without_all: function(val, req, attribute) { - req = this.getParameters(); - for(var i = 0; i < req.length; i++) { + for (var i = 0; i < req.length; i++) { if (this.validator._objectPath(this.validator.input, req[i])) { return true; } @@ -103,7 +133,7 @@ var rules = { return this.validator.getRule('required').validate(val); }, - 'boolean': function (val) { + boolean: function(val) { return ( val === true || val === false || @@ -184,19 +214,19 @@ var rules = { }, url: function(url) { - return (/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/i).test(url); + return /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_\+.~#?&/=]*)/i.test(url); }, alpha: function(val) { - return (/^[a-zA-Z]+$/).test(val); + return /^[a-zA-Z]+$/.test(val); }, alpha_dash: function(val) { - return (/^[a-zA-Z0-9_\-]+$/).test(val); + return /^[a-zA-Z0-9_\-]+$/.test(val); }, alpha_num: function(val) { - return (/^[a-zA-Z0-9]+$/).test(val); + return /^[a-zA-Z0-9]+$/.test(val); }, same: function(val, req) { @@ -221,7 +251,7 @@ var rules = { return false; }, - "in": function(val, req) { + in: function(val, req) { var list, i; if (val) { @@ -324,8 +354,8 @@ var rules = { regex: function(val, req) { var mod = /[g|i|m]{1,3}$/; var flag = req.match(mod); - flag = flag ? flag[0] : ""; - req = req.replace(mod, "").slice(1, -1); + flag = flag ? flag[0] : ''; + req = req.replace(mod, '').slice(1, -1); req = new RegExp(req, flag); return !!req.test(val); }, @@ -338,12 +368,16 @@ var rules = { return typeof val !== 'undefined'; }, - after: function(val, req){ + after: function(val, req) { var val1 = this.validator.input[req]; var val2 = val; - if(!isValidDate(val1)){ return false;} - if(!isValidDate(val2)){ return false;} + if (!isValidDate(val1)) { + return false; + } + if (!isValidDate(val2)) { + return false; + } if (new Date(val1).getTime() < new Date(val2).getTime()) { return true; @@ -352,12 +386,16 @@ var rules = { return false; }, - after_or_equal: function(val, req){ + after_or_equal: function(val, req) { var val1 = this.validator.input[req]; var val2 = val; - if(!isValidDate(val1)){ return false;} - if(!isValidDate(val2)){ return false;} + if (!isValidDate(val1)) { + return false; + } + if (!isValidDate(val2)) { + return false; + } if (new Date(val1).getTime() <= new Date(val2).getTime()) { return true; @@ -366,12 +404,16 @@ var rules = { return false; }, - before: function(val, req){ + before: function(val, req) { var val1 = this.validator.input[req]; var val2 = val; - if(!isValidDate(val1)){ return false;} - if(!isValidDate(val2)){ return false;} + if (!isValidDate(val1)) { + return false; + } + if (!isValidDate(val2)) { + return false; + } if (new Date(val1).getTime() > new Date(val2).getTime()) { return true; @@ -380,12 +422,16 @@ var rules = { return false; }, - before_or_equal: function(val, req){ + before_or_equal: function(val, req) { var val1 = this.validator.input[req]; var val2 = val; - if(!isValidDate(val1)){ return false;} - if(!isValidDate(val2)){ return false;} + if (!isValidDate(val1)) { + return false; + } + if (!isValidDate(val2)) { + return false; + } if (new Date(val1).getTime() >= new Date(val2).getTime()) { return true; @@ -395,7 +441,7 @@ var rules = { }, hex: function(val) { - return (/^[0-9a-f]+$/i).test(val); + return /^[0-9a-f]+$/i.test(val); } }; @@ -413,7 +459,6 @@ function Rule(name, fn, async) { } Rule.prototype = { - /** * Validate rule * @@ -522,7 +567,6 @@ Rule.prototype = { * @return {string} */ _getValueType: function() { - if (typeof this.inputValue === 'number' || this.validator._hasNumericRule(this.attribute)) { return 'numeric'; } @@ -538,7 +582,7 @@ Rule.prototype = { * @return {void} */ response: function(passes, message) { - this.passes = (passes === undefined || passes === true); + this.passes = passes === undefined || passes === true; this._customMessage = message; this.callback(this.passes, message); }, @@ -568,7 +612,6 @@ Rule.prototype = { }; var manager = { - /** * List of async rule names * @@ -581,7 +624,17 @@ var manager = { * * @type {Array} */ - implicitRules: ['required', 'required_if', 'required_unless', 'required_with', 'required_with_all', 'required_without', 'required_without_all', 'accepted', 'present'], + implicitRules: [ + 'required', + 'required_if', + 'required_unless', + 'required_with', + 'required_with_all', + 'required_without', + 'required_without_all', + 'accepted', + 'present' + ], /** * Get rule by name @@ -633,7 +686,7 @@ var manager = { rules[name] = fn; }, - /** + /** * Register new implicit rule * * @param {string} name @@ -675,6 +728,4 @@ var manager = { } }; - - module.exports = manager; diff --git a/src/validator.js b/src/validator.js index a84f0922..6ef2027f 100755 --- a/src/validator.js +++ b/src/validator.js @@ -172,7 +172,7 @@ Validator.prototype = { var isEmpty = true; for (var p in current) { isEmpty = false; - recurse(current[p], property ? property + "." + p : p); + recurse(current[p], property ? property + '.' + p : p); } if (isEmpty) { flattened[property] = {}; @@ -197,7 +197,7 @@ Validator.prototype = { return obj[path]; } - var keys = path.replace(/\[(\w+)\]/g, ".$1").replace(/^\./, "").split("."); + var keys = path.replace(/\[(\w+)\]/g, '.$1').replace(/^\./, '').split('.'); var copy = {}; for (var attr in obj) { if (Object.prototype.hasOwnProperty.call(obj, attr)) { @@ -371,7 +371,7 @@ Validator.prototype = { if (ruleString.indexOf(':') >= 0) { ruleArray = ruleString.split(':'); rule.name = ruleArray[0]; - rule.value = ruleArray.slice(1).join(":"); + rule.value = ruleArray.slice(1).join(':'); } return rule; diff --git a/yarn.lock b/yarn.lock deleted file mode 100755 index 1d829683..00000000 --- a/yarn.lock +++ /dev/null @@ -1,3565 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -JSONStream@^1.0.3: - version "1.3.1" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.1.tgz#707f761e01dae9e16f1bcf93703b78c70966579a" - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abbrev@1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" - -abbrev@1.0.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - -accepts@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.1.4.tgz#d71c96f7d41d0feda2c38cd14e8a27c04158df4a" - dependencies: - mime-types "~2.0.4" - negotiator "0.4.9" - -acorn@^4.0.3: - version "4.0.13" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" - -after@0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627" - -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -anymatch@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" - dependencies: - arrify "^1.0.0" - micromatch "^2.1.5" - -aproba@^1.0.3: - version "1.1.1" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" - -are-we-there-yet@~1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.2: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-flatten@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" - -array-filter@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - -array-map@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" - -array-reduce@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" - -array-slice@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - -arraybuffer.slice@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca" - -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -asn1.js@^4.0.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - -assert@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - dependencies: - util "0.10.3" - -assertion-error@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" - -astw@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/astw/-/astw-2.2.0.tgz#7bd41784d32493987aeb239b6b4e1c57a873b917" - dependencies: - acorn "^4.0.3" - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - -async@1.x, async@^1.4.0, async@^1.5.0, async@~1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - -async@~0.2.6: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws4@^1.2.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" - -backo2@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" - -balanced-match@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" - -base64-arraybuffer@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz#474df4a9f2da24e05df3158c3b1db3c3cd46a154" - -base64-js@^1.0.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" - -base64id@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f" - -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" - dependencies: - tweetnacl "^0.14.3" - -benchmark@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-1.0.0.tgz#2f1e2fa4c359f11122aa183082218e957e390c73" - -better-assert@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" - dependencies: - callsite "1.0.0" - -binary-extensions@^1.0.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" - -blob@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - -bluebird@^3.3.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" - -body-parser@^1.12.4: - version "1.17.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.17.2.tgz#f8892abc8f9e627d42aedafbca66bf5ab99104ee" - dependencies: - bytes "2.4.0" - content-type "~1.0.2" - debug "2.6.7" - depd "~1.1.0" - http-errors "~1.6.1" - iconv-lite "0.4.15" - on-finished "~2.3.0" - qs "6.4.0" - raw-body "~2.2.0" - type-is "~1.6.15" - -body-parser@~1.14.0: - version "1.14.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.14.2.tgz#1015cb1fe2c443858259581db53332f8d0cf50f9" - dependencies: - bytes "2.2.0" - content-type "~1.0.1" - debug "~2.2.0" - depd "~1.1.0" - http-errors "~1.3.1" - iconv-lite "0.4.13" - on-finished "~2.3.0" - qs "5.2.0" - raw-body "~2.1.5" - type-is "~1.6.10" - -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -brace-expansion@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" - dependencies: - balanced-match "^0.4.1" - concat-map "0.0.1" - -braces@^0.1.2: - version "0.1.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-0.1.5.tgz#c085711085291d8b75fdd74eab0f8597280711e6" - dependencies: - expand-range "^0.1.0" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - -browser-pack@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/browser-pack/-/browser-pack-6.0.2.tgz#f86cd6cef4f5300c8e63e07a4d512f65fbff4531" - dependencies: - JSONStream "^1.0.3" - combine-source-map "~0.7.1" - defined "^1.0.0" - through2 "^2.0.0" - umd "^3.0.0" - -browser-resolve@^1.11.0, browser-resolve@^1.7.0: - version "1.11.2" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" - dependencies: - resolve "1.1.7" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.0.6.tgz#5e7725dbdef1fd5930d4ebab48567ce451c48a0a" - dependencies: - buffer-xor "^1.0.2" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - inherits "^2.0.1" - -browserify-cipher@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserify-zlib@^0.1.4, browserify-zlib@~0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" - dependencies: - pako "~0.2.0" - -browserify@^13.0.0, browserify@^13.0.1: - version "13.3.0" - resolved "https://registry.yarnpkg.com/browserify/-/browserify-13.3.0.tgz#b5a9c9020243f0c70e4675bec8223bc627e415ce" - dependencies: - JSONStream "^1.0.3" - assert "^1.4.0" - browser-pack "^6.0.1" - browser-resolve "^1.11.0" - browserify-zlib "~0.1.2" - buffer "^4.1.0" - cached-path-relative "^1.0.0" - concat-stream "~1.5.1" - console-browserify "^1.1.0" - constants-browserify "~1.0.0" - crypto-browserify "^3.0.0" - defined "^1.0.0" - deps-sort "^2.0.0" - domain-browser "~1.1.0" - duplexer2 "~0.1.2" - events "~1.1.0" - glob "^7.1.0" - has "^1.0.0" - htmlescape "^1.1.0" - https-browserify "~0.0.0" - inherits "~2.0.1" - insert-module-globals "^7.0.0" - labeled-stream-splicer "^2.0.0" - module-deps "^4.0.8" - os-browserify "~0.1.1" - parents "^1.0.1" - path-browserify "~0.0.0" - process "~0.11.0" - punycode "^1.3.2" - querystring-es3 "~0.2.0" - read-only-stream "^2.0.0" - readable-stream "^2.0.2" - resolve "^1.1.4" - shasum "^1.0.0" - shell-quote "^1.6.1" - stream-browserify "^2.0.0" - stream-http "^2.0.0" - string_decoder "~0.10.0" - subarg "^1.0.0" - syntax-error "^1.1.1" - through2 "^2.0.0" - timers-browserify "^1.0.1" - tty-browserify "~0.0.0" - url "~0.11.0" - util "~0.10.1" - vm-browserify "~0.0.1" - xtend "^4.0.0" - -browserify@^14.0.0: - version "14.3.0" - resolved "https://registry.yarnpkg.com/browserify/-/browserify-14.3.0.tgz#fd003a2386ac1aec127f097885a3cc6373b745c4" - dependencies: - JSONStream "^1.0.3" - assert "^1.4.0" - browser-pack "^6.0.1" - browser-resolve "^1.11.0" - browserify-zlib "~0.1.2" - buffer "^5.0.2" - cached-path-relative "^1.0.0" - concat-stream "~1.5.1" - console-browserify "^1.1.0" - constants-browserify "~1.0.0" - crypto-browserify "^3.0.0" - defined "^1.0.0" - deps-sort "^2.0.0" - domain-browser "~1.1.0" - duplexer2 "~0.1.2" - events "~1.1.0" - glob "^7.1.0" - has "^1.0.0" - htmlescape "^1.1.0" - https-browserify "^1.0.0" - inherits "~2.0.1" - insert-module-globals "^7.0.0" - labeled-stream-splicer "^2.0.0" - module-deps "^4.0.8" - os-browserify "~0.1.1" - parents "^1.0.1" - path-browserify "~0.0.0" - process "~0.11.0" - punycode "^1.3.2" - querystring-es3 "~0.2.0" - read-only-stream "^2.0.0" - readable-stream "^2.0.2" - resolve "^1.1.4" - shasum "^1.0.0" - shell-quote "^1.6.1" - stream-browserify "^2.0.0" - stream-http "^2.0.0" - string_decoder "~0.10.0" - subarg "^1.0.0" - syntax-error "^1.1.1" - through2 "^2.0.0" - timers-browserify "^1.0.1" - tty-browserify "~0.0.0" - url "~0.11.0" - util "~0.10.1" - vm-browserify "~0.0.1" - xtend "^4.0.0" - -buffer-shims@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" - -buffer-xor@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - -buffer@^4.1.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.0.2: - version "5.0.6" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.0.6.tgz#2ea669f7eec0b6eda05b08f8b5ff661b28573588" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - -bytes@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.2.0.tgz#fd35464a403f6f9117c2de3609ecff9cae000588" - -bytes@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" - -cached-path-relative@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.1.tgz#d09c4b52800aa4c078e2dd81a869aac90d2e54e7" - -callsite@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -caseless@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chai@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" - dependencies: - assertion-error "^1.0.1" - deep-eql "^0.1.3" - type-detect "^1.0.0" - -chalk@1.1.3, chalk@^1.0.0, chalk@^1.1.1, chalk@~1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chokidar@^1.0.0, chokidar@^1.4.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" - dependencies: - inherits "^2.0.1" - -cli@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cli/-/cli-1.0.1.tgz#22817534f24bfa4950c34d532d48ecbc621b8c14" - dependencies: - exit "0.1.2" - glob "^7.1.1" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -coffee-script@~1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.10.0.tgz#12938bcf9be1948fa006f92e0c4c9e81705108c0" - -colors@^1.1.0, colors@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" - -combine-lists@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/combine-lists/-/combine-lists-1.0.1.tgz#458c07e09e0d900fc28b70a3fec2dacd1d2cb7f6" - dependencies: - lodash "^4.5.0" - -combine-source-map@~0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/combine-source-map/-/combine-source-map-0.7.2.tgz#0870312856b307a87cc4ac486f3a9a62aeccc09e" - dependencies: - convert-source-map "~1.1.0" - inline-source-map "~0.6.0" - lodash.memoize "~3.0.3" - source-map "~0.5.3" - -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" - dependencies: - delayed-stream "~1.0.0" - -commander@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-0.6.1.tgz#fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06" - -commander@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873" - -commander@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - dependencies: - graceful-readlink ">= 1.0.0" - -component-bind@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" - -component-emitter@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" - -component-emitter@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.0.tgz#ccd113a86388d06482d03de3fc7df98526ba8efe" - -component-inherit@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-stream@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.0.tgz#53f7d43c51c5e43f81c8fdd03321c631be68d611" - dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" - -concat-stream@^1.4.1, concat-stream@~1.5.0, concat-stream@~1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" - dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" - -connect@^3.3.5: - version "3.6.2" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.2.tgz#694e8d20681bfe490282c8ab886be98f09f42fe7" - dependencies: - debug "2.6.7" - finalhandler "1.0.3" - parseurl "~1.3.1" - utils-merge "1.0.0" - -console-browserify@1.1.x, console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - dependencies: - date-now "^0.1.4" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - -constants-browserify@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - -content-type@~1.0.1, content-type@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed" - -convert-source-map@^1.1.3: - version "1.5.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" - -convert-source-map@~1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.1.3.tgz#4829c877e9fe49b3161f3bf3673888e204699860" - -core-js@^2.2.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" - -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -create-ecdh@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - ripemd160 "^2.0.0" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: - version "1.1.6" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -crypto-browserify@^3.0.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.11.0.tgz#3652a0906ab9b2a7e0c3ce66a408e957a2485522" - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - -custom-event@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - -data-uri-to-buffer@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-0.0.4.tgz#46e13ab9da8e309745c8d01ce547213ebdb2fe3f" - -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - -dateformat@^1.0.6, dateformat@~1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" - dependencies: - get-stdin "^4.0.1" - meow "^3.3.0" - -debug@0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" - -debug@2.2.0, debug@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" - dependencies: - ms "0.7.1" - -debug@2.6.7, debug@^2.2.0: - version "2.6.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e" - dependencies: - ms "2.0.0" - -decamelize@^1.0.0, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -deep-eql@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" - dependencies: - type-detect "0.1.1" - -deep-extend@~0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -depd@1.1.0, depd@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" - -deps-sort@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.0.tgz#091724902e84658260eb910748cccd1af6e21fb5" - dependencies: - JSONStream "^1.0.3" - shasum "^1.0.0" - subarg "^1.0.0" - through2 "^2.0.0" - -des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -detective@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/detective/-/detective-4.5.0.tgz#6e5a8c6b26e6c7a254b1c6b6d7490d98ec91edd1" - dependencies: - acorn "^4.0.3" - defined "^1.0.0" - -di@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" - -diff@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" - -diff@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" - -diffie-hellman@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dom-serialize@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" - dependencies: - custom-event "~1.0.0" - ent "~2.2.0" - extend "^3.0.0" - void-elements "^2.0.0" - -dom-serializer@0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" - dependencies: - domelementtype "~1.1.1" - entities "~1.1.1" - -domain-browser@~1.1.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" - -domelementtype@1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" - -domelementtype@~1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" - -domhandler@2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" - dependencies: - domelementtype "1" - -domutils@1.5: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - dependencies: - dom-serializer "0" - domelementtype "1" - -duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - dependencies: - readable-stream "^2.0.2" - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - -elliptic@^6.0.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -encodeurl@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" - -engine.io-client@1.6.9: - version "1.6.9" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.6.9.tgz#1d6ad48048a5083c95096943b29d36efdb212401" - dependencies: - component-emitter "1.1.2" - component-inherit "0.0.3" - debug "2.2.0" - engine.io-parser "1.2.4" - has-cors "1.1.0" - indexof "0.0.1" - parsejson "0.0.1" - parseqs "0.0.2" - parseuri "0.0.4" - ws "1.0.1" - xmlhttprequest-ssl "1.5.1" - yeast "0.1.2" - -engine.io-parser@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.2.4.tgz#e0897b0bf14e792d4cd2a5950553919c56948c42" - dependencies: - after "0.8.1" - arraybuffer.slice "0.0.6" - base64-arraybuffer "0.1.2" - blob "0.0.4" - has-binary "0.1.6" - utf8 "2.1.0" - -engine.io@1.6.10: - version "1.6.10" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.6.10.tgz#f87d84e1bd21d1a2ec7f8deef0c62054acdfb27a" - dependencies: - accepts "1.1.4" - base64id "0.1.0" - debug "2.2.0" - engine.io-parser "1.2.4" - ws "1.0.1" - -ent@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" - -entities@1.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.0.0.tgz#b2987aa3821347fcde642b24fdfc9e4fb712bf26" - -entities@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" - -error-ex@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" - dependencies: - is-arrayish "^0.2.1" - -es6-promise@~4.0.3: - version "4.0.5" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.0.5.tgz#7882f30adde5b240ccfa7f7d78c548330951ae42" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - -escape-string-regexp@1.0.2, escape-string-regexp@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -escodegen@1.8.x: - version "1.8.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" - dependencies: - esprima "^2.7.1" - estraverse "^1.9.1" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.2.0" - -esprima@2.7.x, esprima@^2.6.0, esprima@^2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - -estraverse@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - -eventemitter2@~0.4.13: - version "0.4.14" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" - -eventemitter3@1.x.x: - version "1.2.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" - -events@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - -evp_bytestokey@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53" - dependencies: - create-hash "^1.1.1" - -exit@0.1.2, exit@0.1.x, exit@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - -expand-braces@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea" - dependencies: - array-slice "^0.2.3" - array-unique "^0.2.1" - braces "^0.1.2" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-range@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-0.1.1.tgz#4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044" - dependencies: - is-number "^0.1.1" - repeat-string "^0.2.2" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -extend@^3.0.0, extend@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - -extract-zip@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.5.0.tgz#92ccf6d81ef70a9fa4c1747114ccef6d8688a6c4" - dependencies: - concat-stream "1.5.0" - debug "0.7.4" - mkdirp "0.5.0" - yauzl "2.4.1" - -extsprintf@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - -faye-websocket@~0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - dependencies: - websocket-driver ">=0.5.1" - -fd-slicer@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" - dependencies: - pend "~1.2.0" - -figures@^1.0.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -finalhandler@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89" - dependencies: - debug "2.6.7" - encodeurl "~1.0.1" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.1" - statuses "~1.3.1" - unpipe "~1.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -findup-sync@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16" - dependencies: - glob "~5.0.0" - -for-in@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -fs-access@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" - dependencies: - null-check "^1.0.0" - -fs-extra@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fsevents@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.29" - -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -function-bind@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gaze@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" - dependencies: - globule "^1.0.0" - -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -getobject@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/getobject/-/getobject-0.1.0.tgz#047a449789fa160d018f5486ed91320b6ec7885c" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - dependencies: - assert-plus "^1.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - -glob@3.2.11: - version "3.2.11" - resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" - dependencies: - inherits "2" - minimatch "0.3" - -glob@^5.0.15, glob@~5.0.0: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^6.0.3: - version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.3, glob@~7.0.0: - version "7.0.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.5, glob@^7.1.0, glob@^7.1.1, glob@~7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globule@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f" - dependencies: - glob "~7.1.1" - lodash "~4.16.4" - minimatch "~3.0.2" - -graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - -growl@1.9.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" - -growl@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.7.0.tgz#de2d66136d002e112ba70f3f10c31cf7c350b2da" - -grunt-browserify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/grunt-browserify/-/grunt-browserify-5.0.0.tgz#1d333ca98bdac44576f646e0d6680087cbf8c615" - dependencies: - async "^1.5.0" - browserify "^13.0.0" - glob "^6.0.3" - lodash "^3.10.1" - resolve "^1.1.6" - watchify "^3.6.1" - -grunt-cli@^1.2.0, grunt-cli@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.2.0.tgz#562b119ebb069ddb464ace2845501be97b35b6a8" - dependencies: - findup-sync "~0.3.0" - grunt-known-options "~1.1.0" - nopt "~3.0.6" - resolve "~1.1.0" - -grunt-contrib-concat@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz#61509863084e871d7e86de48c015259ed97745bd" - dependencies: - chalk "^1.0.0" - source-map "^0.5.3" - -grunt-contrib-jshint@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-jshint/-/grunt-contrib-jshint-1.0.0.tgz#30f405a51de656bfa6eb029b9a464b9fe02a402a" - dependencies: - chalk "^1.1.1" - hooker "^0.2.3" - jshint "~2.9.1" - -grunt-contrib-uglify@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/grunt-contrib-uglify/-/grunt-contrib-uglify-1.0.1.tgz#ad68411b963b99661211f76f466bdeded4fb07ac" - dependencies: - chalk "^1.0.0" - lodash "^4.0.1" - maxmin "^1.1.0" - uglify-js "~2.6.2" - uri-path "^1.0.0" - -grunt-contrib-watch@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz#84a1a7a1d6abd26ed568413496c73133e990018f" - dependencies: - async "^1.5.0" - gaze "^1.0.0" - lodash "^3.10.1" - tiny-lr "^0.2.1" - -grunt-known-options@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/grunt-known-options/-/grunt-known-options-1.1.0.tgz#a4274eeb32fa765da5a7a3b1712617ce3b144149" - -grunt-legacy-log-utils@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz#a7b8e2d0fb35b5a50f4af986fc112749ebc96f3d" - dependencies: - chalk "~1.1.1" - lodash "~4.3.0" - -grunt-legacy-log@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz#fb86f1809847bc07dc47843f9ecd6cacb62df2d5" - dependencies: - colors "~1.1.2" - grunt-legacy-log-utils "~1.0.0" - hooker "~0.2.3" - lodash "~3.10.1" - underscore.string "~3.2.3" - -grunt-legacy-util@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz#386aa78dc6ed50986c2b18957265b1b48abb9b86" - dependencies: - async "~1.5.2" - exit "~0.1.1" - getobject "~0.1.0" - hooker "~0.2.3" - lodash "~4.3.0" - underscore.string "~3.2.3" - which "~1.2.1" - -grunt@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.0.1.tgz#e8778764e944b18f32bb0f10b9078475c9dfb56b" - dependencies: - coffee-script "~1.10.0" - dateformat "~1.0.12" - eventemitter2 "~0.4.13" - exit "~0.1.1" - findup-sync "~0.3.0" - glob "~7.0.0" - grunt-cli "~1.2.0" - grunt-known-options "~1.1.0" - grunt-legacy-log "~1.0.0" - grunt-legacy-util "~1.0.0" - iconv-lite "~0.4.13" - js-yaml "~3.5.2" - minimatch "~3.0.0" - nopt "~3.0.6" - path-is-absolute "~1.0.0" - rimraf "~2.2.8" - -gzip-size@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-1.0.0.tgz#66cf8b101047227b95bace6ea1da0c177ed5c22f" - dependencies: - browserify-zlib "^0.1.4" - concat-stream "^1.4.1" - -handlebars@^4.0.1: - version "4.0.10" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f" - dependencies: - async "^1.4.0" - optimist "^0.6.1" - source-map "^0.4.4" - optionalDependencies: - uglify-js "^2.6" - -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - -har-validator@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" - dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" - -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" - dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-binary@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10" - dependencies: - isarray "0.0.1" - -has-binary@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" - dependencies: - isarray "0.0.1" - -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - -has@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" - dependencies: - function-bind "^1.0.2" - -hash-base@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" - dependencies: - inherits "^2.0.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.0.3.tgz#1332ff00156c0a0ffdd8236013d07b77a0451573" - dependencies: - inherits "^2.0.1" - -hasha@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1" - dependencies: - is-stream "^1.0.1" - pinkie-promise "^2.0.0" - -hat@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/hat/-/hat-0.0.3.tgz#bb014a9e64b3788aed8005917413d4ff3d502d8a" - -hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -hooker@^0.2.3, hooker@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/hooker/-/hooker-0.2.3.tgz#b834f723cc4a242aa65963459df6d984c5d3d959" - -hosted-git-info@^2.1.4: - version "2.4.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" - -htmlescape@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351" - -htmlparser2@3.8.x: - version "3.8.3" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" - dependencies: - domelementtype "1" - domhandler "2.3" - domutils "1.5" - entities "1.0" - readable-stream "1.1" - -http-errors@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942" - dependencies: - inherits "~2.0.1" - statuses "1" - -http-errors@~1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257" - dependencies: - depd "1.1.0" - inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" - -http-proxy@^1.13.0: - version "1.16.2" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" - dependencies: - eventemitter3 "1.x.x" - requires-port "1.x.x" - -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - -https-browserify@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" - -iconv-lite@0.4.13: - version "0.4.13" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2" - -iconv-lite@0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" - -iconv-lite@~0.4.13: - version "0.4.17" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.17.tgz#4fdaa3b38acbc2c031b045d0edcdfe1ecab18c8d" - -ieee754@^1.1.4: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - dependencies: - repeating "^2.0.0" - -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - -ini@~1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -inline-source-map@~0.6.0: - version "0.6.2" - resolved "https://registry.yarnpkg.com/inline-source-map/-/inline-source-map-0.6.2.tgz#f9393471c18a79d1724f863fa38b586370ade2a5" - dependencies: - source-map "~0.5.3" - -insert-module-globals@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/insert-module-globals/-/insert-module-globals-7.0.1.tgz#c03bf4e01cb086d5b5e5ace8ad0afe7889d638c3" - dependencies: - JSONStream "^1.0.3" - combine-source-map "~0.7.1" - concat-stream "~1.5.1" - is-buffer "^1.1.0" - lexical-scope "^1.2.0" - process "~0.11.0" - through2 "^2.0.0" - xtend "^4.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.1.0, is-buffer@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-dotfile@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - -is-my-json-valid@^2.12.4: - version "2.16.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - -is-number@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-0.1.1.tgz#69a7af116963d47206ec9bd9b48a14216f1e3806" - -is-number@^2.0.2, is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - -is-stream@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -isarray@0.0.1, isarray@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isbinaryfile@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -istanbul@^0.4.0: - version "0.4.5" - resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" - dependencies: - abbrev "1.0.x" - async "1.x" - escodegen "1.8.x" - esprima "2.7.x" - glob "^5.0.15" - handlebars "^4.0.1" - js-yaml "3.x" - mkdirp "0.5.x" - nopt "3.x" - once "1.x" - resolve "1.1.x" - supports-color "^3.1.0" - which "^1.1.1" - wordwrap "^1.0.0" - -jade@0.26.3: - version "0.26.3" - resolved "https://registry.yarnpkg.com/jade/-/jade-0.26.3.tgz#8f10d7977d8d79f2f6ff862a81b0513ccb25686c" - dependencies: - commander "0.6.1" - mkdirp "0.3.0" - -jit-grunt@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/jit-grunt/-/jit-grunt-0.10.0.tgz#008c3a7fe1e96bd0d84e260ea1fa1783457f79c2" - -jodid25519@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" - dependencies: - jsbn "~0.1.0" - -js-string-escape@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" - -js-yaml@3.x, js-yaml@~3.5.2: - version "3.5.5" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.5.5.tgz#0377c38017cabc7322b0d1fbcd25a491641f2fbe" - dependencies: - argparse "^1.0.2" - esprima "^2.6.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - -jshint@~2.9.1: - version "2.9.4" - resolved "https://registry.yarnpkg.com/jshint/-/jshint-2.9.4.tgz#5e3ba97848d5290273db514aee47fe24cf592934" - dependencies: - cli "~1.0.0" - console-browserify "1.1.x" - exit "0.1.x" - htmlparser2 "3.8.x" - lodash "3.7.x" - minimatch "~3.0.2" - shelljs "0.3.x" - strip-json-comments "1.0.x" - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.0" - -json-stable-stringify@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz#611c23e814db375527df851193db59dd2af27f45" - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -json3@3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.2.6.tgz#f6efc93c06a04de9aec53053df2559bb19e2038b" - -json3@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - -jsprim@^1.2.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" - dependencies: - assert-plus "1.0.0" - extsprintf "1.0.2" - json-schema "0.2.3" - verror "1.3.6" - -karma-browserify@^5.0.5: - version "5.1.1" - resolved "https://registry.yarnpkg.com/karma-browserify/-/karma-browserify-5.1.1.tgz#f642d70d776d9ab3b73526c5732abcfea2400319" - dependencies: - convert-source-map "^1.1.3" - hat "^0.0.3" - js-string-escape "^1.0.0" - lodash "^3.10.1" - minimatch "^3.0.0" - os-shim "^0.1.3" - -karma-chai@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/karma-chai/-/karma-chai-0.1.0.tgz#bee5ad40400517811ae34bb945f762909108b79a" - -karma-chrome-launcher@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-1.0.1.tgz#be5ae7c4264f9a0a2e22e3d984beb325ad92c8cb" - dependencies: - fs-access "^1.0.0" - which "^1.2.1" - -karma-coverage@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/karma-coverage/-/karma-coverage-1.0.0.tgz#679a1152310f96ef91c32f5fe357d6c5b78f1f1d" - dependencies: - dateformat "^1.0.6" - istanbul "^0.4.0" - minimatch "^3.0.0" - source-map "^0.5.1" - -karma-growl-notifications-reporter@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/karma-growl-notifications-reporter/-/karma-growl-notifications-reporter-0.0.2.tgz#d5c11c5e2e75c5de41f5f5486f919fdcaa8d776a" - dependencies: - growl "~1.7.0" - -karma-mocha@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/karma-mocha/-/karma-mocha-1.1.1.tgz#02ce59b4ee80c3365f08765861f114add859184b" - -karma-phantomjs-launcher@~1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/karma-phantomjs-launcher/-/karma-phantomjs-launcher-1.0.4.tgz#d23ca34801bda9863ad318e3bb4bd4062b13acd2" - dependencies: - lodash "^4.0.1" - phantomjs-prebuilt "^2.1.7" - -karma@~1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/karma/-/karma-1.1.2.tgz#78cd09e0a7d3821c623291fd1ec9bad5a9763c85" - dependencies: - bluebird "^3.3.0" - body-parser "^1.12.4" - chokidar "^1.4.1" - colors "^1.1.0" - combine-lists "^1.0.0" - connect "^3.3.5" - core-js "^2.2.0" - di "^0.0.1" - dom-serialize "^2.2.0" - expand-braces "^0.1.1" - glob "^7.0.3" - graceful-fs "^4.1.2" - http-proxy "^1.13.0" - isbinaryfile "^3.0.0" - lodash "^3.8.0" - log4js "^0.6.31" - mime "^1.3.4" - minimatch "^3.0.0" - optimist "^0.6.1" - qjobs "^1.1.4" - rimraf "^2.3.3" - socket.io "1.4.7" - source-map "^0.5.3" - tmp "0.0.28" - useragent "^2.1.9" - -kew@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b" - -kind-of@^3.0.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" - -klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - optionalDependencies: - graceful-fs "^4.1.9" - -labeled-stream-splicer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz#a52e1d138024c00b86b1c0c91f677918b8ae0a59" - dependencies: - inherits "^2.0.1" - isarray "~0.0.1" - stream-splicer "^2.0.0" - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lexical-scope@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/lexical-scope/-/lexical-scope-1.2.0.tgz#fcea5edc704a4b3a8796cdca419c3a0afaf22df4" - dependencies: - astw "^2.0.0" - -livereload-js@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.2.2.tgz#6c87257e648ab475bc24ea257457edcc1f8d0bc2" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -lodash.memoize@~3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-3.0.4.tgz#2dcbd2c287cbc0a55cc42328bd0c736150d53e3f" - -lodash@3.7.x: - version "3.7.0" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.7.0.tgz#3678bd8ab995057c07ade836ed2ef087da811d45" - -lodash@^3.10.1, lodash@^3.8.0, lodash@~3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" - -lodash@^4.0.1, lodash@^4.5.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -lodash@~4.16.4: - version "4.16.6" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" - -lodash@~4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.3.0.tgz#efd9c4a6ec53f3b05412429915c3e4824e4d25a4" - -log4js@^0.6.31: - version "0.6.38" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-0.6.38.tgz#2c494116695d6fb25480943d3fc872e662a522fd" - dependencies: - readable-stream "~1.0.2" - semver "~4.3.3" - -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lru-cache@2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" - -lru-cache@2.2.x: - version "2.2.4" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d" - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - -maxmin@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/maxmin/-/maxmin-1.1.0.tgz#71365e84a99dd8f8b3f7d5fde2f00d1e7f73be61" - dependencies: - chalk "^1.0.0" - figures "^1.0.1" - gzip-size "^1.0.0" - pretty-bytes "^1.0.0" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - -meow@^3.1.0, meow@^3.3.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -micromatch@^2.1.5: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -miller-rabin@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.0.tgz#4a62fb1d42933c05583982f4c716f6fb9e6c6d3d" - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@~1.12.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7" - -mime-db@~1.27.0: - version "1.27.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" - -mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.7: - version "2.1.15" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" - dependencies: - mime-db "~1.27.0" - -mime-types@~2.0.4: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6" - dependencies: - mime-db "~1.12.0" - -mime@^1.3.4: - version "1.3.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" - -minimalistic-assert@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - -minimatch@0.3: - version "0.3.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" - dependencies: - lru-cache "2" - sigmund "~1.0.0" - -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.0, minimatch@~3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - -mkdirp@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" - -mkdirp@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12" - dependencies: - minimist "0.0.8" - -mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -"mocha-better-spec-reporter@github:mikeerickson/mocha-better-spec-reporter": - version "3.1.0" - resolved "https://codeload.github.com/mikeerickson/mocha-better-spec-reporter/tar.gz/ae8b33e4acd235d7d267fca74b03b7c6e77bc69c" - dependencies: - chalk "1.1.3" - data-uri-to-buffer "0.0.4" - diff "^3.1.0" - graceful-fs "^4.1.3" - minimatch "^3.0.3" - should-format "^3.0.2" - should-type "^1.4.0" - source-map "^0.5.6" - stack-trace "0.0.9" - -mocha@~2.5.3: - version "2.5.3" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-2.5.3.tgz#161be5bdeb496771eb9b35745050b622b5aefc58" - dependencies: - commander "2.3.0" - debug "2.2.0" - diff "1.4.0" - escape-string-regexp "1.0.2" - glob "3.2.11" - growl "1.9.2" - jade "0.26.3" - mkdirp "0.5.1" - supports-color "1.2.0" - to-iso-string "0.0.2" - -module-deps@^4.0.8: - version "4.1.1" - resolved "https://registry.yarnpkg.com/module-deps/-/module-deps-4.1.1.tgz#23215833f1da13fd606ccb8087b44852dcb821fd" - dependencies: - JSONStream "^1.0.3" - browser-resolve "^1.7.0" - cached-path-relative "^1.0.0" - concat-stream "~1.5.0" - defined "^1.0.0" - detective "^4.0.0" - duplexer2 "^0.1.2" - inherits "^2.0.1" - parents "^1.0.0" - readable-stream "^2.0.2" - resolve "^1.1.3" - stream-combiner2 "^1.1.1" - subarg "^1.0.0" - through2 "^2.0.0" - xtend "^4.0.0" - -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -nan@^2.3.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" - -negotiator@0.4.9: - version "0.4.9" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.4.9.tgz#92e46b6db53c7e421ed64a2bc94f08be7630df3f" - -node-pre-gyp@^0.6.29: - version "0.6.34" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7" - dependencies: - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "^2.81.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" - -nopt@3.x, nopt@~3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.3.8" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - -npmlog@^4.0.2: - version "4.1.0" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -null-check@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -oauth-sign@~0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object-component@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - dependencies: - ee-first "1.1.1" - -once@1.x, once@^1.3.0, once@^1.3.3: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optionator@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" - -os-browserify@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54" - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-shim@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -osenv@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -outpipe@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/outpipe/-/outpipe-1.1.1.tgz#50cf8616365e87e031e29a5ec9339a3da4725fa2" - dependencies: - shell-quote "^1.4.2" - -pako@~0.2.0: - version "0.2.9" - resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" - -parents@^1.0.0, parents@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751" - dependencies: - path-platform "~0.11.15" - -parse-asn1@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -parsejson@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.1.tgz#9b10c6c0d825ab589e685153826de0a3ba278bcc" - dependencies: - better-assert "~1.0.0" - -parseqs@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.2.tgz#9dfe70b2cddac388bde4f35b1f240fa58adbe6c7" - dependencies: - better-assert "~1.0.0" - -parseuri@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.4.tgz#806582a39887e1ea18dd5e2fe0e01902268e9350" - dependencies: - better-assert "~1.0.0" - -parseurl@~1.3.0, parseurl@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" - -path-browserify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - -path-is-absolute@^1.0.0, path-is-absolute@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-platform@~0.11.15: - version "0.11.15" - resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -pbkdf2@^3.0.3: - version "3.0.12" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.12.tgz#be36785c5067ea48d806ff923288c5f750b6b8a2" - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - -phantomjs-prebuilt@^2.1.7: - version "2.1.14" - resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.14.tgz#d53d311fcfb7d1d08ddb24014558f1188c516da0" - dependencies: - es6-promise "~4.0.3" - extract-zip "~1.5.0" - fs-extra "~1.0.0" - hasha "~2.2.0" - kew "~0.7.0" - progress "~1.1.8" - request "~2.79.0" - request-progress "~2.0.1" - which "~1.2.10" - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - -pretty-bytes@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84" - dependencies: - get-stdin "^4.0.1" - meow "^3.1.0" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -process@~0.11.0: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - -progress@~1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" - -public-encrypt@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - -punycode@^1.3.2, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - -qjobs@^1.1.4: - version "1.1.5" - resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.1.5.tgz#659de9f2cf8dcc27a1481276f205377272382e73" - -qs@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-5.2.0.tgz#a9f31142af468cb72b25b30136ba2456834916be" - -qs@6.4.0, qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - -qs@~5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-5.1.0.tgz#4d932e5c7ea411cca76a312d39a606200fd50cd9" - -qs@~6.3.0: - version "6.3.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" - -querystring-es3@~0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - -randomatic@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" - dependencies: - is-number "^2.0.2" - kind-of "^3.0.2" - -randombytes@^2.0.0, randombytes@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec" - -raw-body@~2.1.5: - version "2.1.7" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774" - dependencies: - bytes "2.4.0" - iconv-lite "0.4.13" - unpipe "1.0.0" - -raw-body@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.2.0.tgz#994976cf6a5096a41162840492f0bdc5d6e7fb96" - dependencies: - bytes "2.4.0" - iconv-lite "0.4.15" - unpipe "1.0.0" - -rc@^1.1.7: - version "1.2.1" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-only-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-only-stream/-/read-only-stream-2.0.0.tgz#2724fd6a8113d73764ac288d4386270c1dbf17f0" - dependencies: - readable-stream "^2.0.2" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -readable-stream@1.1: - version "1.1.13" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.6: - version "2.2.9" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" - dependencies: - buffer-shims "~1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~1.0.0" - util-deprecate "~1.0.1" - -readable-stream@~1.0.2: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@~2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -regex-cache@^0.4.2: - version "0.4.3" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" - dependencies: - is-equal-shallow "^0.1.3" - is-primitive "^2.0.0" - -remove-trailing-separator@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-0.2.2.tgz#c7a8d3236068362059a7e4651fc6884e8b1fb4ae" - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -request-progress@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08" - dependencies: - throttleit "^1.0.0" - -request@^2.81.0: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - -request@~2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - -requires-port@1.x.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - -resolve@1.1.7, resolve@1.1.x, resolve@^1.1.3, resolve@^1.1.4, resolve@^1.1.6, resolve@~1.1.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - -rimraf@2, rimraf@^2.3.3, rimraf@^2.5.1, rimraf@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" - dependencies: - glob "^7.0.5" - -rimraf@~2.2.8: - version "2.2.8" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" - dependencies: - hash-base "^2.0.0" - inherits "^2.0.1" - -safe-buffer@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" - -"semver@2 || 3 || 4 || 5", semver@~4.3.3: - version "4.3.6" - resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" - -semver@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - -set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - -setprototypeof@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" - -sha.js@^2.4.0, sha.js@^2.4.8, sha.js@~2.4.4: - version "2.4.8" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" - dependencies: - inherits "^2.0.1" - -shasum@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/shasum/-/shasum-1.0.2.tgz#e7012310d8f417f4deb5712150e5678b87ae565f" - dependencies: - json-stable-stringify "~0.0.0" - sha.js "~2.4.4" - -shell-quote@^1.4.2, shell-quote@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" - dependencies: - array-filter "~0.0.0" - array-map "~0.0.0" - array-reduce "~0.0.0" - jsonify "~0.0.0" - -shelljs@0.3.x: - version "0.3.0" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.3.0.tgz#3596e6307a781544f591f37da618360f31db57b1" - -should-format@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/should-format/-/should-format-3.0.3.tgz#9bfc8f74fa39205c53d38c34d717303e277124f1" - dependencies: - should-type "^1.3.0" - should-type-adaptors "^1.0.1" - -should-type-adaptors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/should-type-adaptors/-/should-type-adaptors-1.0.1.tgz#efe5553cdf68cff66e5c5f51b712dc351c77beaa" - dependencies: - should-type "^1.3.0" - should-util "^1.0.0" - -should-type@^1.3.0, should-type@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/should-type/-/should-type-1.4.0.tgz#0756d8ce846dfd09843a6947719dfa0d4cff5cf3" - -should-util@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/should-util/-/should-util-1.0.0.tgz#c98cda374aa6b190df8ba87c9889c2b4db620063" - -sigmund@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" - -signal-exit@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - -socket.io-adapter@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.4.0.tgz#fb9f82ab1aa65290bf72c3657955b930a991a24f" - dependencies: - debug "2.2.0" - socket.io-parser "2.2.2" - -socket.io-client@1.4.6: - version "1.4.6" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.4.6.tgz#49b0ba537efd15b8297c84016e642e1c7c752c3d" - dependencies: - backo2 "1.0.2" - component-bind "1.0.0" - component-emitter "1.2.0" - debug "2.2.0" - engine.io-client "1.6.9" - has-binary "0.1.7" - indexof "0.0.1" - object-component "0.0.3" - parseuri "0.0.4" - socket.io-parser "2.2.6" - to-array "0.1.4" - -socket.io-parser@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.2.tgz#3d7af6b64497e956b7d9fe775f999716027f9417" - dependencies: - benchmark "1.0.0" - component-emitter "1.1.2" - debug "0.7.4" - isarray "0.0.1" - json3 "3.2.6" - -socket.io-parser@2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.2.6.tgz#38dfd61df50dcf8ab1d9e2091322bf902ba28b99" - dependencies: - benchmark "1.0.0" - component-emitter "1.1.2" - debug "2.2.0" - isarray "0.0.1" - json3 "3.3.2" - -socket.io@1.4.7: - version "1.4.7" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.4.7.tgz#92b7f7cb88c5797d4daee279fe8075dbe6d3fa1c" - dependencies: - debug "2.2.0" - engine.io "1.6.10" - has-binary "0.1.7" - socket.io-adapter "0.4.0" - socket.io-client "1.4.6" - socket.io-parser "2.2.6" - -source-map@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1, source-map@~0.5.3: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - -source-map@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" - dependencies: - amdefine ">=0.0.4" - -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" - dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" - -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - -sshpk@^1.7.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jodid25519 "^1.0.0" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - -stack-trace@0.0.9: - version "0.0.9" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.9.tgz#a8f6eaeca90674c333e7c43953f275b451510695" - -statuses@1, "statuses@>= 1.3.1 < 2", statuses@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" - -stream-browserify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-combiner2@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" - dependencies: - duplexer2 "~0.1.0" - readable-stream "^2.0.2" - -stream-http@^2.0.0: - version "2.7.1" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.1.tgz#546a51741ad5a6b07e9e31b0b10441a917df528a" - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.2.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-splicer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/stream-splicer/-/stream-splicer-2.0.0.tgz#1b63be438a133e4b671cc1935197600175910d83" - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.2" - -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string_decoder@~0.10.0, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98" - dependencies: - safe-buffer "^5.0.1" - -stringstream@~0.0.4: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -subarg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" - dependencies: - minimist "^1.1.0" - -supports-color@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -supports-color@^3.1.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - dependencies: - has-flag "^1.0.0" - -syntax-error@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.3.0.tgz#1ed9266c4d40be75dc55bf9bb1cb77062bb96ca1" - dependencies: - acorn "^4.0.3" - -tar-pack@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984" - dependencies: - debug "^2.2.0" - fstream "^1.0.10" - fstream-ignore "^1.0.5" - once "^1.3.3" - readable-stream "^2.1.4" - rimraf "^2.5.1" - tar "^2.2.1" - uid-number "^0.0.6" - -tar@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - -throttleit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" - -through2@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -"through@>=2.2.7 <3": - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -timers-browserify@^1.0.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" - dependencies: - process "~0.11.0" - -tiny-lr@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-0.2.1.tgz#b3fdba802e5d56a33c2f6f10794b32e477ac729d" - dependencies: - body-parser "~1.14.0" - debug "~2.2.0" - faye-websocket "~0.10.0" - livereload-js "^2.2.0" - parseurl "~1.3.0" - qs "~5.1.0" - -tmp@0.0.28, tmp@0.0.x: - version "0.0.28" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.28.tgz#172735b7f614ea7af39664fa84cf0de4e515d120" - dependencies: - os-tmpdir "~1.0.1" - -to-array@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - -to-iso-string@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" - -tough-cookie@~2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" - dependencies: - punycode "^1.4.1" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -tty-browserify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - dependencies: - safe-buffer "^5.0.1" - -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - dependencies: - prelude-ls "~1.1.2" - -type-detect@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" - -type-detect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" - -type-is@~1.6.10, type-is@~1.6.15: - version "1.6.15" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" - dependencies: - media-typer "0.3.0" - mime-types "~2.1.15" - -typedarray@~0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - -uglify-js@^2.6, uglify-js@~2.6.2: - version "2.6.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.6.4.tgz#65ea2fb3059c9394692f15fed87c2b36c16b9adf" - dependencies: - async "~0.2.6" - source-map "~0.5.1" - uglify-to-browserify "~1.0.0" - yargs "~3.10.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - -uid-number@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - -umd@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.1.tgz#8ae556e11011f63c2596708a8837259f01b3d60e" - -underscore.string@~3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.2.3.tgz#806992633665d5e5fcb4db1fb3a862eb68e9e6da" - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - -uri-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/uri-path/-/uri-path-1.0.0.tgz#9747f018358933c31de0fccfd82d138e67262e32" - -url@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -useragent@^2.1.9: - version "2.1.13" - resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.13.tgz#bba43e8aa24d5ceb83c2937473e102e21df74c10" - dependencies: - lru-cache "2.2.x" - tmp "0.0.x" - -utf8@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.0.tgz#0cfec5c8052d44a23e3aaa908104e8075f95dfd5" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -util@0.10.3, util@~0.10.1: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - dependencies: - inherits "2.0.1" - -utils-merge@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" - -uuid@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" - -verror@1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" - dependencies: - extsprintf "1.0.2" - -vm-browserify@~0.0.1: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - dependencies: - indexof "0.0.1" - -void-elements@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" - -watchify@^3.6.1: - version "3.9.0" - resolved "https://registry.yarnpkg.com/watchify/-/watchify-3.9.0.tgz#f075fd2e8a86acde84cedba6e5c2a0bedd523d9e" - dependencies: - anymatch "^1.3.0" - browserify "^14.0.0" - chokidar "^1.0.0" - defined "^1.0.0" - outpipe "^1.1.0" - through2 "^2.0.0" - xtend "^4.0.0" - -websocket-driver@>=0.5.1: - version "0.6.5" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" - dependencies: - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7" - -which@^1.1.1, which@^1.2.1, which@~1.2.1, which@~1.2.10: - version "1.2.14" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" - dependencies: - string-width "^1.0.2" - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - -wordwrap@^1.0.0, wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -ws@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.0.1.tgz#7d0b2a2e58cddd819039c29c9de65045e1b310e9" - dependencies: - options ">=0.0.5" - ultron "1.0.x" - -xmlhttprequest-ssl@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz#3b7741fea4a86675976e908d296d4445961faa67" - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - -yauzl@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" - dependencies: - fd-slicer "~1.0.1" - -yeast@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"