aboutsummaryrefslogtreecommitdiff
path: root/node_modules/express-handlebars
diff options
context:
space:
mode:
authornanalelfe <nargiza.nosirova@mail.utoronto.ca>2016-07-28 02:20:52 +0000
committernanalelfe <nargiza.nosirova@mail.utoronto.ca>2016-07-28 02:20:52 +0000
commit4cff38c8f7b65dab1fd72ea835ea7288327d1056 (patch)
treeac93acd69e77eef1e352af953d56238d70ea9c5d /node_modules/express-handlebars
parente11dd98c9a55cd1742d221e3b1ea90d31e240fa8 (diff)
Fixed admin bug
Diffstat (limited to 'node_modules/express-handlebars')
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/inflight/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/inherits/LICENSE16
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/inherits/README.md42
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/inherits/inherits.js1
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/inherits/inherits_browser.js23
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/inherits/package.json50
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/inherits/test.js25
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js10
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md4
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js2
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json24
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json22
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/once/node_modules/wrappy/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/once/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/glob/node_modules/path-is-absolute/package.json5
-rw-r--r--node_modules/express-handlebars/node_modules/glob/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/graceful-fs/README.md2
-rw-r--r--node_modules/express-handlebars/node_modules/graceful-fs/package.json20
-rw-r--r--node_modules/express-handlebars/node_modules/graceful-fs/polyfills.js55
-rw-r--r--node_modules/express-handlebars/node_modules/handlebars/node_modules/async/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/handlebars/node_modules/optimist/node_modules/minimist/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/handlebars/node_modules/optimist/package.json5
-rw-r--r--node_modules/express-handlebars/node_modules/handlebars/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/package.json2
-rw-r--r--node_modules/express-handlebars/node_modules/handlebars/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/package.json2
-rw-r--r--node_modules/express-handlebars/node_modules/handlebars/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/object.assign/node_modules/define-properties/node_modules/foreach/package.json5
-rw-r--r--node_modules/express-handlebars/node_modules/object.assign/node_modules/define-properties/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/object.assign/node_modules/function-bind/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/object.assign/node_modules/object-keys/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/object.assign/package.json3
-rw-r--r--node_modules/express-handlebars/node_modules/promise/.jshintrc5
-rw-r--r--node_modules/express-handlebars/node_modules/promise/.npmignore7
-rw-r--r--node_modules/express-handlebars/node_modules/promise/LICENSE19
-rw-r--r--node_modules/express-handlebars/node_modules/promise/Readme.md231
-rw-r--r--node_modules/express-handlebars/node_modules/promise/build.js69
-rw-r--r--node_modules/express-handlebars/node_modules/promise/core.js5
-rw-r--r--node_modules/express-handlebars/node_modules/promise/domains/core.js213
-rw-r--r--node_modules/express-handlebars/node_modules/promise/domains/done.js13
-rw-r--r--node_modules/express-handlebars/node_modules/promise/domains/es6-extensions.js107
-rw-r--r--node_modules/express-handlebars/node_modules/promise/domains/finally.js16
-rw-r--r--node_modules/express-handlebars/node_modules/promise/domains/index.js8
-rw-r--r--node_modules/express-handlebars/node_modules/promise/domains/node-extensions.js130
-rw-r--r--node_modules/express-handlebars/node_modules/promise/domains/rejection-tracking.js113
-rw-r--r--node_modules/express-handlebars/node_modules/promise/domains/synchronous.js62
-rw-r--r--node_modules/express-handlebars/node_modules/promise/index.js3
-rw-r--r--node_modules/express-handlebars/node_modules/promise/lib/core.js213
-rw-r--r--node_modules/express-handlebars/node_modules/promise/lib/done.js13
-rw-r--r--node_modules/express-handlebars/node_modules/promise/lib/es6-extensions.js107
-rw-r--r--node_modules/express-handlebars/node_modules/promise/lib/finally.js16
-rw-r--r--node_modules/express-handlebars/node_modules/promise/lib/index.js8
-rw-r--r--node_modules/express-handlebars/node_modules/promise/lib/node-extensions.js130
-rw-r--r--node_modules/express-handlebars/node_modules/promise/lib/rejection-tracking.js113
-rw-r--r--node_modules/express-handlebars/node_modules/promise/lib/synchronous.js62
-rw-r--r--node_modules/express-handlebars/node_modules/promise/node_modules/asap/CHANGES.md64
-rw-r--r--node_modules/express-handlebars/node_modules/promise/node_modules/asap/LICENSE.md21
-rw-r--r--node_modules/express-handlebars/node_modules/promise/node_modules/asap/README.md237
-rw-r--r--node_modules/express-handlebars/node_modules/promise/node_modules/asap/asap.js65
-rw-r--r--node_modules/express-handlebars/node_modules/promise/node_modules/asap/browser-asap.js66
-rw-r--r--node_modules/express-handlebars/node_modules/promise/node_modules/asap/browser-raw.js220
-rw-r--r--node_modules/express-handlebars/node_modules/promise/node_modules/asap/package.json89
-rw-r--r--node_modules/express-handlebars/node_modules/promise/node_modules/asap/raw.js101
-rw-r--r--node_modules/express-handlebars/node_modules/promise/package.json67
-rw-r--r--node_modules/express-handlebars/node_modules/promise/polyfill-done.js12
-rw-r--r--node_modules/express-handlebars/node_modules/promise/polyfill.js10
-rw-r--r--node_modules/express-handlebars/node_modules/promise/setimmediate/core.js213
-rw-r--r--node_modules/express-handlebars/node_modules/promise/setimmediate/done.js13
-rw-r--r--node_modules/express-handlebars/node_modules/promise/setimmediate/es6-extensions.js107
-rw-r--r--node_modules/express-handlebars/node_modules/promise/setimmediate/finally.js16
-rw-r--r--node_modules/express-handlebars/node_modules/promise/setimmediate/index.js8
-rw-r--r--node_modules/express-handlebars/node_modules/promise/setimmediate/node-extensions.js130
-rw-r--r--node_modules/express-handlebars/node_modules/promise/setimmediate/rejection-tracking.js113
-rw-r--r--node_modules/express-handlebars/node_modules/promise/setimmediate/synchronous.js62
-rw-r--r--node_modules/express-handlebars/node_modules/promise/src/core.js213
-rw-r--r--node_modules/express-handlebars/node_modules/promise/src/done.js13
-rw-r--r--node_modules/express-handlebars/node_modules/promise/src/es6-extensions.js107
-rw-r--r--node_modules/express-handlebars/node_modules/promise/src/finally.js16
-rw-r--r--node_modules/express-handlebars/node_modules/promise/src/index.js8
-rw-r--r--node_modules/express-handlebars/node_modules/promise/src/node-extensions.js130
-rw-r--r--node_modules/express-handlebars/node_modules/promise/src/rejection-tracking.js113
-rw-r--r--node_modules/express-handlebars/node_modules/promise/src/synchronous.js62
-rw-r--r--node_modules/express-handlebars/package.json5
84 files changed, 285 insertions, 4016 deletions
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json b/node_modules/express-handlebars/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json
index 842d22b..de3bfd5 100644
--- a/node_modules/express-handlebars/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json
@@ -58,5 +58,6 @@
"host": "packages-16-east.internal.npmjs.com",
"tmp": "tmp/wrappy-1.0.2.tgz_1463527848281_0.037129373755306005"
},
- "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/inflight/package.json b/node_modules/express-handlebars/node_modules/glob/node_modules/inflight/package.json
index 4010d03..077c122 100644
--- a/node_modules/express-handlebars/node_modules/glob/node_modules/inflight/package.json
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/inflight/package.json
@@ -67,5 +67,6 @@
"tmp": "tmp/inflight-1.0.5.tgz_1463529611443_0.00041943578980863094"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz"
+ "_resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/LICENSE b/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/LICENSE
new file mode 100644
index 0000000..dea3013
--- /dev/null
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/LICENSE
@@ -0,0 +1,16 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/README.md b/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/README.md
new file mode 100644
index 0000000..b1c5665
--- /dev/null
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/README.md
@@ -0,0 +1,42 @@
+Browser-friendly inheritance fully compatible with standard node.js
+[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).
+
+This package exports standard `inherits` from node.js `util` module in
+node environment, but also provides alternative browser-friendly
+implementation through [browser
+field](https://gist.github.com/shtylman/4339901). Alternative
+implementation is a literal copy of standard one located in standalone
+module to avoid requiring of `util`. It also has a shim for old
+browsers with no `Object.create` support.
+
+While keeping you sure you are using standard `inherits`
+implementation in node.js environment, it allows bundlers such as
+[browserify](https://github.com/substack/node-browserify) to not
+include full `util` package to your client code if all you need is
+just `inherits` function. It worth, because browser shim for `util`
+package is large and `inherits` is often the single function you need
+from it.
+
+It's recommended to use this package instead of
+`require('util').inherits` for any code that has chances to be used
+not only in node.js but in browser too.
+
+## usage
+
+```js
+var inherits = require('inherits');
+// then use exactly as the standard one
+```
+
+## note on version ~1.0
+
+Version ~1.0 had completely different motivation and is not compatible
+neither with 2.0 nor with standard node.js `inherits`.
+
+If you are using version ~1.0 and planning to switch to ~2.0, be
+careful:
+
+* new version uses `super_` instead of `super` for referencing
+ superclass
+* new version overwrites current prototype while old one preserves any
+ existing fields on it
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/inherits.js b/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/inherits.js
new file mode 100644
index 0000000..29f5e24
--- /dev/null
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/inherits.js
@@ -0,0 +1 @@
+module.exports = require('util').inherits
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/inherits_browser.js b/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/inherits_browser.js
new file mode 100644
index 0000000..c1e78a7
--- /dev/null
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/inherits_browser.js
@@ -0,0 +1,23 @@
+if (typeof Object.create === 'function') {
+ // implementation from standard node.js 'util' module
+ module.exports = function inherits(ctor, superCtor) {
+ ctor.super_ = superCtor
+ ctor.prototype = Object.create(superCtor.prototype, {
+ constructor: {
+ value: ctor,
+ enumerable: false,
+ writable: true,
+ configurable: true
+ }
+ });
+ };
+} else {
+ // old school shim for old browsers
+ module.exports = function inherits(ctor, superCtor) {
+ ctor.super_ = superCtor
+ var TempCtor = function () {}
+ TempCtor.prototype = superCtor.prototype
+ ctor.prototype = new TempCtor()
+ ctor.prototype.constructor = ctor
+ }
+}
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/package.json b/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/package.json
new file mode 100644
index 0000000..5739f10
--- /dev/null
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/package.json
@@ -0,0 +1,50 @@
+{
+ "name": "inherits",
+ "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
+ "version": "2.0.1",
+ "keywords": [
+ "inheritance",
+ "class",
+ "klass",
+ "oop",
+ "object-oriented",
+ "inherits",
+ "browser",
+ "browserify"
+ ],
+ "main": "./inherits.js",
+ "browser": "./inherits_browser.js",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/inherits.git"
+ },
+ "license": "ISC",
+ "scripts": {
+ "test": "node test"
+ },
+ "bugs": {
+ "url": "https://github.com/isaacs/inherits/issues"
+ },
+ "_id": "inherits@2.0.1",
+ "dist": {
+ "shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1",
+ "tarball": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+ },
+ "_from": "inherits@>=2.0.0 <3.0.0",
+ "_npmVersion": "1.3.8",
+ "_npmUser": {
+ "name": "isaacs",
+ "email": "i@izs.me"
+ },
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "i@izs.me"
+ }
+ ],
+ "directories": {},
+ "_shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1",
+ "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "readme": "ERROR: No README data found!",
+ "homepage": "https://github.com/isaacs/inherits#readme"
+}
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/test.js b/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/test.js
new file mode 100644
index 0000000..fc53012
--- /dev/null
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/inherits/test.js
@@ -0,0 +1,25 @@
+var inherits = require('./inherits.js')
+var assert = require('assert')
+
+function test(c) {
+ assert(c.constructor === Child)
+ assert(c.constructor.super_ === Parent)
+ assert(Object.getPrototypeOf(c) === Child.prototype)
+ assert(Object.getPrototypeOf(Object.getPrototypeOf(c)) === Parent.prototype)
+ assert(c instanceof Child)
+ assert(c instanceof Parent)
+}
+
+function Child() {
+ Parent.call(this)
+ test(this)
+}
+
+function Parent() {}
+
+inherits(Child, Parent)
+
+var c = new Child
+test(c)
+
+console.log('ok')
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js
index 932718f..955f27c 100644
--- a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js
@@ -66,6 +66,16 @@ function expandTop(str) {
if (!str)
return [];
+ // I don't know why Bash 4.3 does this, but it does.
+ // Anything starting with {} will have the first two bytes preserved
+ // but *only* at the top level, so {},a}b will not expand to anything,
+ // but a{},b}c will be expanded to [a}c,abc].
+ // One could argue that this is a bug in Bash, but since the goal of
+ // this module is to match Bash's rules, we escape a leading {}
+ if (str.substr(0, 2) === '{}') {
+ str = '\\{\\}' + str.substr(2);
+ }
+
return expand(escapeBraces(str), true).map(unescapeBraces);
}
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md
index d6880b2..08e918c 100644
--- a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md
@@ -47,7 +47,7 @@ object with those keys:
If there's no match, `undefined` will be returned.
-If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']`.
+If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`.
### var r = balanced.range(a, b, str)
@@ -56,7 +56,7 @@ array with indexes: `[ <a index>, <b index> ]`.
If there's no match, `undefined` will be returned.
-If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]`.
+If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`.
## Installation
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js
index 4670f7f..e8d8587 100644
--- a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js
@@ -30,7 +30,7 @@ function range(a, b, str) {
begs = [];
left = str.length;
- while (i < str.length && i >= 0 && ! result) {
+ while (i >= 0 && !result) {
if (i == ai) {
begs.push(i);
ai = str.indexOf(a, i + 1);
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json
index 8aa3d45..4c87650 100644
--- a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json
@@ -1,7 +1,7 @@
{
"name": "balanced-match",
"description": "Match balanced character pairs, like \"{\" and \"}\"",
- "version": "0.4.1",
+ "version": "0.4.2",
"repository": {
"type": "git",
"url": "git://github.com/juliangruber/balanced-match.git"
@@ -13,7 +13,7 @@
},
"dependencies": {},
"devDependencies": {
- "tape": "~4.5.0"
+ "tape": "^4.6.0"
},
"keywords": [
"match",
@@ -44,22 +44,22 @@
"android-browser/4.2..latest"
]
},
- "gitHead": "7004b289baaaab6a832f4901735e29d37cc2a863",
+ "gitHead": "57c2ea29d89a2844ae3bdcc637c6e2cbb73725e2",
"bugs": {
"url": "https://github.com/juliangruber/balanced-match/issues"
},
- "_id": "balanced-match@0.4.1",
- "_shasum": "19053e2e0748eadb379da6c09d455cf5e1039335",
+ "_id": "balanced-match@0.4.2",
+ "_shasum": "cb3f3e3c732dc0f01ee70b403f302e61d7709838",
"_from": "balanced-match@>=0.4.1 <0.5.0",
- "_npmVersion": "3.8.6",
- "_nodeVersion": "6.0.0",
+ "_npmVersion": "2.15.8",
+ "_nodeVersion": "4.4.7",
"_npmUser": {
"name": "juliangruber",
"email": "julian@juliangruber.com"
},
"dist": {
- "shasum": "19053e2e0748eadb379da6c09d455cf5e1039335",
- "tarball": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz"
+ "shasum": "cb3f3e3c732dc0f01ee70b403f302e61d7709838",
+ "tarball": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz"
},
"maintainers": [
{
@@ -68,9 +68,9 @@
}
],
"_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/balanced-match-0.4.1.tgz_1462129663650_0.39764496590942144"
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/balanced-match-0.4.2.tgz_1468834991581_0.6590619895141572"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz"
+ "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz"
}
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json
index da4330e..de8b785 100644
--- a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json
@@ -78,5 +78,6 @@
}
],
"_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
- "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+ "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json
index 807cb31..8c64940 100644
--- a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json
@@ -1,7 +1,7 @@
{
"name": "brace-expansion",
"description": "Brace expansion as known from sh/bash",
- "version": "1.1.5",
+ "version": "1.1.6",
"repository": {
"type": "git",
"url": "git://github.com/juliangruber/brace-expansion.git"
@@ -17,7 +17,7 @@
"concat-map": "0.0.1"
},
"devDependencies": {
- "tape": "4.5.1"
+ "tape": "^4.6.0"
},
"keywords": [],
"author": {
@@ -42,22 +42,22 @@
"android-browser/4.2..latest"
]
},
- "gitHead": "ff31acab078f1bb696ac4c55ca56ea24e6495fb6",
+ "gitHead": "791262fa06625e9c5594cde529a21d82086af5f2",
"bugs": {
"url": "https://github.com/juliangruber/brace-expansion/issues"
},
- "_id": "brace-expansion@1.1.5",
- "_shasum": "f5b4ad574e2cb7ccc1eb83e6fe79b8ecadf7a526",
+ "_id": "brace-expansion@1.1.6",
+ "_shasum": "7197d7eaa9b87e648390ea61fc66c84427420df9",
"_from": "brace-expansion@>=1.0.0 <2.0.0",
- "_npmVersion": "2.15.5",
- "_nodeVersion": "4.4.5",
+ "_npmVersion": "2.15.8",
+ "_nodeVersion": "4.4.7",
"_npmUser": {
"name": "juliangruber",
"email": "julian@juliangruber.com"
},
"dist": {
- "shasum": "f5b4ad574e2cb7ccc1eb83e6fe79b8ecadf7a526",
- "tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz"
+ "shasum": "7197d7eaa9b87e648390ea61fc66c84427420df9",
+ "tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
},
"maintainers": [
{
@@ -71,8 +71,8 @@
],
"_npmOperationalInternal": {
"host": "packages-16-east.internal.npmjs.com",
- "tmp": "tmp/brace-expansion-1.1.5.tgz_1465989660138_0.34528115345165133"
+ "tmp": "tmp/brace-expansion-1.1.6.tgz_1469047715600_0.9362958471756428"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.5.tgz"
+ "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
}
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/package.json b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/package.json
index 651507f..1bb38d9 100644
--- a/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/package.json
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/minimatch/package.json
@@ -59,5 +59,6 @@
"tmp": "tmp/minimatch-3.0.2.tgz_1466194379770_0.11417287751100957"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz"
+ "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/once/node_modules/wrappy/package.json b/node_modules/express-handlebars/node_modules/glob/node_modules/once/node_modules/wrappy/package.json
index 842d22b..de3bfd5 100644
--- a/node_modules/express-handlebars/node_modules/glob/node_modules/once/node_modules/wrappy/package.json
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/once/node_modules/wrappy/package.json
@@ -58,5 +58,6 @@
"host": "packages-16-east.internal.npmjs.com",
"tmp": "tmp/wrappy-1.0.2.tgz_1463527848281_0.037129373755306005"
},
- "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/once/package.json b/node_modules/express-handlebars/node_modules/glob/node_modules/once/package.json
index 980e6cc..e4ee912 100644
--- a/node_modules/express-handlebars/node_modules/glob/node_modules/once/package.json
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/once/package.json
@@ -58,5 +58,6 @@
"email": "i@izs.me"
}
],
- "_resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
+ "_resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/glob/node_modules/path-is-absolute/package.json b/node_modules/express-handlebars/node_modules/glob/node_modules/path-is-absolute/package.json
index a14a849..8f41ade 100644
--- a/node_modules/express-handlebars/node_modules/glob/node_modules/path-is-absolute/package.json
+++ b/node_modules/express-handlebars/node_modules/glob/node_modules/path-is-absolute/package.json
@@ -5,7 +5,7 @@
"license": "MIT",
"repository": {
"type": "git",
- "url": "https://github.com/sindresorhus/path-is-absolute"
+ "url": "git+https://github.com/sindresorhus/path-is-absolute.git"
},
"author": {
"name": "Sindre Sorhus",
@@ -65,5 +65,6 @@
"tarball": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
+ "_resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/glob/package.json b/node_modules/express-handlebars/node_modules/glob/package.json
index 4299dbd..865c2e9 100644
--- a/node_modules/express-handlebars/node_modules/glob/package.json
+++ b/node_modules/express-handlebars/node_modules/glob/package.json
@@ -68,5 +68,6 @@
}
],
"directories": {},
- "_resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz"
+ "_resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/graceful-fs/README.md b/node_modules/express-handlebars/node_modules/graceful-fs/README.md
index d0dcd49..5273a50 100644
--- a/node_modules/express-handlebars/node_modules/graceful-fs/README.md
+++ b/node_modules/express-handlebars/node_modules/graceful-fs/README.md
@@ -7,7 +7,7 @@ The improvements are meant to normalize behavior across different
platforms and environments, and to make filesystem access more
resilient to errors.
-## Improvements over [fs module](http://api.nodejs.org/fs.html)
+## Improvements over [fs module](https://nodejs.org/api/fs.html)
* Queues up `open` and `readdir` calls, and retries them once
something closes if there is an EMFILE error from too many file
diff --git a/node_modules/express-handlebars/node_modules/graceful-fs/package.json b/node_modules/express-handlebars/node_modules/graceful-fs/package.json
index ff1b7dd..f242e81 100644
--- a/node_modules/express-handlebars/node_modules/graceful-fs/package.json
+++ b/node_modules/express-handlebars/node_modules/graceful-fs/package.json
@@ -1,7 +1,7 @@
{
"name": "graceful-fs",
"description": "A drop-in replacement for fs, making various improvements.",
- "version": "4.1.4",
+ "version": "4.1.5",
"repository": {
"type": "git",
"url": "git+https://github.com/isaacs/node-graceful-fs.git"
@@ -44,23 +44,23 @@
"legacy-streams.js",
"polyfills.js"
],
- "gitHead": "fe8f05ccc2779d1dfa6db6173f3ed64f1e9aa72c",
+ "gitHead": "d170f3f2ceb56adb4d6bd50df4b535bed54120c0",
"bugs": {
"url": "https://github.com/isaacs/node-graceful-fs/issues"
},
"homepage": "https://github.com/isaacs/node-graceful-fs#readme",
- "_id": "graceful-fs@4.1.4",
- "_shasum": "ef089d2880f033b011823ce5c8fae798da775dbd",
+ "_id": "graceful-fs@4.1.5",
+ "_shasum": "f4745e8caed5e0dd2ef21bb5e2d229a32e8093c0",
"_from": "graceful-fs@>=4.1.2 <5.0.0",
- "_npmVersion": "3.8.9",
- "_nodeVersion": "5.6.0",
+ "_npmVersion": "3.10.6",
+ "_nodeVersion": "4.4.4",
"_npmUser": {
"name": "isaacs",
"email": "i@izs.me"
},
"dist": {
- "shasum": "ef089d2880f033b011823ce5c8fae798da775dbd",
- "tarball": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz"
+ "shasum": "f4745e8caed5e0dd2ef21bb5e2d229a32e8093c0",
+ "tarball": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.5.tgz"
},
"maintainers": [
{
@@ -70,7 +70,7 @@
],
"_npmOperationalInternal": {
"host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/graceful-fs-4.1.4.tgz_1462474854900_0.9423982477746904"
+ "tmp": "tmp/graceful-fs-4.1.5.tgz_1469558843062_0.986795610981062"
},
- "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz"
+ "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.5.tgz"
}
diff --git a/node_modules/express-handlebars/node_modules/graceful-fs/polyfills.js b/node_modules/express-handlebars/node_modules/graceful-fs/polyfills.js
index 5e4f480..1cc74c8 100644
--- a/node_modules/express-handlebars/node_modules/graceful-fs/polyfills.js
+++ b/node_modules/express-handlebars/node_modules/graceful-fs/polyfills.js
@@ -44,28 +44,28 @@ function patch (fs) {
fs.fchown = chownFix(fs.fchown)
fs.lchown = chownFix(fs.lchown)
- fs.chmod = chownFix(fs.chmod)
- fs.fchmod = chownFix(fs.fchmod)
- fs.lchmod = chownFix(fs.lchmod)
+ fs.chmod = chmodFix(fs.chmod)
+ fs.fchmod = chmodFix(fs.fchmod)
+ fs.lchmod = chmodFix(fs.lchmod)
fs.chownSync = chownFixSync(fs.chownSync)
fs.fchownSync = chownFixSync(fs.fchownSync)
fs.lchownSync = chownFixSync(fs.lchownSync)
- fs.chmodSync = chownFix(fs.chmodSync)
- fs.fchmodSync = chownFix(fs.fchmodSync)
- fs.lchmodSync = chownFix(fs.lchmodSync)
+ fs.chmodSync = chmodFixSync(fs.chmodSync)
+ fs.fchmodSync = chmodFixSync(fs.fchmodSync)
+ fs.lchmodSync = chmodFixSync(fs.lchmodSync)
// if lchmod/lchown do not exist, then make them no-ops
if (!fs.lchmod) {
fs.lchmod = function (path, mode, cb) {
- process.nextTick(cb)
+ if (cb) process.nextTick(cb)
}
fs.lchmodSync = function () {}
}
if (!fs.lchown) {
fs.lchown = function (path, uid, gid, cb) {
- process.nextTick(cb)
+ if (cb) process.nextTick(cb)
}
fs.lchownSync = function () {}
}
@@ -121,20 +121,19 @@ function patch (fs) {
function patchLchmod (fs) {
fs.lchmod = function (path, mode, callback) {
- callback = callback || noop
fs.open( path
, constants.O_WRONLY | constants.O_SYMLINK
, mode
, function (err, fd) {
if (err) {
- callback(err)
+ if (callback) callback(err)
return
}
// prefer to return the chmod error, if one occurs,
// but still try to close, and report closing errors if they occur.
fs.fchmod(fd, mode, function (err) {
fs.close(fd, function(err2) {
- callback(err || err2)
+ if (callback) callback(err || err2)
})
})
})
@@ -167,11 +166,13 @@ function patchLutimes (fs) {
if (constants.hasOwnProperty("O_SYMLINK")) {
fs.lutimes = function (path, at, mt, cb) {
fs.open(path, constants.O_SYMLINK, function (er, fd) {
- cb = cb || noop
- if (er) return cb(er)
+ if (er) {
+ if (cb) cb(er)
+ return
+ }
fs.futimes(fd, at, mt, function (er) {
fs.close(fd, function (er2) {
- return cb(er || er2)
+ if (cb) cb(er || er2)
})
})
})
@@ -197,17 +198,39 @@ function patchLutimes (fs) {
}
} else {
- fs.lutimes = function (_a, _b, _c, cb) { process.nextTick(cb) }
+ fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }
fs.lutimesSync = function () {}
}
}
+function chmodFix (orig) {
+ if (!orig) return orig
+ return function (target, mode, cb) {
+ return orig.call(fs, target, mode, function (er, res) {
+ if (chownErOk(er)) er = null
+ if (cb) cb(er, res)
+ })
+ }
+}
+
+function chmodFixSync (orig) {
+ if (!orig) return orig
+ return function (target, mode) {
+ try {
+ return orig.call(fs, target, mode)
+ } catch (er) {
+ if (!chownErOk(er)) throw er
+ }
+ }
+}
+
+
function chownFix (orig) {
if (!orig) return orig
return function (target, uid, gid, cb) {
return orig.call(fs, target, uid, gid, function (er, res) {
if (chownErOk(er)) er = null
- cb(er, res)
+ if (cb) cb(er, res)
})
}
}
diff --git a/node_modules/express-handlebars/node_modules/handlebars/node_modules/async/package.json b/node_modules/express-handlebars/node_modules/handlebars/node_modules/async/package.json
index 8b29a0f..4bcdc92 100644
--- a/node_modules/express-handlebars/node_modules/handlebars/node_modules/async/package.json
+++ b/node_modules/express-handlebars/node_modules/handlebars/node_modules/async/package.json
@@ -118,5 +118,6 @@
"tarball": "https://registry.npmjs.org/async/-/async-1.5.2.tgz"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz"
+ "_resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/handlebars/node_modules/optimist/node_modules/minimist/package.json b/node_modules/express-handlebars/node_modules/handlebars/node_modules/optimist/node_modules/minimist/package.json
index 46e07ce..f0043ff 100644
--- a/node_modules/express-handlebars/node_modules/handlebars/node_modules/optimist/node_modules/minimist/package.json
+++ b/node_modules/express-handlebars/node_modules/handlebars/node_modules/optimist/node_modules/minimist/package.json
@@ -62,5 +62,6 @@
],
"directories": {},
"_shasum": "de3f98543dbf96082be48ad1a0c7cda836301dcf",
- "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz"
+ "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/handlebars/node_modules/optimist/package.json b/node_modules/express-handlebars/node_modules/handlebars/node_modules/optimist/package.json
index 5b2465b..26df1b8 100644
--- a/node_modules/express-handlebars/node_modules/handlebars/node_modules/optimist/package.json
+++ b/node_modules/express-handlebars/node_modules/handlebars/node_modules/optimist/package.json
@@ -16,7 +16,7 @@
},
"repository": {
"type": "git",
- "url": "http://github.com/substack/node-optimist.git"
+ "url": "git+ssh://git@github.com/substack/node-optimist.git"
},
"keywords": [
"argument",
@@ -59,5 +59,6 @@
],
"directories": {},
"_shasum": "da3ea74686fa21a19a111c326e90eb15a0196686",
- "_resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz"
+ "_resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/handlebars/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/package.json b/node_modules/express-handlebars/node_modules/handlebars/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/package.json
index e36d9c2..3cc2e0b 100644
--- a/node_modules/express-handlebars/node_modules/handlebars/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/package.json
+++ b/node_modules/express-handlebars/node_modules/handlebars/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/package.json
@@ -52,7 +52,7 @@
"gitHead": "7f08e823a54c6bda319d875895813537a66a4c5e",
"_id": "align-text@0.1.4",
"_shasum": "0cd90a561093f35d0a99256c22b7069433fad117",
- "_from": "align-text@>=0.1.1 <0.2.0",
+ "_from": "align-text@>=0.1.3 <0.2.0",
"_npmVersion": "3.6.0",
"_nodeVersion": "5.5.0",
"_npmUser": {
diff --git a/node_modules/express-handlebars/node_modules/handlebars/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/package.json b/node_modules/express-handlebars/node_modules/handlebars/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/package.json
index e36d9c2..3cc2e0b 100644
--- a/node_modules/express-handlebars/node_modules/handlebars/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/package.json
+++ b/node_modules/express-handlebars/node_modules/handlebars/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/package.json
@@ -52,7 +52,7 @@
"gitHead": "7f08e823a54c6bda319d875895813537a66a4c5e",
"_id": "align-text@0.1.4",
"_shasum": "0cd90a561093f35d0a99256c22b7069433fad117",
- "_from": "align-text@>=0.1.1 <0.2.0",
+ "_from": "align-text@>=0.1.3 <0.2.0",
"_npmVersion": "3.6.0",
"_nodeVersion": "5.5.0",
"_npmUser": {
diff --git a/node_modules/express-handlebars/node_modules/handlebars/package.json b/node_modules/express-handlebars/node_modules/handlebars/package.json
index b7eeead..88ada41 100644
--- a/node_modules/express-handlebars/node_modules/handlebars/package.json
+++ b/node_modules/express-handlebars/node_modules/handlebars/package.json
@@ -100,5 +100,6 @@
}
],
"directories": {},
- "_resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.5.tgz"
+ "_resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.5.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/object.assign/node_modules/define-properties/node_modules/foreach/package.json b/node_modules/express-handlebars/node_modules/object.assign/node_modules/define-properties/node_modules/foreach/package.json
index 4032e0c..f5c9928 100644
--- a/node_modules/express-handlebars/node_modules/object.assign/node_modules/define-properties/node_modules/foreach/package.json
+++ b/node_modules/express-handlebars/node_modules/object.assign/node_modules/define-properties/node_modules/foreach/package.json
@@ -24,7 +24,7 @@
},
"repository": {
"type": "git",
- "url": "git://github.com/manuelstofer/foreach"
+ "url": "git://github.com/manuelstofer/foreach.git"
},
"keywords": [
"shim",
@@ -79,5 +79,6 @@
"tarball": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz"
+ "_resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/object.assign/node_modules/define-properties/package.json b/node_modules/express-handlebars/node_modules/object.assign/node_modules/define-properties/package.json
index 8e1c75a..244e4bb 100644
--- a/node_modules/express-handlebars/node_modules/object.assign/node_modules/define-properties/package.json
+++ b/node_modules/express-handlebars/node_modules/object.assign/node_modules/define-properties/package.json
@@ -89,5 +89,6 @@
}
],
"directories": {},
- "_resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz"
+ "_resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/object.assign/node_modules/function-bind/package.json b/node_modules/express-handlebars/node_modules/object.assign/node_modules/function-bind/package.json
index e9ba9b2..644eb4f 100644
--- a/node_modules/express-handlebars/node_modules/object.assign/node_modules/function-bind/package.json
+++ b/node_modules/express-handlebars/node_modules/object.assign/node_modules/function-bind/package.json
@@ -99,5 +99,6 @@
"tmp": "tmp/function-bind-1.1.0.tgz_1455438520627_0.822420896962285"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz"
+ "_resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/object.assign/node_modules/object-keys/package.json b/node_modules/express-handlebars/node_modules/object.assign/node_modules/object-keys/package.json
index 7e064fb..e4d2b2d 100644
--- a/node_modules/express-handlebars/node_modules/object.assign/node_modules/object-keys/package.json
+++ b/node_modules/express-handlebars/node_modules/object.assign/node_modules/object-keys/package.json
@@ -116,5 +116,6 @@
"tmp": "tmp/object-keys-1.0.11.tgz_1467740975903_0.8028358130250126"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz"
+ "_resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/object.assign/package.json b/node_modules/express-handlebars/node_modules/object.assign/package.json
index 023ab45..f4f8e72 100644
--- a/node_modules/express-handlebars/node_modules/object.assign/package.json
+++ b/node_modules/express-handlebars/node_modules/object.assign/package.json
@@ -113,5 +113,6 @@
"tmp": "tmp/object.assign-4.0.4.tgz_1467661525697_0.9803472796920687"
},
"directories": {},
- "_resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz"
+ "_resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/express-handlebars/node_modules/promise/.jshintrc b/node_modules/express-handlebars/node_modules/promise/.jshintrc
deleted file mode 100644
index 47c256f..0000000
--- a/node_modules/express-handlebars/node_modules/promise/.jshintrc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "asi": true,
- "node": true,
- "strict": true
-}
diff --git a/node_modules/express-handlebars/node_modules/promise/.npmignore b/node_modules/express-handlebars/node_modules/promise/.npmignore
deleted file mode 100644
index ad5be4a..0000000
--- a/node_modules/express-handlebars/node_modules/promise/.npmignore
+++ /dev/null
@@ -1,7 +0,0 @@
-components
-node_modules
-test
-.gitignore
-.travis.yml
-component.json
-coverage
diff --git a/node_modules/express-handlebars/node_modules/promise/LICENSE b/node_modules/express-handlebars/node_modules/promise/LICENSE
deleted file mode 100644
index 7a1f763..0000000
--- a/node_modules/express-handlebars/node_modules/promise/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2014 Forbes Lindesay
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/node_modules/express-handlebars/node_modules/promise/Readme.md b/node_modules/express-handlebars/node_modules/promise/Readme.md
deleted file mode 100644
index 61ec052..0000000
--- a/node_modules/express-handlebars/node_modules/promise/Readme.md
+++ /dev/null
@@ -1,231 +0,0 @@
-<a href="https://promisesaplus.com/"><img src="https://promisesaplus.com/assets/logo-small.png" align="right" /></a>
-# promise
-
-This is a simple implementation of Promises. It is a super set of ES6 Promises designed to have readable, performant code and to provide just the extensions that are absolutely necessary for using promises today.
-
-For detailed tutorials on its use, see www.promisejs.org
-
-**N.B.** This promise exposes internals via underscore (`_`) prefixed properties. If you use these, your code will break with each new release.
-
-[![travis][travis-image]][travis-url]
-[![dep][dep-image]][dep-url]
-[![npm][npm-image]][npm-url]
-[![downloads][downloads-image]][downloads-url]
-
-[travis-image]: https://img.shields.io/travis/then/promise.svg?style=flat
-[travis-url]: https://travis-ci.org/then/promise
-[dep-image]: https://img.shields.io/gemnasium/then/promise.svg?style=flat
-[dep-url]: https://gemnasium.com/then/promise
-[npm-image]: https://img.shields.io/npm/v/promise.svg?style=flat
-[npm-url]: https://npmjs.org/package/promise
-[downloads-image]: https://img.shields.io/npm/dm/promise.svg?style=flat
-[downloads-url]: https://npmjs.org/package/promise
-
-## Installation
-
-**Server:**
-
- $ npm install promise
-
-**Client:**
-
-You can use browserify on the client, or use the pre-compiled script that acts as a polyfill.
-
-```html
-<script src="https://www.promisejs.org/polyfills/promise-6.1.0.js"></script>
-```
-
-Note that the [es5-shim](https://github.com/es-shims/es5-shim) must be loaded before this library to support browsers pre IE9.
-
-```html
-<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/3.4.0/es5-shim.min.js"></script>
-```
-
-## Usage
-
-The example below shows how you can load the promise library (in a way that works on both client and server using node or browserify). It then demonstrates creating a promise from scratch. You simply call `new Promise(fn)`. There is a complete specification for what is returned by this method in [Promises/A+](http://promises-aplus.github.com/promises-spec/).
-
-```javascript
-var Promise = require('promise');
-
-var promise = new Promise(function (resolve, reject) {
- get('http://www.google.com', function (err, res) {
- if (err) reject(err);
- else resolve(res);
- });
-});
-```
-
-If you need [domains](https://iojs.org/api/domain.html) support, you should instead use:
-
-```js
-var Promise = require('promise/domains');
-```
-
-If you are in an environment that implements `setImmediate` and don't want the optimisations provided by asap, you can use:
-
-```js
-var Promise = require('promise/setimmediate');
-```
-
-If you only want part of the features, e.g. just a pure ES6 polyfill:
-
-```js
-var Promise = require('promise/lib/es6-extensions');
-// or require('promise/domains/es6-extensions');
-// or require('promise/setimmediate/es6-extensions');
-```
-
-## Unhandled Rejections
-
-By default, promises silence any unhandled rejections.
-
-You can enable logging of unhandled ReferenceErrors and TypeErrors via:
-
-```js
-require('promise/lib/rejection-tracking').enable();
-```
-
-Due to the performance cost, you should only do this during development.
-
-You can enable logging of all unhandled rejections if you need to debug an exception you think is being swallowed by promises:
-
-```js
-require('promise/lib/rejection-tracking').enable(
- {allRejections: true}
-);
-```
-
-Due to the high probability of false positives, I only recommend using this when debugging specific issues that you think may be being swallowed. For the preferred debugging method, see `Promise#done(onFulfilled, onRejected)`.
-
-`rejection-tracking.enable(options)` takes the following options:
-
- - allRejections (`boolean`) - track all exceptions, not just reference errors and type errors. Note that this has a high probability of resulting in false positives if your code loads data optimisticly
- - whitelist (`Array<ErrorConstructor>`) - this defaults to `[ReferenceError, TypeError]` but you can override it with your own list of error constructors to track.
- - `onUnhandled(id, error)` and `onHandled(id, error)` - you can use these to provide your own customised display for errors. Note that if possible you should indicate that the error was a false positive if `onHandled` is called. `onHandled` is only called if `onUnhandled` has already been called.
-
-To reduce the chance of false-positives there is a delay of up to 2 seconds before errors are logged. This means that if you attach an error handler within 2 seconds, it won't be logged as a false positive. ReferenceErrors and TypeErrors are only subject to a 100ms delay due to the higher likelihood that the error is due to programmer error.
-
-## API
-
-Before all examples, you will need:
-
-```js
-var Promise = require('promise');
-```
-
-### new Promise(resolver)
-
-This creates and returns a new promise. `resolver` must be a function. The `resolver` function is passed two arguments:
-
- 1. `resolve` should be called with a single argument. If it is called with a non-promise value then the promise is fulfilled with that value. If it is called with a promise (A) then the returned promise takes on the state of that new promise (A).
- 2. `reject` should be called with a single argument. The returned promise will be rejected with that argument.
-
-### Static Functions
-
- These methods are invoked by calling `Promise.methodName`.
-
-#### Promise.resolve(value)
-
-(deprecated aliases: `Promise.from(value)`, `Promise.cast(value)`)
-
-Converts values and foreign promises into Promises/A+ promises. If you pass it a value then it returns a Promise for that value. If you pass it something that is close to a promise (such as a jQuery attempt at a promise) it returns a Promise that takes on the state of `value` (rejected or fulfilled).
-
-#### Promise.reject(value)
-
-Returns a rejected promise with the given value.
-
-#### Promise.all(array)
-
-Returns a promise for an array. If it is called with a single argument that `Array.isArray` then this returns a promise for a copy of that array with any promises replaced by their fulfilled values. e.g.
-
-```js
-Promise.all([Promise.resolve('a'), 'b', Promise.resolve('c')])
- .then(function (res) {
- assert(res[0] === 'a')
- assert(res[1] === 'b')
- assert(res[2] === 'c')
- })
-```
-
-#### Promise.denodeify(fn)
-
-_Non Standard_
-
-Takes a function which accepts a node style callback and returns a new function that returns a promise instead.
-
-e.g.
-
-```javascript
-var fs = require('fs')
-
-var read = Promise.denodeify(fs.readFile)
-var write = Promise.denodeify(fs.writeFile)
-
-var p = read('foo.json', 'utf8')
- .then(function (str) {
- return write('foo.json', JSON.stringify(JSON.parse(str), null, ' '), 'utf8')
- })
-```
-
-#### Promise.nodeify(fn)
-
-_Non Standard_
-
-The twin to `denodeify` is useful when you want to export an API that can be used by people who haven't learnt about the brilliance of promises yet.
-
-```javascript
-module.exports = Promise.nodeify(awesomeAPI)
-function awesomeAPI(a, b) {
- return download(a, b)
-}
-```
-
-If the last argument passed to `module.exports` is a function, then it will be treated like a node.js callback and not parsed on to the child function, otherwise the API will just return a promise.
-
-### Prototype Methods
-
-These methods are invoked on a promise instance by calling `myPromise.methodName`
-
-### Promise#then(onFulfilled, onRejected)
-
-This method follows the [Promises/A+ spec](http://promises-aplus.github.io/promises-spec/). It explains things very clearly so I recommend you read it.
-
-Either `onFulfilled` or `onRejected` will be called and they will not be called more than once. They will be passed a single argument and will always be called asynchronously (in the next turn of the event loop).
-
-If the promise is fulfilled then `onFulfilled` is called. If the promise is rejected then `onRejected` is called.
-
-The call to `.then` also returns a promise. If the handler that is called returns a promise, the promise returned by `.then` takes on the state of that returned promise. If the handler that is called returns a value that is not a promise, the promise returned by `.then` will be fulfilled with that value. If the handler that is called throws an exception then the promise returned by `.then` is rejected with that exception.
-
-#### Promise#catch(onRejected)
-
-Sugar for `Promise#then(null, onRejected)`, to mirror `catch` in synchronous code.
-
-#### Promise#done(onFulfilled, onRejected)
-
-_Non Standard_
-
-The same semantics as `.then` except that it does not return a promise and any exceptions are re-thrown so that they can be logged (crashing the application in non-browser environments)
-
-#### Promise#nodeify(callback)
-
-_Non Standard_
-
-If `callback` is `null` or `undefined` it just returns `this`. If `callback` is a function it is called with rejection reason as the first argument and result as the second argument (as per the node.js convention).
-
-This lets you write API functions that look like:
-
-```javascript
-function awesomeAPI(foo, bar, callback) {
- return internalAPI(foo, bar)
- .then(parseResult)
- .then(null, retryErrors)
- .nodeify(callback)
-}
-```
-
-People who use typical node.js style callbacks will be able to just pass a callback and get the expected behavior. The enlightened people can not pass a callback and will get awesome promises.
-
-## License
-
- MIT
diff --git a/node_modules/express-handlebars/node_modules/promise/build.js b/node_modules/express-handlebars/node_modules/promise/build.js
deleted file mode 100644
index 1e028e9..0000000
--- a/node_modules/express-handlebars/node_modules/promise/build.js
+++ /dev/null
@@ -1,69 +0,0 @@
-'use strict';
-
-var fs = require('fs');
-var rimraf = require('rimraf');
-var acorn = require('acorn');
-var walk = require('acorn/dist/walk');
-
-var ids = [];
-var names = {};
-
-function getIdFor(name) {
- if (name in names) return names[name];
- var id;
- do {
- id = '_' + Math.floor(Math.random() * 100);
- } while (ids.indexOf(id) !== -1)
- ids.push(id);
- names[name] = id;
- return id;
-}
-
-function fixup(src) {
- var ast = acorn.parse(src);
- src = src.split('');
- walk.simple(ast, {
- MemberExpression: function (node) {
- if (node.computed) return;
- if (node.property.type !== 'Identifier') return;
- if (node.property.name[0] !== '_') return;
- replace(node.property, getIdFor(node.property.name));
- }
- });
- function source(node) {
- return src.slice(node.start, node.end).join('');
- }
- function replace(node, str) {
- for (var i = node.start; i < node.end; i++) {
- src[i] = '';
- }
- src[node.start] = str;
- }
- return src.join('');
-}
-rimraf.sync(__dirname + '/lib/');
-fs.mkdirSync(__dirname + '/lib/');
-fs.readdirSync(__dirname + '/src').forEach(function (filename) {
- var src = fs.readFileSync(__dirname + '/src/' + filename, 'utf8');
- var out = fixup(src);
- fs.writeFileSync(__dirname + '/lib/' + filename, out);
-});
-
-rimraf.sync(__dirname + '/domains/');
-fs.mkdirSync(__dirname + '/domains/');
-fs.readdirSync(__dirname + '/src').forEach(function (filename) {
- var src = fs.readFileSync(__dirname + '/src/' + filename, 'utf8');
- var out = fixup(src);
- out = out.replace(/require\(\'asap\/raw\'\)/g, "require('asap')");
- fs.writeFileSync(__dirname + '/domains/' + filename, out);
-});
-
-rimraf.sync(__dirname + '/setimmediate/');
-fs.mkdirSync(__dirname + '/setimmediate/');
-fs.readdirSync(__dirname + '/src').forEach(function (filename) {
- var src = fs.readFileSync(__dirname + '/src/' + filename, 'utf8');
- var out = fixup(src);
- out = out.replace(/var asap \= require\(\'([a-z\/]+)\'\);/g, '');
- out = out.replace(/asap/g, "setImmediate");
- fs.writeFileSync(__dirname + '/setimmediate/' + filename, out);
-});
diff --git a/node_modules/express-handlebars/node_modules/promise/core.js b/node_modules/express-handlebars/node_modules/promise/core.js
deleted file mode 100644
index 5f332a2..0000000
--- a/node_modules/express-handlebars/node_modules/promise/core.js
+++ /dev/null
@@ -1,5 +0,0 @@
-'use strict';
-
-module.exports = require('./lib/core.js');
-
-console.error('require("promise/core") is deprecated, use require("promise/lib/core") instead.');
diff --git a/node_modules/express-handlebars/node_modules/promise/domains/core.js b/node_modules/express-handlebars/node_modules/promise/domains/core.js
deleted file mode 100644
index bcf1168..0000000
--- a/node_modules/express-handlebars/node_modules/promise/domains/core.js
+++ /dev/null
@@ -1,213 +0,0 @@
-'use strict';
-
-var asap = require('asap');
-
-function noop() {}
-
-// States:
-//
-// 0 - pending
-// 1 - fulfilled with _value
-// 2 - rejected with _value
-// 3 - adopted the state of another promise, _value
-//
-// once the state is no longer pending (0) it is immutable
-
-// All `_` prefixed properties will be reduced to `_{random number}`
-// at build time to obfuscate them and discourage their use.
-// We don't use symbols or Object.defineProperty to fully hide them
-// because the performance isn't good enough.
-
-
-// to avoid using try/catch inside critical functions, we
-// extract them to here.
-var LAST_ERROR = null;
-var IS_ERROR = {};
-function getThen(obj) {
- try {
- return obj.then;
- } catch (ex) {
- LAST_ERROR = ex;
- return IS_ERROR;
- }
-}
-
-function tryCallOne(fn, a) {
- try {
- return fn(a);
- } catch (ex) {
- LAST_ERROR = ex;
- return IS_ERROR;
- }
-}
-function tryCallTwo(fn, a, b) {
- try {
- fn(a, b);
- } catch (ex) {
- LAST_ERROR = ex;
- return IS_ERROR;
- }
-}
-
-module.exports = Promise;
-
-function Promise(fn) {
- if (typeof this !== 'object') {
- throw new TypeError('Promises must be constructed via new');
- }
- if (typeof fn !== 'function') {
- throw new TypeError('not a function');
- }
- this._45 = 0;
- this._81 = 0;
- this._65 = null;
- this._54 = null;
- if (fn === noop) return;
- doResolve(fn, this);
-}
-Promise._10 = null;
-Promise._97 = null;
-Promise._61 = noop;
-
-Promise.prototype.then = function(onFulfilled, onRejected) {
- if (this.constructor !== Promise) {
- return safeThen(this, onFulfilled, onRejected);
- }
- var res = new Promise(noop);
- handle(this, new Handler(onFulfilled, onRejected, res));
- return res;
-};
-
-function safeThen(self, onFulfilled, onRejected) {
- return new self.constructor(function (resolve, reject) {
- var res = new Promise(noop);
- res.then(resolve, reject);
- handle(self, new Handler(onFulfilled, onRejected, res));
- });
-};
-function handle(self, deferred) {
- while (self._81 === 3) {
- self = self._65;
- }
- if (Promise._10) {
- Promise._10(self);
- }
- if (self._81 === 0) {
- if (self._45 === 0) {
- self._45 = 1;
- self._54 = deferred;
- return;
- }
- if (self._45 === 1) {
- self._45 = 2;
- self._54 = [self._54, deferred];
- return;
- }
- self._54.push(deferred);
- return;
- }
- handleResolved(self, deferred);
-}
-
-function handleResolved(self, deferred) {
- asap(function() {
- var cb = self._81 === 1 ? deferred.onFulfilled : deferred.onRejected;
- if (cb === null) {
- if (self._81 === 1) {
- resolve(deferred.promise, self._65);
- } else {
- reject(deferred.promise, self._65);
- }
- return;
- }
- var ret = tryCallOne(cb, self._65);
- if (ret === IS_ERROR) {
- reject(deferred.promise, LAST_ERROR);
- } else {
- resolve(deferred.promise, ret);
- }
- });
-}
-function resolve(self, newValue) {
- // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
- if (newValue === self) {
- return reject(
- self,
- new TypeError('A promise cannot be resolved with itself.')
- );
- }
- if (
- newValue &&
- (typeof newValue === 'object' || typeof newValue === 'function')
- ) {
- var then = getThen(newValue);
- if (then === IS_ERROR) {
- return reject(self, LAST_ERROR);
- }
- if (
- then === self.then &&
- newValue instanceof Promise
- ) {
- self._81 = 3;
- self._65 = newValue;
- finale(self);
- return;
- } else if (typeof then === 'function') {
- doResolve(then.bind(newValue), self);
- return;
- }
- }
- self._81 = 1;
- self._65 = newValue;
- finale(self);
-}
-
-function reject(self, newValue) {
- self._81 = 2;
- self._65 = newValue;
- if (Promise._97) {
- Promise._97(self, newValue);
- }
- finale(self);
-}
-function finale(self) {
- if (self._45 === 1) {
- handle(self, self._54);
- self._54 = null;
- }
- if (self._45 === 2) {
- for (var i = 0; i < self._54.length; i++) {
- handle(self, self._54[i]);
- }
- self._54 = null;
- }
-}
-
-function Handler(onFulfilled, onRejected, promise){
- this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
- this.onRejected = typeof onRejected === 'function' ? onRejected : null;
- this.promise = promise;
-}
-
-/**
- * Take a potentially misbehaving resolver function and make sure
- * onFulfilled and onRejected are only called once.
- *
- * Makes no guarantees about asynchrony.
- */
-function doResolve(fn, promise) {
- var done = false;
- var res = tryCallTwo(fn, function (value) {
- if (done) return;
- done = true;
- resolve(promise, value);
- }, function (reason) {
- if (done) return;
- done = true;
- reject(promise, reason);
- })
- if (!done && res === IS_ERROR) {
- done = true;
- reject(promise, LAST_ERROR);
- }
-}
diff --git a/node_modules/express-handlebars/node_modules/promise/domains/done.js b/node_modules/express-handlebars/node_modules/promise/domains/done.js
deleted file mode 100644
index f879317..0000000
--- a/node_modules/express-handlebars/node_modules/promise/domains/done.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-Promise.prototype.done = function (onFulfilled, onRejected) {
- var self = arguments.length ? this.then.apply(this, arguments) : this;
- self.then(null, function (err) {
- setTimeout(function () {
- throw err;
- }, 0);
- });
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/domains/es6-extensions.js b/node_modules/express-handlebars/node_modules/promise/domains/es6-extensions.js
deleted file mode 100644
index 1ab6eae..0000000
--- a/node_modules/express-handlebars/node_modules/promise/domains/es6-extensions.js
+++ /dev/null
@@ -1,107 +0,0 @@
-'use strict';
-
-//This file contains the ES6 extensions to the core Promises/A+ API
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-
-/* Static Functions */
-
-var TRUE = valuePromise(true);
-var FALSE = valuePromise(false);
-var NULL = valuePromise(null);
-var UNDEFINED = valuePromise(undefined);
-var ZERO = valuePromise(0);
-var EMPTYSTRING = valuePromise('');
-
-function valuePromise(value) {
- var p = new Promise(Promise._61);
- p._81 = 1;
- p._65 = value;
- return p;
-}
-Promise.resolve = function (value) {
- if (value instanceof Promise) return value;
-
- if (value === null) return NULL;
- if (value === undefined) return UNDEFINED;
- if (value === true) return TRUE;
- if (value === false) return FALSE;
- if (value === 0) return ZERO;
- if (value === '') return EMPTYSTRING;
-
- if (typeof value === 'object' || typeof value === 'function') {
- try {
- var then = value.then;
- if (typeof then === 'function') {
- return new Promise(then.bind(value));
- }
- } catch (ex) {
- return new Promise(function (resolve, reject) {
- reject(ex);
- });
- }
- }
- return valuePromise(value);
-};
-
-Promise.all = function (arr) {
- var args = Array.prototype.slice.call(arr);
-
- return new Promise(function (resolve, reject) {
- if (args.length === 0) return resolve([]);
- var remaining = args.length;
- function res(i, val) {
- if (val && (typeof val === 'object' || typeof val === 'function')) {
- if (val instanceof Promise && val.then === Promise.prototype.then) {
- while (val._81 === 3) {
- val = val._65;
- }
- if (val._81 === 1) return res(i, val._65);
- if (val._81 === 2) reject(val._65);
- val.then(function (val) {
- res(i, val);
- }, reject);
- return;
- } else {
- var then = val.then;
- if (typeof then === 'function') {
- var p = new Promise(then.bind(val));
- p.then(function (val) {
- res(i, val);
- }, reject);
- return;
- }
- }
- }
- args[i] = val;
- if (--remaining === 0) {
- resolve(args);
- }
- }
- for (var i = 0; i < args.length; i++) {
- res(i, args[i]);
- }
- });
-};
-
-Promise.reject = function (value) {
- return new Promise(function (resolve, reject) {
- reject(value);
- });
-};
-
-Promise.race = function (values) {
- return new Promise(function (resolve, reject) {
- values.forEach(function(value){
- Promise.resolve(value).then(resolve, reject);
- });
- });
-};
-
-/* Prototype Methods */
-
-Promise.prototype['catch'] = function (onRejected) {
- return this.then(null, onRejected);
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/domains/finally.js b/node_modules/express-handlebars/node_modules/promise/domains/finally.js
deleted file mode 100644
index f5ee0b9..0000000
--- a/node_modules/express-handlebars/node_modules/promise/domains/finally.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-Promise.prototype['finally'] = function (f) {
- return this.then(function (value) {
- return Promise.resolve(f()).then(function () {
- return value;
- });
- }, function (err) {
- return Promise.resolve(f()).then(function () {
- throw err;
- });
- });
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/domains/index.js b/node_modules/express-handlebars/node_modules/promise/domains/index.js
deleted file mode 100644
index 6e674f3..0000000
--- a/node_modules/express-handlebars/node_modules/promise/domains/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-'use strict';
-
-module.exports = require('./core.js');
-require('./done.js');
-require('./finally.js');
-require('./es6-extensions.js');
-require('./node-extensions.js');
-require('./synchronous.js');
diff --git a/node_modules/express-handlebars/node_modules/promise/domains/node-extensions.js b/node_modules/express-handlebars/node_modules/promise/domains/node-extensions.js
deleted file mode 100644
index 890ae45..0000000
--- a/node_modules/express-handlebars/node_modules/promise/domains/node-extensions.js
+++ /dev/null
@@ -1,130 +0,0 @@
-'use strict';
-
-// This file contains then/promise specific extensions that are only useful
-// for node.js interop
-
-var Promise = require('./core.js');
-var asap = require('asap');
-
-module.exports = Promise;
-
-/* Static Functions */
-
-Promise.denodeify = function (fn, argumentCount) {
- if (
- typeof argumentCount === 'number' && argumentCount !== Infinity
- ) {
- return denodeifyWithCount(fn, argumentCount);
- } else {
- return denodeifyWithoutCount(fn);
- }
-}
-
-var callbackFn = (
- 'function (err, res) {' +
- 'if (err) { rj(err); } else { rs(res); }' +
- '}'
-);
-function denodeifyWithCount(fn, argumentCount) {
- var args = [];
- for (var i = 0; i < argumentCount; i++) {
- args.push('a' + i);
- }
- var body = [
- 'return function (' + args.join(',') + ') {',
- 'var self = this;',
- 'return new Promise(function (rs, rj) {',
- 'var res = fn.call(',
- ['self'].concat(args).concat([callbackFn]).join(','),
- ');',
- 'if (res &&',
- '(typeof res === "object" || typeof res === "function") &&',
- 'typeof res.then === "function"',
- ') {rs(res);}',
- '});',
- '};'
- ].join('');
- return Function(['Promise', 'fn'], body)(Promise, fn);
-}
-function denodeifyWithoutCount(fn) {
- var fnLength = Math.max(fn.length - 1, 3);
- var args = [];
- for (var i = 0; i < fnLength; i++) {
- args.push('a' + i);
- }
- var body = [
- 'return function (' + args.join(',') + ') {',
- 'var self = this;',
- 'var args;',
- 'var argLength = arguments.length;',
- 'if (arguments.length > ' + fnLength + ') {',
- 'args = new Array(arguments.length + 1);',
- 'for (var i = 0; i < arguments.length; i++) {',
- 'args[i] = arguments[i];',
- '}',
- '}',
- 'return new Promise(function (rs, rj) {',
- 'var cb = ' + callbackFn + ';',
- 'var res;',
- 'switch (argLength) {',
- args.concat(['extra']).map(function (_, index) {
- return (
- 'case ' + (index) + ':' +
- 'res = fn.call(' + ['self'].concat(args.slice(0, index)).concat('cb').join(',') + ');' +
- 'break;'
- );
- }).join(''),
- 'default:',
- 'args[argLength] = cb;',
- 'res = fn.apply(self, args);',
- '}',
-
- 'if (res &&',
- '(typeof res === "object" || typeof res === "function") &&',
- 'typeof res.then === "function"',
- ') {rs(res);}',
- '});',
- '};'
- ].join('');
-
- return Function(
- ['Promise', 'fn'],
- body
- )(Promise, fn);
-}
-
-Promise.nodeify = function (fn) {
- return function () {
- var args = Array.prototype.slice.call(arguments);
- var callback =
- typeof args[args.length - 1] === 'function' ? args.pop() : null;
- var ctx = this;
- try {
- return fn.apply(this, arguments).nodeify(callback, ctx);
- } catch (ex) {
- if (callback === null || typeof callback == 'undefined') {
- return new Promise(function (resolve, reject) {
- reject(ex);
- });
- } else {
- asap(function () {
- callback.call(ctx, ex);
- })
- }
- }
- }
-}
-
-Promise.prototype.nodeify = function (callback, ctx) {
- if (typeof callback != 'function') return this;
-
- this.then(function (value) {
- asap(function () {
- callback.call(ctx, null, value);
- });
- }, function (err) {
- asap(function () {
- callback.call(ctx, err);
- });
- });
-}
diff --git a/node_modules/express-handlebars/node_modules/promise/domains/rejection-tracking.js b/node_modules/express-handlebars/node_modules/promise/domains/rejection-tracking.js
deleted file mode 100644
index 088a0de..0000000
--- a/node_modules/express-handlebars/node_modules/promise/domains/rejection-tracking.js
+++ /dev/null
@@ -1,113 +0,0 @@
-'use strict';
-
-var Promise = require('./core');
-
-var DEFAULT_WHITELIST = [
- ReferenceError,
- TypeError,
- RangeError
-];
-
-var enabled = false;
-exports.disable = disable;
-function disable() {
- enabled = false;
- Promise._10 = null;
- Promise._97 = null;
-}
-
-exports.enable = enable;
-function enable(options) {
- options = options || {};
- if (enabled) disable();
- enabled = true;
- var id = 0;
- var displayId = 0;
- var rejections = {};
- Promise._10 = function (promise) {
- if (
- promise._81 === 2 && // IS REJECTED
- rejections[promise._72]
- ) {
- if (rejections[promise._72].logged) {
- onHandled(promise._72);
- } else {
- clearTimeout(rejections[promise._72].timeout);
- }
- delete rejections[promise._72];
- }
- };
- Promise._97 = function (promise, err) {
- if (promise._45 === 0) { // not yet handled
- promise._72 = id++;
- rejections[promise._72] = {
- displayId: null,
- error: err,
- timeout: setTimeout(
- onUnhandled.bind(null, promise._72),
- // For reference errors and type errors, this almost always
- // means the programmer made a mistake, so log them after just
- // 100ms
- // otherwise, wait 2 seconds to see if they get handled
- matchWhitelist(err, DEFAULT_WHITELIST)
- ? 100
- : 2000
- ),
- logged: false
- };
- }
- };
- function onUnhandled(id) {
- if (
- options.allRejections ||
- matchWhitelist(
- rejections[id].error,
- options.whitelist || DEFAULT_WHITELIST
- )
- ) {
- rejections[id].displayId = displayId++;
- if (options.onUnhandled) {
- rejections[id].logged = true;
- options.onUnhandled(
- rejections[id].displayId,
- rejections[id].error
- );
- } else {
- rejections[id].logged = true;
- logError(
- rejections[id].displayId,
- rejections[id].error
- );
- }
- }
- }
- function onHandled(id) {
- if (rejections[id].logged) {
- if (options.onHandled) {
- options.onHandled(rejections[id].displayId, rejections[id].error);
- } else if (!rejections[id].onUnhandled) {
- console.warn(
- 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'
- );
- console.warn(
- ' This means you can ignore any previous messages of the form "Possible Unhandled Promise Rejection" with id ' +
- rejections[id].displayId + '.'
- );
- }
- }
- }
-}
-
-function logError(id, error) {
- console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');
- var errStr = (error && (error.stack || error)) + '';
- errStr.split('\n').forEach(function (line) {
- console.warn(' ' + line);
- });
-}
-
-function matchWhitelist(error, list) {
- return list.some(function (cls) {
- return error instanceof cls;
- });
-} \ No newline at end of file
diff --git a/node_modules/express-handlebars/node_modules/promise/domains/synchronous.js b/node_modules/express-handlebars/node_modules/promise/domains/synchronous.js
deleted file mode 100644
index 2f97451..0000000
--- a/node_modules/express-handlebars/node_modules/promise/domains/synchronous.js
+++ /dev/null
@@ -1,62 +0,0 @@
-'use strict';
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-Promise.enableSynchronous = function () {
- Promise.prototype.isPending = function() {
- return this.getState() == 0;
- };
-
- Promise.prototype.isFulfilled = function() {
- return this.getState() == 1;
- };
-
- Promise.prototype.isRejected = function() {
- return this.getState() == 2;
- };
-
- Promise.prototype.getValue = function () {
- if (this._81 === 3) {
- return this._65.getValue();
- }
-
- if (!this.isFulfilled()) {
- throw new Error('Cannot get a value of an unfulfilled promise.');
- }
-
- return this._65;
- };
-
- Promise.prototype.getReason = function () {
- if (this._81 === 3) {
- return this._65.getReason();
- }
-
- if (!this.isRejected()) {
- throw new Error('Cannot get a rejection reason of a non-rejected promise.');
- }
-
- return this._65;
- };
-
- Promise.prototype.getState = function () {
- if (this._81 === 3) {
- return this._65.getState();
- }
- if (this._81 === -1 || this._81 === -2) {
- return 0;
- }
-
- return this._81;
- };
-};
-
-Promise.disableSynchronous = function() {
- Promise.prototype.isPending = undefined;
- Promise.prototype.isFulfilled = undefined;
- Promise.prototype.isRejected = undefined;
- Promise.prototype.getValue = undefined;
- Promise.prototype.getReason = undefined;
- Promise.prototype.getState = undefined;
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/index.js b/node_modules/express-handlebars/node_modules/promise/index.js
deleted file mode 100644
index 1c38e46..0000000
--- a/node_modules/express-handlebars/node_modules/promise/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-'use strict';
-
-module.exports = require('./lib')
diff --git a/node_modules/express-handlebars/node_modules/promise/lib/core.js b/node_modules/express-handlebars/node_modules/promise/lib/core.js
deleted file mode 100644
index 207fb81..0000000
--- a/node_modules/express-handlebars/node_modules/promise/lib/core.js
+++ /dev/null
@@ -1,213 +0,0 @@
-'use strict';
-
-var asap = require('asap/raw');
-
-function noop() {}
-
-// States:
-//
-// 0 - pending
-// 1 - fulfilled with _value
-// 2 - rejected with _value
-// 3 - adopted the state of another promise, _value
-//
-// once the state is no longer pending (0) it is immutable
-
-// All `_` prefixed properties will be reduced to `_{random number}`
-// at build time to obfuscate them and discourage their use.
-// We don't use symbols or Object.defineProperty to fully hide them
-// because the performance isn't good enough.
-
-
-// to avoid using try/catch inside critical functions, we
-// extract them to here.
-var LAST_ERROR = null;
-var IS_ERROR = {};
-function getThen(obj) {
- try {
- return obj.then;
- } catch (ex) {
- LAST_ERROR = ex;
- return IS_ERROR;
- }
-}
-
-function tryCallOne(fn, a) {
- try {
- return fn(a);
- } catch (ex) {
- LAST_ERROR = ex;
- return IS_ERROR;
- }
-}
-function tryCallTwo(fn, a, b) {
- try {
- fn(a, b);
- } catch (ex) {
- LAST_ERROR = ex;
- return IS_ERROR;
- }
-}
-
-module.exports = Promise;
-
-function Promise(fn) {
- if (typeof this !== 'object') {
- throw new TypeError('Promises must be constructed via new');
- }
- if (typeof fn !== 'function') {
- throw new TypeError('not a function');
- }
- this._45 = 0;
- this._81 = 0;
- this._65 = null;
- this._54 = null;
- if (fn === noop) return;
- doResolve(fn, this);
-}
-Promise._10 = null;
-Promise._97 = null;
-Promise._61 = noop;
-
-Promise.prototype.then = function(onFulfilled, onRejected) {
- if (this.constructor !== Promise) {
- return safeThen(this, onFulfilled, onRejected);
- }
- var res = new Promise(noop);
- handle(this, new Handler(onFulfilled, onRejected, res));
- return res;
-};
-
-function safeThen(self, onFulfilled, onRejected) {
- return new self.constructor(function (resolve, reject) {
- var res = new Promise(noop);
- res.then(resolve, reject);
- handle(self, new Handler(onFulfilled, onRejected, res));
- });
-};
-function handle(self, deferred) {
- while (self._81 === 3) {
- self = self._65;
- }
- if (Promise._10) {
- Promise._10(self);
- }
- if (self._81 === 0) {
- if (self._45 === 0) {
- self._45 = 1;
- self._54 = deferred;
- return;
- }
- if (self._45 === 1) {
- self._45 = 2;
- self._54 = [self._54, deferred];
- return;
- }
- self._54.push(deferred);
- return;
- }
- handleResolved(self, deferred);
-}
-
-function handleResolved(self, deferred) {
- asap(function() {
- var cb = self._81 === 1 ? deferred.onFulfilled : deferred.onRejected;
- if (cb === null) {
- if (self._81 === 1) {
- resolve(deferred.promise, self._65);
- } else {
- reject(deferred.promise, self._65);
- }
- return;
- }
- var ret = tryCallOne(cb, self._65);
- if (ret === IS_ERROR) {
- reject(deferred.promise, LAST_ERROR);
- } else {
- resolve(deferred.promise, ret);
- }
- });
-}
-function resolve(self, newValue) {
- // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
- if (newValue === self) {
- return reject(
- self,
- new TypeError('A promise cannot be resolved with itself.')
- );
- }
- if (
- newValue &&
- (typeof newValue === 'object' || typeof newValue === 'function')
- ) {
- var then = getThen(newValue);
- if (then === IS_ERROR) {
- return reject(self, LAST_ERROR);
- }
- if (
- then === self.then &&
- newValue instanceof Promise
- ) {
- self._81 = 3;
- self._65 = newValue;
- finale(self);
- return;
- } else if (typeof then === 'function') {
- doResolve(then.bind(newValue), self);
- return;
- }
- }
- self._81 = 1;
- self._65 = newValue;
- finale(self);
-}
-
-function reject(self, newValue) {
- self._81 = 2;
- self._65 = newValue;
- if (Promise._97) {
- Promise._97(self, newValue);
- }
- finale(self);
-}
-function finale(self) {
- if (self._45 === 1) {
- handle(self, self._54);
- self._54 = null;
- }
- if (self._45 === 2) {
- for (var i = 0; i < self._54.length; i++) {
- handle(self, self._54[i]);
- }
- self._54 = null;
- }
-}
-
-function Handler(onFulfilled, onRejected, promise){
- this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
- this.onRejected = typeof onRejected === 'function' ? onRejected : null;
- this.promise = promise;
-}
-
-/**
- * Take a potentially misbehaving resolver function and make sure
- * onFulfilled and onRejected are only called once.
- *
- * Makes no guarantees about asynchrony.
- */
-function doResolve(fn, promise) {
- var done = false;
- var res = tryCallTwo(fn, function (value) {
- if (done) return;
- done = true;
- resolve(promise, value);
- }, function (reason) {
- if (done) return;
- done = true;
- reject(promise, reason);
- })
- if (!done && res === IS_ERROR) {
- done = true;
- reject(promise, LAST_ERROR);
- }
-}
diff --git a/node_modules/express-handlebars/node_modules/promise/lib/done.js b/node_modules/express-handlebars/node_modules/promise/lib/done.js
deleted file mode 100644
index f879317..0000000
--- a/node_modules/express-handlebars/node_modules/promise/lib/done.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-Promise.prototype.done = function (onFulfilled, onRejected) {
- var self = arguments.length ? this.then.apply(this, arguments) : this;
- self.then(null, function (err) {
- setTimeout(function () {
- throw err;
- }, 0);
- });
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/lib/es6-extensions.js b/node_modules/express-handlebars/node_modules/promise/lib/es6-extensions.js
deleted file mode 100644
index 1ab6eae..0000000
--- a/node_modules/express-handlebars/node_modules/promise/lib/es6-extensions.js
+++ /dev/null
@@ -1,107 +0,0 @@
-'use strict';
-
-//This file contains the ES6 extensions to the core Promises/A+ API
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-
-/* Static Functions */
-
-var TRUE = valuePromise(true);
-var FALSE = valuePromise(false);
-var NULL = valuePromise(null);
-var UNDEFINED = valuePromise(undefined);
-var ZERO = valuePromise(0);
-var EMPTYSTRING = valuePromise('');
-
-function valuePromise(value) {
- var p = new Promise(Promise._61);
- p._81 = 1;
- p._65 = value;
- return p;
-}
-Promise.resolve = function (value) {
- if (value instanceof Promise) return value;
-
- if (value === null) return NULL;
- if (value === undefined) return UNDEFINED;
- if (value === true) return TRUE;
- if (value === false) return FALSE;
- if (value === 0) return ZERO;
- if (value === '') return EMPTYSTRING;
-
- if (typeof value === 'object' || typeof value === 'function') {
- try {
- var then = value.then;
- if (typeof then === 'function') {
- return new Promise(then.bind(value));
- }
- } catch (ex) {
- return new Promise(function (resolve, reject) {
- reject(ex);
- });
- }
- }
- return valuePromise(value);
-};
-
-Promise.all = function (arr) {
- var args = Array.prototype.slice.call(arr);
-
- return new Promise(function (resolve, reject) {
- if (args.length === 0) return resolve([]);
- var remaining = args.length;
- function res(i, val) {
- if (val && (typeof val === 'object' || typeof val === 'function')) {
- if (val instanceof Promise && val.then === Promise.prototype.then) {
- while (val._81 === 3) {
- val = val._65;
- }
- if (val._81 === 1) return res(i, val._65);
- if (val._81 === 2) reject(val._65);
- val.then(function (val) {
- res(i, val);
- }, reject);
- return;
- } else {
- var then = val.then;
- if (typeof then === 'function') {
- var p = new Promise(then.bind(val));
- p.then(function (val) {
- res(i, val);
- }, reject);
- return;
- }
- }
- }
- args[i] = val;
- if (--remaining === 0) {
- resolve(args);
- }
- }
- for (var i = 0; i < args.length; i++) {
- res(i, args[i]);
- }
- });
-};
-
-Promise.reject = function (value) {
- return new Promise(function (resolve, reject) {
- reject(value);
- });
-};
-
-Promise.race = function (values) {
- return new Promise(function (resolve, reject) {
- values.forEach(function(value){
- Promise.resolve(value).then(resolve, reject);
- });
- });
-};
-
-/* Prototype Methods */
-
-Promise.prototype['catch'] = function (onRejected) {
- return this.then(null, onRejected);
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/lib/finally.js b/node_modules/express-handlebars/node_modules/promise/lib/finally.js
deleted file mode 100644
index f5ee0b9..0000000
--- a/node_modules/express-handlebars/node_modules/promise/lib/finally.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-Promise.prototype['finally'] = function (f) {
- return this.then(function (value) {
- return Promise.resolve(f()).then(function () {
- return value;
- });
- }, function (err) {
- return Promise.resolve(f()).then(function () {
- throw err;
- });
- });
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/lib/index.js b/node_modules/express-handlebars/node_modules/promise/lib/index.js
deleted file mode 100644
index 6e674f3..0000000
--- a/node_modules/express-handlebars/node_modules/promise/lib/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-'use strict';
-
-module.exports = require('./core.js');
-require('./done.js');
-require('./finally.js');
-require('./es6-extensions.js');
-require('./node-extensions.js');
-require('./synchronous.js');
diff --git a/node_modules/express-handlebars/node_modules/promise/lib/node-extensions.js b/node_modules/express-handlebars/node_modules/promise/lib/node-extensions.js
deleted file mode 100644
index 890ae45..0000000
--- a/node_modules/express-handlebars/node_modules/promise/lib/node-extensions.js
+++ /dev/null
@@ -1,130 +0,0 @@
-'use strict';
-
-// This file contains then/promise specific extensions that are only useful
-// for node.js interop
-
-var Promise = require('./core.js');
-var asap = require('asap');
-
-module.exports = Promise;
-
-/* Static Functions */
-
-Promise.denodeify = function (fn, argumentCount) {
- if (
- typeof argumentCount === 'number' && argumentCount !== Infinity
- ) {
- return denodeifyWithCount(fn, argumentCount);
- } else {
- return denodeifyWithoutCount(fn);
- }
-}
-
-var callbackFn = (
- 'function (err, res) {' +
- 'if (err) { rj(err); } else { rs(res); }' +
- '}'
-);
-function denodeifyWithCount(fn, argumentCount) {
- var args = [];
- for (var i = 0; i < argumentCount; i++) {
- args.push('a' + i);
- }
- var body = [
- 'return function (' + args.join(',') + ') {',
- 'var self = this;',
- 'return new Promise(function (rs, rj) {',
- 'var res = fn.call(',
- ['self'].concat(args).concat([callbackFn]).join(','),
- ');',
- 'if (res &&',
- '(typeof res === "object" || typeof res === "function") &&',
- 'typeof res.then === "function"',
- ') {rs(res);}',
- '});',
- '};'
- ].join('');
- return Function(['Promise', 'fn'], body)(Promise, fn);
-}
-function denodeifyWithoutCount(fn) {
- var fnLength = Math.max(fn.length - 1, 3);
- var args = [];
- for (var i = 0; i < fnLength; i++) {
- args.push('a' + i);
- }
- var body = [
- 'return function (' + args.join(',') + ') {',
- 'var self = this;',
- 'var args;',
- 'var argLength = arguments.length;',
- 'if (arguments.length > ' + fnLength + ') {',
- 'args = new Array(arguments.length + 1);',
- 'for (var i = 0; i < arguments.length; i++) {',
- 'args[i] = arguments[i];',
- '}',
- '}',
- 'return new Promise(function (rs, rj) {',
- 'var cb = ' + callbackFn + ';',
- 'var res;',
- 'switch (argLength) {',
- args.concat(['extra']).map(function (_, index) {
- return (
- 'case ' + (index) + ':' +
- 'res = fn.call(' + ['self'].concat(args.slice(0, index)).concat('cb').join(',') + ');' +
- 'break;'
- );
- }).join(''),
- 'default:',
- 'args[argLength] = cb;',
- 'res = fn.apply(self, args);',
- '}',
-
- 'if (res &&',
- '(typeof res === "object" || typeof res === "function") &&',
- 'typeof res.then === "function"',
- ') {rs(res);}',
- '});',
- '};'
- ].join('');
-
- return Function(
- ['Promise', 'fn'],
- body
- )(Promise, fn);
-}
-
-Promise.nodeify = function (fn) {
- return function () {
- var args = Array.prototype.slice.call(arguments);
- var callback =
- typeof args[args.length - 1] === 'function' ? args.pop() : null;
- var ctx = this;
- try {
- return fn.apply(this, arguments).nodeify(callback, ctx);
- } catch (ex) {
- if (callback === null || typeof callback == 'undefined') {
- return new Promise(function (resolve, reject) {
- reject(ex);
- });
- } else {
- asap(function () {
- callback.call(ctx, ex);
- })
- }
- }
- }
-}
-
-Promise.prototype.nodeify = function (callback, ctx) {
- if (typeof callback != 'function') return this;
-
- this.then(function (value) {
- asap(function () {
- callback.call(ctx, null, value);
- });
- }, function (err) {
- asap(function () {
- callback.call(ctx, err);
- });
- });
-}
diff --git a/node_modules/express-handlebars/node_modules/promise/lib/rejection-tracking.js b/node_modules/express-handlebars/node_modules/promise/lib/rejection-tracking.js
deleted file mode 100644
index 088a0de..0000000
--- a/node_modules/express-handlebars/node_modules/promise/lib/rejection-tracking.js
+++ /dev/null
@@ -1,113 +0,0 @@
-'use strict';
-
-var Promise = require('./core');
-
-var DEFAULT_WHITELIST = [
- ReferenceError,
- TypeError,
- RangeError
-];
-
-var enabled = false;
-exports.disable = disable;
-function disable() {
- enabled = false;
- Promise._10 = null;
- Promise._97 = null;
-}
-
-exports.enable = enable;
-function enable(options) {
- options = options || {};
- if (enabled) disable();
- enabled = true;
- var id = 0;
- var displayId = 0;
- var rejections = {};
- Promise._10 = function (promise) {
- if (
- promise._81 === 2 && // IS REJECTED
- rejections[promise._72]
- ) {
- if (rejections[promise._72].logged) {
- onHandled(promise._72);
- } else {
- clearTimeout(rejections[promise._72].timeout);
- }
- delete rejections[promise._72];
- }
- };
- Promise._97 = function (promise, err) {
- if (promise._45 === 0) { // not yet handled
- promise._72 = id++;
- rejections[promise._72] = {
- displayId: null,
- error: err,
- timeout: setTimeout(
- onUnhandled.bind(null, promise._72),
- // For reference errors and type errors, this almost always
- // means the programmer made a mistake, so log them after just
- // 100ms
- // otherwise, wait 2 seconds to see if they get handled
- matchWhitelist(err, DEFAULT_WHITELIST)
- ? 100
- : 2000
- ),
- logged: false
- };
- }
- };
- function onUnhandled(id) {
- if (
- options.allRejections ||
- matchWhitelist(
- rejections[id].error,
- options.whitelist || DEFAULT_WHITELIST
- )
- ) {
- rejections[id].displayId = displayId++;
- if (options.onUnhandled) {
- rejections[id].logged = true;
- options.onUnhandled(
- rejections[id].displayId,
- rejections[id].error
- );
- } else {
- rejections[id].logged = true;
- logError(
- rejections[id].displayId,
- rejections[id].error
- );
- }
- }
- }
- function onHandled(id) {
- if (rejections[id].logged) {
- if (options.onHandled) {
- options.onHandled(rejections[id].displayId, rejections[id].error);
- } else if (!rejections[id].onUnhandled) {
- console.warn(
- 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'
- );
- console.warn(
- ' This means you can ignore any previous messages of the form "Possible Unhandled Promise Rejection" with id ' +
- rejections[id].displayId + '.'
- );
- }
- }
- }
-}
-
-function logError(id, error) {
- console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');
- var errStr = (error && (error.stack || error)) + '';
- errStr.split('\n').forEach(function (line) {
- console.warn(' ' + line);
- });
-}
-
-function matchWhitelist(error, list) {
- return list.some(function (cls) {
- return error instanceof cls;
- });
-} \ No newline at end of file
diff --git a/node_modules/express-handlebars/node_modules/promise/lib/synchronous.js b/node_modules/express-handlebars/node_modules/promise/lib/synchronous.js
deleted file mode 100644
index 2f97451..0000000
--- a/node_modules/express-handlebars/node_modules/promise/lib/synchronous.js
+++ /dev/null
@@ -1,62 +0,0 @@
-'use strict';
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-Promise.enableSynchronous = function () {
- Promise.prototype.isPending = function() {
- return this.getState() == 0;
- };
-
- Promise.prototype.isFulfilled = function() {
- return this.getState() == 1;
- };
-
- Promise.prototype.isRejected = function() {
- return this.getState() == 2;
- };
-
- Promise.prototype.getValue = function () {
- if (this._81 === 3) {
- return this._65.getValue();
- }
-
- if (!this.isFulfilled()) {
- throw new Error('Cannot get a value of an unfulfilled promise.');
- }
-
- return this._65;
- };
-
- Promise.prototype.getReason = function () {
- if (this._81 === 3) {
- return this._65.getReason();
- }
-
- if (!this.isRejected()) {
- throw new Error('Cannot get a rejection reason of a non-rejected promise.');
- }
-
- return this._65;
- };
-
- Promise.prototype.getState = function () {
- if (this._81 === 3) {
- return this._65.getState();
- }
- if (this._81 === -1 || this._81 === -2) {
- return 0;
- }
-
- return this._81;
- };
-};
-
-Promise.disableSynchronous = function() {
- Promise.prototype.isPending = undefined;
- Promise.prototype.isFulfilled = undefined;
- Promise.prototype.isRejected = undefined;
- Promise.prototype.getValue = undefined;
- Promise.prototype.getReason = undefined;
- Promise.prototype.getState = undefined;
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/CHANGES.md b/node_modules/express-handlebars/node_modules/promise/node_modules/asap/CHANGES.md
deleted file mode 100644
index e9ffa46..0000000
--- a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/CHANGES.md
+++ /dev/null
@@ -1,64 +0,0 @@
-
-## 2.0.3
-
-Version 2.0.3 fixes a bug when adjusting the capacity of the task queue.
-
-## 2.0.1-2.02
-
-Version 2.0.1 fixes a bug in the way redirects were expressed that affected the
-function of Browserify, but which Mr would tolerate.
-
-## 2.0.0
-
-Version 2 of ASAP is a full rewrite with a few salient changes.
-First, the ASAP source is CommonJS only and designed with [Browserify][] and
-[Browserify-compatible][Mr] module loaders in mind.
-
-[Browserify]: https://github.com/substack/node-browserify
-[Mr]: https://github.com/montagejs/mr
-
-The new version has been refactored in two dimensions.
-Support for Node.js and browsers have been separated, using Browserify
-redirects and ASAP has been divided into two modules.
-The "raw" layer depends on the tasks to catch thrown exceptions and unravel
-Node.js domains.
-
-The full implementation of ASAP is loadable as `require("asap")` in both Node.js
-and browsers.
-
-The raw layer that lacks exception handling overhead is loadable as
-`require("asap/raw")`.
-The interface is the same for both layers.
-
-Tasks are no longer required to be functions, but can rather be any object that
-implements `task.call()`.
-With this feature you can recycle task objects to avoid garbage collector churn
-and avoid closures in general.
-
-The implementation has been rigorously documented so that our successors can
-understand the scope of the problem that this module solves and all of its
-nuances, ensuring that the next generation of implementations know what details
-are essential.
-
-- [asap.js](https://github.com/kriskowal/asap/blob/master/asap.js)
-- [raw.js](https://github.com/kriskowal/asap/blob/master/raw.js)
-- [browser-asap.js](https://github.com/kriskowal/asap/blob/master/browser-asap.js)
-- [browser-raw.js](https://github.com/kriskowal/asap/blob/master/browser-raw.js)
-
-The new version has also been rigorously tested across a broad spectrum of
-browsers, in both the window and worker context.
-The following charts capture the browser test results for the most recent
-release.
-The first chart shows test results for ASAP running in the main window context.
-The second chart shows test results for ASAP running in a web worker context.
-Test results are inconclusive (grey) on browsers that do not support web
-workers.
-These data are captured automatically by [Continuous
-Integration][].
-
-![Browser Compatibility](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-results-matrix.svg)
-
-![Compatibility in Web Workers](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-worker-results-matrix.svg)
-
-[Continuous Integration]: https://github.com/kriskowal/asap/blob/master/CONTRIBUTING.md
-
diff --git a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/LICENSE.md b/node_modules/express-handlebars/node_modules/promise/node_modules/asap/LICENSE.md
deleted file mode 100644
index ba18c61..0000000
--- a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/LICENSE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-
-Copyright 2009–2014 Contributors. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-
diff --git a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/README.md b/node_modules/express-handlebars/node_modules/promise/node_modules/asap/README.md
deleted file mode 100644
index 452fd8c..0000000
--- a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/README.md
+++ /dev/null
@@ -1,237 +0,0 @@
-# ASAP
-
-[![Build Status](https://travis-ci.org/kriskowal/asap.png?branch=master)](https://travis-ci.org/kriskowal/asap)
-
-Promise and asynchronous observer libraries, as well as hand-rolled callback
-programs and libraries, often need a mechanism to postpone the execution of a
-callback until the next available event.
-(See [Designing API’s for Asynchrony][Zalgo].)
-The `asap` function executes a task **as soon as possible** but not before it
-returns, waiting only for the completion of the current event and previously
-scheduled tasks.
-
-```javascript
-asap(function () {
- // ...
-});
-```
-
-[Zalgo]: http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony
-
-This CommonJS package provides an `asap` module that exports a function that
-executes a task function *as soon as possible*.
-
-ASAP strives to schedule events to occur before yielding for IO, reflow,
-or redrawing.
-Each event receives an independent stack, with only platform code in parent
-frames and the events run in the order they are scheduled.
-
-ASAP provides a fast event queue that will execute tasks until it is
-empty before yielding to the JavaScript engine's underlying event-loop.
-When a task gets added to a previously empty event queue, ASAP schedules a flush
-event, preferring for that event to occur before the JavaScript engine has an
-opportunity to perform IO tasks or rendering, thus making the first task and
-subsequent tasks semantically indistinguishable.
-ASAP uses a variety of techniques to preserve this invariant on different
-versions of browsers and Node.js.
-
-By design, ASAP prevents input events from being handled until the task
-queue is empty.
-If the process is busy enough, this may cause incoming connection requests to be
-dropped, and may cause existing connections to inform the sender to reduce the
-transmission rate or stall.
-ASAP allows this on the theory that, if there is enough work to do, there is no
-sense in looking for trouble.
-As a consequence, ASAP can interfere with smooth animation.
-If your task should be tied to the rendering loop, consider using
-`requestAnimationFrame` instead.
-A long sequence of tasks can also effect the long running script dialog.
-If this is a problem, you may be able to use ASAP’s cousin `setImmediate` to
-break long processes into shorter intervals and periodically allow the browser
-to breathe.
-`setImmediate` will yield for IO, reflow, and repaint events.
-It also returns a handler and can be canceled.
-For a `setImmediate` shim, consider [YuzuJS setImmediate][setImmediate].
-
-[setImmediate]: https://github.com/YuzuJS/setImmediate
-
-Take care.
-ASAP can sustain infinite recursive calls without warning.
-It will not halt from a stack overflow, and it will not consume unbounded
-memory.
-This is behaviorally equivalent to an infinite loop.
-Just as with infinite loops, you can monitor a Node.js process for this behavior
-with a heart-beat signal.
-As with infinite loops, a very small amount of caution goes a long way to
-avoiding problems.
-
-```javascript
-function loop() {
- asap(loop);
-}
-loop();
-```
-
-In browsers, if a task throws an exception, it will not interrupt the flushing
-of high-priority tasks.
-The exception will be postponed to a later, low-priority event to avoid
-slow-downs.
-In Node.js, if a task throws an exception, ASAP will resume flushing only if—and
-only after—the error is handled by `domain.on("error")` or
-`process.on("uncaughtException")`.
-
-## Raw ASAP
-
-Checking for exceptions comes at a cost.
-The package also provides an `asap/raw` module that exports the underlying
-implementation which is faster but stalls if a task throws an exception.
-This internal version of the ASAP function does not check for errors.
-If a task does throw an error, it will stall the event queue unless you manually
-call `rawAsap.requestFlush()` before throwing the error, or any time after.
-
-In Node.js, `asap/raw` also runs all tasks outside any domain.
-If you need a task to be bound to your domain, you will have to do it manually.
-
-```js
-if (process.domain) {
- task = process.domain.bind(task);
-}
-rawAsap(task);
-```
-
-## Tasks
-
-A task may be any object that implements `call()`.
-A function will suffice, but closures tend not to be reusable and can cause
-garbage collector churn.
-Both `asap` and `rawAsap` accept task objects to give you the option of
-recycling task objects or using higher callable object abstractions.
-See the `asap` source for an illustration.
-
-
-## Compatibility
-
-ASAP is tested on Node.js v0.10 and in a broad spectrum of web browsers.
-The following charts capture the browser test results for the most recent
-release.
-The first chart shows test results for ASAP running in the main window context.
-The second chart shows test results for ASAP running in a web worker context.
-Test results are inconclusive (grey) on browsers that do not support web
-workers.
-These data are captured automatically by [Continuous
-Integration][].
-
-[Continuous Integration]: https://github.com/kriskowal/asap/blob/master/CONTRIBUTING.md
-
-![Browser Compatibility](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-results-matrix.svg)
-
-![Compatibility in Web Workers](http://kriskowal-asap.s3-website-us-west-2.amazonaws.com/train/integration-2/saucelabs-worker-results-matrix.svg)
-
-## Caveats
-
-When a task is added to an empty event queue, it is not always possible to
-guarantee that the task queue will begin flushing immediately after the current
-event.
-However, once the task queue begins flushing, it will not yield until the queue
-is empty, even if the queue grows while executing tasks.
-
-The following browsers allow the use of [DOM mutation observers][] to access
-the HTML [microtask queue][], and thus begin flushing ASAP's task queue
-immediately at the end of the current event loop turn, before any rendering or
-IO:
-
-[microtask queue]: http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#microtask-queue
-[DOM mutation observers]: http://dom.spec.whatwg.org/#mutation-observers
-
-- Android 4–4.3
-- Chrome 26–34
-- Firefox 14–29
-- Internet Explorer 11
-- iPad Safari 6–7.1
-- iPhone Safari 7–7.1
-- Safari 6–7
-
-In the absense of mutation observers, there are a few browsers, and situations
-like web workers in some of the above browsers, where [message channels][]
-would be a useful way to avoid falling back to timers.
-Message channels give direct access to the HTML [task queue][], so the ASAP
-task queue would flush after any already queued rendering and IO tasks, but
-without having the minimum delay imposed by timers.
-However, among these browsers, Internet Explorer 10 and Safari do not reliably
-dispatch messages, so they are not worth the trouble to implement.
-
-[message channels]: http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#message-channels
-[task queue]: http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#concept-task
-
-- Internet Explorer 10
-- Safair 5.0-1
-- Opera 11-12
-
-In the absense of mutation observers, these browsers and the following browsers
-all fall back to using `setTimeout` and `setInterval` to ensure that a `flush`
-occurs.
-The implementation uses both and cancels whatever handler loses the race, since
-`setTimeout` tends to occasionally skip tasks in unisolated circumstances.
-Timers generally delay the flushing of ASAP's task queue for four milliseconds.
-
-- Firefox 3–13
-- Internet Explorer 6–10
-- iPad Safari 4.3
-- Lynx 2.8.7
-
-
-## Heritage
-
-ASAP has been factored out of the [Q][] asynchronous promise library.
-It originally had a naïve implementation in terms of `setTimeout`, but
-[Malte Ubl][NonBlocking] provided an insight that `postMessage` might be
-useful for creating a high-priority, no-delay event dispatch hack.
-Since then, Internet Explorer proposed and implemented `setImmediate`.
-Robert Katić began contributing to Q by measuring the performance of
-the internal implementation of `asap`, paying particular attention to
-error recovery.
-Domenic, Robert, and Kris Kowal collectively settled on the current strategy of
-unrolling the high-priority event queue internally regardless of what strategy
-we used to dispatch the potentially lower-priority flush event.
-Domenic went on to make ASAP cooperate with Node.js domains.
-
-[Q]: https://github.com/kriskowal/q
-[NonBlocking]: http://www.nonblocking.io/2011/06/windownexttick.html
-
-For further reading, Nicholas Zakas provided a thorough article on [The
-Case for setImmediate][NCZ].
-
-[NCZ]: http://www.nczonline.net/blog/2013/07/09/the-case-for-setimmediate/
-
-Ember’s RSVP promise implementation later [adopted][RSVP ASAP] the name ASAP but
-further developed the implentation.
-Particularly, The `MessagePort` implementation was abandoned due to interaction
-[problems with Mobile Internet Explorer][IE Problems] in favor of an
-implementation backed on the newer and more reliable DOM `MutationObserver`
-interface.
-These changes were back-ported into this library.
-
-[IE Problems]: https://github.com/cujojs/when/issues/197
-[RSVP ASAP]: https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js
-
-In addition, ASAP factored into `asap` and `asap/raw`, such that `asap` remained
-exception-safe, but `asap/raw` provided a tight kernel that could be used for
-tasks that guaranteed that they would not throw exceptions.
-This core is useful for promise implementations that capture thrown errors in
-rejected promises and do not need a second safety net.
-At the same time, the exception handling in `asap` was factored into separate
-implementations for Node.js and browsers, using the the [Browserify][Browser
-Config] `browser` property in `package.json` to instruct browser module loaders
-and bundlers, including [Browserify][], [Mr][], and [Mop][], to use the
-browser-only implementation.
-
-[Browser Config]: https://gist.github.com/defunctzombie/4339901
-[Browserify]: https://github.com/substack/node-browserify
-[Mr]: https://github.com/montagejs/mr
-[Mop]: https://github.com/montagejs/mop
-
-## License
-
-Copyright 2009-2014 by Contributors
-MIT License (enclosed)
-
diff --git a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/asap.js b/node_modules/express-handlebars/node_modules/promise/node_modules/asap/asap.js
deleted file mode 100644
index f04fcd5..0000000
--- a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/asap.js
+++ /dev/null
@@ -1,65 +0,0 @@
-"use strict";
-
-var rawAsap = require("./raw");
-var freeTasks = [];
-
-/**
- * Calls a task as soon as possible after returning, in its own event, with
- * priority over IO events. An exception thrown in a task can be handled by
- * `process.on("uncaughtException") or `domain.on("error")`, but will otherwise
- * crash the process. If the error is handled, all subsequent tasks will
- * resume.
- *
- * @param {{call}} task A callable object, typically a function that takes no
- * arguments.
- */
-module.exports = asap;
-function asap(task) {
- var rawTask;
- if (freeTasks.length) {
- rawTask = freeTasks.pop();
- } else {
- rawTask = new RawTask();
- }
- rawTask.task = task;
- rawTask.domain = process.domain;
- rawAsap(rawTask);
-}
-
-function RawTask() {
- this.task = null;
- this.domain = null;
-}
-
-RawTask.prototype.call = function () {
- if (this.domain) {
- this.domain.enter();
- }
- var threw = true;
- try {
- this.task.call();
- threw = false;
- // If the task throws an exception (presumably) Node.js restores the
- // domain stack for the next event.
- if (this.domain) {
- this.domain.exit();
- }
- } finally {
- // We use try/finally and a threw flag to avoid messing up stack traces
- // when we catch and release errors.
- if (threw) {
- // In Node.js, uncaught exceptions are considered fatal errors.
- // Re-throw them to interrupt flushing!
- // Ensure that flushing continues if an uncaught exception is
- // suppressed listening process.on("uncaughtException") or
- // domain.on("error").
- rawAsap.requestFlush();
- }
- // If the task threw an error, we do not want to exit the domain here.
- // Exiting the domain would prevent the domain from catching the error.
- this.task = null;
- this.domain = null;
- freeTasks.push(this);
- }
-};
-
diff --git a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/browser-asap.js b/node_modules/express-handlebars/node_modules/promise/node_modules/asap/browser-asap.js
deleted file mode 100644
index 805c982..0000000
--- a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/browser-asap.js
+++ /dev/null
@@ -1,66 +0,0 @@
-"use strict";
-
-// rawAsap provides everything we need except exception management.
-var rawAsap = require("./raw");
-// RawTasks are recycled to reduce GC churn.
-var freeTasks = [];
-// We queue errors to ensure they are thrown in right order (FIFO).
-// Array-as-queue is good enough here, since we are just dealing with exceptions.
-var pendingErrors = [];
-var requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);
-
-function throwFirstError() {
- if (pendingErrors.length) {
- throw pendingErrors.shift();
- }
-}
-
-/**
- * Calls a task as soon as possible after returning, in its own event, with priority
- * over other events like animation, reflow, and repaint. An error thrown from an
- * event will not interrupt, nor even substantially slow down the processing of
- * other events, but will be rather postponed to a lower priority event.
- * @param {{call}} task A callable object, typically a function that takes no
- * arguments.
- */
-module.exports = asap;
-function asap(task) {
- var rawTask;
- if (freeTasks.length) {
- rawTask = freeTasks.pop();
- } else {
- rawTask = new RawTask();
- }
- rawTask.task = task;
- rawAsap(rawTask);
-}
-
-// We wrap tasks with recyclable task objects. A task object implements
-// `call`, just like a function.
-function RawTask() {
- this.task = null;
-}
-
-// The sole purpose of wrapping the task is to catch the exception and recycle
-// the task object after its single use.
-RawTask.prototype.call = function () {
- try {
- this.task.call();
- } catch (error) {
- if (asap.onerror) {
- // This hook exists purely for testing purposes.
- // Its name will be periodically randomized to break any code that
- // depends on its existence.
- asap.onerror(error);
- } else {
- // In a web browser, exceptions are not fatal. However, to avoid
- // slowing down the queue of pending tasks, we rethrow the error in a
- // lower priority turn.
- pendingErrors.push(error);
- requestErrorThrow();
- }
- } finally {
- this.task = null;
- freeTasks[freeTasks.length] = this;
- }
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/browser-raw.js b/node_modules/express-handlebars/node_modules/promise/node_modules/asap/browser-raw.js
deleted file mode 100644
index 1cfd772..0000000
--- a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/browser-raw.js
+++ /dev/null
@@ -1,220 +0,0 @@
-"use strict";
-
-// Use the fastest means possible to execute a task in its own turn, with
-// priority over other events including IO, animation, reflow, and redraw
-// events in browsers.
-//
-// An exception thrown by a task will permanently interrupt the processing of
-// subsequent tasks. The higher level `asap` function ensures that if an
-// exception is thrown by a task, that the task queue will continue flushing as
-// soon as possible, but if you use `rawAsap` directly, you are responsible to
-// either ensure that no exceptions are thrown from your task, or to manually
-// call `rawAsap.requestFlush` if an exception is thrown.
-module.exports = rawAsap;
-function rawAsap(task) {
- if (!queue.length) {
- requestFlush();
- flushing = true;
- }
- // Equivalent to push, but avoids a function call.
- queue[queue.length] = task;
-}
-
-var queue = [];
-// Once a flush has been requested, no further calls to `requestFlush` are
-// necessary until the next `flush` completes.
-var flushing = false;
-// `requestFlush` is an implementation-specific method that attempts to kick
-// off a `flush` event as quickly as possible. `flush` will attempt to exhaust
-// the event queue before yielding to the browser's own event loop.
-var requestFlush;
-// The position of the next task to execute in the task queue. This is
-// preserved between calls to `flush` so that it can be resumed if
-// a task throws an exception.
-var index = 0;
-// If a task schedules additional tasks recursively, the task queue can grow
-// unbounded. To prevent memory exhaustion, the task queue will periodically
-// truncate already-completed tasks.
-var capacity = 1024;
-
-// The flush function processes all tasks that have been scheduled with
-// `rawAsap` unless and until one of those tasks throws an exception.
-// If a task throws an exception, `flush` ensures that its state will remain
-// consistent and will resume where it left off when called again.
-// However, `flush` does not make any arrangements to be called again if an
-// exception is thrown.
-function flush() {
- while (index < queue.length) {
- var currentIndex = index;
- // Advance the index before calling the task. This ensures that we will
- // begin flushing on the next task the task throws an error.
- index = index + 1;
- queue[currentIndex].call();
- // Prevent leaking memory for long chains of recursive calls to `asap`.
- // If we call `asap` within tasks scheduled by `asap`, the queue will
- // grow, but to avoid an O(n) walk for every task we execute, we don't
- // shift tasks off the queue after they have been executed.
- // Instead, we periodically shift 1024 tasks off the queue.
- if (index > capacity) {
- // Manually shift all values starting at the index back to the
- // beginning of the queue.
- for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {
- queue[scan] = queue[scan + index];
- }
- queue.length -= index;
- index = 0;
- }
- }
- queue.length = 0;
- index = 0;
- flushing = false;
-}
-
-// `requestFlush` is implemented using a strategy based on data collected from
-// every available SauceLabs Selenium web driver worker at time of writing.
-// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593
-
-// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that
-// have WebKitMutationObserver but not un-prefixed MutationObserver.
-// Must use `global` instead of `window` to work in both frames and web
-// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.
-var BrowserMutationObserver = global.MutationObserver || global.WebKitMutationObserver;
-
-// MutationObservers are desirable because they have high priority and work
-// reliably everywhere they are implemented.
-// They are implemented in all modern browsers.
-//
-// - Android 4-4.3
-// - Chrome 26-34
-// - Firefox 14-29
-// - Internet Explorer 11
-// - iPad Safari 6-7.1
-// - iPhone Safari 7-7.1
-// - Safari 6-7
-if (typeof BrowserMutationObserver === "function") {
- requestFlush = makeRequestCallFromMutationObserver(flush);
-
-// MessageChannels are desirable because they give direct access to the HTML
-// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera
-// 11-12, and in web workers in many engines.
-// Although message channels yield to any queued rendering and IO tasks, they
-// would be better than imposing the 4ms delay of timers.
-// However, they do not work reliably in Internet Explorer or Safari.
-
-// Internet Explorer 10 is the only browser that has setImmediate but does
-// not have MutationObservers.
-// Although setImmediate yields to the browser's renderer, it would be
-// preferrable to falling back to setTimeout since it does not have
-// the minimum 4ms penalty.
-// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and
-// Desktop to a lesser extent) that renders both setImmediate and
-// MessageChannel useless for the purposes of ASAP.
-// https://github.com/kriskowal/q/issues/396
-
-// Timers are implemented universally.
-// We fall back to timers in workers in most engines, and in foreground
-// contexts in the following browsers.
-// However, note that even this simple case requires nuances to operate in a
-// broad spectrum of browsers.
-//
-// - Firefox 3-13
-// - Internet Explorer 6-9
-// - iPad Safari 4.3
-// - Lynx 2.8.7
-} else {
- requestFlush = makeRequestCallFromTimer(flush);
-}
-
-// `requestFlush` requests that the high priority event queue be flushed as
-// soon as possible.
-// This is useful to prevent an error thrown in a task from stalling the event
-// queue if the exception handled by Node.js’s
-// `process.on("uncaughtException")` or by a domain.
-rawAsap.requestFlush = requestFlush;
-
-// To request a high priority event, we induce a mutation observer by toggling
-// the text of a text node between "1" and "-1".
-function makeRequestCallFromMutationObserver(callback) {
- var toggle = 1;
- var observer = new BrowserMutationObserver(callback);
- var node = document.createTextNode("");
- observer.observe(node, {characterData: true});
- return function requestCall() {
- toggle = -toggle;
- node.data = toggle;
- };
-}
-
-// The message channel technique was discovered by Malte Ubl and was the
-// original foundation for this library.
-// http://www.nonblocking.io/2011/06/windownexttick.html
-
-// Safari 6.0.5 (at least) intermittently fails to create message ports on a
-// page's first load. Thankfully, this version of Safari supports
-// MutationObservers, so we don't need to fall back in that case.
-
-// function makeRequestCallFromMessageChannel(callback) {
-// var channel = new MessageChannel();
-// channel.port1.onmessage = callback;
-// return function requestCall() {
-// channel.port2.postMessage(0);
-// };
-// }
-
-// For reasons explained above, we are also unable to use `setImmediate`
-// under any circumstances.
-// Even if we were, there is another bug in Internet Explorer 10.
-// It is not sufficient to assign `setImmediate` to `requestFlush` because
-// `setImmediate` must be called *by name* and therefore must be wrapped in a
-// closure.
-// Never forget.
-
-// function makeRequestCallFromSetImmediate(callback) {
-// return function requestCall() {
-// setImmediate(callback);
-// };
-// }
-
-// Safari 6.0 has a problem where timers will get lost while the user is
-// scrolling. This problem does not impact ASAP because Safari 6.0 supports
-// mutation observers, so that implementation is used instead.
-// However, if we ever elect to use timers in Safari, the prevalent work-around
-// is to add a scroll event listener that calls for a flush.
-
-// `setTimeout` does not call the passed callback if the delay is less than
-// approximately 7 in web workers in Firefox 8 through 18, and sometimes not
-// even then.
-
-function makeRequestCallFromTimer(callback) {
- return function requestCall() {
- // We dispatch a timeout with a specified delay of 0 for engines that
- // can reliably accommodate that request. This will usually be snapped
- // to a 4 milisecond delay, but once we're flushing, there's no delay
- // between events.
- var timeoutHandle = setTimeout(handleTimer, 0);
- // However, since this timer gets frequently dropped in Firefox
- // workers, we enlist an interval handle that will try to fire
- // an event 20 times per second until it succeeds.
- var intervalHandle = setInterval(handleTimer, 50);
-
- function handleTimer() {
- // Whichever timer succeeds will cancel both timers and
- // execute the callback.
- clearTimeout(timeoutHandle);
- clearInterval(intervalHandle);
- callback();
- }
- };
-}
-
-// This is for `asap.js` only.
-// Its name will be periodically randomized to break any code that depends on
-// its existence.
-rawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;
-
-// ASAP was originally a nextTick shim included in Q. This was factored out
-// into this ASAP package. It was later adapted to RSVP which made further
-// amendments. These decisions, particularly to marginalize MessageChannel and
-// to capture the MutationObserver implementation in a closure, were integrated
-// back into ASAP proper.
-// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js
diff --git a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/package.json b/node_modules/express-handlebars/node_modules/promise/node_modules/asap/package.json
deleted file mode 100644
index 727ca3a..0000000
--- a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/package.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "name": "asap",
- "version": "2.0.4",
- "description": "High-priority task queue for Node.js and browsers",
- "keywords": [
- "event",
- "task",
- "queue"
- ],
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/kriskowal/asap.git"
- },
- "main": "./asap.js",
- "browser": {
- "./asap": "./browser-asap.js",
- "./asap.js": "./browser-asap.js",
- "./raw": "./browser-raw.js",
- "./raw.js": "./browser-raw.js",
- "./test/domain.js": "./test/browser-domain.js"
- },
- "files": [
- "raw.js",
- "asap.js",
- "browser-raw.js",
- "browser-asap.js"
- ],
- "scripts": {
- "test": "npm run lint && npm run test-node",
- "test-travis": "npm run lint && npm run test-node && npm run test-saucelabs && npm run test-saucelabs-worker",
- "test-node": "node test/asap-test.js",
- "test-publish": "node scripts/publish-bundle.js test/asap-test.js | pbcopy",
- "test-browser": "node scripts/publish-bundle.js test/asap-test.js | xargs opener",
- "test-saucelabs": "node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-spot-configurations.json",
- "test-saucelabs-all": "node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-all-configurations.json",
- "test-saucelabs-worker": "node scripts/saucelabs-worker-test.js scripts/saucelabs-spot-configurations.json",
- "test-saucelabs-worker-all": "node scripts/saucelabs-worker-test.js scripts/saucelabs-all-configurations.json",
- "lint": "jshint raw.js asap.js browser-raw.js browser-asap.js $(find scripts -name '*.js' | grep -v gauntlet)",
- "benchmarks": "node benchmarks"
- },
- "devDependencies": {
- "events": "^1.0.1",
- "jshint": "^2.5.1",
- "knox": "^0.8.10",
- "mr": "^2.0.5",
- "opener": "^1.3.0",
- "q": "^2.0.3",
- "q-io": "^2.0.3",
- "saucelabs": "^0.1.1",
- "wd": "^0.2.21",
- "weak-map": "^1.0.5",
- "benchmark": "^1.0.0"
- },
- "gitHead": "26e815dafed7bc112924bf7a6be0d997abf1b407",
- "bugs": {
- "url": "https://github.com/kriskowal/asap/issues"
- },
- "homepage": "https://github.com/kriskowal/asap#readme",
- "_id": "asap@2.0.4",
- "_shasum": "b391bf7f6bfbc65706022fec8f49c4b07fecf589",
- "_from": "asap@>=2.0.3 <2.1.0",
- "_npmVersion": "2.14.7",
- "_nodeVersion": "0.10.32",
- "_npmUser": {
- "name": "kriskowal",
- "email": "kris.kowal@cixar.com"
- },
- "dist": {
- "shasum": "b391bf7f6bfbc65706022fec8f49c4b07fecf589",
- "tarball": "https://registry.npmjs.org/asap/-/asap-2.0.4.tgz"
- },
- "maintainers": [
- {
- "name": "kriskowal",
- "email": "kris.kowal@cixar.com"
- },
- {
- "name": "forbeslindesay",
- "email": "forbes@lindesay.co.uk"
- }
- ],
- "_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/asap-2.0.4.tgz_1463764720924_0.3805790115147829"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/asap/-/asap-2.0.4.tgz"
-}
diff --git a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/raw.js b/node_modules/express-handlebars/node_modules/promise/node_modules/asap/raw.js
deleted file mode 100644
index ae3b892..0000000
--- a/node_modules/express-handlebars/node_modules/promise/node_modules/asap/raw.js
+++ /dev/null
@@ -1,101 +0,0 @@
-"use strict";
-
-var domain; // The domain module is executed on demand
-var hasSetImmediate = typeof setImmediate === "function";
-
-// Use the fastest means possible to execute a task in its own turn, with
-// priority over other events including network IO events in Node.js.
-//
-// An exception thrown by a task will permanently interrupt the processing of
-// subsequent tasks. The higher level `asap` function ensures that if an
-// exception is thrown by a task, that the task queue will continue flushing as
-// soon as possible, but if you use `rawAsap` directly, you are responsible to
-// either ensure that no exceptions are thrown from your task, or to manually
-// call `rawAsap.requestFlush` if an exception is thrown.
-module.exports = rawAsap;
-function rawAsap(task) {
- if (!queue.length) {
- requestFlush();
- flushing = true;
- }
- // Avoids a function call
- queue[queue.length] = task;
-}
-
-var queue = [];
-// Once a flush has been requested, no further calls to `requestFlush` are
-// necessary until the next `flush` completes.
-var flushing = false;
-// The position of the next task to execute in the task queue. This is
-// preserved between calls to `flush` so that it can be resumed if
-// a task throws an exception.
-var index = 0;
-// If a task schedules additional tasks recursively, the task queue can grow
-// unbounded. To prevent memory excaustion, the task queue will periodically
-// truncate already-completed tasks.
-var capacity = 1024;
-
-// The flush function processes all tasks that have been scheduled with
-// `rawAsap` unless and until one of those tasks throws an exception.
-// If a task throws an exception, `flush` ensures that its state will remain
-// consistent and will resume where it left off when called again.
-// However, `flush` does not make any arrangements to be called again if an
-// exception is thrown.
-function flush() {
- while (index < queue.length) {
- var currentIndex = index;
- // Advance the index before calling the task. This ensures that we will
- // begin flushing on the next task the task throws an error.
- index = index + 1;
- queue[currentIndex].call();
- // Prevent leaking memory for long chains of recursive calls to `asap`.
- // If we call `asap` within tasks scheduled by `asap`, the queue will
- // grow, but to avoid an O(n) walk for every task we execute, we don't
- // shift tasks off the queue after they have been executed.
- // Instead, we periodically shift 1024 tasks off the queue.
- if (index > capacity) {
- // Manually shift all values starting at the index back to the
- // beginning of the queue.
- for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {
- queue[scan] = queue[scan + index];
- }
- queue.length -= index;
- index = 0;
- }
- }
- queue.length = 0;
- index = 0;
- flushing = false;
-}
-
-rawAsap.requestFlush = requestFlush;
-function requestFlush() {
- // Ensure flushing is not bound to any domain.
- // It is not sufficient to exit the domain, because domains exist on a stack.
- // To execute code outside of any domain, the following dance is necessary.
- var parentDomain = process.domain;
- if (parentDomain) {
- if (!domain) {
- // Lazy execute the domain module.
- // Only employed if the user elects to use domains.
- domain = require("domain");
- }
- domain.active = process.domain = null;
- }
-
- // `setImmediate` is slower that `process.nextTick`, but `process.nextTick`
- // cannot handle recursion.
- // `requestFlush` will only be called recursively from `asap.js`, to resume
- // flushing after an error is thrown into a domain.
- // Conveniently, `setImmediate` was introduced in the same version
- // `process.nextTick` started throwing recursion errors.
- if (flushing && hasSetImmediate) {
- setImmediate(flush);
- } else {
- process.nextTick(flush);
- }
-
- if (parentDomain) {
- domain.active = process.domain = parentDomain;
- }
-}
diff --git a/node_modules/express-handlebars/node_modules/promise/package.json b/node_modules/express-handlebars/node_modules/promise/package.json
deleted file mode 100644
index 49d00c3..0000000
--- a/node_modules/express-handlebars/node_modules/promise/package.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "name": "promise",
- "version": "7.1.1",
- "description": "Bare bones Promises/A+ implementation",
- "main": "index.js",
- "scripts": {
- "prepublish": "node build",
- "pretest": "node build",
- "pretest-resolve": "node build",
- "pretest-extensions": "node build",
- "pretest-memory-leak": "node build",
- "test": "mocha --bail --timeout 200 --slow 99999 -R dot && npm run test-memory-leak",
- "test-resolve": "mocha test/resolver-tests.js --timeout 200 --slow 999999",
- "test-extensions": "mocha test/extensions-tests.js --timeout 200 --slow 999999",
- "test-memory-leak": "node --expose-gc test/memory-leak.js",
- "coverage": "istanbul cover node_modules/mocha/bin/_mocha -- --bail --timeout 200 --slow 99999 -R dot"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/then/promise.git"
- },
- "author": {
- "name": "ForbesLindesay"
- },
- "license": "MIT",
- "devDependencies": {
- "acorn": "^1.0.1",
- "better-assert": "*",
- "istanbul": "^0.3.13",
- "mocha": "*",
- "promises-aplus-tests": "*",
- "rimraf": "^2.3.2"
- },
- "dependencies": {
- "asap": "~2.0.3"
- },
- "gitHead": "90757a38c86975f36893012581b72315b352d482",
- "bugs": {
- "url": "https://github.com/then/promise/issues"
- },
- "homepage": "https://github.com/then/promise",
- "_id": "promise@7.1.1",
- "_shasum": "489654c692616b8aa55b0724fa809bb7db49c5bf",
- "_from": "promise@>=7.0.0 <8.0.0",
- "_npmVersion": "2.7.1",
- "_nodeVersion": "1.6.2",
- "_npmUser": {
- "name": "forbeslindesay",
- "email": "forbes@lindesay.co.uk"
- },
- "dist": {
- "shasum": "489654c692616b8aa55b0724fa809bb7db49c5bf",
- "tarball": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz"
- },
- "maintainers": [
- {
- "name": "forbeslindesay",
- "email": "forbes@lindesay.co.uk"
- },
- {
- "name": "nathan7",
- "email": "nathan@nathan7.eu"
- }
- ],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz"
-}
diff --git a/node_modules/express-handlebars/node_modules/promise/polyfill-done.js b/node_modules/express-handlebars/node_modules/promise/polyfill-done.js
deleted file mode 100644
index e50b4c0..0000000
--- a/node_modules/express-handlebars/node_modules/promise/polyfill-done.js
+++ /dev/null
@@ -1,12 +0,0 @@
-// should work in any browser without browserify
-
-if (typeof Promise.prototype.done !== 'function') {
- Promise.prototype.done = function (onFulfilled, onRejected) {
- var self = arguments.length ? this.then.apply(this, arguments) : this
- self.then(null, function (err) {
- setTimeout(function () {
- throw err
- }, 0)
- })
- }
-} \ No newline at end of file
diff --git a/node_modules/express-handlebars/node_modules/promise/polyfill.js b/node_modules/express-handlebars/node_modules/promise/polyfill.js
deleted file mode 100644
index db099f8..0000000
--- a/node_modules/express-handlebars/node_modules/promise/polyfill.js
+++ /dev/null
@@ -1,10 +0,0 @@
-// not "use strict" so we can declare global "Promise"
-
-var asap = require('asap');
-
-if (typeof Promise === 'undefined') {
- Promise = require('./lib/core.js')
- require('./lib/es6-extensions.js')
-}
-
-require('./polyfill-done.js');
diff --git a/node_modules/express-handlebars/node_modules/promise/setimmediate/core.js b/node_modules/express-handlebars/node_modules/promise/setimmediate/core.js
deleted file mode 100644
index 46c6a2c..0000000
--- a/node_modules/express-handlebars/node_modules/promise/setimmediate/core.js
+++ /dev/null
@@ -1,213 +0,0 @@
-'use strict';
-
-
-
-function noop() {}
-
-// States:
-//
-// 0 - pending
-// 1 - fulfilled with _value
-// 2 - rejected with _value
-// 3 - adopted the state of another promise, _value
-//
-// once the state is no longer pending (0) it is immutable
-
-// All `_` prefixed properties will be reduced to `_{random number}`
-// at build time to obfuscate them and discourage their use.
-// We don't use symbols or Object.defineProperty to fully hide them
-// because the performance isn't good enough.
-
-
-// to avoid using try/catch inside critical functions, we
-// extract them to here.
-var LAST_ERROR = null;
-var IS_ERROR = {};
-function getThen(obj) {
- try {
- return obj.then;
- } catch (ex) {
- LAST_ERROR = ex;
- return IS_ERROR;
- }
-}
-
-function tryCallOne(fn, a) {
- try {
- return fn(a);
- } catch (ex) {
- LAST_ERROR = ex;
- return IS_ERROR;
- }
-}
-function tryCallTwo(fn, a, b) {
- try {
- fn(a, b);
- } catch (ex) {
- LAST_ERROR = ex;
- return IS_ERROR;
- }
-}
-
-module.exports = Promise;
-
-function Promise(fn) {
- if (typeof this !== 'object') {
- throw new TypeError('Promises must be constructed via new');
- }
- if (typeof fn !== 'function') {
- throw new TypeError('not a function');
- }
- this._45 = 0;
- this._81 = 0;
- this._65 = null;
- this._54 = null;
- if (fn === noop) return;
- doResolve(fn, this);
-}
-Promise._10 = null;
-Promise._97 = null;
-Promise._61 = noop;
-
-Promise.prototype.then = function(onFulfilled, onRejected) {
- if (this.constructor !== Promise) {
- return safeThen(this, onFulfilled, onRejected);
- }
- var res = new Promise(noop);
- handle(this, new Handler(onFulfilled, onRejected, res));
- return res;
-};
-
-function safeThen(self, onFulfilled, onRejected) {
- return new self.constructor(function (resolve, reject) {
- var res = new Promise(noop);
- res.then(resolve, reject);
- handle(self, new Handler(onFulfilled, onRejected, res));
- });
-};
-function handle(self, deferred) {
- while (self._81 === 3) {
- self = self._65;
- }
- if (Promise._10) {
- Promise._10(self);
- }
- if (self._81 === 0) {
- if (self._45 === 0) {
- self._45 = 1;
- self._54 = deferred;
- return;
- }
- if (self._45 === 1) {
- self._45 = 2;
- self._54 = [self._54, deferred];
- return;
- }
- self._54.push(deferred);
- return;
- }
- handleResolved(self, deferred);
-}
-
-function handleResolved(self, deferred) {
- setImmediate(function() {
- var cb = self._81 === 1 ? deferred.onFulfilled : deferred.onRejected;
- if (cb === null) {
- if (self._81 === 1) {
- resolve(deferred.promise, self._65);
- } else {
- reject(deferred.promise, self._65);
- }
- return;
- }
- var ret = tryCallOne(cb, self._65);
- if (ret === IS_ERROR) {
- reject(deferred.promise, LAST_ERROR);
- } else {
- resolve(deferred.promise, ret);
- }
- });
-}
-function resolve(self, newValue) {
- // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
- if (newValue === self) {
- return reject(
- self,
- new TypeError('A promise cannot be resolved with itself.')
- );
- }
- if (
- newValue &&
- (typeof newValue === 'object' || typeof newValue === 'function')
- ) {
- var then = getThen(newValue);
- if (then === IS_ERROR) {
- return reject(self, LAST_ERROR);
- }
- if (
- then === self.then &&
- newValue instanceof Promise
- ) {
- self._81 = 3;
- self._65 = newValue;
- finale(self);
- return;
- } else if (typeof then === 'function') {
- doResolve(then.bind(newValue), self);
- return;
- }
- }
- self._81 = 1;
- self._65 = newValue;
- finale(self);
-}
-
-function reject(self, newValue) {
- self._81 = 2;
- self._65 = newValue;
- if (Promise._97) {
- Promise._97(self, newValue);
- }
- finale(self);
-}
-function finale(self) {
- if (self._45 === 1) {
- handle(self, self._54);
- self._54 = null;
- }
- if (self._45 === 2) {
- for (var i = 0; i < self._54.length; i++) {
- handle(self, self._54[i]);
- }
- self._54 = null;
- }
-}
-
-function Handler(onFulfilled, onRejected, promise){
- this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
- this.onRejected = typeof onRejected === 'function' ? onRejected : null;
- this.promise = promise;
-}
-
-/**
- * Take a potentially misbehaving resolver function and make sure
- * onFulfilled and onRejected are only called once.
- *
- * Makes no guarantees about asynchrony.
- */
-function doResolve(fn, promise) {
- var done = false;
- var res = tryCallTwo(fn, function (value) {
- if (done) return;
- done = true;
- resolve(promise, value);
- }, function (reason) {
- if (done) return;
- done = true;
- reject(promise, reason);
- })
- if (!done && res === IS_ERROR) {
- done = true;
- reject(promise, LAST_ERROR);
- }
-}
diff --git a/node_modules/express-handlebars/node_modules/promise/setimmediate/done.js b/node_modules/express-handlebars/node_modules/promise/setimmediate/done.js
deleted file mode 100644
index f879317..0000000
--- a/node_modules/express-handlebars/node_modules/promise/setimmediate/done.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-Promise.prototype.done = function (onFulfilled, onRejected) {
- var self = arguments.length ? this.then.apply(this, arguments) : this;
- self.then(null, function (err) {
- setTimeout(function () {
- throw err;
- }, 0);
- });
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/setimmediate/es6-extensions.js b/node_modules/express-handlebars/node_modules/promise/setimmediate/es6-extensions.js
deleted file mode 100644
index 1ab6eae..0000000
--- a/node_modules/express-handlebars/node_modules/promise/setimmediate/es6-extensions.js
+++ /dev/null
@@ -1,107 +0,0 @@
-'use strict';
-
-//This file contains the ES6 extensions to the core Promises/A+ API
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-
-/* Static Functions */
-
-var TRUE = valuePromise(true);
-var FALSE = valuePromise(false);
-var NULL = valuePromise(null);
-var UNDEFINED = valuePromise(undefined);
-var ZERO = valuePromise(0);
-var EMPTYSTRING = valuePromise('');
-
-function valuePromise(value) {
- var p = new Promise(Promise._61);
- p._81 = 1;
- p._65 = value;
- return p;
-}
-Promise.resolve = function (value) {
- if (value instanceof Promise) return value;
-
- if (value === null) return NULL;
- if (value === undefined) return UNDEFINED;
- if (value === true) return TRUE;
- if (value === false) return FALSE;
- if (value === 0) return ZERO;
- if (value === '') return EMPTYSTRING;
-
- if (typeof value === 'object' || typeof value === 'function') {
- try {
- var then = value.then;
- if (typeof then === 'function') {
- return new Promise(then.bind(value));
- }
- } catch (ex) {
- return new Promise(function (resolve, reject) {
- reject(ex);
- });
- }
- }
- return valuePromise(value);
-};
-
-Promise.all = function (arr) {
- var args = Array.prototype.slice.call(arr);
-
- return new Promise(function (resolve, reject) {
- if (args.length === 0) return resolve([]);
- var remaining = args.length;
- function res(i, val) {
- if (val && (typeof val === 'object' || typeof val === 'function')) {
- if (val instanceof Promise && val.then === Promise.prototype.then) {
- while (val._81 === 3) {
- val = val._65;
- }
- if (val._81 === 1) return res(i, val._65);
- if (val._81 === 2) reject(val._65);
- val.then(function (val) {
- res(i, val);
- }, reject);
- return;
- } else {
- var then = val.then;
- if (typeof then === 'function') {
- var p = new Promise(then.bind(val));
- p.then(function (val) {
- res(i, val);
- }, reject);
- return;
- }
- }
- }
- args[i] = val;
- if (--remaining === 0) {
- resolve(args);
- }
- }
- for (var i = 0; i < args.length; i++) {
- res(i, args[i]);
- }
- });
-};
-
-Promise.reject = function (value) {
- return new Promise(function (resolve, reject) {
- reject(value);
- });
-};
-
-Promise.race = function (values) {
- return new Promise(function (resolve, reject) {
- values.forEach(function(value){
- Promise.resolve(value).then(resolve, reject);
- });
- });
-};
-
-/* Prototype Methods */
-
-Promise.prototype['catch'] = function (onRejected) {
- return this.then(null, onRejected);
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/setimmediate/finally.js b/node_modules/express-handlebars/node_modules/promise/setimmediate/finally.js
deleted file mode 100644
index f5ee0b9..0000000
--- a/node_modules/express-handlebars/node_modules/promise/setimmediate/finally.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-Promise.prototype['finally'] = function (f) {
- return this.then(function (value) {
- return Promise.resolve(f()).then(function () {
- return value;
- });
- }, function (err) {
- return Promise.resolve(f()).then(function () {
- throw err;
- });
- });
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/setimmediate/index.js b/node_modules/express-handlebars/node_modules/promise/setimmediate/index.js
deleted file mode 100644
index 6e674f3..0000000
--- a/node_modules/express-handlebars/node_modules/promise/setimmediate/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-'use strict';
-
-module.exports = require('./core.js');
-require('./done.js');
-require('./finally.js');
-require('./es6-extensions.js');
-require('./node-extensions.js');
-require('./synchronous.js');
diff --git a/node_modules/express-handlebars/node_modules/promise/setimmediate/node-extensions.js b/node_modules/express-handlebars/node_modules/promise/setimmediate/node-extensions.js
deleted file mode 100644
index 14a0302..0000000
--- a/node_modules/express-handlebars/node_modules/promise/setimmediate/node-extensions.js
+++ /dev/null
@@ -1,130 +0,0 @@
-'use strict';
-
-// This file contains then/promise specific extensions that are only useful
-// for node.js interop
-
-var Promise = require('./core.js');
-
-
-module.exports = Promise;
-
-/* Static Functions */
-
-Promise.denodeify = function (fn, argumentCount) {
- if (
- typeof argumentCount === 'number' && argumentCount !== Infinity
- ) {
- return denodeifyWithCount(fn, argumentCount);
- } else {
- return denodeifyWithoutCount(fn);
- }
-}
-
-var callbackFn = (
- 'function (err, res) {' +
- 'if (err) { rj(err); } else { rs(res); }' +
- '}'
-);
-function denodeifyWithCount(fn, argumentCount) {
- var args = [];
- for (var i = 0; i < argumentCount; i++) {
- args.push('a' + i);
- }
- var body = [
- 'return function (' + args.join(',') + ') {',
- 'var self = this;',
- 'return new Promise(function (rs, rj) {',
- 'var res = fn.call(',
- ['self'].concat(args).concat([callbackFn]).join(','),
- ');',
- 'if (res &&',
- '(typeof res === "object" || typeof res === "function") &&',
- 'typeof res.then === "function"',
- ') {rs(res);}',
- '});',
- '};'
- ].join('');
- return Function(['Promise', 'fn'], body)(Promise, fn);
-}
-function denodeifyWithoutCount(fn) {
- var fnLength = Math.max(fn.length - 1, 3);
- var args = [];
- for (var i = 0; i < fnLength; i++) {
- args.push('a' + i);
- }
- var body = [
- 'return function (' + args.join(',') + ') {',
- 'var self = this;',
- 'var args;',
- 'var argLength = arguments.length;',
- 'if (arguments.length > ' + fnLength + ') {',
- 'args = new Array(arguments.length + 1);',
- 'for (var i = 0; i < arguments.length; i++) {',
- 'args[i] = arguments[i];',
- '}',
- '}',
- 'return new Promise(function (rs, rj) {',
- 'var cb = ' + callbackFn + ';',
- 'var res;',
- 'switch (argLength) {',
- args.concat(['extra']).map(function (_, index) {
- return (
- 'case ' + (index) + ':' +
- 'res = fn.call(' + ['self'].concat(args.slice(0, index)).concat('cb').join(',') + ');' +
- 'break;'
- );
- }).join(''),
- 'default:',
- 'args[argLength] = cb;',
- 'res = fn.apply(self, args);',
- '}',
-
- 'if (res &&',
- '(typeof res === "object" || typeof res === "function") &&',
- 'typeof res.then === "function"',
- ') {rs(res);}',
- '});',
- '};'
- ].join('');
-
- return Function(
- ['Promise', 'fn'],
- body
- )(Promise, fn);
-}
-
-Promise.nodeify = function (fn) {
- return function () {
- var args = Array.prototype.slice.call(arguments);
- var callback =
- typeof args[args.length - 1] === 'function' ? args.pop() : null;
- var ctx = this;
- try {
- return fn.apply(this, arguments).nodeify(callback, ctx);
- } catch (ex) {
- if (callback === null || typeof callback == 'undefined') {
- return new Promise(function (resolve, reject) {
- reject(ex);
- });
- } else {
- setImmediate(function () {
- callback.call(ctx, ex);
- })
- }
- }
- }
-}
-
-Promise.prototype.nodeify = function (callback, ctx) {
- if (typeof callback != 'function') return this;
-
- this.then(function (value) {
- setImmediate(function () {
- callback.call(ctx, null, value);
- });
- }, function (err) {
- setImmediate(function () {
- callback.call(ctx, err);
- });
- });
-}
diff --git a/node_modules/express-handlebars/node_modules/promise/setimmediate/rejection-tracking.js b/node_modules/express-handlebars/node_modules/promise/setimmediate/rejection-tracking.js
deleted file mode 100644
index 088a0de..0000000
--- a/node_modules/express-handlebars/node_modules/promise/setimmediate/rejection-tracking.js
+++ /dev/null
@@ -1,113 +0,0 @@
-'use strict';
-
-var Promise = require('./core');
-
-var DEFAULT_WHITELIST = [
- ReferenceError,
- TypeError,
- RangeError
-];
-
-var enabled = false;
-exports.disable = disable;
-function disable() {
- enabled = false;
- Promise._10 = null;
- Promise._97 = null;
-}
-
-exports.enable = enable;
-function enable(options) {
- options = options || {};
- if (enabled) disable();
- enabled = true;
- var id = 0;
- var displayId = 0;
- var rejections = {};
- Promise._10 = function (promise) {
- if (
- promise._81 === 2 && // IS REJECTED
- rejections[promise._72]
- ) {
- if (rejections[promise._72].logged) {
- onHandled(promise._72);
- } else {
- clearTimeout(rejections[promise._72].timeout);
- }
- delete rejections[promise._72];
- }
- };
- Promise._97 = function (promise, err) {
- if (promise._45 === 0) { // not yet handled
- promise._72 = id++;
- rejections[promise._72] = {
- displayId: null,
- error: err,
- timeout: setTimeout(
- onUnhandled.bind(null, promise._72),
- // For reference errors and type errors, this almost always
- // means the programmer made a mistake, so log them after just
- // 100ms
- // otherwise, wait 2 seconds to see if they get handled
- matchWhitelist(err, DEFAULT_WHITELIST)
- ? 100
- : 2000
- ),
- logged: false
- };
- }
- };
- function onUnhandled(id) {
- if (
- options.allRejections ||
- matchWhitelist(
- rejections[id].error,
- options.whitelist || DEFAULT_WHITELIST
- )
- ) {
- rejections[id].displayId = displayId++;
- if (options.onUnhandled) {
- rejections[id].logged = true;
- options.onUnhandled(
- rejections[id].displayId,
- rejections[id].error
- );
- } else {
- rejections[id].logged = true;
- logError(
- rejections[id].displayId,
- rejections[id].error
- );
- }
- }
- }
- function onHandled(id) {
- if (rejections[id].logged) {
- if (options.onHandled) {
- options.onHandled(rejections[id].displayId, rejections[id].error);
- } else if (!rejections[id].onUnhandled) {
- console.warn(
- 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'
- );
- console.warn(
- ' This means you can ignore any previous messages of the form "Possible Unhandled Promise Rejection" with id ' +
- rejections[id].displayId + '.'
- );
- }
- }
- }
-}
-
-function logError(id, error) {
- console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');
- var errStr = (error && (error.stack || error)) + '';
- errStr.split('\n').forEach(function (line) {
- console.warn(' ' + line);
- });
-}
-
-function matchWhitelist(error, list) {
- return list.some(function (cls) {
- return error instanceof cls;
- });
-} \ No newline at end of file
diff --git a/node_modules/express-handlebars/node_modules/promise/setimmediate/synchronous.js b/node_modules/express-handlebars/node_modules/promise/setimmediate/synchronous.js
deleted file mode 100644
index 2f97451..0000000
--- a/node_modules/express-handlebars/node_modules/promise/setimmediate/synchronous.js
+++ /dev/null
@@ -1,62 +0,0 @@
-'use strict';
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-Promise.enableSynchronous = function () {
- Promise.prototype.isPending = function() {
- return this.getState() == 0;
- };
-
- Promise.prototype.isFulfilled = function() {
- return this.getState() == 1;
- };
-
- Promise.prototype.isRejected = function() {
- return this.getState() == 2;
- };
-
- Promise.prototype.getValue = function () {
- if (this._81 === 3) {
- return this._65.getValue();
- }
-
- if (!this.isFulfilled()) {
- throw new Error('Cannot get a value of an unfulfilled promise.');
- }
-
- return this._65;
- };
-
- Promise.prototype.getReason = function () {
- if (this._81 === 3) {
- return this._65.getReason();
- }
-
- if (!this.isRejected()) {
- throw new Error('Cannot get a rejection reason of a non-rejected promise.');
- }
-
- return this._65;
- };
-
- Promise.prototype.getState = function () {
- if (this._81 === 3) {
- return this._65.getState();
- }
- if (this._81 === -1 || this._81 === -2) {
- return 0;
- }
-
- return this._81;
- };
-};
-
-Promise.disableSynchronous = function() {
- Promise.prototype.isPending = undefined;
- Promise.prototype.isFulfilled = undefined;
- Promise.prototype.isRejected = undefined;
- Promise.prototype.getValue = undefined;
- Promise.prototype.getReason = undefined;
- Promise.prototype.getState = undefined;
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/src/core.js b/node_modules/express-handlebars/node_modules/promise/src/core.js
deleted file mode 100644
index 7513f27..0000000
--- a/node_modules/express-handlebars/node_modules/promise/src/core.js
+++ /dev/null
@@ -1,213 +0,0 @@
-'use strict';
-
-var asap = require('asap/raw');
-
-function noop() {}
-
-// States:
-//
-// 0 - pending
-// 1 - fulfilled with _value
-// 2 - rejected with _value
-// 3 - adopted the state of another promise, _value
-//
-// once the state is no longer pending (0) it is immutable
-
-// All `_` prefixed properties will be reduced to `_{random number}`
-// at build time to obfuscate them and discourage their use.
-// We don't use symbols or Object.defineProperty to fully hide them
-// because the performance isn't good enough.
-
-
-// to avoid using try/catch inside critical functions, we
-// extract them to here.
-var LAST_ERROR = null;
-var IS_ERROR = {};
-function getThen(obj) {
- try {
- return obj.then;
- } catch (ex) {
- LAST_ERROR = ex;
- return IS_ERROR;
- }
-}
-
-function tryCallOne(fn, a) {
- try {
- return fn(a);
- } catch (ex) {
- LAST_ERROR = ex;
- return IS_ERROR;
- }
-}
-function tryCallTwo(fn, a, b) {
- try {
- fn(a, b);
- } catch (ex) {
- LAST_ERROR = ex;
- return IS_ERROR;
- }
-}
-
-module.exports = Promise;
-
-function Promise(fn) {
- if (typeof this !== 'object') {
- throw new TypeError('Promises must be constructed via new');
- }
- if (typeof fn !== 'function') {
- throw new TypeError('not a function');
- }
- this._deferredState = 0;
- this._state = 0;
- this._value = null;
- this._deferreds = null;
- if (fn === noop) return;
- doResolve(fn, this);
-}
-Promise._onHandle = null;
-Promise._onReject = null;
-Promise._noop = noop;
-
-Promise.prototype.then = function(onFulfilled, onRejected) {
- if (this.constructor !== Promise) {
- return safeThen(this, onFulfilled, onRejected);
- }
- var res = new Promise(noop);
- handle(this, new Handler(onFulfilled, onRejected, res));
- return res;
-};
-
-function safeThen(self, onFulfilled, onRejected) {
- return new self.constructor(function (resolve, reject) {
- var res = new Promise(noop);
- res.then(resolve, reject);
- handle(self, new Handler(onFulfilled, onRejected, res));
- });
-};
-function handle(self, deferred) {
- while (self._state === 3) {
- self = self._value;
- }
- if (Promise._onHandle) {
- Promise._onHandle(self);
- }
- if (self._state === 0) {
- if (self._deferredState === 0) {
- self._deferredState = 1;
- self._deferreds = deferred;
- return;
- }
- if (self._deferredState === 1) {
- self._deferredState = 2;
- self._deferreds = [self._deferreds, deferred];
- return;
- }
- self._deferreds.push(deferred);
- return;
- }
- handleResolved(self, deferred);
-}
-
-function handleResolved(self, deferred) {
- asap(function() {
- var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;
- if (cb === null) {
- if (self._state === 1) {
- resolve(deferred.promise, self._value);
- } else {
- reject(deferred.promise, self._value);
- }
- return;
- }
- var ret = tryCallOne(cb, self._value);
- if (ret === IS_ERROR) {
- reject(deferred.promise, LAST_ERROR);
- } else {
- resolve(deferred.promise, ret);
- }
- });
-}
-function resolve(self, newValue) {
- // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure
- if (newValue === self) {
- return reject(
- self,
- new TypeError('A promise cannot be resolved with itself.')
- );
- }
- if (
- newValue &&
- (typeof newValue === 'object' || typeof newValue === 'function')
- ) {
- var then = getThen(newValue);
- if (then === IS_ERROR) {
- return reject(self, LAST_ERROR);
- }
- if (
- then === self.then &&
- newValue instanceof Promise
- ) {
- self._state = 3;
- self._value = newValue;
- finale(self);
- return;
- } else if (typeof then === 'function') {
- doResolve(then.bind(newValue), self);
- return;
- }
- }
- self._state = 1;
- self._value = newValue;
- finale(self);
-}
-
-function reject(self, newValue) {
- self._state = 2;
- self._value = newValue;
- if (Promise._onReject) {
- Promise._onReject(self, newValue);
- }
- finale(self);
-}
-function finale(self) {
- if (self._deferredState === 1) {
- handle(self, self._deferreds);
- self._deferreds = null;
- }
- if (self._deferredState === 2) {
- for (var i = 0; i < self._deferreds.length; i++) {
- handle(self, self._deferreds[i]);
- }
- self._deferreds = null;
- }
-}
-
-function Handler(onFulfilled, onRejected, promise){
- this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;
- this.onRejected = typeof onRejected === 'function' ? onRejected : null;
- this.promise = promise;
-}
-
-/**
- * Take a potentially misbehaving resolver function and make sure
- * onFulfilled and onRejected are only called once.
- *
- * Makes no guarantees about asynchrony.
- */
-function doResolve(fn, promise) {
- var done = false;
- var res = tryCallTwo(fn, function (value) {
- if (done) return;
- done = true;
- resolve(promise, value);
- }, function (reason) {
- if (done) return;
- done = true;
- reject(promise, reason);
- })
- if (!done && res === IS_ERROR) {
- done = true;
- reject(promise, LAST_ERROR);
- }
-}
diff --git a/node_modules/express-handlebars/node_modules/promise/src/done.js b/node_modules/express-handlebars/node_modules/promise/src/done.js
deleted file mode 100644
index f879317..0000000
--- a/node_modules/express-handlebars/node_modules/promise/src/done.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-Promise.prototype.done = function (onFulfilled, onRejected) {
- var self = arguments.length ? this.then.apply(this, arguments) : this;
- self.then(null, function (err) {
- setTimeout(function () {
- throw err;
- }, 0);
- });
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/src/es6-extensions.js b/node_modules/express-handlebars/node_modules/promise/src/es6-extensions.js
deleted file mode 100644
index 0435813..0000000
--- a/node_modules/express-handlebars/node_modules/promise/src/es6-extensions.js
+++ /dev/null
@@ -1,107 +0,0 @@
-'use strict';
-
-//This file contains the ES6 extensions to the core Promises/A+ API
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-
-/* Static Functions */
-
-var TRUE = valuePromise(true);
-var FALSE = valuePromise(false);
-var NULL = valuePromise(null);
-var UNDEFINED = valuePromise(undefined);
-var ZERO = valuePromise(0);
-var EMPTYSTRING = valuePromise('');
-
-function valuePromise(value) {
- var p = new Promise(Promise._noop);
- p._state = 1;
- p._value = value;
- return p;
-}
-Promise.resolve = function (value) {
- if (value instanceof Promise) return value;
-
- if (value === null) return NULL;
- if (value === undefined) return UNDEFINED;
- if (value === true) return TRUE;
- if (value === false) return FALSE;
- if (value === 0) return ZERO;
- if (value === '') return EMPTYSTRING;
-
- if (typeof value === 'object' || typeof value === 'function') {
- try {
- var then = value.then;
- if (typeof then === 'function') {
- return new Promise(then.bind(value));
- }
- } catch (ex) {
- return new Promise(function (resolve, reject) {
- reject(ex);
- });
- }
- }
- return valuePromise(value);
-};
-
-Promise.all = function (arr) {
- var args = Array.prototype.slice.call(arr);
-
- return new Promise(function (resolve, reject) {
- if (args.length === 0) return resolve([]);
- var remaining = args.length;
- function res(i, val) {
- if (val && (typeof val === 'object' || typeof val === 'function')) {
- if (val instanceof Promise && val.then === Promise.prototype.then) {
- while (val._state === 3) {
- val = val._value;
- }
- if (val._state === 1) return res(i, val._value);
- if (val._state === 2) reject(val._value);
- val.then(function (val) {
- res(i, val);
- }, reject);
- return;
- } else {
- var then = val.then;
- if (typeof then === 'function') {
- var p = new Promise(then.bind(val));
- p.then(function (val) {
- res(i, val);
- }, reject);
- return;
- }
- }
- }
- args[i] = val;
- if (--remaining === 0) {
- resolve(args);
- }
- }
- for (var i = 0; i < args.length; i++) {
- res(i, args[i]);
- }
- });
-};
-
-Promise.reject = function (value) {
- return new Promise(function (resolve, reject) {
- reject(value);
- });
-};
-
-Promise.race = function (values) {
- return new Promise(function (resolve, reject) {
- values.forEach(function(value){
- Promise.resolve(value).then(resolve, reject);
- });
- });
-};
-
-/* Prototype Methods */
-
-Promise.prototype['catch'] = function (onRejected) {
- return this.then(null, onRejected);
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/src/finally.js b/node_modules/express-handlebars/node_modules/promise/src/finally.js
deleted file mode 100644
index f5ee0b9..0000000
--- a/node_modules/express-handlebars/node_modules/promise/src/finally.js
+++ /dev/null
@@ -1,16 +0,0 @@
-'use strict';
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-Promise.prototype['finally'] = function (f) {
- return this.then(function (value) {
- return Promise.resolve(f()).then(function () {
- return value;
- });
- }, function (err) {
- return Promise.resolve(f()).then(function () {
- throw err;
- });
- });
-};
diff --git a/node_modules/express-handlebars/node_modules/promise/src/index.js b/node_modules/express-handlebars/node_modules/promise/src/index.js
deleted file mode 100644
index 6e674f3..0000000
--- a/node_modules/express-handlebars/node_modules/promise/src/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-'use strict';
-
-module.exports = require('./core.js');
-require('./done.js');
-require('./finally.js');
-require('./es6-extensions.js');
-require('./node-extensions.js');
-require('./synchronous.js');
diff --git a/node_modules/express-handlebars/node_modules/promise/src/node-extensions.js b/node_modules/express-handlebars/node_modules/promise/src/node-extensions.js
deleted file mode 100644
index 890ae45..0000000
--- a/node_modules/express-handlebars/node_modules/promise/src/node-extensions.js
+++ /dev/null
@@ -1,130 +0,0 @@
-'use strict';
-
-// This file contains then/promise specific extensions that are only useful
-// for node.js interop
-
-var Promise = require('./core.js');
-var asap = require('asap');
-
-module.exports = Promise;
-
-/* Static Functions */
-
-Promise.denodeify = function (fn, argumentCount) {
- if (
- typeof argumentCount === 'number' && argumentCount !== Infinity
- ) {
- return denodeifyWithCount(fn, argumentCount);
- } else {
- return denodeifyWithoutCount(fn);
- }
-}
-
-var callbackFn = (
- 'function (err, res) {' +
- 'if (err) { rj(err); } else { rs(res); }' +
- '}'
-);
-function denodeifyWithCount(fn, argumentCount) {
- var args = [];
- for (var i = 0; i < argumentCount; i++) {
- args.push('a' + i);
- }
- var body = [
- 'return function (' + args.join(',') + ') {',
- 'var self = this;',
- 'return new Promise(function (rs, rj) {',
- 'var res = fn.call(',
- ['self'].concat(args).concat([callbackFn]).join(','),
- ');',
- 'if (res &&',
- '(typeof res === "object" || typeof res === "function") &&',
- 'typeof res.then === "function"',
- ') {rs(res);}',
- '});',
- '};'
- ].join('');
- return Function(['Promise', 'fn'], body)(Promise, fn);
-}
-function denodeifyWithoutCount(fn) {
- var fnLength = Math.max(fn.length - 1, 3);
- var args = [];
- for (var i = 0; i < fnLength; i++) {
- args.push('a' + i);
- }
- var body = [
- 'return function (' + args.join(',') + ') {',
- 'var self = this;',
- 'var args;',
- 'var argLength = arguments.length;',
- 'if (arguments.length > ' + fnLength + ') {',
- 'args = new Array(arguments.length + 1);',
- 'for (var i = 0; i < arguments.length; i++) {',
- 'args[i] = arguments[i];',
- '}',
- '}',
- 'return new Promise(function (rs, rj) {',
- 'var cb = ' + callbackFn + ';',
- 'var res;',
- 'switch (argLength) {',
- args.concat(['extra']).map(function (_, index) {
- return (
- 'case ' + (index) + ':' +
- 'res = fn.call(' + ['self'].concat(args.slice(0, index)).concat('cb').join(',') + ');' +
- 'break;'
- );
- }).join(''),
- 'default:',
- 'args[argLength] = cb;',
- 'res = fn.apply(self, args);',
- '}',
-
- 'if (res &&',
- '(typeof res === "object" || typeof res === "function") &&',
- 'typeof res.then === "function"',
- ') {rs(res);}',
- '});',
- '};'
- ].join('');
-
- return Function(
- ['Promise', 'fn'],
- body
- )(Promise, fn);
-}
-
-Promise.nodeify = function (fn) {
- return function () {
- var args = Array.prototype.slice.call(arguments);
- var callback =
- typeof args[args.length - 1] === 'function' ? args.pop() : null;
- var ctx = this;
- try {
- return fn.apply(this, arguments).nodeify(callback, ctx);
- } catch (ex) {
- if (callback === null || typeof callback == 'undefined') {
- return new Promise(function (resolve, reject) {
- reject(ex);
- });
- } else {
- asap(function () {
- callback.call(ctx, ex);
- })
- }
- }
- }
-}
-
-Promise.prototype.nodeify = function (callback, ctx) {
- if (typeof callback != 'function') return this;
-
- this.then(function (value) {
- asap(function () {
- callback.call(ctx, null, value);
- });
- }, function (err) {
- asap(function () {
- callback.call(ctx, err);
- });
- });
-}
diff --git a/node_modules/express-handlebars/node_modules/promise/src/rejection-tracking.js b/node_modules/express-handlebars/node_modules/promise/src/rejection-tracking.js
deleted file mode 100644
index 33a59a1..0000000
--- a/node_modules/express-handlebars/node_modules/promise/src/rejection-tracking.js
+++ /dev/null
@@ -1,113 +0,0 @@
-'use strict';
-
-var Promise = require('./core');
-
-var DEFAULT_WHITELIST = [
- ReferenceError,
- TypeError,
- RangeError
-];
-
-var enabled = false;
-exports.disable = disable;
-function disable() {
- enabled = false;
- Promise._onHandle = null;
- Promise._onReject = null;
-}
-
-exports.enable = enable;
-function enable(options) {
- options = options || {};
- if (enabled) disable();
- enabled = true;
- var id = 0;
- var displayId = 0;
- var rejections = {};
- Promise._onHandle = function (promise) {
- if (
- promise._state === 2 && // IS REJECTED
- rejections[promise._rejectionId]
- ) {
- if (rejections[promise._rejectionId].logged) {
- onHandled(promise._rejectionId);
- } else {
- clearTimeout(rejections[promise._rejectionId].timeout);
- }
- delete rejections[promise._rejectionId];
- }
- };
- Promise._onReject = function (promise, err) {
- if (promise._deferredState === 0) { // not yet handled
- promise._rejectionId = id++;
- rejections[promise._rejectionId] = {
- displayId: null,
- error: err,
- timeout: setTimeout(
- onUnhandled.bind(null, promise._rejectionId),
- // For reference errors and type errors, this almost always
- // means the programmer made a mistake, so log them after just
- // 100ms
- // otherwise, wait 2 seconds to see if they get handled
- matchWhitelist(err, DEFAULT_WHITELIST)
- ? 100
- : 2000
- ),
- logged: false
- };
- }
- };
- function onUnhandled(id) {
- if (
- options.allRejections ||
- matchWhitelist(
- rejections[id].error,
- options.whitelist || DEFAULT_WHITELIST
- )
- ) {
- rejections[id].displayId = displayId++;
- if (options.onUnhandled) {
- rejections[id].logged = true;
- options.onUnhandled(
- rejections[id].displayId,
- rejections[id].error
- );
- } else {
- rejections[id].logged = true;
- logError(
- rejections[id].displayId,
- rejections[id].error
- );
- }
- }
- }
- function onHandled(id) {
- if (rejections[id].logged) {
- if (options.onHandled) {
- options.onHandled(rejections[id].displayId, rejections[id].error);
- } else if (!rejections[id].onUnhandled) {
- console.warn(
- 'Promise Rejection Handled (id: ' + rejections[id].displayId + '):'
- );
- console.warn(
- ' This means you can ignore any previous messages of the form "Possible Unhandled Promise Rejection" with id ' +
- rejections[id].displayId + '.'
- );
- }
- }
- }
-}
-
-function logError(id, error) {
- console.warn('Possible Unhandled Promise Rejection (id: ' + id + '):');
- var errStr = (error && (error.stack || error)) + '';
- errStr.split('\n').forEach(function (line) {
- console.warn(' ' + line);
- });
-}
-
-function matchWhitelist(error, list) {
- return list.some(function (cls) {
- return error instanceof cls;
- });
-} \ No newline at end of file
diff --git a/node_modules/express-handlebars/node_modules/promise/src/synchronous.js b/node_modules/express-handlebars/node_modules/promise/src/synchronous.js
deleted file mode 100644
index 38b228f..0000000
--- a/node_modules/express-handlebars/node_modules/promise/src/synchronous.js
+++ /dev/null
@@ -1,62 +0,0 @@
-'use strict';
-
-var Promise = require('./core.js');
-
-module.exports = Promise;
-Promise.enableSynchronous = function () {
- Promise.prototype.isPending = function() {
- return this.getState() == 0;
- };
-
- Promise.prototype.isFulfilled = function() {
- return this.getState() == 1;
- };
-
- Promise.prototype.isRejected = function() {
- return this.getState() == 2;
- };
-
- Promise.prototype.getValue = function () {
- if (this._state === 3) {
- return this._value.getValue();
- }
-
- if (!this.isFulfilled()) {
- throw new Error('Cannot get a value of an unfulfilled promise.');
- }
-
- return this._value;
- };
-
- Promise.prototype.getReason = function () {
- if (this._state === 3) {
- return this._value.getReason();
- }
-
- if (!this.isRejected()) {
- throw new Error('Cannot get a rejection reason of a non-rejected promise.');
- }
-
- return this._value;
- };
-
- Promise.prototype.getState = function () {
- if (this._state === 3) {
- return this._value.getState();
- }
- if (this._state === -1 || this._state === -2) {
- return 0;
- }
-
- return this._state;
- };
-};
-
-Promise.disableSynchronous = function() {
- Promise.prototype.isPending = undefined;
- Promise.prototype.isFulfilled = undefined;
- Promise.prototype.isRejected = undefined;
- Promise.prototype.getValue = undefined;
- Promise.prototype.getReason = undefined;
- Promise.prototype.getState = undefined;
-};
diff --git a/node_modules/express-handlebars/package.json b/node_modules/express-handlebars/package.json
index bf96b49..e628fa6 100644
--- a/node_modules/express-handlebars/package.json
+++ b/node_modules/express-handlebars/package.json
@@ -46,7 +46,7 @@
"gitHead": "a7076983c39916a6525c244a8e3a39638759a318",
"_id": "express-handlebars@3.0.0",
"_shasum": "80a070bb819b09e4af2ca6d0780f75ce05e75c2f",
- "_from": "express-handlebars@latest",
+ "_from": "express-handlebars@>=3.0.0 <4.0.0",
"_npmVersion": "1.4.29",
"_npmUser": {
"name": "sahat",
@@ -66,5 +66,6 @@
"shasum": "80a070bb819b09e4af2ca6d0780f75ce05e75c2f",
"tarball": "https://registry.npmjs.org/express-handlebars/-/express-handlebars-3.0.0.tgz"
},
- "_resolved": "https://registry.npmjs.org/express-handlebars/-/express-handlebars-3.0.0.tgz"
+ "_resolved": "https://registry.npmjs.org/express-handlebars/-/express-handlebars-3.0.0.tgz",
+ "readme": "ERROR: No README data found!"
}