From f26322ae4ad219ea08da2256e205dc60152ace53 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Fri, 30 Oct 2015 07:21:06 -0600 Subject: [PATCH 1/3] Remove node_modules --- node_modules/async/LICENSE | 19 - node_modules/async/lib/async.js | 1216 ---- node_modules/async/package.json | 105 - node_modules/bluebird/LICENSE | 21 - node_modules/bluebird/js/main/any.js | 21 - node_modules/bluebird/js/main/assert.js | 55 - node_modules/bluebird/js/main/async.js | 150 - node_modules/bluebird/js/main/bind.js | 72 - node_modules/bluebird/js/main/bluebird.js | 11 - node_modules/bluebird/js/main/call_get.js | 123 - node_modules/bluebird/js/main/cancel.js | 48 - .../bluebird/js/main/captured_trace.js | 493 -- node_modules/bluebird/js/main/catch_filter.js | 66 - node_modules/bluebird/js/main/context.js | 38 - .../bluebird/js/main/debuggability.js | 160 - .../bluebird/js/main/direct_resolve.js | 61 - node_modules/bluebird/js/main/each.js | 12 - node_modules/bluebird/js/main/errors.js | 111 - node_modules/bluebird/js/main/es5.js | 80 - node_modules/bluebird/js/main/filter.js | 12 - node_modules/bluebird/js/main/finally.js | 98 - node_modules/bluebird/js/main/generators.js | 136 - node_modules/bluebird/js/main/join.js | 107 - node_modules/bluebird/js/main/map.js | 133 - node_modules/bluebird/js/main/method.js | 44 - node_modules/bluebird/js/main/nodeify.js | 59 - node_modules/bluebird/js/main/progress.js | 76 - node_modules/bluebird/js/main/promise.js | 750 --- .../bluebird/js/main/promise_array.js | 142 - .../bluebird/js/main/promise_resolver.js | 123 - node_modules/bluebird/js/main/promisify.js | 302 - node_modules/bluebird/js/main/props.js | 79 - node_modules/bluebird/js/main/queue.js | 90 - node_modules/bluebird/js/main/race.js | 47 - node_modules/bluebird/js/main/reduce.js | 148 - node_modules/bluebird/js/main/schedule.js | 35 - node_modules/bluebird/js/main/settle.js | 40 - node_modules/bluebird/js/main/some.js | 125 - .../js/main/synchronous_inspection.js | 94 - node_modules/bluebird/js/main/thenables.js | 84 - node_modules/bluebird/js/main/timers.js | 58 - node_modules/bluebird/js/main/using.js | 202 - node_modules/bluebird/js/main/util.js | 321 - node_modules/bluebird/package.json | 99 - .../buffer-browserify/buffer_ieee754.js | 84 - node_modules/buffer-browserify/index.js | 1127 ---- .../node_modules/base64-js/README.md | 14 - .../node_modules/base64-js/lib/b64.js | 84 - .../node_modules/base64-js/package.json | 45 - node_modules/buffer-browserify/package.json | 74 - node_modules/catharsis/LICENSE | 17 - node_modules/catharsis/catharsis.js | 166 - node_modules/catharsis/lib/describe.js | 531 -- node_modules/catharsis/lib/parser.js | 5702 ----------------- node_modules/catharsis/lib/schema.js | 69 - node_modules/catharsis/lib/stringify.js | 258 - node_modules/catharsis/lib/types.js | 24 - .../node_modules/underscore-contrib/LICENSE | 22 - .../node_modules/underscore-contrib/index.js | 16 - .../underscore-contrib/package.json | 61 - .../underscore.array.builders.js | 197 - .../underscore.array.selectors.js | 117 - .../underscore.collections.walk.js | 196 - .../underscore.function.arity.js | 200 - .../underscore.function.combinators.js | 266 - .../underscore.function.dispatch.js | 33 - .../underscore.function.iterators.js | 334 - .../underscore.function.predicates.js | 112 - .../underscore.object.builders.js | 120 - .../underscore.object.selectors.js | 108 - .../underscore.util.existential.js | 32 - .../underscore.util.operators.js | 164 - .../underscore.util.strings.js | 129 - .../underscore.util.trampolines.js | 39 - node_modules/catharsis/package.json | 41 - node_modules/catharsis/res/en.json | 91 - node_modules/crypto-browserify/index.js | 68 - node_modules/crypto-browserify/package.json | 29 - node_modules/crypto-browserify/rng.js | 37 - node_modules/crypto-browserify/sha.js | 210 - node_modules/escape-string-regexp/index.js | 11 - .../escape-string-regexp/package.json | 70 - node_modules/escape-string-regexp/readme.md | 27 - node_modules/espree/espree.js | 5522 ---------------- node_modules/espree/lib/ast-node-factory.js | 964 --- node_modules/espree/lib/ast-node-types.js | 119 - node_modules/espree/lib/comment-attachment.js | 183 - node_modules/espree/lib/features.js | 117 - node_modules/espree/lib/messages.js | 99 - node_modules/espree/lib/string-map.js | 55 - node_modules/espree/lib/syntax.js | 189 - node_modules/espree/lib/token-info.js | 90 - node_modules/espree/lib/xhtml-entities.js | 293 - node_modules/espree/package.json | 107 - node_modules/js2xmlparser/LICENSE.md | 194 - node_modules/js2xmlparser/lib/js2xmlparser.js | 382 -- node_modules/js2xmlparser/package.json | 57 - node_modules/marked/LICENSE | 19 - node_modules/marked/index.js | 1 - node_modules/marked/lib/marked.js | 1285 ---- node_modules/marked/package.json | 69 - node_modules/strip-json-comments/package.json | 78 - .../strip-json-comments.js | 67 - node_modules/taffydb/README.md | 1 - node_modules/taffydb/package.json | 21 - node_modules/taffydb/taffy-test.html | 84 - node_modules/taffydb/taffy.js | 1973 ------ node_modules/tv4/LICENSE.txt | 8 - node_modules/tv4/README.md | 453 -- node_modules/tv4/lang/de.js | 29 - node_modules/tv4/package.json | 73 - node_modules/tv4/tv4.async-jquery.js | 34 - node_modules/tv4/tv4.js | 1388 ---- node_modules/underscore/LICENSE | 23 - node_modules/underscore/package.json | 69 - node_modules/underscore/underscore.js | 1548 ----- node_modules/url/LICENSE | 21 - .../url/node_modules/punycode/README.md | 176 - .../url/node_modules/punycode/package.json | 80 - .../url/node_modules/punycode/punycode.js | 530 -- node_modules/url/package.json | 52 - node_modules/url/url.js | 707 -- node_modules/wrench/LICENSE | 21 - node_modules/wrench/lib/wrench.js | 531 -- node_modules/wrench/package.json | 43 - 125 files changed, 34946 deletions(-) delete mode 100644 node_modules/async/LICENSE delete mode 100644 node_modules/async/lib/async.js delete mode 100644 node_modules/async/package.json delete mode 100644 node_modules/bluebird/LICENSE delete mode 100644 node_modules/bluebird/js/main/any.js delete mode 100644 node_modules/bluebird/js/main/assert.js delete mode 100644 node_modules/bluebird/js/main/async.js delete mode 100644 node_modules/bluebird/js/main/bind.js delete mode 100644 node_modules/bluebird/js/main/bluebird.js delete mode 100644 node_modules/bluebird/js/main/call_get.js delete mode 100644 node_modules/bluebird/js/main/cancel.js delete mode 100644 node_modules/bluebird/js/main/captured_trace.js delete mode 100644 node_modules/bluebird/js/main/catch_filter.js delete mode 100644 node_modules/bluebird/js/main/context.js delete mode 100644 node_modules/bluebird/js/main/debuggability.js delete mode 100644 node_modules/bluebird/js/main/direct_resolve.js delete mode 100644 node_modules/bluebird/js/main/each.js delete mode 100644 node_modules/bluebird/js/main/errors.js delete mode 100644 node_modules/bluebird/js/main/es5.js delete mode 100644 node_modules/bluebird/js/main/filter.js delete mode 100644 node_modules/bluebird/js/main/finally.js delete mode 100644 node_modules/bluebird/js/main/generators.js delete mode 100644 node_modules/bluebird/js/main/join.js delete mode 100644 node_modules/bluebird/js/main/map.js delete mode 100644 node_modules/bluebird/js/main/method.js delete mode 100644 node_modules/bluebird/js/main/nodeify.js delete mode 100644 node_modules/bluebird/js/main/progress.js delete mode 100644 node_modules/bluebird/js/main/promise.js delete mode 100644 node_modules/bluebird/js/main/promise_array.js delete mode 100644 node_modules/bluebird/js/main/promise_resolver.js delete mode 100644 node_modules/bluebird/js/main/promisify.js delete mode 100644 node_modules/bluebird/js/main/props.js delete mode 100644 node_modules/bluebird/js/main/queue.js delete mode 100644 node_modules/bluebird/js/main/race.js delete mode 100644 node_modules/bluebird/js/main/reduce.js delete mode 100644 node_modules/bluebird/js/main/schedule.js delete mode 100644 node_modules/bluebird/js/main/settle.js delete mode 100644 node_modules/bluebird/js/main/some.js delete mode 100644 node_modules/bluebird/js/main/synchronous_inspection.js delete mode 100644 node_modules/bluebird/js/main/thenables.js delete mode 100644 node_modules/bluebird/js/main/timers.js delete mode 100644 node_modules/bluebird/js/main/using.js delete mode 100644 node_modules/bluebird/js/main/util.js delete mode 100644 node_modules/bluebird/package.json delete mode 100644 node_modules/buffer-browserify/buffer_ieee754.js delete mode 100644 node_modules/buffer-browserify/index.js delete mode 100644 node_modules/buffer-browserify/node_modules/base64-js/README.md delete mode 100644 node_modules/buffer-browserify/node_modules/base64-js/lib/b64.js delete mode 100644 node_modules/buffer-browserify/node_modules/base64-js/package.json delete mode 100644 node_modules/buffer-browserify/package.json delete mode 100644 node_modules/catharsis/LICENSE delete mode 100644 node_modules/catharsis/catharsis.js delete mode 100644 node_modules/catharsis/lib/describe.js delete mode 100644 node_modules/catharsis/lib/parser.js delete mode 100644 node_modules/catharsis/lib/schema.js delete mode 100644 node_modules/catharsis/lib/stringify.js delete mode 100644 node_modules/catharsis/lib/types.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/LICENSE delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/index.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/package.json delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.array.builders.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.array.selectors.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.collections.walk.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.function.arity.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.function.combinators.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.function.dispatch.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.function.iterators.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.function.predicates.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.object.builders.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.object.selectors.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.util.existential.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.util.operators.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.util.strings.js delete mode 100644 node_modules/catharsis/node_modules/underscore-contrib/underscore.util.trampolines.js delete mode 100644 node_modules/catharsis/package.json delete mode 100644 node_modules/catharsis/res/en.json delete mode 100644 node_modules/crypto-browserify/index.js delete mode 100644 node_modules/crypto-browserify/package.json delete mode 100644 node_modules/crypto-browserify/rng.js delete mode 100644 node_modules/crypto-browserify/sha.js delete mode 100644 node_modules/escape-string-regexp/index.js delete mode 100644 node_modules/escape-string-regexp/package.json delete mode 100644 node_modules/escape-string-regexp/readme.md delete mode 100644 node_modules/espree/espree.js delete mode 100644 node_modules/espree/lib/ast-node-factory.js delete mode 100644 node_modules/espree/lib/ast-node-types.js delete mode 100644 node_modules/espree/lib/comment-attachment.js delete mode 100644 node_modules/espree/lib/features.js delete mode 100644 node_modules/espree/lib/messages.js delete mode 100644 node_modules/espree/lib/string-map.js delete mode 100644 node_modules/espree/lib/syntax.js delete mode 100644 node_modules/espree/lib/token-info.js delete mode 100644 node_modules/espree/lib/xhtml-entities.js delete mode 100644 node_modules/espree/package.json delete mode 100644 node_modules/js2xmlparser/LICENSE.md delete mode 100644 node_modules/js2xmlparser/lib/js2xmlparser.js delete mode 100644 node_modules/js2xmlparser/package.json delete mode 100644 node_modules/marked/LICENSE delete mode 100644 node_modules/marked/index.js delete mode 100644 node_modules/marked/lib/marked.js delete mode 100644 node_modules/marked/package.json delete mode 100644 node_modules/strip-json-comments/package.json delete mode 100644 node_modules/strip-json-comments/strip-json-comments.js delete mode 100644 node_modules/taffydb/README.md delete mode 100644 node_modules/taffydb/package.json delete mode 100644 node_modules/taffydb/taffy-test.html delete mode 100644 node_modules/taffydb/taffy.js delete mode 100644 node_modules/tv4/LICENSE.txt delete mode 100644 node_modules/tv4/README.md delete mode 100644 node_modules/tv4/lang/de.js delete mode 100644 node_modules/tv4/package.json delete mode 100644 node_modules/tv4/tv4.async-jquery.js delete mode 100644 node_modules/tv4/tv4.js delete mode 100644 node_modules/underscore/LICENSE delete mode 100644 node_modules/underscore/package.json delete mode 100644 node_modules/underscore/underscore.js delete mode 100644 node_modules/url/LICENSE delete mode 100644 node_modules/url/node_modules/punycode/README.md delete mode 100644 node_modules/url/node_modules/punycode/package.json delete mode 100644 node_modules/url/node_modules/punycode/punycode.js delete mode 100644 node_modules/url/package.json delete mode 100644 node_modules/url/url.js delete mode 100644 node_modules/wrench/LICENSE delete mode 100644 node_modules/wrench/lib/wrench.js delete mode 100644 node_modules/wrench/package.json diff --git a/node_modules/async/LICENSE b/node_modules/async/LICENSE deleted file mode 100644 index 8f296985..00000000 --- a/node_modules/async/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2010-2014 Caolan McMahon - -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/async/lib/async.js b/node_modules/async/lib/async.js deleted file mode 100644 index f3cfb807..00000000 --- a/node_modules/async/lib/async.js +++ /dev/null @@ -1,1216 +0,0 @@ -/*! - * async - * https://github.com/caolan/async - * - * Copyright 2010-2014 Caolan McMahon - * Released under the MIT license - */ -(function () { - - var async = {}; - function noop() {} - function identity(v) { - return v; - } - function toBool(v) { - return !!v; - } - function notId(v) { - return !v; - } - - // global on the server, window in the browser - var previous_async; - - // Establish the root object, `window` (`self`) in the browser, `global` - // on the server, or `this` in some virtual machines. We use `self` - // instead of `window` for `WebWorker` support. - var root = typeof self === 'object' && self.self === self && self || - typeof global === 'object' && global.global === global && global || - this; - - if (root != null) { - previous_async = root.async; - } - - async.noConflict = function () { - root.async = previous_async; - return async; - }; - - function only_once(fn) { - return function() { - if (fn === null) throw new Error("Callback was already called."); - fn.apply(this, arguments); - fn = null; - }; - } - - function _once(fn) { - return function() { - if (fn === null) return; - fn.apply(this, arguments); - fn = null; - }; - } - - //// cross-browser compatiblity functions //// - - var _toString = Object.prototype.toString; - - var _isArray = Array.isArray || function (obj) { - return _toString.call(obj) === '[object Array]'; - }; - - function _isArrayLike(arr) { - return _isArray(arr) || ( - // has a positive integer length property - typeof arr.length === "number" && - arr.length >= 0 && - arr.length % 1 === 0 - ); - } - - function _each(coll, iterator) { - return _isArrayLike(coll) ? - _arrayEach(coll, iterator) : - _forEachOf(coll, iterator); - } - - function _arrayEach(arr, iterator) { - var index = -1, - length = arr.length; - - while (++index < length) { - iterator(arr[index], index, arr); - } - } - - function _map(arr, iterator) { - var index = -1, - length = arr.length, - result = Array(length); - - while (++index < length) { - result[index] = iterator(arr[index], index, arr); - } - return result; - } - - function _range(count) { - return _map(Array(count), function (v, i) { return i; }); - } - - function _reduce(arr, iterator, memo) { - _arrayEach(arr, function (x, i, a) { - memo = iterator(memo, x, i, a); - }); - return memo; - } - - function _forEachOf(object, iterator) { - _arrayEach(_keys(object), function (key) { - iterator(object[key], key); - }); - } - - function _indexOf(arr, item) { - for (var i = 0; i < arr.length; i++) { - if (arr[i] === item) return i; - } - return -1; - } - - var _keys = Object.keys || function (obj) { - var keys = []; - for (var k in obj) { - if (obj.hasOwnProperty(k)) { - keys.push(k); - } - } - return keys; - }; - - function _keyIterator(coll) { - var i = -1; - var len; - var keys; - if (_isArrayLike(coll)) { - len = coll.length; - return function next() { - i++; - return i < len ? i : null; - }; - } else { - keys = _keys(coll); - len = keys.length; - return function next() { - i++; - return i < len ? keys[i] : null; - }; - } - } - - // Similar to ES6's rest param (http://ariya.ofilabs.com/2013/03/es6-and-rest-parameter.html) - // This accumulates the arguments passed into an array, after a given index. - // From underscore.js (https://github.com/jashkenas/underscore/pull/2140). - function _restParam(func, startIndex) { - startIndex = startIndex == null ? func.length - 1 : +startIndex; - return function() { - var length = Math.max(arguments.length - startIndex, 0); - var rest = Array(length); - for (var index = 0; index < length; index++) { - rest[index] = arguments[index + startIndex]; - } - switch (startIndex) { - case 0: return func.call(this, rest); - case 1: return func.call(this, arguments[0], rest); - case 2: return func.call(this, arguments[0], arguments[1], rest); - } - // Currently unused but handle cases outside of the switch statement: - // var args = Array(startIndex + 1); - // for (index = 0; index < startIndex; index++) { - // args[index] = arguments[index]; - // } - // args[startIndex] = rest; - // return func.apply(this, args); - }; - } - - function _withoutIndex(iterator) { - return function (value, index, callback) { - return iterator(value, callback); - }; - } - - //// exported async module functions //// - - //// nextTick implementation with browser-compatible fallback //// - - // capture the global reference to guard against fakeTimer mocks - var _setImmediate = typeof setImmediate === 'function' && setImmediate; - - var _delay = _setImmediate ? function(fn) { - // not a direct alias for IE10 compatibility - _setImmediate(fn); - } : function(fn) { - setTimeout(fn, 0); - }; - - if (typeof process === 'object' && typeof process.nextTick === 'function') { - async.nextTick = process.nextTick; - } else { - async.nextTick = _delay; - } - async.setImmediate = _setImmediate ? _delay : async.nextTick; - - - async.forEach = - async.each = function (arr, iterator, callback) { - return async.eachOf(arr, _withoutIndex(iterator), callback); - }; - - async.forEachSeries = - async.eachSeries = function (arr, iterator, callback) { - return async.eachOfSeries(arr, _withoutIndex(iterator), callback); - }; - - - async.forEachLimit = - async.eachLimit = function (arr, limit, iterator, callback) { - return _eachOfLimit(limit)(arr, _withoutIndex(iterator), callback); - }; - - async.forEachOf = - async.eachOf = function (object, iterator, callback) { - callback = _once(callback || noop); - object = object || []; - var size = _isArrayLike(object) ? object.length : _keys(object).length; - var completed = 0; - if (!size) { - return callback(null); - } - _each(object, function (value, key) { - iterator(object[key], key, only_once(done)); - }); - function done(err) { - if (err) { - callback(err); - } - else { - completed += 1; - if (completed >= size) { - callback(null); - } - } - } - }; - - async.forEachOfSeries = - async.eachOfSeries = function (obj, iterator, callback) { - callback = _once(callback || noop); - obj = obj || []; - var nextKey = _keyIterator(obj); - var key = nextKey(); - function iterate() { - var sync = true; - if (key === null) { - return callback(null); - } - iterator(obj[key], key, only_once(function (err) { - if (err) { - callback(err); - } - else { - key = nextKey(); - if (key === null) { - return callback(null); - } else { - if (sync) { - async.nextTick(iterate); - } else { - iterate(); - } - } - } - })); - sync = false; - } - iterate(); - }; - - - - async.forEachOfLimit = - async.eachOfLimit = function (obj, limit, iterator, callback) { - _eachOfLimit(limit)(obj, iterator, callback); - }; - - function _eachOfLimit(limit) { - - return function (obj, iterator, callback) { - callback = _once(callback || noop); - obj = obj || []; - var nextKey = _keyIterator(obj); - if (limit <= 0) { - return callback(null); - } - var done = false; - var running = 0; - var errored = false; - - (function replenish () { - if (done && running <= 0) { - return callback(null); - } - - while (running < limit && !errored) { - var key = nextKey(); - if (key === null) { - done = true; - if (running <= 0) { - callback(null); - } - return; - } - running += 1; - iterator(obj[key], key, only_once(function (err) { - running -= 1; - if (err) { - callback(err); - errored = true; - } - else { - replenish(); - } - })); - } - })(); - }; - } - - - function doParallel(fn) { - return function (obj, iterator, callback) { - return fn(async.eachOf, obj, iterator, callback); - }; - } - function doParallelLimit(fn) { - return function (obj, limit, iterator, callback) { - return fn(_eachOfLimit(limit), obj, iterator, callback); - }; - } - function doSeries(fn) { - return function (obj, iterator, callback) { - return fn(async.eachOfSeries, obj, iterator, callback); - }; - } - - function _asyncMap(eachfn, arr, iterator, callback) { - callback = _once(callback || noop); - var results = []; - eachfn(arr, function (value, index, callback) { - iterator(value, function (err, v) { - results[index] = v; - callback(err); - }); - }, function (err) { - callback(err, results); - }); - } - - async.map = doParallel(_asyncMap); - async.mapSeries = doSeries(_asyncMap); - async.mapLimit = doParallelLimit(_asyncMap); - - // reduce only has a series version, as doing reduce in parallel won't - // work in many situations. - async.inject = - async.foldl = - async.reduce = function (arr, memo, iterator, callback) { - async.eachOfSeries(arr, function (x, i, callback) { - iterator(memo, x, function (err, v) { - memo = v; - callback(err); - }); - }, function (err) { - callback(err || null, memo); - }); - }; - - async.foldr = - async.reduceRight = function (arr, memo, iterator, callback) { - var reversed = _map(arr, identity).reverse(); - async.reduce(reversed, memo, iterator, callback); - }; - - function _filter(eachfn, arr, iterator, callback) { - var results = []; - eachfn(arr, function (x, index, callback) { - iterator(x, function (v) { - if (v) { - results.push({index: index, value: x}); - } - callback(); - }); - }, function () { - callback(_map(results.sort(function (a, b) { - return a.index - b.index; - }), function (x) { - return x.value; - })); - }); - } - - async.select = - async.filter = doParallel(_filter); - - async.selectLimit = - async.filterLimit = doParallelLimit(_filter); - - async.selectSeries = - async.filterSeries = doSeries(_filter); - - function _reject(eachfn, arr, iterator, callback) { - _filter(eachfn, arr, function(value, cb) { - iterator(value, function(v) { - cb(!v); - }); - }, callback); - } - async.reject = doParallel(_reject); - async.rejectLimit = doParallelLimit(_reject); - async.rejectSeries = doSeries(_reject); - - function _createTester(eachfn, check, getResult) { - return function(arr, limit, iterator, cb) { - function done() { - if (cb) cb(getResult(false, void 0)); - } - function iteratee(x, _, callback) { - if (!cb) return callback(); - iterator(x, function (v) { - if (cb && check(v)) { - cb(getResult(true, x)); - cb = iterator = false; - } - callback(); - }); - } - if (arguments.length > 3) { - eachfn(arr, limit, iteratee, done); - } else { - cb = iterator; - iterator = limit; - eachfn(arr, iteratee, done); - } - }; - } - - async.any = - async.some = _createTester(async.eachOf, toBool, identity); - - async.someLimit = _createTester(async.eachOfLimit, toBool, identity); - - async.all = - async.every = _createTester(async.eachOf, notId, notId); - - async.everyLimit = _createTester(async.eachOfLimit, notId, notId); - - function _findGetResult(v, x) { - return x; - } - async.detect = _createTester(async.eachOf, identity, _findGetResult); - async.detectSeries = _createTester(async.eachOfSeries, identity, _findGetResult); - - async.sortBy = function (arr, iterator, callback) { - async.map(arr, function (x, callback) { - iterator(x, function (err, criteria) { - if (err) { - callback(err); - } - else { - callback(null, {value: x, criteria: criteria}); - } - }); - }, function (err, results) { - if (err) { - return callback(err); - } - else { - callback(null, _map(results.sort(comparator), function (x) { - return x.value; - })); - } - - }); - - function comparator(left, right) { - var a = left.criteria, b = right.criteria; - return a < b ? -1 : a > b ? 1 : 0; - } - }; - - async.auto = function (tasks, callback) { - callback = _once(callback || noop); - var keys = _keys(tasks); - var remainingTasks = keys.length; - if (!remainingTasks) { - return callback(null); - } - - var results = {}; - - var listeners = []; - function addListener(fn) { - listeners.unshift(fn); - } - function removeListener(fn) { - var idx = _indexOf(listeners, fn); - if (idx >= 0) listeners.splice(idx, 1); - } - function taskComplete() { - remainingTasks--; - _arrayEach(listeners.slice(0), function (fn) { - fn(); - }); - } - - addListener(function () { - if (!remainingTasks) { - callback(null, results); - } - }); - - _arrayEach(keys, function (k) { - var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]]; - var taskCallback = _restParam(function(err, args) { - if (args.length <= 1) { - args = args[0]; - } - if (err) { - var safeResults = {}; - _forEachOf(results, function(val, rkey) { - safeResults[rkey] = val; - }); - safeResults[k] = args; - callback(err, safeResults); - } - else { - results[k] = args; - async.setImmediate(taskComplete); - } - }); - var requires = task.slice(0, task.length - 1); - // prevent dead-locks - var len = requires.length; - var dep; - while (len--) { - if (!(dep = tasks[requires[len]])) { - throw new Error('Has inexistant dependency'); - } - if (_isArray(dep) && _indexOf(dep, k) >= 0) { - throw new Error('Has cyclic dependencies'); - } - } - function ready() { - return _reduce(requires, function (a, x) { - return (a && results.hasOwnProperty(x)); - }, true) && !results.hasOwnProperty(k); - } - if (ready()) { - task[task.length - 1](taskCallback, results); - } - else { - addListener(listener); - } - function listener() { - if (ready()) { - removeListener(listener); - task[task.length - 1](taskCallback, results); - } - } - }); - }; - - - - async.retry = function(times, task, callback) { - var DEFAULT_TIMES = 5; - var DEFAULT_INTERVAL = 0; - - var attempts = []; - - var opts = { - times: DEFAULT_TIMES, - interval: DEFAULT_INTERVAL - }; - - function parseTimes(acc, t){ - if(typeof t === 'number'){ - acc.times = parseInt(t, 10) || DEFAULT_TIMES; - } else if(typeof t === 'object'){ - acc.times = parseInt(t.times, 10) || DEFAULT_TIMES; - acc.interval = parseInt(t.interval, 10) || DEFAULT_INTERVAL; - } else { - throw new Error('Unsupported argument type for \'times\': ' + typeof(t)); - } - } - - var length = arguments.length; - if (length < 1 || length > 3) { - throw new Error('Invalid arguments - must be either (task), (task, callback), (times, task) or (times, task, callback)'); - } else if (length <= 2 && typeof times === 'function') { - callback = task; - task = times; - } - if (typeof times !== 'function') { - parseTimes(opts, times); - } - opts.callback = callback; - opts.task = task; - - function wrappedTask(wrappedCallback, wrappedResults) { - function retryAttempt(task, finalAttempt) { - return function(seriesCallback) { - task(function(err, result){ - seriesCallback(!err || finalAttempt, {err: err, result: result}); - }, wrappedResults); - }; - } - - function retryInterval(interval){ - return function(seriesCallback){ - setTimeout(function(){ - seriesCallback(null); - }, interval); - }; - } - - while (opts.times) { - - var finalAttempt = !(opts.times-=1); - attempts.push(retryAttempt(opts.task, finalAttempt)); - if(!finalAttempt && opts.interval > 0){ - attempts.push(retryInterval(opts.interval)); - } - } - - async.series(attempts, function(done, data){ - data = data[data.length - 1]; - (wrappedCallback || opts.callback)(data.err, data.result); - }); - } - - // If a callback is passed, run this as a controll flow - return opts.callback ? wrappedTask() : wrappedTask; - }; - - async.waterfall = function (tasks, callback) { - callback = _once(callback || noop); - if (!_isArray(tasks)) { - var err = new Error('First argument to waterfall must be an array of functions'); - return callback(err); - } - if (!tasks.length) { - return callback(); - } - function wrapIterator(iterator) { - return _restParam(function (err, args) { - if (err) { - callback.apply(null, [err].concat(args)); - } - else { - var next = iterator.next(); - if (next) { - args.push(wrapIterator(next)); - } - else { - args.push(callback); - } - ensureAsync(iterator).apply(null, args); - } - }); - } - wrapIterator(async.iterator(tasks))(); - }; - - function _parallel(eachfn, tasks, callback) { - callback = callback || noop; - var results = _isArrayLike(tasks) ? [] : {}; - - eachfn(tasks, function (task, key, callback) { - task(_restParam(function (err, args) { - if (args.length <= 1) { - args = args[0]; - } - results[key] = args; - callback(err); - })); - }, function (err) { - callback(err, results); - }); - } - - async.parallel = function (tasks, callback) { - _parallel(async.eachOf, tasks, callback); - }; - - async.parallelLimit = function(tasks, limit, callback) { - _parallel(_eachOfLimit(limit), tasks, callback); - }; - - async.series = function(tasks, callback) { - _parallel(async.eachOfSeries, tasks, callback); - }; - - async.iterator = function (tasks) { - function makeCallback(index) { - function fn() { - if (tasks.length) { - tasks[index].apply(null, arguments); - } - return fn.next(); - } - fn.next = function () { - return (index < tasks.length - 1) ? makeCallback(index + 1): null; - }; - return fn; - } - return makeCallback(0); - }; - - async.apply = _restParam(function (fn, args) { - return _restParam(function (callArgs) { - return fn.apply( - null, args.concat(callArgs) - ); - }); - }); - - function _concat(eachfn, arr, fn, callback) { - var result = []; - eachfn(arr, function (x, index, cb) { - fn(x, function (err, y) { - result = result.concat(y || []); - cb(err); - }); - }, function (err) { - callback(err, result); - }); - } - async.concat = doParallel(_concat); - async.concatSeries = doSeries(_concat); - - async.whilst = function (test, iterator, callback) { - callback = callback || noop; - if (test()) { - var next = _restParam(function(err, args) { - if (err) { - callback(err); - } else if (test.apply(this, args)) { - iterator(next); - } else { - callback(null); - } - }); - iterator(next); - } else { - callback(null); - } - }; - - async.doWhilst = function (iterator, test, callback) { - var calls = 0; - return async.whilst(function() { - return ++calls <= 1 || test.apply(this, arguments); - }, iterator, callback); - }; - - async.until = function (test, iterator, callback) { - return async.whilst(function() { - return !test.apply(this, arguments); - }, iterator, callback); - }; - - async.doUntil = function (iterator, test, callback) { - return async.doWhilst(iterator, function() { - return !test.apply(this, arguments); - }, callback); - }; - - async.during = function (test, iterator, callback) { - callback = callback || noop; - - var next = _restParam(function(err, args) { - if (err) { - callback(err); - } else { - args.push(check); - test.apply(this, args); - } - }); - - var check = function(err, truth) { - if (err) { - callback(err); - } else if (truth) { - iterator(next); - } else { - callback(null); - } - }; - - test(check); - }; - - async.doDuring = function (iterator, test, callback) { - var calls = 0; - async.during(function(next) { - if (calls++ < 1) { - next(null, true); - } else { - test.apply(this, arguments); - } - }, iterator, callback); - }; - - function _queue(worker, concurrency, payload) { - if (concurrency == null) { - concurrency = 1; - } - else if(concurrency === 0) { - throw new Error('Concurrency must not be zero'); - } - function _insert(q, data, pos, callback) { - if (callback != null && typeof callback !== "function") { - throw new Error("task callback must be a function"); - } - q.started = true; - if (!_isArray(data)) { - data = [data]; - } - if(data.length === 0 && q.idle()) { - // call drain immediately if there are no tasks - return async.setImmediate(function() { - q.drain(); - }); - } - _arrayEach(data, function(task) { - var item = { - data: task, - callback: callback || noop - }; - - if (pos) { - q.tasks.unshift(item); - } else { - q.tasks.push(item); - } - - if (q.tasks.length === q.concurrency) { - q.saturated(); - } - }); - async.setImmediate(q.process); - } - function _next(q, tasks) { - return function(){ - workers -= 1; - var args = arguments; - _arrayEach(tasks, function (task) { - task.callback.apply(task, args); - }); - if (q.tasks.length + workers === 0) { - q.drain(); - } - q.process(); - }; - } - - var workers = 0; - var q = { - tasks: [], - concurrency: concurrency, - payload: payload, - saturated: noop, - empty: noop, - drain: noop, - started: false, - paused: false, - push: function (data, callback) { - _insert(q, data, false, callback); - }, - kill: function () { - q.drain = noop; - q.tasks = []; - }, - unshift: function (data, callback) { - _insert(q, data, true, callback); - }, - process: function () { - if (!q.paused && workers < q.concurrency && q.tasks.length) { - while(workers < q.concurrency && q.tasks.length){ - var tasks = q.payload ? - q.tasks.splice(0, q.payload) : - q.tasks.splice(0, q.tasks.length); - - var data = _map(tasks, function (task) { - return task.data; - }); - - if (q.tasks.length === 0) { - q.empty(); - } - workers += 1; - var cb = only_once(_next(q, tasks)); - worker(data, cb); - } - } - }, - length: function () { - return q.tasks.length; - }, - running: function () { - return workers; - }, - idle: function() { - return q.tasks.length + workers === 0; - }, - pause: function () { - q.paused = true; - }, - resume: function () { - if (q.paused === false) { return; } - q.paused = false; - var resumeCount = Math.min(q.concurrency, q.tasks.length); - // Need to call q.process once per concurrent - // worker to preserve full concurrency after pause - for (var w = 1; w <= resumeCount; w++) { - async.setImmediate(q.process); - } - } - }; - return q; - } - - async.queue = function (worker, concurrency) { - var q = _queue(function (items, cb) { - worker(items[0], cb); - }, concurrency, 1); - - return q; - }; - - async.priorityQueue = function (worker, concurrency) { - - function _compareTasks(a, b){ - return a.priority - b.priority; - } - - function _binarySearch(sequence, item, compare) { - var beg = -1, - end = sequence.length - 1; - while (beg < end) { - var mid = beg + ((end - beg + 1) >>> 1); - if (compare(item, sequence[mid]) >= 0) { - beg = mid; - } else { - end = mid - 1; - } - } - return beg; - } - - function _insert(q, data, priority, callback) { - if (callback != null && typeof callback !== "function") { - throw new Error("task callback must be a function"); - } - q.started = true; - if (!_isArray(data)) { - data = [data]; - } - if(data.length === 0) { - // call drain immediately if there are no tasks - return async.setImmediate(function() { - q.drain(); - }); - } - _arrayEach(data, function(task) { - var item = { - data: task, - priority: priority, - callback: typeof callback === 'function' ? callback : noop - }; - - q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item); - - if (q.tasks.length === q.concurrency) { - q.saturated(); - } - async.setImmediate(q.process); - }); - } - - // Start with a normal queue - var q = async.queue(worker, concurrency); - - // Override push to accept second parameter representing priority - q.push = function (data, priority, callback) { - _insert(q, data, priority, callback); - }; - - // Remove unshift function - delete q.unshift; - - return q; - }; - - async.cargo = function (worker, payload) { - return _queue(worker, 1, payload); - }; - - function _console_fn(name) { - return _restParam(function (fn, args) { - fn.apply(null, args.concat([_restParam(function (err, args) { - if (typeof console !== 'undefined') { - if (err) { - if (console.error) { - console.error(err); - } - } - else if (console[name]) { - _arrayEach(args, function (x) { - console[name](x); - }); - } - } - })])); - }); - } - async.log = _console_fn('log'); - async.dir = _console_fn('dir'); - /*async.info = _console_fn('info'); - async.warn = _console_fn('warn'); - async.error = _console_fn('error');*/ - - async.memoize = function (fn, hasher) { - var memo = {}; - var queues = {}; - hasher = hasher || identity; - var memoized = _restParam(function memoized(args) { - var callback = args.pop(); - var key = hasher.apply(null, args); - if (key in memo) { - async.nextTick(function () { - callback.apply(null, memo[key]); - }); - } - else if (key in queues) { - queues[key].push(callback); - } - else { - queues[key] = [callback]; - fn.apply(null, args.concat([_restParam(function (args) { - memo[key] = args; - var q = queues[key]; - delete queues[key]; - for (var i = 0, l = q.length; i < l; i++) { - q[i].apply(null, args); - } - })])); - } - }); - memoized.memo = memo; - memoized.unmemoized = fn; - return memoized; - }; - - async.unmemoize = function (fn) { - return function () { - return (fn.unmemoized || fn).apply(null, arguments); - }; - }; - - function _times(mapper) { - return function (count, iterator, callback) { - mapper(_range(count), iterator, callback); - }; - } - - async.times = _times(async.map); - async.timesSeries = _times(async.mapSeries); - async.timesLimit = function (count, limit, iterator, callback) { - return async.mapLimit(_range(count), limit, iterator, callback); - }; - - async.seq = function (/* functions... */) { - var fns = arguments; - return _restParam(function (args) { - var that = this; - - var callback = args[args.length - 1]; - if (typeof callback == 'function') { - args.pop(); - } else { - callback = noop; - } - - async.reduce(fns, args, function (newargs, fn, cb) { - fn.apply(that, newargs.concat([_restParam(function (err, nextargs) { - cb(err, nextargs); - })])); - }, - function (err, results) { - callback.apply(that, [err].concat(results)); - }); - }); - }; - - async.compose = function (/* functions... */) { - return async.seq.apply(null, Array.prototype.reverse.call(arguments)); - }; - - - function _applyEach(eachfn) { - return _restParam(function(fns, args) { - var go = _restParam(function(args) { - var that = this; - var callback = args.pop(); - return eachfn(fns, function (fn, _, cb) { - fn.apply(that, args.concat([cb])); - }, - callback); - }); - if (args.length) { - return go.apply(this, args); - } - else { - return go; - } - }); - } - - async.applyEach = _applyEach(async.eachOf); - async.applyEachSeries = _applyEach(async.eachOfSeries); - - - async.forever = function (fn, callback) { - var done = only_once(callback || noop); - var task = ensureAsync(fn); - function next(err) { - if (err) { - return done(err); - } - task(next); - } - next(); - }; - - function ensureAsync(fn) { - return _restParam(function (args) { - var callback = args.pop(); - args.push(function () { - var innerArgs = arguments; - if (sync) { - async.setImmediate(function () { - callback.apply(null, innerArgs); - }); - } else { - callback.apply(null, innerArgs); - } - }); - var sync = true; - fn.apply(this, args); - sync = false; - }); - } - - async.ensureAsync = ensureAsync; - - async.constant = _restParam(function(values) { - var args = [null].concat(values); - return function (callback) { - return callback.apply(this, args); - }; - }); - - async.wrapSync = - async.asyncify = function asyncify(func) { - return _restParam(function (args) { - var callback = args.pop(); - var result; - try { - result = func.apply(this, args); - } catch (e) { - return callback(e); - } - // if result is Promise object - if (typeof result !== 'undefined' && typeof result.then === "function") { - result.then(function(value) { - callback(null, value); - }).catch(function(err) { - callback(err.message ? err : new Error(err)); - }); - } else { - callback(null, result); - } - }); - }; - - // Node.js - if (typeof module !== 'undefined' && module.exports) { - module.exports = async; - } - // AMD / RequireJS - else if (typeof define !== 'undefined' && define.amd) { - define([], function () { - return async; - }); - } - // included directly via - - - - -
-Please open your javascript console to see test results -
- - - - diff --git a/node_modules/taffydb/taffy.js b/node_modules/taffydb/taffy.js deleted file mode 100644 index b7ad88cd..00000000 --- a/node_modules/taffydb/taffy.js +++ /dev/null @@ -1,1973 +0,0 @@ -/* - - Software License Agreement (BSD License) - http://taffydb.com - Copyright (c) - All rights reserved. - - - Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following condition is met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - */ - -/*jslint browser : true, continue : true, - devel : true, indent : 2, maxerr : 500, - newcap : true, nomen : true, plusplus : true, - regexp : true, sloppy : true, vars : false, - white : true -*/ - -// BUILD 193d48d, modified by mmikowski to pass jslint - -// Setup TAFFY name space to return an object with methods -var TAFFY, exports, T; -(function () { - 'use strict'; - var - typeList, makeTest, idx, typeKey, - version, TC, idpad, cmax, - API, protectJSON, each, eachin, - isIndexable, returnFilter, runFilters, - numcharsplit, orderByCol, run - ; - - - if ( ! TAFFY ){ - // TC = Counter for Taffy DBs on page, used for unique IDs - // cmax = size of charnumarray conversion cache - // idpad = zeros to pad record IDs with - version = '2.6.2'; // proposed mmikowski 2012-08-06 - TC = 1; - idpad = '000000'; - cmax = 1000; - API = {}; - - protectJSON = function ( t ) { - // **************************************** - // * - // * Takes: a variable - // * Returns: the variable if object/array or the parsed variable if JSON - // * - // **************************************** - if ( TAFFY.isArray( t ) || TAFFY.isObject( t ) ){ - return t; - } - else { - return JSON.parse( t ); - } - }; - - each = function ( a, fun, u ) { - var r, i, x, y; - // **************************************** - // * - // * Takes: - // * a = an object/value or an array of objects/values - // * f = a function - // * u = optional flag to describe how to handle undefined values - // in array of values. True: pass them to the functions, - // False: skip. Default False; - // * Purpose: Used to loop over arrays - // * - // **************************************** - if ( a && ((T.isArray( a ) && a.length === 1) || (!T.isArray( a ))) ){ - fun( (T.isArray( a )) ? a[0] : a, 0 ); - } - else { - for ( r, i, x = 0, a = (T.isArray( a )) ? a : [a], y = a.length; - x < y; x++ ) - { - i = a[x]; - if ( !T.isUndefined( i ) || (u || false) ){ - r = fun( i, x ); - if ( r === T.EXIT ){ - break; - } - - } - } - } - }; - - eachin = function ( o, fun ) { - // **************************************** - // * - // * Takes: - // * o = an object - // * f = a function - // * Purpose: Used to loop over objects - // * - // **************************************** - var x = 0, r, i; - - for ( i in o ){ - if ( o.hasOwnProperty( i ) ){ - r = fun( o[i], i, x++ ); - if ( r === T.EXIT ){ - break; - } - } - } - - }; - - API.extend = function ( m, f ) { - // **************************************** - // * - // * Takes: method name, function - // * Purpose: Add a custom method to the API - // * - // **************************************** - API[m] = function () { - return f.apply( this, arguments ); - }; - }; - - isIndexable = function ( f ) { - var i; - // Check to see if record ID - if ( T.isString( f ) && /[t][0-9]*[r][0-9]*/i.test( f ) ){ - return true; - } - // Check to see if record - if ( T.isObject( f ) && f.___id && f.___s ){ - return true; - } - - // Check to see if array of indexes - if ( T.isArray( f ) ){ - i = true; - each( f, function ( r ) { - if ( !isIndexable( r ) ){ - i = false; - - return TAFFY.EXIT; - } - }); - return i; - } - - return false; - }; - - runFilters = function ( r, filter ) { - // **************************************** - // * - // * Takes: takes a record and a collection of filters - // * Returns: true if the record matches, false otherwise - // **************************************** - var match = true; - - - each( filter, function ( mf ) { - switch ( T.typeOf( mf ) ){ - case 'function': - // run function - if ( !mf.apply( r ) ){ - match = false; - return TAFFY.EXIT; - } - break; - case 'array': - // loop array and treat like a SQL or - match = (mf.length === 1) ? (runFilters( r, mf[0] )) : - (mf.length === 2) ? (runFilters( r, mf[0] ) || - runFilters( r, mf[1] )) : - (mf.length === 3) ? (runFilters( r, mf[0] ) || - runFilters( r, mf[1] ) || runFilters( r, mf[2] )) : - (mf.length === 4) ? (runFilters( r, mf[0] ) || - runFilters( r, mf[1] ) || runFilters( r, mf[2] ) || - runFilters( r, mf[3] )) : false; - if ( mf.length > 4 ){ - each( mf, function ( f ) { - if ( runFilters( r, f ) ){ - match = true; - } - }); - } - break; - } - }); - - return match; - }; - - returnFilter = function ( f ) { - // **************************************** - // * - // * Takes: filter object - // * Returns: a filter function - // * Purpose: Take a filter object and return a function that can be used to compare - // * a TaffyDB record to see if the record matches a query - // **************************************** - var nf = []; - if ( T.isString( f ) && /[t][0-9]*[r][0-9]*/i.test( f ) ){ - f = { ___id : f }; - } - if ( T.isArray( f ) ){ - // if we are working with an array - - each( f, function ( r ) { - // loop the array and return a filter func for each value - nf.push( returnFilter( r ) ); - }); - // now build a func to loop over the filters and return true if ANY of the filters match - // This handles logical OR expressions - f = function () { - var that = this, match = false; - each( nf, function ( f ) { - if ( runFilters( that, f ) ){ - match = true; - } - }); - return match; - }; - return f; - - } - // if we are dealing with an Object - if ( T.isObject( f ) ){ - if ( T.isObject( f ) && f.___id && f.___s ){ - f = { ___id : f.___id }; - } - - // Loop over each value on the object to prep match type and match value - eachin( f, function ( v, i ) { - - // default match type to IS/Equals - if ( !T.isObject( v ) ){ - v = { - 'is' : v - }; - } - // loop over each value on the value object - if any - eachin( v, function ( mtest, s ) { - // s = match type, e.g. is, hasAll, like, etc - var c = [], looper; - - // function to loop and apply filter - looper = (s === 'hasAll') ? - function ( mtest, func ) { - func( mtest ); - } : each; - - // loop over each test - looper( mtest, function ( mtest ) { - - // su = match success - // f = match false - var su = true, f = false, matchFunc; - - - // push a function onto the filter collection to do the matching - matchFunc = function () { - - // get the value from the record - var - mvalue = this[i], - eqeq = '==', - bangeq = '!=', - eqeqeq = '===', - lt = '<', - gt = '>', - lteq = '<=', - gteq = '>=', - bangeqeq = '!==', - r - ; - - - if ( (s.indexOf( '!' ) === 0) && s !== bangeq && - s !== bangeqeq ) - { - // if the filter name starts with ! as in '!is' then reverse the match logic and remove the ! - su = false; - s = s.substring( 1, s.length ); - } - // get the match results based on the s/match type - /*jslint eqeq : true */ - r = ( - (s === 'regex') ? (mtest.test( mvalue )) : (s === 'lt' || s === lt) - ? (mvalue < mtest) : (s === 'gt' || s === gt) - ? (mvalue > mtest) : (s === 'lte' || s === lteq) - ? (mvalue <= mtest) : (s === 'gte' || s === gteq) - ? (mvalue >= mtest) : (s === 'left') - ? (mvalue.indexOf( mtest ) === 0) : (s === 'leftnocase') - ? (mvalue.toLowerCase().indexOf( mtest.toLowerCase() ) - === 0) : (s === 'right') - ? (mvalue.substring( (mvalue.length - mtest.length) ) - === mtest) : (s === 'rightnocase') - ? (mvalue.toLowerCase().substring( - (mvalue.length - mtest.length) ) === mtest.toLowerCase()) - : (s === 'like') - ? (mvalue.indexOf( mtest ) >= 0) : (s === 'likenocase') - ? (mvalue.toLowerCase().indexOf(mtest.toLowerCase()) >= 0) - : (s === eqeqeq || s === 'is') - ? (mvalue === mtest) : (s === eqeq) - ? (mvalue == mtest) : (s === bangeqeq) - ? (mvalue !== mtest) : (s === bangeq) - ? (mvalue != mtest) : (s === 'isnocase') - ? (mvalue.toLowerCase - ? mvalue.toLowerCase() === mtest.toLowerCase() - : mvalue === mtest) : (s === 'has') - ? (T.has( mvalue, mtest )) : (s === 'hasall') - ? (T.hasAll( mvalue, mtest )) : ( - s.indexOf( 'is' ) === -1 - && !TAFFY.isNull( mvalue ) - && !TAFFY.isUndefined( mvalue ) - && !TAFFY.isObject( mtest ) - && !TAFFY.isArray( mtest ) - ) - ? (mtest === mvalue[s]) - : (T[s] && T.isFunction( T[s] ) - && s.indexOf( 'is' ) === 0) - ? T[s]( mvalue ) === mtest - : (T[s] && T.isFunction( T[s] )) - ? T[s]( mvalue, mtest ) : (false) - ); - /*jslint eqeq : false */ - r = (r && !su) ? false : (!r && !su) ? true : r; - - return r; - }; - c.push( matchFunc ); - - }); - // if only one filter in the collection push it onto the filter list without the array - if ( c.length === 1 ){ - - nf.push( c[0] ); - } - else { - // else build a function to loop over all the filters and return true only if ALL match - // this is a logical AND - nf.push( function () { - var that = this, match = false; - each( c, function ( f ) { - if ( f.apply( that ) ){ - match = true; - } - }); - return match; - }); - } - }); - }); - // finally return a single function that wraps all the other functions and will run a query - // where all functions have to return true for a record to appear in a query result - f = function () { - var that = this, match = true; - // faster if less than 4 functions - match = (nf.length === 1 && !nf[0].apply( that )) ? false : - (nf.length === 2 && - (!nf[0].apply( that ) || !nf[1].apply( that ))) ? false : - (nf.length === 3 && - (!nf[0].apply( that ) || !nf[1].apply( that ) || - !nf[2].apply( that ))) ? false : - (nf.length === 4 && - (!nf[0].apply( that ) || !nf[1].apply( that ) || - !nf[2].apply( that ) || !nf[3].apply( that ))) ? false - : true; - if ( nf.length > 4 ){ - each( nf, function ( f ) { - if ( !runFilters( that, f ) ){ - match = false; - } - }); - } - return match; - }; - return f; - } - - // if function - if ( T.isFunction( f ) ){ - return f; - } - }; - - orderByCol = function ( ar, o ) { - // **************************************** - // * - // * Takes: takes an array and a sort object - // * Returns: the array sorted - // * Purpose: Accept filters such as "[col], [col2]" or "[col] desc" and sort on those columns - // * - // **************************************** - - var sortFunc = function ( a, b ) { - // function to pass to the native array.sort to sort an array - var r = 0; - - T.each( o, function ( sd ) { - // loop over the sort instructions - // get the column name - var o, col, dir, c, d; - o = sd.split( ' ' ); - col = o[0]; - - // get the direction - dir = (o.length === 1) ? "logical" : o[1]; - - - if ( dir === 'logical' ){ - // if dir is logical than grab the charnum arrays for the two values we are looking at - c = numcharsplit( a[col] ); - d = numcharsplit( b[col] ); - // loop over the charnumarrays until one value is higher than the other - T.each( (c.length <= d.length) ? c : d, function ( x, i ) { - if ( c[i] < d[i] ){ - r = -1; - return TAFFY.EXIT; - } - else if ( c[i] > d[i] ){ - r = 1; - return TAFFY.EXIT; - } - } ); - } - else if ( dir === 'logicaldesc' ){ - // if logicaldesc than grab the charnum arrays for the two values we are looking at - c = numcharsplit( a[col] ); - d = numcharsplit( b[col] ); - // loop over the charnumarrays until one value is lower than the other - T.each( (c.length <= d.length) ? c : d, function ( x, i ) { - if ( c[i] > d[i] ){ - r = -1; - return TAFFY.EXIT; - } - else if ( c[i] < d[i] ){ - r = 1; - return TAFFY.EXIT; - } - } ); - } - else if ( dir === 'asec' && a[col] < b[col] ){ - // if asec - default - check to see which is higher - r = -1; - return T.EXIT; - } - else if ( dir === 'asec' && a[col] > b[col] ){ - // if asec - default - check to see which is higher - r = 1; - return T.EXIT; - } - else if ( dir === 'desc' && a[col] > b[col] ){ - // if desc check to see which is lower - r = -1; - return T.EXIT; - - } - else if ( dir === 'desc' && a[col] < b[col] ){ - // if desc check to see which is lower - r = 1; - return T.EXIT; - - } - // if r is still 0 and we are doing a logical sort than look to see if one array is longer than the other - if ( r === 0 && dir === 'logical' && c.length < d.length ){ - r = -1; - } - else if ( r === 0 && dir === 'logical' && c.length > d.length ){ - r = 1; - } - else if ( r === 0 && dir === 'logicaldesc' && c.length > d.length ){ - r = -1; - } - else if ( r === 0 && dir === 'logicaldesc' && c.length < d.length ){ - r = 1; - } - - if ( r !== 0 ){ - return T.EXIT; - } - - - } ); - return r; - }; - // call the sort function and return the newly sorted array - return (ar && ar.push) ? ar.sort( sortFunc ) : ar; - - - }; - - // **************************************** - // * - // * Takes: a string containing numbers and letters and turn it into an array - // * Returns: return an array of numbers and letters - // * Purpose: Used for logical sorting. String Example: 12ABC results: [12,'ABC'] - // **************************************** - (function () { - // creates a cache for numchar conversions - var cache = {}, cachcounter = 0; - // creates the numcharsplit function - numcharsplit = function ( thing ) { - // if over 1000 items exist in the cache, clear it and start over - if ( cachcounter > cmax ){ - cache = {}; - cachcounter = 0; - } - - // if a cache can be found for a numchar then return its array value - return cache['_' + thing] || (function () { - // otherwise do the conversion - // make sure it is a string and setup so other variables - var nthing = String( thing ), - na = [], - rv = '_', - rt = '', - x, xx, c; - - // loop over the string char by char - for ( x = 0, xx = nthing.length; x < xx; x++ ){ - // take the char at each location - c = nthing.charCodeAt( x ); - // check to see if it is a valid number char and append it to the array. - // if last char was a string push the string to the charnum array - if ( ( c >= 48 && c <= 57 ) || c === 46 ){ - if ( rt !== 'n' ){ - rt = 'n'; - na.push( rv.toLowerCase() ); - rv = ''; - } - rv = rv + nthing.charAt( x ); - } - else { - // check to see if it is a valid string char and append to string - // if last char was a number push the whole number to the charnum array - if ( rt !== 's' ){ - rt = 's'; - na.push( parseFloat( rv ) ); - rv = ''; - } - rv = rv + nthing.charAt( x ); - } - } - // once done, push the last value to the charnum array and remove the first uneeded item - na.push( (rt === 'n') ? parseFloat( rv ) : rv.toLowerCase() ); - na.shift(); - // add to cache - cache['_' + thing] = na; - cachcounter++; - // return charnum array - return na; - }()); - }; - }()); - - // **************************************** - // * - // * Runs a query - // **************************************** - - - run = function () { - this.context( { - results : this.getDBI().query( this.context() ) - }); - - }; - - API.extend( 'filter', function () { - // **************************************** - // * - // * Takes: takes unlimited filter objects as arguments - // * Returns: method collection - // * Purpose: Take filters as objects and cache functions for later lookup when a query is run - // **************************************** - var - nc = TAFFY.mergeObj( this.context(), { run : null } ), - nq = [] - ; - each( nc.q, function ( v ) { - nq.push( v ); - }); - nc.q = nq; - // Hadnle passing of ___ID or a record on lookup. - each( arguments, function ( f ) { - nc.q.push( returnFilter( f ) ); - nc.filterRaw.push( f ); - }); - - return this.getroot( nc ); - }); - - API.extend( 'order', function ( o ) { - // **************************************** - // * - // * Purpose: takes a string and creates an array of order instructions to be used with a query - // **************************************** - - o = o.split( ',' ); - var x = [], nc; - - each( o, function ( r ) { - x.push( r.replace( /^\s*/, '' ).replace( /\s*$/, '' ) ); - }); - - nc = TAFFY.mergeObj( this.context(), {sort : null} ); - nc.order = x; - - return this.getroot( nc ); - }); - - API.extend( 'limit', function ( n ) { - // **************************************** - // * - // * Purpose: takes a limit number to limit the number of rows returned by a query. Will update the results - // * of a query - // **************************************** - var nc = TAFFY.mergeObj( this.context(), {}), - limitedresults - ; - - nc.limit = n; - - if ( nc.run && nc.sort ){ - limitedresults = []; - each( nc.results, function ( i, x ) { - if ( (x + 1) > n ){ - return TAFFY.EXIT; - } - limitedresults.push( i ); - }); - nc.results = limitedresults; - } - - return this.getroot( nc ); - }); - - API.extend( 'start', function ( n ) { - // **************************************** - // * - // * Purpose: takes a limit number to limit the number of rows returned by a query. Will update the results - // * of a query - // **************************************** - var nc = TAFFY.mergeObj( this.context(), {} ), - limitedresults - ; - - nc.start = n; - - if ( nc.run && nc.sort && !nc.limit ){ - limitedresults = []; - each( nc.results, function ( i, x ) { - if ( (x + 1) > n ){ - limitedresults.push( i ); - } - }); - nc.results = limitedresults; - } - else { - nc = TAFFY.mergeObj( this.context(), {run : null, start : n} ); - } - - return this.getroot( nc ); - }); - - API.extend( 'update', function ( arg0, arg1, arg2 ) { - // **************************************** - // * - // * Takes: a object and passes it off DBI update method for all matched records - // **************************************** - var runEvent = true, o = {}, args = arguments, that; - if ( TAFFY.isString( arg0 ) && - (arguments.length === 2 || arguments.length === 3) ) - { - o[arg0] = arg1; - if ( arguments.length === 3 ){ - runEvent = arg2; - } - } - else { - o = arg0; - if ( args.length === 2 ){ - runEvent = arg1; - } - } - - that = this; - run.call( this ); - each( this.context().results, function ( r ) { - var c = o; - if ( TAFFY.isFunction( c ) ){ - c = c.apply( TAFFY.mergeObj( r, {} ) ); - } - else { - if ( T.isFunction( c ) ){ - c = c( TAFFY.mergeObj( r, {} ) ); - } - } - if ( TAFFY.isObject( c ) ){ - that.getDBI().update( r.___id, c, runEvent ); - } - }); - if ( this.context().results.length ){ - this.context( { run : null }); - } - return this; - }); - API.extend( 'remove', function ( runEvent ) { - // **************************************** - // * - // * Purpose: removes records from the DB via the remove and removeCommit DBI methods - // **************************************** - var that = this, c = 0; - run.call( this ); - each( this.context().results, function ( r ) { - that.getDBI().remove( r.___id ); - c++; - }); - if ( this.context().results.length ){ - this.context( { - run : null - }); - that.getDBI().removeCommit( runEvent ); - } - - return c; - }); - - - API.extend( 'count', function () { - // **************************************** - // * - // * Returns: The length of a query result - // **************************************** - run.call( this ); - return this.context().results.length; - }); - - API.extend( 'callback', function ( f, delay ) { - // **************************************** - // * - // * Returns null; - // * Runs a function on return of run.call - // **************************************** - if ( f ){ - var that = this; - setTimeout( function () { - run.call( that ); - f.call( that.getroot( that.context() ) ); - }, delay || 0 ); - } - - - return null; - }); - - API.extend( 'get', function () { - // **************************************** - // * - // * Returns: An array of all matching records - // **************************************** - run.call( this ); - return this.context().results; - }); - - API.extend( 'stringify', function () { - // **************************************** - // * - // * Returns: An JSON string of all matching records - // **************************************** - return JSON.stringify( this.get() ); - }); - API.extend( 'first', function () { - // **************************************** - // * - // * Returns: The first matching record - // **************************************** - run.call( this ); - return this.context().results[0] || false; - }); - API.extend( 'last', function () { - // **************************************** - // * - // * Returns: The last matching record - // **************************************** - run.call( this ); - return this.context().results[this.context().results.length - 1] || - false; - }); - - - API.extend( 'sum', function () { - // **************************************** - // * - // * Takes: column to sum up - // * Returns: Sums the values of a column - // **************************************** - var total = 0, that = this; - run.call( that ); - each( arguments, function ( c ) { - each( that.context().results, function ( r ) { - total = total + r[c]; - }); - }); - return total; - }); - - API.extend( 'min', function ( c ) { - // **************************************** - // * - // * Takes: column to find min - // * Returns: the lowest value - // **************************************** - var lowest = null; - run.call( this ); - each( this.context().results, function ( r ) { - if ( lowest === null || r[c] < lowest ){ - lowest = r[c]; - } - }); - return lowest; - }); - - // Taffy innerJoin Extension (OCD edition) - // ======================================= - // - // How to Use - // ********** - // - // left_table.innerJoin( right_table, condition1 <,... conditionN> ) - // - // A condition can take one of 2 forms: - // - // 1. An ARRAY with 2 or 3 values: - // A column name from the left table, an optional comparison string, - // and column name from the right table. The condition passes if the test - // indicated is true. If the condition string is omitted, '===' is assumed. - // EXAMPLES: [ 'last_used_time', '>=', 'current_use_time' ], [ 'user_id','id' ] - // - // 2. A FUNCTION: - // The function receives a left table row and right table row during the - // cartesian join. If the function returns true for the rows considered, - // the merged row is included in the result set. - // EXAMPLE: function (l,r){ return l.name === r.label; } - // - // Conditions are considered in the order they are presented. Therefore the best - // performance is realized when the least expensive and highest prune-rate - // conditions are placed first, since if they return false Taffy skips any - // further condition tests. - // - // Other notes - // *********** - // - // This code passes jslint with the exception of 2 warnings about - // the '==' and '!=' lines. We can't do anything about that short of - // deleting the lines. - // - // Credits - // ******* - // - // Heavily based upon the work of Ian Toltz. - // Revisions to API by Michael Mikowski. - // Code convention per standards in http://manning.com/mikowski - (function () { - var innerJoinFunction = (function () { - var fnCompareList, fnCombineRow, fnMain; - - fnCompareList = function ( left_row, right_row, arg_list ) { - var data_lt, data_rt, op_code, error; - - if ( arg_list.length === 2 ){ - data_lt = left_row[arg_list[0]]; - op_code = '==='; - data_rt = right_row[arg_list[1]]; - } - else { - data_lt = left_row[arg_list[0]]; - op_code = arg_list[1]; - data_rt = right_row[arg_list[2]]; - } - - /*jslint eqeq : true */ - switch ( op_code ){ - case '===' : - return data_lt === data_rt; - case '!==' : - return data_lt !== data_rt; - case '<' : - return data_lt < data_rt; - case '>' : - return data_lt > data_rt; - case '<=' : - return data_lt <= data_rt; - case '>=' : - return data_lt >= data_rt; - case '==' : - return data_lt == data_rt; - case '!=' : - return data_lt != data_rt; - default : - throw String( op_code ) + ' is not supported'; - } - // 'jslint eqeq : false' here results in - // "Unreachable '/*jslint' after 'return'". - // We don't need it though, as the rule exception - // is discarded at the end of this functional scope - }; - - fnCombineRow = function ( left_row, right_row ) { - var out_map = {}, i, prefix; - - for ( i in left_row ){ - if ( left_row.hasOwnProperty( i ) ){ - out_map[i] = left_row[i]; - } - } - for ( i in right_row ){ - if ( right_row.hasOwnProperty( i ) && i !== '___id' && - i !== '___s' ) - { - prefix = !TAFFY.isUndefined( out_map[i] ) ? 'right_' : ''; - out_map[prefix + String( i ) ] = right_row[i]; - } - } - return out_map; - }; - - fnMain = function ( table ) { - var - right_table, i, - arg_list = arguments, - arg_length = arg_list.length, - result_list = [] - ; - - if ( typeof table.filter !== 'function' ){ - if ( table.TAFFY ){ right_table = table(); } - else { - throw 'TAFFY DB or result not supplied'; - } - } - else { right_table = table; } - - this.context( { - results : this.getDBI().query( this.context() ) - } ); - - TAFFY.each( this.context().results, function ( left_row ) { - right_table.each( function ( right_row ) { - var arg_data, is_ok = true; - CONDITION: - for ( i = 1; i < arg_length; i++ ){ - arg_data = arg_list[i]; - if ( typeof arg_data === 'function' ){ - is_ok = arg_data( left_row, right_row ); - } - else if ( typeof arg_data === 'object' && arg_data.length ){ - is_ok = fnCompareList( left_row, right_row, arg_data ); - } - else { - is_ok = false; - } - - if ( !is_ok ){ break CONDITION; } // short circuit - } - - if ( is_ok ){ - result_list.push( fnCombineRow( left_row, right_row ) ); - } - } ); - } ); - return TAFFY( result_list )(); - }; - - return fnMain; - }()); - - API.extend( 'join', innerJoinFunction ); - }()); - - API.extend( 'max', function ( c ) { - // **************************************** - // * - // * Takes: column to find max - // * Returns: the highest value - // **************************************** - var highest = null; - run.call( this ); - each( this.context().results, function ( r ) { - if ( highest === null || r[c] > highest ){ - highest = r[c]; - } - }); - return highest; - }); - - API.extend( 'select', function () { - // **************************************** - // * - // * Takes: columns to select values into an array - // * Returns: array of values - // * Note if more than one column is given an array of arrays is returned - // **************************************** - - var ra = [], args = arguments; - run.call( this ); - if ( arguments.length === 1 ){ - - each( this.context().results, function ( r ) { - - ra.push( r[args[0]] ); - }); - } - else { - each( this.context().results, function ( r ) { - var row = []; - each( args, function ( c ) { - row.push( r[c] ); - }); - ra.push( row ); - }); - } - return ra; - }); - API.extend( 'distinct', function () { - // **************************************** - // * - // * Takes: columns to select unique alues into an array - // * Returns: array of values - // * Note if more than one column is given an array of arrays is returned - // **************************************** - var ra = [], args = arguments; - run.call( this ); - if ( arguments.length === 1 ){ - - each( this.context().results, function ( r ) { - var v = r[args[0]], dup = false; - each( ra, function ( d ) { - if ( v === d ){ - dup = true; - return TAFFY.EXIT; - } - }); - if ( !dup ){ - ra.push( v ); - } - }); - } - else { - each( this.context().results, function ( r ) { - var row = [], dup = false; - each( args, function ( c ) { - row.push( r[c] ); - }); - each( ra, function ( d ) { - var ldup = true; - each( args, function ( c, i ) { - if ( row[i] !== d[i] ){ - ldup = false; - return TAFFY.EXIT; - } - }); - if ( ldup ){ - dup = true; - return TAFFY.EXIT; - } - }); - if ( !dup ){ - ra.push( row ); - } - }); - } - return ra; - }); - API.extend( 'supplant', function ( template, returnarray ) { - // **************************************** - // * - // * Takes: a string template formated with key to be replaced with values from the rows, flag to determine if we want array of strings - // * Returns: array of values or a string - // **************************************** - var ra = []; - run.call( this ); - each( this.context().results, function ( r ) { - // TODO: The curly braces used to be unescaped - ra.push( template.replace( /\{([^\{\}]*)\}/g, function ( a, b ) { - var v = r[b]; - return typeof v === 'string' || typeof v === 'number' ? v : a; - } ) ); - }); - return (!returnarray) ? ra.join( "" ) : ra; - }); - - - API.extend( 'each', function ( m ) { - // **************************************** - // * - // * Takes: a function - // * Purpose: loops over every matching record and applies the function - // **************************************** - run.call( this ); - each( this.context().results, m ); - return this; - }); - API.extend( 'map', function ( m ) { - // **************************************** - // * - // * Takes: a function - // * Purpose: loops over every matching record and applies the function, returing the results in an array - // **************************************** - var ra = []; - run.call( this ); - each( this.context().results, function ( r ) { - ra.push( m( r ) ); - }); - return ra; - }); - - - - T = function ( d ) { - // **************************************** - // * - // * T is the main TAFFY object - // * Takes: an array of objects or JSON - // * Returns a new TAFFYDB - // **************************************** - var TOb = [], - ID = {}, - RC = 1, - settings = { - template : false, - onInsert : false, - onUpdate : false, - onRemove : false, - onDBChange : false, - storageName : false, - forcePropertyCase : null, - cacheSize : 100, - name : '' - }, - dm = new Date(), - CacheCount = 0, - CacheClear = 0, - Cache = {}, - DBI, runIndexes, root - ; - // **************************************** - // * - // * TOb = this database - // * ID = collection of the record IDs and locations within the DB, used for fast lookups - // * RC = record counter, used for creating IDs - // * settings.template = the template to merge all new records with - // * settings.onInsert = event given a copy of the newly inserted record - // * settings.onUpdate = event given the original record, the changes, and the new record - // * settings.onRemove = event given the removed record - // * settings.forcePropertyCase = on insert force the proprty case to be lower or upper. default lower, null/undefined will leave case as is - // * dm = the modify date of the database, used for query caching - // **************************************** - - - runIndexes = function ( indexes ) { - // **************************************** - // * - // * Takes: a collection of indexes - // * Returns: collection with records matching indexed filters - // **************************************** - - var records = [], UniqueEnforce = false; - - if ( indexes.length === 0 ){ - return TOb; - } - - each( indexes, function ( f ) { - // Check to see if record ID - if ( T.isString( f ) && /[t][0-9]*[r][0-9]*/i.test( f ) && - TOb[ID[f]] ) - { - records.push( TOb[ID[f]] ); - UniqueEnforce = true; - } - // Check to see if record - if ( T.isObject( f ) && f.___id && f.___s && - TOb[ID[f.___id]] ) - { - records.push( TOb[ID[f.___id]] ); - UniqueEnforce = true; - } - // Check to see if array of indexes - if ( T.isArray( f ) ){ - each( f, function ( r ) { - each( runIndexes( r ), function ( rr ) { - records.push( rr ); - }); - - }); - } - }); - if ( UniqueEnforce && records.length > 1 ){ - records = []; - } - - return records; - }; - - DBI = { - // **************************************** - // * - // * The DBI is the internal DataBase Interface that interacts with the data - // **************************************** - dm : function ( nd ) { - // **************************************** - // * - // * Takes: an optional new modify date - // * Purpose: used to get and set the DB modify date - // **************************************** - if ( nd ){ - dm = nd; - Cache = {}; - CacheCount = 0; - CacheClear = 0; - } - if ( settings.onDBChange ){ - setTimeout( function () { - settings.onDBChange.call( TOb ); - }, 0 ); - } - if ( settings.storageName ){ - setTimeout( function () { - localStorage.setItem( 'taffy_' + settings.storageName, - JSON.stringify( TOb ) ); - }); - } - return dm; - }, - insert : function ( i, runEvent ) { - // **************************************** - // * - // * Takes: a new record to insert - // * Purpose: merge the object with the template, add an ID, insert into DB, call insert event - // **************************************** - var columns = [], - records = [], - input = protectJSON( i ) - ; - each( input, function ( v, i ) { - var nv, o; - if ( T.isArray( v ) && i === 0 ){ - each( v, function ( av ) { - - columns.push( (settings.forcePropertyCase === 'lower') - ? av.toLowerCase() - : (settings.forcePropertyCase === 'upper') - ? av.toUpperCase() : av ); - }); - return true; - } - else if ( T.isArray( v ) ){ - nv = {}; - each( v, function ( av, ai ) { - nv[columns[ai]] = av; - }); - v = nv; - - } - else if ( T.isObject( v ) && settings.forcePropertyCase ){ - o = {}; - - eachin( v, function ( av, ai ) { - o[(settings.forcePropertyCase === 'lower') ? ai.toLowerCase() - : (settings.forcePropertyCase === 'upper') - ? ai.toUpperCase() : ai] = v[ai]; - }); - v = o; - } - - RC++; - v.___id = 'T' + String( idpad + TC ).slice( -6 ) + 'R' + - String( idpad + RC ).slice( -6 ); - v.___s = true; - records.push( v.___id ); - if ( settings.template ){ - v = T.mergeObj( settings.template, v ); - } - TOb.push( v ); - - ID[v.___id] = TOb.length - 1; - if ( settings.onInsert && - (runEvent || TAFFY.isUndefined( runEvent )) ) - { - settings.onInsert.call( v ); - } - DBI.dm( new Date() ); - }); - return root( records ); - }, - sort : function ( o ) { - // **************************************** - // * - // * Purpose: Change the sort order of the DB itself and reset the ID bucket - // **************************************** - TOb = orderByCol( TOb, o.split( ',' ) ); - ID = {}; - each( TOb, function ( r, i ) { - ID[r.___id] = i; - }); - DBI.dm( new Date() ); - return true; - }, - update : function ( id, changes, runEvent ) { - // **************************************** - // * - // * Takes: the ID of record being changed and the changes - // * Purpose: Update a record and change some or all values, call the on update method - // **************************************** - - var nc = {}, or, nr, tc, hasChange; - if ( settings.forcePropertyCase ){ - eachin( changes, function ( v, p ) { - nc[(settings.forcePropertyCase === 'lower') ? p.toLowerCase() - : (settings.forcePropertyCase === 'upper') ? p.toUpperCase() - : p] = v; - }); - changes = nc; - } - - or = TOb[ID[id]]; - nr = T.mergeObj( or, changes ); - - tc = {}; - hasChange = false; - eachin( nr, function ( v, i ) { - if ( TAFFY.isUndefined( or[i] ) || or[i] !== v ){ - tc[i] = v; - hasChange = true; - } - }); - if ( hasChange ){ - if ( settings.onUpdate && - (runEvent || TAFFY.isUndefined( runEvent )) ) - { - settings.onUpdate.call( nr, TOb[ID[id]], tc ); - } - TOb[ID[id]] = nr; - DBI.dm( new Date() ); - } - }, - remove : function ( id ) { - // **************************************** - // * - // * Takes: the ID of record to be removed - // * Purpose: remove a record, changes its ___s value to false - // **************************************** - TOb[ID[id]].___s = false; - }, - removeCommit : function ( runEvent ) { - var x; - // **************************************** - // * - // * - // * Purpose: loop over all records and remove records with ___s = false, call onRemove event, clear ID - // **************************************** - for ( x = TOb.length - 1; x > -1; x-- ){ - - if ( !TOb[x].___s ){ - if ( settings.onRemove && - (runEvent || TAFFY.isUndefined( runEvent )) ) - { - settings.onRemove.call( TOb[x] ); - } - ID[TOb[x].___id] = undefined; - TOb.splice( x, 1 ); - } - } - ID = {}; - each( TOb, function ( r, i ) { - ID[r.___id] = i; - }); - DBI.dm( new Date() ); - }, - query : function ( context ) { - // **************************************** - // * - // * Takes: the context object for a query and either returns a cache result or a new query result - // **************************************** - var returnq, cid, results, indexed, limitq, ni; - - if ( settings.cacheSize ) { - cid = ''; - each( context.filterRaw, function ( r ) { - if ( T.isFunction( r ) ){ - cid = 'nocache'; - return TAFFY.EXIT; - } - }); - if ( cid === '' ){ - cid = JSON.stringify( T.mergeObj( context, - {q : false, run : false, sort : false} ) ); - } - } - // Run a new query if there are no results or the run date has been cleared - if ( !context.results || !context.run || - (context.run && DBI.dm() > context.run) ) - { - results = []; - - // check Cache - - if ( settings.cacheSize && Cache[cid] ){ - - Cache[cid].i = CacheCount++; - return Cache[cid].results; - } - else { - // if no filter, return DB - if ( context.q.length === 0 && context.index.length === 0 ){ - each( TOb, function ( r ) { - results.push( r ); - }); - returnq = results; - } - else { - // use indexes - - indexed = runIndexes( context.index ); - - // run filters - each( indexed, function ( r ) { - // Run filter to see if record matches query - if ( context.q.length === 0 || runFilters( r, context.q ) ){ - results.push( r ); - } - }); - - returnq = results; - } - } - - - } - else { - // If query exists and run has not been cleared return the cache results - returnq = context.results; - } - // If a custom order array exists and the run has been clear or the sort has been cleared - if ( context.order.length > 0 && (!context.run || !context.sort) ){ - // order the results - returnq = orderByCol( returnq, context.order ); - } - - // If a limit on the number of results exists and it is less than the returned results, limit results - if ( returnq.length && - ((context.limit && context.limit < returnq.length) || - context.start) - ) { - limitq = []; - each( returnq, function ( r, i ) { - if ( !context.start || - (context.start && (i + 1) >= context.start) ) - { - if ( context.limit ){ - ni = (context.start) ? (i + 1) - context.start : i; - if ( ni < context.limit ){ - limitq.push( r ); - } - else if ( ni > context.limit ){ - return TAFFY.EXIT; - } - } - else { - limitq.push( r ); - } - } - }); - returnq = limitq; - } - - // update cache - if ( settings.cacheSize && cid !== 'nocache' ){ - CacheClear++; - - setTimeout( function () { - var bCounter, nc; - if ( CacheClear >= settings.cacheSize * 2 ){ - CacheClear = 0; - bCounter = CacheCount - settings.cacheSize; - nc = {}; - eachin( function ( r, k ) { - if ( r.i >= bCounter ){ - nc[k] = r; - } - }); - Cache = nc; - } - }, 0 ); - - Cache[cid] = { i : CacheCount++, results : returnq }; - } - return returnq; - } - }; - - - root = function () { - var iAPI, context; - // **************************************** - // * - // * The root function that gets returned when a new DB is created - // * Takes: unlimited filter arguments and creates filters to be run when a query is called - // **************************************** - // **************************************** - // * - // * iAPI is the the method collection valiable when a query has been started by calling dbname - // * Certain methods are or are not avaliable once you have started a query such as insert -- you can only insert into root - // **************************************** - iAPI = TAFFY.mergeObj( TAFFY.mergeObj( API, { insert : undefined } ), - { getDBI : function () { return DBI; }, - getroot : function ( c ) { return root.call( c ); }, - context : function ( n ) { - // **************************************** - // * - // * The context contains all the information to manage a query including filters, limits, and sorts - // **************************************** - if ( n ){ - context = TAFFY.mergeObj( context, - n.hasOwnProperty('results') - ? TAFFY.mergeObj( n, { run : new Date(), sort: new Date() }) - : n - ); - } - return context; - }, - extend : undefined - }); - - context = (this && this.q) ? this : { - limit : false, - start : false, - q : [], - filterRaw : [], - index : [], - order : [], - results : false, - run : null, - sort : null, - settings : settings - }; - // **************************************** - // * - // * Call the query method to setup a new query - // **************************************** - each( arguments, function ( f ) { - - if ( isIndexable( f ) ){ - context.index.push( f ); - } - else { - context.q.push( returnFilter( f ) ); - } - context.filterRaw.push( f ); - }); - - - return iAPI; - }; - - // **************************************** - // * - // * If new records have been passed on creation of the DB either as JSON or as an array/object, insert them - // **************************************** - TC++; - if ( d ){ - DBI.insert( d ); - } - - - root.insert = DBI.insert; - - root.merge = function ( i, key, runEvent ) { - var - search = {}, - finalSearch = [], - obj = {} - ; - - runEvent = runEvent || false; - key = key || 'id'; - - each( i, function ( o ) { - var existingObject; - search[key] = o[key]; - finalSearch.push( o[key] ); - existingObject = root( search ).first(); - if ( existingObject ){ - DBI.update( existingObject.___id, o, runEvent ); - } - else { - DBI.insert( o, runEvent ); - } - }); - - obj[key] = finalSearch; - return root( obj ); - }; - - root.TAFFY = true; - root.sort = DBI.sort; - // **************************************** - // * - // * These are the methods that can be accessed on off the root DB function. Example dbname.insert; - // **************************************** - root.settings = function ( n ) { - // **************************************** - // * - // * Getting and setting for this DB's settings/events - // **************************************** - if ( n ){ - settings = TAFFY.mergeObj( settings, n ); - if ( n.template ){ - - root().update( n.template ); - } - } - return settings; - }; - - // **************************************** - // * - // * These are the methods that can be accessed on off the root DB function. Example dbname.insert; - // **************************************** - root.store = function ( n ) { - // **************************************** - // * - // * Setup localstorage for this DB on a given name - // * Pull data into the DB as needed - // **************************************** - var r = false, i; - if ( localStorage ){ - if ( n ){ - i = localStorage.getItem( 'taffy_' + n ); - if ( i && i.length > 0 ){ - root.insert( i ); - r = true; - } - if ( TOb.length > 0 ){ - setTimeout( function () { - localStorage.setItem( 'taffy_' + settings.storageName, - JSON.stringify( TOb ) ); - }); - } - } - root.settings( {storageName : n} ); - } - return root; - }; - - // **************************************** - // * - // * Return root on DB creation and start having fun - // **************************************** - return root; - }; - // **************************************** - // * - // * Sets the global TAFFY object - // **************************************** - TAFFY = T; - - - // **************************************** - // * - // * Create public each method - // * - // **************************************** - T.each = each; - - // **************************************** - // * - // * Create public eachin method - // * - // **************************************** - T.eachin = eachin; - // **************************************** - // * - // * Create public extend method - // * Add a custom method to the API - // * - // **************************************** - T.extend = API.extend; - - - // **************************************** - // * - // * Creates TAFFY.EXIT value that can be returned to stop an each loop - // * - // **************************************** - TAFFY.EXIT = 'TAFFYEXIT'; - - // **************************************** - // * - // * Create public utility mergeObj method - // * Return a new object where items from obj2 - // * have replaced or been added to the items in - // * obj1 - // * Purpose: Used to combine objs - // * - // **************************************** - TAFFY.mergeObj = function ( ob1, ob2 ) { - var c = {}; - eachin( ob1, function ( v, n ) { c[n] = ob1[n]; }); - eachin( ob2, function ( v, n ) { c[n] = ob2[n]; }); - return c; - }; - - - // **************************************** - // * - // * Create public utility has method - // * Returns true if a complex object, array - // * or taffy collection contains the material - // * provided in the second argument - // * Purpose: Used to comare objects - // * - // **************************************** - TAFFY.has = function ( var1, var2 ) { - - var re = true, n; - - if ( (var1.TAFFY) ){ - re = var1( var2 ); - if ( re.length > 0 ){ - return true; - } - else { - return false; - } - } - else { - - switch ( T.typeOf( var1 ) ){ - case 'object': - if ( T.isObject( var2 ) ){ - eachin( var2, function ( v, n ) { - if ( re === true && !T.isUndefined( var1[n] ) && - var1.hasOwnProperty( n ) ) - { - re = T.has( var1[n], var2[n] ); - } - else { - re = false; - return TAFFY.EXIT; - } - }); - } - else if ( T.isArray( var2 ) ){ - each( var2, function ( v, n ) { - re = T.has( var1, var2[n] ); - if ( re ){ - return TAFFY.EXIT; - } - }); - } - else if ( T.isString( var2 ) ){ - if ( !TAFFY.isUndefined( var1[var2] ) ){ - return true; - } - else { - return false; - } - } - return re; - case 'array': - if ( T.isObject( var2 ) ){ - each( var1, function ( v, i ) { - re = T.has( var1[i], var2 ); - if ( re === true ){ - return TAFFY.EXIT; - } - }); - } - else if ( T.isArray( var2 ) ){ - each( var2, function ( v2, i2 ) { - each( var1, function ( v1, i1 ) { - re = T.has( var1[i1], var2[i2] ); - if ( re === true ){ - return TAFFY.EXIT; - } - }); - if ( re === true ){ - return TAFFY.EXIT; - } - }); - } - else if ( T.isString( var2 ) || T.isNumber( var2 ) ){ - for ( n = 0; n < var1.length; n++ ){ - re = T.has( var1[n], var2 ); - if ( re ){ - return true; - } - } - } - return re; - case 'string': - if ( T.isString( var2 ) && var2 === var1 ){ - return true; - } - break; - default: - if ( T.typeOf( var1 ) === T.typeOf( var2 ) && var1 === var2 ){ - return true; - } - break; - } - } - return false; - }; - - // **************************************** - // * - // * Create public utility hasAll method - // * Returns true if a complex object, array - // * or taffy collection contains the material - // * provided in the call - for arrays it must - // * contain all the material in each array item - // * Purpose: Used to comare objects - // * - // **************************************** - TAFFY.hasAll = function ( var1, var2 ) { - - var T = TAFFY, ar; - if ( T.isArray( var2 ) ){ - ar = true; - each( var2, function ( v ) { - ar = T.has( var1, v ); - if ( ar === false ){ - return TAFFY.EXIT; - } - }); - return ar; - } - else { - return T.has( var1, var2 ); - } - }; - - - // **************************************** - // * - // * typeOf Fixed in JavaScript as public utility - // * - // **************************************** - TAFFY.typeOf = function ( v ) { - var s = typeof v; - if ( s === 'object' ){ - if ( v ){ - if ( typeof v.length === 'number' && - !(v.propertyIsEnumerable( 'length' )) ) - { - s = 'array'; - } - } - else { - s = 'null'; - } - } - return s; - }; - - // **************************************** - // * - // * Create public utility getObjectKeys method - // * Returns an array of an objects keys - // * Purpose: Used to get the keys for an object - // * - // **************************************** - TAFFY.getObjectKeys = function ( ob ) { - var kA = []; - eachin( ob, function ( n, h ) { - kA.push( h ); - }); - kA.sort(); - return kA; - }; - - // **************************************** - // * - // * Create public utility isSameArray - // * Returns an array of an objects keys - // * Purpose: Used to get the keys for an object - // * - // **************************************** - TAFFY.isSameArray = function ( ar1, ar2 ) { - return (TAFFY.isArray( ar1 ) && TAFFY.isArray( ar2 ) && - ar1.join( ',' ) === ar2.join( ',' )) ? true : false; - }; - - // **************************************** - // * - // * Create public utility isSameObject method - // * Returns true if objects contain the same - // * material or false if they do not - // * Purpose: Used to comare objects - // * - // **************************************** - TAFFY.isSameObject = function ( ob1, ob2 ) { - var T = TAFFY, rv = true; - - if ( T.isObject( ob1 ) && T.isObject( ob2 ) ){ - if ( T.isSameArray( T.getObjectKeys( ob1 ), - T.getObjectKeys( ob2 ) ) ) - { - eachin( ob1, function ( v, n ) { - if ( ! ( (T.isObject( ob1[n] ) && T.isObject( ob2[n] ) && - T.isSameObject( ob1[n], ob2[n] )) || - (T.isArray( ob1[n] ) && T.isArray( ob2[n] ) && - T.isSameArray( ob1[n], ob2[n] )) || (ob1[n] === ob2[n]) ) - ) { - rv = false; - return TAFFY.EXIT; - } - }); - } - else { - rv = false; - } - } - else { - rv = false; - } - return rv; - }; - - // **************************************** - // * - // * Create public utility is[DataType] methods - // * Return true if obj is datatype, false otherwise - // * Purpose: Used to determine if arguments are of certain data type - // * - // * mmikowski 2012-08-06 refactored to make much less "magical": - // * fewer closures and passes jslint - // * - // **************************************** - - typeList = [ - 'String', 'Number', 'Object', 'Array', - 'Boolean', 'Null', 'Function', 'Undefined' - ]; - - makeTest = function ( thisKey ) { - return function ( data ) { - return TAFFY.typeOf( data ) === thisKey.toLowerCase() ? true : false; - }; - }; - - for ( idx = 0; idx < typeList.length; idx++ ){ - typeKey = typeList[idx]; - TAFFY['is' + typeKey] = makeTest( typeKey ); - } - } -}()); - -if ( typeof(exports) === 'object' ){ - exports.taffy = TAFFY; -} - diff --git a/node_modules/tv4/LICENSE.txt b/node_modules/tv4/LICENSE.txt deleted file mode 100644 index f421228b..00000000 --- a/node_modules/tv4/LICENSE.txt +++ /dev/null @@ -1,8 +0,0 @@ -/* -Author: Geraint Luff and others -Year: 2013 - -This code is released into the "public domain" by its author(s). Anybody may use, alter and distribute the code without restriction. The author makes no guarantees, and takes no liability of any kind for use of this code. - -If you find a bug or make an improvement, it would be courteous to let the author know, but it is not compulsory. -*/ \ No newline at end of file diff --git a/node_modules/tv4/README.md b/node_modules/tv4/README.md deleted file mode 100644 index 66f263f0..00000000 --- a/node_modules/tv4/README.md +++ /dev/null @@ -1,453 +0,0 @@ -# Tiny Validator (for v4 JSON Schema) - -[![Build Status](https://secure.travis-ci.org/geraintluff/tv4.png?branch=master)](http://travis-ci.org/geraintluff/tv4) [![Dependency Status](https://gemnasium.com/geraintluff/tv4.png)](https://gemnasium.com/geraintluff/tv4) [![NPM version](https://badge.fury.io/js/tv4.png)](http://badge.fury.io/js/tv4) - -Use [json-schema](http://json-schema.org/) [draft v4](http://json-schema.org/latest/json-schema-core.html) to validate simple values and complex objects using a rich [validation vocabulary](http://json-schema.org/latest/json-schema-validation.html) ([examples](http://json-schema.org/examples.html)). - -There is support for `$ref` with JSON Pointer fragment paths (```other-schema.json#/properties/myKey```). - -## Usage 1: Simple validation - -```javascript -var valid = tv4.validate(data, schema); -``` - -If validation returns ```false```, then an explanation of why validation failed can be found in ```tv4.error```. - -The error object will look something like: -```json -{ - "code": 0, - "message": "Invalid type: string", - "dataPath": "/intKey", - "schemaKey": "/properties/intKey/type" -} -``` - -The `"code"` property will refer to one of the values in `tv4.errorCodes` - in this case, `tv4.errorCodes.INVALID_TYPE`. - -To enable external schema to be referenced, you use: -```javascript -tv4.addSchema(url, schema); -``` - -If schemas are referenced (```$ref```) but not known, then validation will return ```true``` and the missing schema(s) will be listed in ```tv4.missing```. For more info see the API documentation below. - -## Usage 2: Multi-threaded validation - -Storing the error and missing schemas does not work well in multi-threaded environments, so there is an alternative syntax: - -```javascript -var result = tv4.validateResult(data, schema); -``` - -The result will look something like: -```json -{ - "valid": false, - "error": {...}, - "missing": [...] -} -``` - -## Usage 3: Multiple errors - -Normally, `tv4` stops when it encounters the first validation error. However, you can collect an array of validation errors using: - -```javascript -var result = tv4.validateMultiple(data, schema); -``` - -The result will look something like: -```json -{ - "valid": false, - "errors": [ - {...}, - ... - ], - "missing": [...] -} -``` - -## Asynchronous validation - -Support for asynchronous validation (where missing schemas are fetched) can be added by including an extra JavaScript file. Currently, the only version requires jQuery (`tv4.async-jquery.js`), but the code is very short and should be fairly easy to modify for other libraries (such as MooTools). - -Usage: - -```javascript -tv4.validate(data, schema, function (isValid, validationError) { ... }); -``` - -`validationFailure` is simply taken from `tv4.error`. - -## Options - -You can use several options to change tv4's behavior when validating objects. Pass in an object to set these options for any of the regular validation methods: - -```javascript -tv4.validate(data, schema, {checkRecursive: true}); -var result = tv4.validateResult(data, schema, {checkRecursive: true}); -var multiple = tv4.validateMultiple(data, schema, {checkRecursive: true}); -``` - -For backwards compatibility, you can also pass in two booleans to set the `checkRecursive` and `banUnknownProperties` options; this method signature is deprecated: - -```javascript -// Set checkRecursive to false (the default) and banUnknownProperties to true -tv4.validate(data, schema, false, true); -``` - -The following sections describe the validation options. - -### Cyclical JavaScript objects - -While they don't occur in proper JSON, JavaScript does support self-referencing objects. Any of the above calls support a checkRecursive option. If true, tv4 will handle self-referencing objects properly - this slows down validation slightly, but that's better than a hanging script. - -Consider this data, notice how both `a` and `b` refer to each other: - -```javascript -var a = {}; -var b = { a: a }; -a.b = b; -var aSchema = { properties: { b: { $ref: 'bSchema' }}}; -var bSchema = { properties: { a: { $ref: 'aSchema' }}}; -tv4.addSchema('aSchema', aSchema); -tv4.addSchema('bSchema', bSchema); -``` - -By default, this causes the validation methods to throw a "too much recursion" error. - -To enable support for self-referencing objects, set the checkRecursive option to `true`: - -```javascript -tv4.validate(a, aSchema, {checkRecursive: true}); -tv4.validate(a, schema, asynchronousFunction, {checkRecursive: true}); - -tv4.validateResult(a, aSchema, {checkRecursive: true}); -tv4.validateMultiple(a, aSchema, {checkRecursive: true}); -``` - -### Properties not defined in the schema - -An object's schema may include an additionalProperties setting. When additionalProperties is set to `false`, objects will fail validation if they include properties that are not defined in the schema. - -You can enforce this behavior for all object schema by setting tv4's banUnknownProperties option to `true`: - -```javascript -tv4.validate(data, schema, {banUnknownProperties: true}); -tv4.validate(data, schema, asynchronousFunction, {banUnknownProperties: true}); - -tv4.validateResult(data, schema, {banUnknownProperties: true}); -tv4.validateMultiple(data, schema, {banUnknownProperties: true}); -``` - -### Inherited properties - -By default, tv4 does not validate an object's inherited properties, which are ignored when you convert an object to JSON. This behavior differs from tv4 1.0.16 and earlier, which always validated inherited properties. - -To validate inherited properties, set tv4's checkInheritedProperties option to `true`: - -```javascript -tv4.validate(data, schema, {checkInheritedProperties: true}); -tv4.validate(data, schema, asynchronousFunction, {checkInheritedProperties: true}); - -tv4.validateResult(data, schema, {checkInheritedProperties: true}); -tv4.validateMultiple(data, schema, {checkInheritedProperties: true}); -``` - -### Non-enumerable properties - -By default, tv4 does not validate an object's own non-enumerable properties, which are ignored when you convert an object to JSON. This behavior differs from tv4 1.0.16 and earlier, which always validated an object's own non-enumerable properties. - -To validate an object's own non-enumerable properties, set tv4's checkNonEnumerableProperties option to `true`: - -```javascript -tv4.validate(data, schema, {checkNonEnumerableProperties: true}); -tv4.validate(data, schema, asynchronousFunction, {checkNonEnumerableProperties: true}); - -tv4.validateResult(data, schema, {checkNonEnumerableProperties: true}); -tv4.validateMultiple(data, schema, {checkNonEnumerableProperties: true}); -``` - -## API - -There are additional api commands available for more complex use-cases: - -##### addSchema(uri, schema) -Pre-register a schema for reference by other schema and synchronous validation. - -````js -tv4.addSchema('http://example.com/schema', { ... }); -```` - -* `uri` the uri to identify this schema. -* `schema` the schema object. - -Schemas that have their `id` property set can be added directly. - -````js -tv4.addSchema({ ... }); -```` - -##### getSchema(uri) - -Return a schema from the cache. - -* `uri` the uri of the schema (may contain a `#` fragment) - -````js -var schema = tv4.getSchema('http://example.com/schema'); -```` - -##### getSchemaMap() - -Return a shallow copy of the schema cache, mapping schema document URIs to schema objects. - -```` -var map = tv4.getSchemaMap(); - -var schema = map[uri]; -```` - -##### getSchemaUris(filter) - -Return an Array with known schema document URIs. - -* `filter` optional RegExp to filter URIs - -```` -var arr = tv4.getSchemaUris(); - -// optional filter using a RegExp -var arr = tv4.getSchemaUris(/^https?://example.com/); -```` - -##### getMissingUris(filter) - -Return an Array with schema document URIs that are used as `$ref` in known schemas but which currently have no associated schema data. - -Use this in combination with `tv4.addSchema(uri, schema)` to preload the cache for complete synchronous validation with. - -* `filter` optional RegExp to filter URIs - -```` -var arr = tv4.getMissingUris(); - -// optional filter using a RegExp -var arr = tv4.getMissingUris(/^https?://example.com/); -```` - -##### dropSchemas() - -Drop all known schema document URIs from the cache. - -```` -tv4.dropSchemas(); -```` - -##### freshApi() - -Return a new tv4 instance with no shared state. - -```` -var otherTV4 = tv4.freshApi(); -```` - -##### reset() - -Manually reset validation status from the simple `tv4.validate(data, schema)`. Although tv4 will self reset on each validation there are some implementation scenarios where this is useful. - -```` -tv4.reset(); -```` - -##### language(code) - -Select the language map used for reporting. - -* `code` is a language code, like `'en'` or `'en-gb'` - -```` -tv4.language('en-gb'); -```` - -##### addLanguage(code, map) - -Add a new language map for selection by `tv4.language(code)` - -* `code` is new language code -* `map` is an object mapping error IDs or constant names (e.g. `103` or `"NUMBER_MAXIMUM"`) to language strings. - -```` -tv4.addLanguage('fr', { ... }); - -// select for use -tv4.language('fr') -```` - -##### addFormat(format, validationFunction) - -Add a custom format validator. (There are no built-in format validators.) - -* `format` is a string, corresponding to the `"format"` value in schemas. -* `validationFunction` is a function that either returns: - * `null` (meaning no error) - * an error string (explaining the reason for failure) - -```` -tv4.addFormat('decimal-digits', function (data, schema) { - if (typeof data === 'string' && !/^[0-9]+$/.test(data)) { - return null; - } - return "must be string of decimal digits"; -}); -```` - -Alternatively, multiple formats can be added at the same time using an object: -```` -tv4.addFormat({ - 'my-format': function () {...}, - 'other-format': function () {...} -}); -```` - -## Demos - -### Basic usage -
-
-var schema = {
-	"items": {
-		"type": "boolean"
-	}
-};
-var data1 = [true, false];
-var data2 = [true, 123];
-
-alert("data 1: " + tv4.validate(data1, schema)); // true
-alert("data 2: " + tv4.validate(data2, schema)); // false
-alert("data 2 error: " + JSON.stringify(tv4.error, null, 4));
-
-
- -### Use of $ref -
-
-var schema = {
-	"type": "array",
-	"items": {"$ref": "#"}
-};
-var data1 = [[], [[]]];
-var data2 = [[], [true, []]];
-
-alert("data 1: " + tv4.validate(data1, schema)); // true
-alert("data 2: " + tv4.validate(data2, schema)); // false
-
-
- -### Missing schema -
-
-var schema = {
-	"type": "array",
-	"items": {"$ref": "http://example.com/schema" }
-};
-var data = [1, 2, 3];
-
-alert("Valid: " + tv4.validate(data, schema)); // true
-alert("Missing schemas: " + JSON.stringify(tv4.missing));
-
-
- -### Referencing remote schema -
-
-tv4.addSchema("http://example.com/schema", {
-	"definitions": {
-		"arrayItem": {"type": "boolean"}
-	}
-});
-var schema = {
-	"type": "array",
-	"items": {"$ref": "http://example.com/schema#/definitions/arrayItem" }
-};
-var data1 = [true, false, true];
-var data2 = [1, 2, 3];
-
-alert("data 1: " + tv4.validate(data1, schema)); // true
-alert("data 2: " + tv4.validate(data2, schema)); // false
-
-
- -## Supported platforms - -* Node.js -* All modern browsers -* IE >= 7 - -## Installation - -You can manually download [`tv4.js`](https://raw.github.com/geraintluff/tv4/master/tv4.js) or the minified [`tv4.min.js`](https://raw.github.com/geraintluff/tv4/master/tv4.min.js) and include it in your html to create the global `tv4` variable. - -Alternately use it as a CommonJS module: - -````js -var tv4 = require('tv4'); -```` - -#### npm - -```` -$ npm install tv4 -```` - -#### bower - -```` -$ bower install tv4 -```` - -#### component.io - -```` -$ component install geraintluff/tv4 -```` - -## Build and test - -You can rebuild and run the node and browser tests using node.js and [grunt](http://http://gruntjs.com/): - -Make sure you have the global grunt cli command: -```` -$ npm install grunt-cli -g -```` - -Clone the git repos, open a shell in the root folder and install the development dependencies: - -```` -$ npm install -```` - -Rebuild and run the tests: -```` -$ grunt -```` - -It will run a build and display one Spec-style report for the node.js and two Dot-style reports for both the plain and minified browser tests (via phantomJS). You can also use your own browser to manually run the suites by opening [`test/index.html`](http://geraintluff.github.io/tv4/test/index.html) and [`test/index-min.html`](http://geraintluff.github.io/tv4/test/index-min.html). - -## Contributing - -Pull-requests for fixes and expansions are welcome. Edit the partial files in `/source` and add your tests in a suitable suite or folder under `/test/tests` and run `grunt` to rebuild and run the test suite. Try to maintain an idiomatic coding style and add tests for any new features. It is recommend to discuss big changes in an Issue. - -## Packages using tv4 - -* [chai-json-schema](http://chaijs.com/plugins/chai-json-schema) is a [Chai Assertion Library](http://chaijs.com) plugin to assert values against json-schema. -* [grunt-tv4](http://www.github.com/Bartvds/grunt-tv4) is a plugin for [Grunt](http://http://gruntjs.com/) that uses tv4 to bulk validate json files. - -## License - -The code is available as "public domain", meaning that it is completely free to use, without any restrictions at all. Read the full license [here](http://geraintluff.github.com/tv4/LICENSE.txt). - -It's also available under an [MIT license](http://jsonary.com/LICENSE.txt). diff --git a/node_modules/tv4/lang/de.js b/node_modules/tv4/lang/de.js deleted file mode 100644 index aeb9f12f..00000000 --- a/node_modules/tv4/lang/de.js +++ /dev/null @@ -1,29 +0,0 @@ -tv4.addLanguage('de', { - INVALID_TYPE: "Ungültiger Typ: {type} (erwartet wurde: {expected})", - ENUM_MISMATCH: "Keine Übereinstimmung mit der Aufzählung (enum) für: {value}", - ANY_OF_MISSING: "Daten stimmen nicht überein mit einem der Schemas von \"anyOf\"", - ONE_OF_MISSING: "Daten stimmen nicht überein mit einem der Schemas von \"oneOf\"", - ONE_OF_MULTIPLE: "Daten sind valid in Bezug auf mehreren Schemas von \"oneOf\": index {index1} und {index2}", - NOT_PASSED: "Daten stimmen mit dem \"not\" Schema überein", - // Numeric errors - NUMBER_MULTIPLE_OF: "Wert {value} ist kein Vielfaches von {multipleOf}", - NUMBER_MINIMUM: "Wert {value} ist kleiner als das Minimum {minimum}", - NUMBER_MINIMUM_EXCLUSIVE: "Wert {value} ist gleich dem Exklusiven Minimum {minimum}", - NUMBER_MAXIMUM: "Wert {value} ist größer als das Maximum {maximum}", - NUMBER_MAXIMUM_EXCLUSIVE: "Wert {value} ist gleich dem Exklusiven Maximum {maximum}", - // String errors - STRING_LENGTH_SHORT: "Zeichenkette zu kurz ({length} chars), minimum {minimum}", - STRING_LENGTH_LONG: "Zeichenkette zu lang ({length} chars), maximum {maximum}", - STRING_PATTERN: "Zeichenkette entspricht nicht dem Muster: {pattern}", - // Object errors - OBJECT_PROPERTIES_MINIMUM: "Zu wenige Attribute definiert ({propertyCount}), minimum {minimum}", - OBJECT_PROPERTIES_MAXIMUM: "Zu viele Attribute definiert ({propertyCount}), maximum {maximum}", - OBJECT_REQUIRED: "Notwendiges Attribut fehlt: {key}", - OBJECT_ADDITIONAL_PROPERTIES: "Zusätzliche Attribute nicht erlaubt", - OBJECT_DEPENDENCY_KEY: "Abhängigkeit fehlt - Schlüssel nicht vorhanden: {missing} (wegen Schlüssel: {key})", - // Array errors - ARRAY_LENGTH_SHORT: "Array zu kurz ({length}), minimum {minimum}", - ARRAY_LENGTH_LONG: "Array zu lang ({length}), maximum {maximum}", - ARRAY_UNIQUE: "Array Einträge nicht eindeutig (Index {match1} und {match2})", - ARRAY_ADDITIONAL_ITEMS: "Zusätzliche Einträge nicht erlaubt" -}); diff --git a/node_modules/tv4/package.json b/node_modules/tv4/package.json deleted file mode 100644 index 922346c8..00000000 --- a/node_modules/tv4/package.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "name": "tv4", - "version": "1.0.15", - "author": { - "name": "Geraint Luff" - }, - "description": "A public domain JSON Schema validator for JavaScript", - "keywords": [ - "json-schema", - "schema", - "validator", - "tv4" - ], - "maintainers": [ - { - "name": "Geraint Luff", - "email": "luffgd@gmail.com", - "url": "https://github.com/geraintluff/" - } - ], - "main": "tv4.js", - "repository": { - "type": "git", - "url": "https://github.com/geraintluff/tv4.git" - }, - "license:": [ - { - "type": "Public Domain", - "url": "http://geraintluff.github.io/tv4/LICENSE.txt" - }, - { - "type": "MIT", - "url": "http://jsonary.com/LICENSE.txt" - } - ], - "devDependencies": { - "grunt": "~0.4.1", - "grunt-contrib-clean": "~0.4.1", - "grunt-contrib-jshint": "~0.6.2", - "mocha": "~1.11.0", - "grunt-mocha": "~0.4", - "grunt-mocha-test": "~0.5.0", - "grunt-cli": "~0.1.9", - "grunt-contrib-uglify": "~0.2.2", - "grunt-contrib-copy": "~0.4.1", - "proclaim": "1.4", - "mocha-unfunk-reporter": "~0.2", - "jshint-path-reporter": "~0.1", - "grunt-concat-sourcemap": "~0.2", - "source-map-support": "~0.1", - "grunt-markdown": "~0.3.0", - "grunt-component": "~0.1.4", - "grunt-push-release": "~0.1.1", - "grunt-regex-replace": "~0.2.5" - }, - "engines": { - "node": ">= 0.8.0" - }, - "scripts": { - "test": "grunt test", - "prepublish": "grunt prepublish" - }, - "readme": "# Tiny Validator (for v4 JSON Schema)\n\n[![Build Status](https://secure.travis-ci.org/geraintluff/tv4.png?branch=master)](http://travis-ci.org/geraintluff/tv4) [![Dependency Status](https://gemnasium.com/geraintluff/tv4.png)](https://gemnasium.com/geraintluff/tv4) [![NPM version](https://badge.fury.io/js/tv4.png)](http://badge.fury.io/js/tv4)\n\nUse [json-schema](http://json-schema.org/) [draft v4](http://json-schema.org/latest/json-schema-core.html) to validate simple values and complex objects using a rich [validation vocabulary](http://json-schema.org/latest/json-schema-validation.html) ([examples](http://json-schema.org/examples.html)).\n\nThere is support for `$ref` with JSON Pointer fragment paths (```other-schema.json#/properties/myKey```).\n\n## Usage 1: Simple validation\n\n```javascript\nvar valid = tv4.validate(data, schema);\n```\n\nIf validation returns ```false```, then an explanation of why validation failed can be found in ```tv4.error```.\n\nThe error object will look something like:\n```json\n{\n \"code\": 0,\n \"message\": \"Invalid type: string\",\n \"dataPath\": \"/intKey\",\n \"schemaKey\": \"/properties/intKey/type\"\n}\n```\n\nThe `\"code\"` property will refer to one of the values in `tv4.errorCodes` - in this case, `tv4.errorCodes.INVALID_TYPE`.\n\nTo enable external schema to be referenced, you use:\n```javascript\ntv4.addSchema(url, schema);\n```\n\nIf schemas are referenced (```$ref```) but not known, then validation will return ```true``` and the missing schema(s) will be listed in ```tv4.missing```. For more info see the API documentation below.\n\n## Usage 2: Multi-threaded validation\n\nStoring the error and missing schemas does not work well in multi-threaded environments, so there is an alternative syntax:\n\n```javascript\nvar result = tv4.validateResult(data, schema);\n```\n\nThe result will look something like:\n```json\n{\n \"valid\": false,\n \"error\": {...},\n \"missing\": [...]\n}\n```\n\n## Usage 3: Multiple errors\n\nNormally, `tv4` stops when it encounters the first validation error. However, you can collect an array of validation errors using:\n\n```javascript\nvar result = tv4.validateMultiple(data, schema);\n```\n\nThe result will look something like:\n```json\n{\n \"valid\": false,\n \"errors\": [\n {...},\n ...\n ],\n \"missing\": [...]\n}\n```\n\n## Asynchronous validation\n\nSupport for asynchronous validation (where missing schemas are fetched) can be added by including an extra JavaScript file. Currently, the only version requires jQuery (`tv4.async-jquery.js`), but the code is very short and should be fairly easy to modify for other libraries (such as MooTools).\n\nUsage:\n\n```javascript\ntv4.validate(data, schema, function (isValid, validationError) { ... });\n```\n\n`validationFailure` is simply taken from `tv4.error`.\n\n## Options\n\nYou can use several options to change tv4's behavior when validating objects. Pass in an object to set these options for any of the regular validation methods:\n\n```javascript\ntv4.validate(data, schema, {checkRecursive: true});\nvar result = tv4.validateResult(data, schema, {checkRecursive: true});\nvar multiple = tv4.validateMultiple(data, schema, {checkRecursive: true});\n```\n\nFor backwards compatibility, you can also pass in two booleans to set the `checkRecursive` and `banUnknownProperties` options; this method signature is deprecated:\n\n```javascript\n// Set checkRecursive to false (the default) and banUnknownProperties to true\ntv4.validate(data, schema, false, true);\n```\n\nThe following sections describe the validation options.\n\n### Cyclical JavaScript objects\n\nWhile they don't occur in proper JSON, JavaScript does support self-referencing objects. Any of the above calls support a checkRecursive option. If true, tv4 will handle self-referencing objects properly - this slows down validation slightly, but that's better than a hanging script.\n\nConsider this data, notice how both `a` and `b` refer to each other:\n\n```javascript\nvar a = {};\nvar b = { a: a };\na.b = b;\nvar aSchema = { properties: { b: { $ref: 'bSchema' }}};\nvar bSchema = { properties: { a: { $ref: 'aSchema' }}};\ntv4.addSchema('aSchema', aSchema);\ntv4.addSchema('bSchema', bSchema);\n```\n\nBy default, this causes the validation methods to throw a \"too much recursion\" error.\n\nTo enable support for self-referencing objects, set the checkRecursive option to `true`:\n\n```javascript\ntv4.validate(a, aSchema, {checkRecursive: true});\ntv4.validate(a, schema, asynchronousFunction, {checkRecursive: true});\n\ntv4.validateResult(a, aSchema, {checkRecursive: true});\ntv4.validateMultiple(a, aSchema, {checkRecursive: true});\n```\n\n### Properties not defined in the schema\n\nAn object's schema may include an additionalProperties setting. When additionalProperties is set to `false`, objects will fail validation if they include properties that are not defined in the schema.\n\nYou can enforce this behavior for all object schema by setting tv4's banUnknownProperties option to `true`:\n\n```javascript\ntv4.validate(data, schema, {banUnknownProperties: true});\ntv4.validate(data, schema, asynchronousFunction, {banUnknownProperties: true});\n\ntv4.validateResult(data, schema, {banUnknownProperties: true});\ntv4.validateMultiple(data, schema, {banUnknownProperties: true});\n```\n\n### Inherited properties\n\nBy default, tv4 does not validate an object's inherited properties, which are ignored when you convert an object to JSON. This behavior differs from tv4 1.0.16 and earlier, which always validated inherited properties.\n\nTo validate inherited properties, set tv4's checkInheritedProperties option to `true`:\n\n```javascript\ntv4.validate(data, schema, {checkInheritedProperties: true});\ntv4.validate(data, schema, asynchronousFunction, {checkInheritedProperties: true});\n\ntv4.validateResult(data, schema, {checkInheritedProperties: true});\ntv4.validateMultiple(data, schema, {checkInheritedProperties: true});\n```\n\n### Non-enumerable properties\n\nBy default, tv4 does not validate an object's own non-enumerable properties, which are ignored when you convert an object to JSON. This behavior differs from tv4 1.0.16 and earlier, which always validated an object's own non-enumerable properties.\n\nTo validate an object's own non-enumerable properties, set tv4's checkNonEnumerableProperties option to `true`:\n\n```javascript\ntv4.validate(data, schema, {checkNonEnumerableProperties: true});\ntv4.validate(data, schema, asynchronousFunction, {checkNonEnumerableProperties: true});\n\ntv4.validateResult(data, schema, {checkNonEnumerableProperties: true});\ntv4.validateMultiple(data, schema, {checkNonEnumerableProperties: true});\n```\n\n## API\n\nThere are additional api commands available for more complex use-cases:\n\n##### addSchema(uri, schema)\nPre-register a schema for reference by other schema and synchronous validation.\n\n````js\ntv4.addSchema('http://example.com/schema', { ... });\n````\n\n* `uri` the uri to identify this schema.\n* `schema` the schema object.\n\nSchemas that have their `id` property set can be added directly.\n\n````js\ntv4.addSchema({ ... });\n````\n\n##### getSchema(uri)\n\nReturn a schema from the cache.\n\n* `uri` the uri of the schema (may contain a `#` fragment)\n\n````js\nvar schema = tv4.getSchema('http://example.com/schema');\n````\n\n##### getSchemaMap()\n\nReturn a shallow copy of the schema cache, mapping schema document URIs to schema objects.\n\n````\nvar map = tv4.getSchemaMap();\n\nvar schema = map[uri];\n````\n\n##### getSchemaUris(filter)\n\nReturn an Array with known schema document URIs.\n\n* `filter` optional RegExp to filter URIs\n\n````\nvar arr = tv4.getSchemaUris();\n\n// optional filter using a RegExp\nvar arr = tv4.getSchemaUris(/^https?://example.com/);\n````\n\n##### getMissingUris(filter)\n\nReturn an Array with schema document URIs that are used as `$ref` in known schemas but which currently have no associated schema data.\n\nUse this in combination with `tv4.addSchema(uri, schema)` to preload the cache for complete synchronous validation with.\n\n* `filter` optional RegExp to filter URIs\n\n````\nvar arr = tv4.getMissingUris();\n\n// optional filter using a RegExp\nvar arr = tv4.getMissingUris(/^https?://example.com/);\n````\n\n##### dropSchemas()\n\nDrop all known schema document URIs from the cache.\n\n````\ntv4.dropSchemas();\n````\n\n##### freshApi()\n\nReturn a new tv4 instance with no shared state.\n\n````\nvar otherTV4 = tv4.freshApi();\n````\n\n##### reset()\n\nManually reset validation status from the simple `tv4.validate(data, schema)`. Although tv4 will self reset on each validation there are some implementation scenarios where this is useful.\n\n````\ntv4.reset();\n````\n\n##### language(code)\n\nSelect the language map used for reporting.\n\n* `code` is a language code, like `'en'` or `'en-gb'`\n\n````\ntv4.language('en-gb');\n````\n\n##### addLanguage(code, map)\n\nAdd a new language map for selection by `tv4.language(code)`\n\n* `code` is new language code\n* `map` is an object mapping error IDs or constant names (e.g. `103` or `\"NUMBER_MAXIMUM\"`) to language strings.\n\n````\ntv4.addLanguage('fr', { ... });\n\n// select for use\ntv4.language('fr')\n````\n\n##### addFormat(format, validationFunction)\n\nAdd a custom format validator. (There are no built-in format validators.)\n\n* `format` is a string, corresponding to the `\"format\"` value in schemas.\n* `validationFunction` is a function that either returns:\n * `null` (meaning no error)\n * an error string (explaining the reason for failure)\n\n````\ntv4.addFormat('decimal-digits', function (data, schema) {\n\tif (typeof data === 'string' && !/^[0-9]+$/.test(data)) {\n\t\treturn null;\n\t}\n\treturn \"must be string of decimal digits\";\n});\n````\n\nAlternatively, multiple formats can be added at the same time using an object:\n````\ntv4.addFormat({\n\t'my-format': function () {...},\n\t'other-format': function () {...}\n});\n````\n\n## Demos\n\n### Basic usage\n
\n
\nvar schema = {\n\t\"items\": {\n\t\t\"type\": \"boolean\"\n\t}\n};\nvar data1 = [true, false];\nvar data2 = [true, 123];\n\nalert(\"data 1: \" + tv4.validate(data1, schema)); // true\nalert(\"data 2: \" + tv4.validate(data2, schema)); // false\nalert(\"data 2 error: \" + JSON.stringify(tv4.error, null, 4));\n
\n
\n\n### Use of $ref\n
\n
\nvar schema = {\n\t\"type\": \"array\",\n\t\"items\": {\"$ref\": \"#\"}\n};\nvar data1 = [[], [[]]];\nvar data2 = [[], [true, []]];\n\nalert(\"data 1: \" + tv4.validate(data1, schema)); // true\nalert(\"data 2: \" + tv4.validate(data2, schema)); // false\n
\n
\n\n### Missing schema\n
\n
\nvar schema = {\n\t\"type\": \"array\",\n\t\"items\": {\"$ref\": \"http://example.com/schema\" }\n};\nvar data = [1, 2, 3];\n\nalert(\"Valid: \" + tv4.validate(data, schema)); // true\nalert(\"Missing schemas: \" + JSON.stringify(tv4.missing));\n
\n
\n\n### Referencing remote schema\n
\n
\ntv4.addSchema(\"http://example.com/schema\", {\n\t\"definitions\": {\n\t\t\"arrayItem\": {\"type\": \"boolean\"}\n\t}\n});\nvar schema = {\n\t\"type\": \"array\",\n\t\"items\": {\"$ref\": \"http://example.com/schema#/definitions/arrayItem\" }\n};\nvar data1 = [true, false, true];\nvar data2 = [1, 2, 3];\n\nalert(\"data 1: \" + tv4.validate(data1, schema)); // true\nalert(\"data 2: \" + tv4.validate(data2, schema)); // false\n
\n
\n\n## Supported platforms\n\n* Node.js\n* All modern browsers\n* IE >= 7\n\n## Installation\n\nYou can manually download [`tv4.js`](https://raw.github.com/geraintluff/tv4/master/tv4.js) or the minified [`tv4.min.js`](https://raw.github.com/geraintluff/tv4/master/tv4.min.js) and include it in your html to create the global `tv4` variable.\n\nAlternately use it as a CommonJS module:\n\n````js\nvar tv4 = require('tv4');\n````\n\n#### npm\n\n````\n$ npm install tv4\n````\n\n#### bower\n\n````\n$ bower install tv4\n````\n\n#### component.io\n\n````\n$ component install geraintluff/tv4\n````\n\n## Build and test\n\nYou can rebuild and run the node and browser tests using node.js and [grunt](http://http://gruntjs.com/):\n\nMake sure you have the global grunt cli command:\n````\n$ npm install grunt-cli -g\n````\n\nClone the git repos, open a shell in the root folder and install the development dependencies:\n\n````\n$ npm install\n````\n\nRebuild and run the tests:\n````\n$ grunt\n````\n\nIt will run a build and display one Spec-style report for the node.js and two Dot-style reports for both the plain and minified browser tests (via phantomJS). You can also use your own browser to manually run the suites by opening [`test/index.html`](http://geraintluff.github.io/tv4/test/index.html) and [`test/index-min.html`](http://geraintluff.github.io/tv4/test/index-min.html).\n\n## Contributing\n\nPull-requests for fixes and expansions are welcome. Edit the partial files in `/source` and add your tests in a suitable suite or folder under `/test/tests` and run `grunt` to rebuild and run the test suite. Try to maintain an idiomatic coding style and add tests for any new features. It is recommend to discuss big changes in an Issue.\n\n## Packages using tv4\n\n* [chai-json-schema](http://chaijs.com/plugins/chai-json-schema) is a [Chai Assertion Library](http://chaijs.com) plugin to assert values against json-schema.\n* [grunt-tv4](http://www.github.com/Bartvds/grunt-tv4) is a plugin for [Grunt](http://http://gruntjs.com/) that uses tv4 to bulk validate json files.\n\n## License\n\nThe code is available as \"public domain\", meaning that it is completely free to use, without any restrictions at all. Read the full license [here](http://geraintluff.github.com/tv4/LICENSE.txt).\n\nIt's also available under an [MIT license](http://jsonary.com/LICENSE.txt).\n", - "readmeFilename": "README.md", - "bugs": { - "url": "https://github.com/geraintluff/tv4/issues" - }, - "homepage": "https://github.com/geraintluff/tv4", - "_id": "tv4@1.0.15", - "_shasum": "081e6823ee51d67aabe5b92ea3a00804902be155", - "_from": "https://github.com/hegemonic/tv4/tarball/own-properties", - "_resolved": "https://github.com/hegemonic/tv4/tarball/own-properties" -} diff --git a/node_modules/tv4/tv4.async-jquery.js b/node_modules/tv4/tv4.async-jquery.js deleted file mode 100644 index 761f232a..00000000 --- a/node_modules/tv4/tv4.async-jquery.js +++ /dev/null @@ -1,34 +0,0 @@ -// Provides support for asynchronous validation (fetching schemas) using jQuery -// Callback is optional third argument to tv4.validate() - if not present, synchronous operation -// callback(result, error); -if (typeof (tv4.asyncValidate) === 'undefined') { - tv4.syncValidate = tv4.validate; - tv4.validate = function (data, schema, callback, checkRecursive, banUnknownProperties) { - if (typeof (callback) === 'undefined') { - return this.syncValidate(data, schema, checkRecursive, banUnknownProperties); - } else { - return this.asyncValidate(data, schema, callback, checkRecursive, banUnknownProperties); - } - }; - tv4.asyncValidate = function (data, schema, callback, checkRecursive, banUnknownProperties) { - var $ = jQuery; - var result = tv4.validate(data, schema, checkRecursive, banUnknownProperties); - if (!tv4.missing.length) { - callback(result, tv4.error); - } else { - // Make a request for each missing schema - var missingSchemas = $.map(tv4.missing, function (schemaUri) { - return $.getJSON(schemaUri).success(function (fetchedSchema) { - tv4.addSchema(schemaUri, fetchedSchema); - }).error(function () { - // If there's an error, just use an empty schema - tv4.addSchema(schemaUri, {}); - }); - }); - // When all requests done, try again - $.when.apply($, missingSchemas).done(function () { - var result = tv4.asyncValidate(data, schema, callback, checkRecursive, banUnknownProperties); - }); - } - }; -} diff --git a/node_modules/tv4/tv4.js b/node_modules/tv4/tv4.js deleted file mode 100644 index 37a36241..00000000 --- a/node_modules/tv4/tv4.js +++ /dev/null @@ -1,1388 +0,0 @@ -/* -Author: Geraint Luff and others -Year: 2013 - -This code is released into the "public domain" by its author(s). Anybody may use, alter and distribute the code without restriction. The author makes no guarantees, and takes no liability of any kind for use of this code. - -If you find a bug or make an improvement, it would be courteous to let the author know, but it is not compulsory. -*/ -(function (global) { -'use strict'; - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FObject%2Fkeys -if (!Object.keys) { - Object.keys = (function () { - var hasOwnProperty = Object.prototype.hasOwnProperty, - hasDontEnumBug = !({toString: null}).propertyIsEnumerable('toString'), - dontEnums = [ - 'toString', - 'toLocaleString', - 'valueOf', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'constructor' - ], - dontEnumsLength = dontEnums.length; - - return function (obj) { - if (typeof obj !== 'object' && typeof obj !== 'function' || obj === null) { - throw new TypeError('Object.keys called on non-object'); - } - - var result = []; - - for (var prop in obj) { - if (hasOwnProperty.call(obj, prop)) { - result.push(prop); - } - } - - if (hasDontEnumBug) { - for (var i=0; i < dontEnumsLength; i++) { - if (hasOwnProperty.call(obj, dontEnums[i])) { - result.push(dontEnums[i]); - } - } - } - return result; - }; - })(); -} -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create -if (!Object.create) { - Object.create = (function(){ - function F(){} - - return function(o){ - if (arguments.length !== 1) { - throw new Error('Object.create implementation only accepts one parameter.'); - } - F.prototype = o; - return new F(); - }; - })(); -} -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FArray%2FisArray -if(!Array.isArray) { - Array.isArray = function (vArg) { - return Object.prototype.toString.call(vArg) === "[object Array]"; - }; -} -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects%2FArray%2FindexOf -if (!Array.prototype.indexOf) { - Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) { - if (this === null) { - throw new TypeError(); - } - var t = Object(this); - var len = t.length >>> 0; - - if (len === 0) { - return -1; - } - var n = 0; - if (arguments.length > 1) { - n = Number(arguments[1]); - if (n !== n) { // shortcut for verifying if it's NaN - n = 0; - } else if (n !== 0 && n !== Infinity && n !== -Infinity) { - n = (n > 0 || -1) * Math.floor(Math.abs(n)); - } - } - if (n >= len) { - return -1; - } - var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0); - for (; k < len; k++) { - if (k in t && t[k] === searchElement) { - return k; - } - } - return -1; - }; -} - -// Grungey Object.isFrozen hack -if (!Object.isFrozen) { - Object.isFrozen = function (obj) { - var key = "tv4_test_frozen_key"; - while (obj.hasOwnProperty(key)) { - key += Math.random(); - } - try { - obj[key] = true; - delete obj[key]; - return false; - } catch (e) { - return true; - } - }; -} -var ValidatorContext = function ValidatorContext(parent, collectMultiple, errorMessages, options) { - this.missing = []; - this.missingMap = {}; - this.formatValidators = parent ? Object.create(parent.formatValidators) : {}; - this.schemas = parent ? Object.create(parent.schemas) : {}; - this.collectMultiple = collectMultiple; - this.errors = []; - this.handleError = collectMultiple ? this.collectError : this.returnError; - options = options || {}; - if (options.checkRecursive) { - this.checkRecursive = true; - this.scanned = []; - this.scannedFrozen = []; - this.scannedFrozenSchemas = []; - this.scannedFrozenValidationErrors = []; - this.validatedSchemasKey = 'tv4_validation_id'; - this.validationErrorsKey = 'tv4_validation_errors_id'; - } - if (options.banUnknownProperties) { - this.trackUnknownProperties = true; - this.knownPropertyPaths = {}; - this.unknownPropertyPaths = {}; - } - if (options.checkInheritedProperties) { - this.checkInheritedProperties = true; - } - if (options.checkNonEnumerableProperties) { - this.checkNonEnumerableProperties = true; - } - this.errorMessages = errorMessages; -}; -ValidatorContext.prototype.createError = function (code, messageParams, dataPath, schemaPath, subErrors) { - var messageTemplate = this.errorMessages[code] || ErrorMessagesDefault[code]; - if (typeof messageTemplate !== 'string') { - return new ValidationError(code, "Unknown error code " + code + ": " + JSON.stringify(messageParams), dataPath, schemaPath, subErrors); - } - // Adapted from Crockford's supplant() - var message = messageTemplate.replace(/\{([^{}]*)\}/g, function (whole, varName) { - var subValue = messageParams[varName]; - return typeof subValue === 'string' || typeof subValue === 'number' ? subValue : whole; - }); - return new ValidationError(code, message, dataPath, schemaPath, subErrors); -}; -ValidatorContext.prototype.returnError = function (error) { - return error; -}; -ValidatorContext.prototype.collectError = function (error) { - if (error) { - this.errors.push(error); - } - return null; -}; -ValidatorContext.prototype.prefixErrors = function (startIndex, dataPath, schemaPath) { - for (var i = startIndex; i < this.errors.length; i++) { - this.errors[i] = this.errors[i].prefixWith(dataPath, schemaPath); - } - return this; -}; -ValidatorContext.prototype.banUnknownProperties = function () { - if (this.trackUnknownProperties) { - var unknownPaths = Object.keys(this.unknownPropertyPaths); - for (var i = 0; i < unknownPaths.length; i++) { - var unknownPath = unknownPaths[i]; - var error = this.createError(ErrorCodes.UNKNOWN_PROPERTY, {path: unknownPath}, unknownPath, ""); - var result = this.handleError(error); - if (result) { - return result; - } - } - } - return null; -}; - -ValidatorContext.prototype.addFormat = function (format, validator) { - if (typeof format === 'object') { - var formatKeys = Object.keys(format); - for (var i = 0; i < formatKeys.length; i++) { - var key = formatKeys[i]; - this.addFormat(key, format[key]); - } - return this; - } - this.formatValidators[format] = validator; -}; -ValidatorContext.prototype.resolveRefs = function (schema, urlHistory) { - if (schema['$ref'] !== undefined) { - urlHistory = urlHistory || {}; - if (urlHistory[schema['$ref']]) { - return this.createError(ErrorCodes.CIRCULAR_REFERENCE, {urls: Object.keys(urlHistory).join(', ')}, '', ''); - } - urlHistory[schema['$ref']] = true; - schema = this.getSchema(schema['$ref'], urlHistory); - } - return schema; -}; -ValidatorContext.prototype.getSchema = function (url, urlHistory) { - var schema; - if (this.schemas[url] !== undefined) { - schema = this.schemas[url]; - return this.resolveRefs(schema, urlHistory); - } - var baseUrl = url; - var fragment = ""; - if (url.indexOf('#') !== -1) { - fragment = url.substring(url.indexOf("#") + 1); - baseUrl = url.substring(0, url.indexOf("#")); - } - if (typeof this.schemas[baseUrl] === 'object') { - schema = this.schemas[baseUrl]; - var pointerPath = decodeURIComponent(fragment); - if (pointerPath === "") { - return this.resolveRefs(schema, urlHistory); - } else if (pointerPath.charAt(0) !== "/") { - return undefined; - } - var parts = pointerPath.split("/").slice(1); - for (var i = 0; i < parts.length; i++) { - var component = parts[i].replace(/~1/g, "/").replace(/~0/g, "~"); - if (schema[component] === undefined) { - schema = undefined; - break; - } - schema = schema[component]; - } - if (schema !== undefined) { - return this.resolveRefs(schema, urlHistory); - } - } - if (this.missing[baseUrl] === undefined) { - this.missing.push(baseUrl); - this.missing[baseUrl] = baseUrl; - this.missingMap[baseUrl] = baseUrl; - } -}; -ValidatorContext.prototype.searchSchemas = function (schema, url) { - if (schema && typeof schema === "object") { - if (typeof schema.id === "string") { - if (isTrustedUrl(url, schema.id)) { - if (this.schemas[schema.id] === undefined) { - this.schemas[schema.id] = schema; - } - } - } - var schemaKeys = Object.keys(schema); - for (var i = 0; i < schemaKeys.length; i++) { - var key = schemaKeys[i]; - if (key !== "enum") { - if (typeof schema[key] === "object") { - this.searchSchemas(schema[key], url); - } else if (key === "$ref") { - var uri = getDocumentUri(schema[key]); - if (uri && this.schemas[uri] === undefined && this.missingMap[uri] === undefined) { - this.missingMap[uri] = uri; - } - } - } - } - } -}; -ValidatorContext.prototype.addSchema = function (url, schema) { - //overload - if (typeof url !== 'string' || typeof schema === 'undefined') { - if (typeof url === 'object' && typeof url.id === 'string') { - schema = url; - url = schema.id; - } - else { - return; - } - } - if (url = getDocumentUri(url) + "#") { - // Remove empty fragment - url = getDocumentUri(url); - } - this.schemas[url] = schema; - delete this.missingMap[url]; - normSchema(schema, url); - this.searchSchemas(schema, url); -}; - -ValidatorContext.prototype.getSchemaMap = function () { - var map = {}; - var schemaKeys = Object.keys(this.schemas); - for (var i = 0; i < schemaKeys.length; i++) { - var key = schemaKeys[i]; - map[key] = this.schemas[key]; - } - return map; -}; - -ValidatorContext.prototype.getSchemaUris = function (filterRegExp) { - var list = []; - var schemaKeys = Object.keys(this.schemas); - for (var i = 0; i < schemaKeys.length; i++) { - var key = schemaKeys[i]; - if (!filterRegExp || filterRegExp.test(key)) { - list.push(key); - } - } - return list; -}; - -ValidatorContext.prototype.getMissingUris = function (filterRegExp) { - var list = []; - var missingKeys = Object.keys(this.missingMap); - for (var i = 0; i < missingKeys.length; i++) { - var key = missingKeys[i]; - if (!filterRegExp || filterRegExp.test(key)) { - list.push(key); - } - } - return list; -}; - -ValidatorContext.prototype.dropSchemas = function () { - this.schemas = {}; - this.reset(); -}; -ValidatorContext.prototype.reset = function () { - this.missing = []; - this.missingMap = {}; - this.errors = []; -}; - -ValidatorContext.prototype.validateAll = function (data, schema, dataPathParts, schemaPathParts, dataPointerPath) { - var topLevel; - schema = this.resolveRefs(schema); - if (!schema) { - return null; - } else if (schema instanceof ValidationError) { - this.errors.push(schema); - return schema; - } - - var startErrorCount = this.errors.length; - var frozenIndex, scannedFrozenSchemaIndex = null, scannedSchemasIndex = null; - if (this.checkRecursive && (typeof data) === 'object') { - topLevel = !this.scanned.length; - if (data[this.validatedSchemasKey]) { - var schemaIndex = data[this.validatedSchemasKey].indexOf(schema); - if (schemaIndex !== -1) { - this.errors = this.errors.concat(data[this.validationErrorsKey][schemaIndex]); - return null; - } - } - if (Object.isFrozen(data)) { - frozenIndex = this.scannedFrozen.indexOf(data); - if (frozenIndex !== -1) { - var frozenSchemaIndex = this.scannedFrozenSchemas[frozenIndex].indexOf(schema); - if (frozenSchemaIndex !== -1) { - this.errors = this.errors.concat(this.scannedFrozenValidationErrors[frozenIndex][frozenSchemaIndex]); - return null; - } - } - } - this.scanned.push(data); - if (Object.isFrozen(data)) { - if (frozenIndex === -1) { - frozenIndex = this.scannedFrozen.length; - this.scannedFrozen.push(data); - this.scannedFrozenSchemas.push([]); - } - scannedFrozenSchemaIndex = this.scannedFrozenSchemas[frozenIndex].length; - this.scannedFrozenSchemas[frozenIndex][scannedFrozenSchemaIndex] = schema; - this.scannedFrozenValidationErrors[frozenIndex][scannedFrozenSchemaIndex] = []; - } else { - if (!data[this.validatedSchemasKey]) { - try { - Object.defineProperty(data, this.validatedSchemasKey, { - value: [], - configurable: true - }); - Object.defineProperty(data, this.validationErrorsKey, { - value: [], - configurable: true - }); - } catch (e) { - //IE 7/8 workaround - data[this.validatedSchemasKey] = []; - data[this.validationErrorsKey] = []; - } - } - scannedSchemasIndex = data[this.validatedSchemasKey].length; - data[this.validatedSchemasKey][scannedSchemasIndex] = schema; - data[this.validationErrorsKey][scannedSchemasIndex] = []; - } - } - - var errorCount = this.errors.length; - var error = this.validateBasic(data, schema, dataPointerPath) - || this.validateNumeric(data, schema, dataPointerPath) - || this.validateString(data, schema, dataPointerPath) - || this.validateArray(data, schema, dataPointerPath) - || this.validateObject(data, schema, dataPointerPath) - || this.validateCombinations(data, schema, dataPointerPath) - || this.validateFormat(data, schema, dataPointerPath) - || null; - - if (topLevel) { - while (this.scanned.length) { - var item = this.scanned.pop(); - delete item[this.validatedSchemasKey]; - } - this.scannedFrozen = []; - this.scannedFrozenSchemas = []; - } - - if (error || errorCount !== this.errors.length) { - while ((dataPathParts && dataPathParts.length) || (schemaPathParts && schemaPathParts.length)) { - var dataPart = (dataPathParts && dataPathParts.length) ? "" + dataPathParts.pop() : null; - var schemaPart = (schemaPathParts && schemaPathParts.length) ? "" + schemaPathParts.pop() : null; - if (error) { - error = error.prefixWith(dataPart, schemaPart); - } - this.prefixErrors(errorCount, dataPart, schemaPart); - } - } - - if (scannedFrozenSchemaIndex !== null) { - this.scannedFrozenValidationErrors[frozenIndex][scannedFrozenSchemaIndex] = this.errors.slice(startErrorCount); - } else if (scannedSchemasIndex !== null) { - data[this.validationErrorsKey][scannedSchemasIndex] = this.errors.slice(startErrorCount); - } - - return this.handleError(error); -}; -ValidatorContext.prototype.validateFormat = function (data, schema) { - if (typeof schema.format !== 'string' || !this.formatValidators[schema.format]) { - return null; - } - var errorMessage = this.formatValidators[schema.format].call(null, data, schema); - if (typeof errorMessage === 'string' || typeof errorMessage === 'number') { - return this.createError(ErrorCodes.FORMAT_CUSTOM, {message: errorMessage}).prefixWith(null, "format"); - } else if (errorMessage && typeof errorMessage === 'object') { - return this.createError(ErrorCodes.FORMAT_CUSTOM, {message: errorMessage.message || "?"}, errorMessage.dataPath || null, errorMessage.schemaPath || "/format"); - } - return null; -}; - -function recursiveCompare(A, B) { - if (A === B) { - return true; - } - if (typeof A === "object" && typeof B === "object") { - if (Array.isArray(A) !== Array.isArray(B)) { - return false; - } else if (Array.isArray(A)) { - if (A.length !== B.length) { - return false; - } - for (var i = 0; i < A.length; i++) { - if (!recursiveCompare(A[i], B[i])) { - return false; - } - } - } else { - var key; - for (key in A) { - if (B[key] === undefined && A[key] !== undefined) { - return false; - } - } - for (key in B) { - if (A[key] === undefined && B[key] !== undefined) { - return false; - } - } - for (key in A) { - if (!recursiveCompare(A[key], B[key])) { - return false; - } - } - } - return true; - } - return false; -} - -ValidatorContext.prototype.validateBasic = function validateBasic(data, schema, dataPointerPath) { - var error; - if (error = this.validateType(data, schema, dataPointerPath)) { - return error.prefixWith(null, "type"); - } - if (error = this.validateEnum(data, schema, dataPointerPath)) { - return error.prefixWith(null, "type"); - } - return null; -}; - -ValidatorContext.prototype.validateType = function validateType(data, schema) { - if (schema.type === undefined) { - return null; - } - var dataType = typeof data; - if (data === null) { - dataType = "null"; - } else if (Array.isArray(data)) { - dataType = "array"; - } - var allowedTypes = schema.type; - if (typeof allowedTypes !== "object") { - allowedTypes = [allowedTypes]; - } - - for (var i = 0; i < allowedTypes.length; i++) { - var type = allowedTypes[i]; - if (type === dataType || (type === "integer" && dataType === "number" && (data % 1 === 0))) { - return null; - } - } - return this.createError(ErrorCodes.INVALID_TYPE, {type: dataType, expected: allowedTypes.join("/")}); -}; - -ValidatorContext.prototype.validateEnum = function validateEnum(data, schema) { - if (schema["enum"] === undefined) { - return null; - } - for (var i = 0; i < schema["enum"].length; i++) { - var enumVal = schema["enum"][i]; - if (recursiveCompare(data, enumVal)) { - return null; - } - } - return this.createError(ErrorCodes.ENUM_MISMATCH, {value: (typeof JSON !== 'undefined') ? JSON.stringify(data) : data}); -}; - -ValidatorContext.prototype.validateNumeric = function validateNumeric(data, schema, dataPointerPath) { - return this.validateMultipleOf(data, schema, dataPointerPath) - || this.validateMinMax(data, schema, dataPointerPath) - || null; -}; - -ValidatorContext.prototype.validateMultipleOf = function validateMultipleOf(data, schema) { - var multipleOf = schema.multipleOf || schema.divisibleBy; - if (multipleOf === undefined) { - return null; - } - if (typeof data === "number") { - if (data % multipleOf !== 0) { - return this.createError(ErrorCodes.NUMBER_MULTIPLE_OF, {value: data, multipleOf: multipleOf}); - } - } - return null; -}; - -ValidatorContext.prototype.validateMinMax = function validateMinMax(data, schema) { - if (typeof data !== "number") { - return null; - } - if (schema.minimum !== undefined) { - if (data < schema.minimum) { - return this.createError(ErrorCodes.NUMBER_MINIMUM, {value: data, minimum: schema.minimum}).prefixWith(null, "minimum"); - } - if (schema.exclusiveMinimum && data === schema.minimum) { - return this.createError(ErrorCodes.NUMBER_MINIMUM_EXCLUSIVE, {value: data, minimum: schema.minimum}).prefixWith(null, "exclusiveMinimum"); - } - } - if (schema.maximum !== undefined) { - if (data > schema.maximum) { - return this.createError(ErrorCodes.NUMBER_MAXIMUM, {value: data, maximum: schema.maximum}).prefixWith(null, "maximum"); - } - if (schema.exclusiveMaximum && data === schema.maximum) { - return this.createError(ErrorCodes.NUMBER_MAXIMUM_EXCLUSIVE, {value: data, maximum: schema.maximum}).prefixWith(null, "exclusiveMaximum"); - } - } - return null; -}; - -ValidatorContext.prototype.validateString = function validateString(data, schema, dataPointerPath) { - return this.validateStringLength(data, schema, dataPointerPath) - || this.validateStringPattern(data, schema, dataPointerPath) - || null; -}; - -ValidatorContext.prototype.validateStringLength = function validateStringLength(data, schema) { - if (typeof data !== "string") { - return null; - } - if (schema.minLength !== undefined) { - if (data.length < schema.minLength) { - return this.createError(ErrorCodes.STRING_LENGTH_SHORT, {length: data.length, minimum: schema.minLength}).prefixWith(null, "minLength"); - } - } - if (schema.maxLength !== undefined) { - if (data.length > schema.maxLength) { - return this.createError(ErrorCodes.STRING_LENGTH_LONG, {length: data.length, maximum: schema.maxLength}).prefixWith(null, "maxLength"); - } - } - return null; -}; - -ValidatorContext.prototype.validateStringPattern = function validateStringPattern(data, schema) { - if (typeof data !== "string" || schema.pattern === undefined) { - return null; - } - var regexp = new RegExp(schema.pattern); - if (!regexp.test(data)) { - return this.createError(ErrorCodes.STRING_PATTERN, {pattern: schema.pattern}).prefixWith(null, "pattern"); - } - return null; -}; -ValidatorContext.prototype.validateArray = function validateArray(data, schema, dataPointerPath) { - if (!Array.isArray(data)) { - return null; - } - return this.validateArrayLength(data, schema, dataPointerPath) - || this.validateArrayUniqueItems(data, schema, dataPointerPath) - || this.validateArrayItems(data, schema, dataPointerPath) - || null; -}; - -ValidatorContext.prototype.validateArrayLength = function validateArrayLength(data, schema) { - var error; - if (schema.minItems !== undefined) { - if (data.length < schema.minItems) { - error = (this.createError(ErrorCodes.ARRAY_LENGTH_SHORT, {length: data.length, minimum: schema.minItems})).prefixWith(null, "minItems"); - if (this.handleError(error)) { - return error; - } - } - } - if (schema.maxItems !== undefined) { - if (data.length > schema.maxItems) { - error = (this.createError(ErrorCodes.ARRAY_LENGTH_LONG, {length: data.length, maximum: schema.maxItems})).prefixWith(null, "maxItems"); - if (this.handleError(error)) { - return error; - } - } - } - return null; -}; - -ValidatorContext.prototype.validateArrayUniqueItems = function validateArrayUniqueItems(data, schema) { - if (schema.uniqueItems) { - for (var i = 0; i < data.length; i++) { - for (var j = i + 1; j < data.length; j++) { - if (recursiveCompare(data[i], data[j])) { - var error = (this.createError(ErrorCodes.ARRAY_UNIQUE, {match1: i, match2: j})).prefixWith(null, "uniqueItems"); - if (this.handleError(error)) { - return error; - } - } - } - } - } - return null; -}; - -ValidatorContext.prototype.validateArrayItems = function validateArrayItems(data, schema, dataPointerPath) { - if (schema.items === undefined) { - return null; - } - var error, i; - if (Array.isArray(schema.items)) { - for (i = 0; i < data.length; i++) { - if (i < schema.items.length) { - if (error = this.validateAll(data[i], schema.items[i], [i], ["items", i], dataPointerPath + "/" + i)) { - return error; - } - } else if (schema.additionalItems !== undefined) { - if (typeof schema.additionalItems === "boolean") { - if (!schema.additionalItems) { - error = (this.createError(ErrorCodes.ARRAY_ADDITIONAL_ITEMS, {})).prefixWith("" + i, "additionalItems"); - if (this.handleError(error)) { - return error; - } - } - } else if (error = this.validateAll(data[i], schema.additionalItems, [i], ["additionalItems"], dataPointerPath + "/" + i)) { - return error; - } - } - } - } else { - for (i = 0; i < data.length; i++) { - if (error = this.validateAll(data[i], schema.items, [i], ["items"], dataPointerPath + "/" + i)) { - return error; - } - } - } - return null; -}; - -ValidatorContext.prototype.validateObject = function validateObject(data, schema, dataPointerPath) { - if (typeof data !== "object" || data === null || Array.isArray(data)) { - return null; - } - return this.validateObjectMinMaxProperties(data, schema, dataPointerPath) - || this.validateObjectRequiredProperties(data, schema, dataPointerPath) - || this.validateObjectProperties(data, schema, dataPointerPath) - || this.validateObjectDependencies(data, schema, dataPointerPath) - || null; -}; - -ValidatorContext.prototype.validateObjectMinMaxProperties = function validateObjectMinMaxProperties(data, schema) { - var keys = Object.keys(data); - var error; - if (schema.minProperties !== undefined) { - if (keys.length < schema.minProperties) { - error = this.createError(ErrorCodes.OBJECT_PROPERTIES_MINIMUM, {propertyCount: keys.length, minimum: schema.minProperties}).prefixWith(null, "minProperties"); - if (this.handleError(error)) { - return error; - } - } - } - if (schema.maxProperties !== undefined) { - if (keys.length > schema.maxProperties) { - error = this.createError(ErrorCodes.OBJECT_PROPERTIES_MAXIMUM, {propertyCount: keys.length, maximum: schema.maxProperties}).prefixWith(null, "maxProperties"); - if (this.handleError(error)) { - return error; - } - } - } - return null; -}; - -ValidatorContext.prototype.validateObjectRequiredProperties = function validateObjectRequiredProperties(data, schema) { - if (schema.required !== undefined) { - for (var i = 0; i < schema.required.length; i++) { - var key = schema.required[i]; - if (data[key] === undefined) { - var error = this.createError(ErrorCodes.OBJECT_REQUIRED, {key: key}).prefixWith(key, "" + i).prefixWith(null, "required"); - if (this.handleError(error)) { - return error; - } - } - } - } - return null; -}; - -function findProperties(obj, checkInheritedProperties, checkNonEnumerableProperties) { - // Start with the object's own enumerable properties - var properties = Object.keys(obj); - if (checkInheritedProperties) { - for (var key in obj) { - if (properties.indexOf(key) === -1) { - properties.push(key); - } - } - } - // Object.getOwnPropertyNames is not available in IE 8 and below (and cannot be polyfilled) - if (checkNonEnumerableProperties && Object.getOwnPropertyNames) { - Object.getOwnPropertyNames(obj).forEach(function (name) { - if (properties.indexOf(name) === -1) { - properties.push(name); - } - }); - } - return properties; -} - -ValidatorContext.prototype.validateObjectProperties = function validateObjectProperties(data, schema, dataPointerPath) { - var error; - var dataKeys = findProperties(data, this.checkInheritedProperties, this.checkNonEnumerableProperties); - for (var i = 0; i < dataKeys.length; i++) { - var key = dataKeys[i]; - var keyPointerPath = dataPointerPath + "/" + key.replace(/~/g, '~0').replace(/\//g, '~1'); - var foundMatch = false; - if (schema.properties !== undefined && schema.properties[key] !== undefined) { - foundMatch = true; - if (error = this.validateAll(data[key], schema.properties[key], [key], ["properties", key], keyPointerPath)) { - return error; - } - } - if (schema.patternProperties !== undefined) { - var patternKeys = Object.keys(schema.patternProperties); - for (var j = 0; j < patternKeys.length; j++) { - var patternKey = patternKeys[j]; - var regexp = new RegExp(patternKey); - if (regexp.test(key)) { - foundMatch = true; - if (error = this.validateAll(data[key], schema.patternProperties[patternKey], [key], ["patternProperties", patternKey], keyPointerPath)) { - return error; - } - } - } - } - if (!foundMatch) { - if (schema.additionalProperties !== undefined) { - if (this.trackUnknownProperties) { - this.knownPropertyPaths[keyPointerPath] = true; - delete this.unknownPropertyPaths[keyPointerPath]; - } - if (typeof schema.additionalProperties === "boolean") { - if (!schema.additionalProperties) { - error = this.createError(ErrorCodes.OBJECT_ADDITIONAL_PROPERTIES, {}).prefixWith(key, "additionalProperties"); - if (this.handleError(error)) { - return error; - } - } - } else { - if (error = this.validateAll(data[key], schema.additionalProperties, [key], ["additionalProperties"], keyPointerPath)) { - return error; - } - } - } else if (this.trackUnknownProperties && !this.knownPropertyPaths[keyPointerPath]) { - this.unknownPropertyPaths[keyPointerPath] = true; - } - } else if (this.trackUnknownProperties) { - this.knownPropertyPaths[keyPointerPath] = true; - delete this.unknownPropertyPaths[keyPointerPath]; - } - } - return null; -}; - -ValidatorContext.prototype.validateObjectDependencies = function validateObjectDependencies(data, schema, dataPointerPath) { - var error; - if (schema.dependencies !== undefined) { - var depKeys = Object.keys(schema.dependencies); - for (var i = 0; i < depKeys.length; i++) { - var depKey = depKeys[i]; - if (data[depKey] !== undefined) { - var dep = schema.dependencies[depKey]; - if (typeof dep === "string") { - if (data[dep] === undefined) { - error = this.createError(ErrorCodes.OBJECT_DEPENDENCY_KEY, {key: depKey, missing: dep}).prefixWith(null, depKey).prefixWith(null, "dependencies"); - if (this.handleError(error)) { - return error; - } - } - } else if (Array.isArray(dep)) { - for (var j = 0; j < dep.length; j++) { - var requiredKey = dep[j]; - if (data[requiredKey] === undefined) { - error = this.createError(ErrorCodes.OBJECT_DEPENDENCY_KEY, {key: depKey, missing: requiredKey}).prefixWith(null, "" + i).prefixWith(null, depKey).prefixWith(null, "dependencies"); - if (this.handleError(error)) { - return error; - } - } - } - } else { - if (error = this.validateAll(data, dep, [], ["dependencies", depKey], dataPointerPath)) { - return error; - } - } - } - } - } - return null; -}; - -ValidatorContext.prototype.validateCombinations = function validateCombinations(data, schema, dataPointerPath) { - return this.validateAllOf(data, schema, dataPointerPath) - || this.validateAnyOf(data, schema, dataPointerPath) - || this.validateOneOf(data, schema, dataPointerPath) - || this.validateNot(data, schema, dataPointerPath) - || null; -}; - -ValidatorContext.prototype.validateAllOf = function validateAllOf(data, schema, dataPointerPath) { - if (schema.allOf === undefined) { - return null; - } - var error; - for (var i = 0; i < schema.allOf.length; i++) { - var subSchema = schema.allOf[i]; - if (error = this.validateAll(data, subSchema, [], ["allOf", i], dataPointerPath)) { - return error; - } - } - return null; -}; - -ValidatorContext.prototype.validateAnyOf = function validateAnyOf(data, schema, dataPointerPath) { - if (schema.anyOf === undefined) { - return null; - } - var errors = []; - var startErrorCount = this.errors.length; - var oldUnknownPropertyPaths, oldKnownPropertyPaths; - if (this.trackUnknownProperties) { - oldUnknownPropertyPaths = this.unknownPropertyPaths; - oldKnownPropertyPaths = this.knownPropertyPaths; - } - var errorAtEnd = true; - for (var i = 0; i < schema.anyOf.length; i++) { - if (this.trackUnknownProperties) { - this.unknownPropertyPaths = {}; - this.knownPropertyPaths = {}; - } - var subSchema = schema.anyOf[i]; - - var errorCount = this.errors.length; - var error = this.validateAll(data, subSchema, [], ["anyOf", i], dataPointerPath); - - if (error === null && errorCount === this.errors.length) { - this.errors = this.errors.slice(0, startErrorCount); - - if (this.trackUnknownProperties) { - var knownKeys = Object.keys(this.knownPropertyPaths); - for (var j = 0; j < knownKeys.length; j++) { - var knownKey = knownKeys[j]; - oldKnownPropertyPaths[knownKey] = true; - delete oldUnknownPropertyPaths[knownKey]; - } - var unknownKeys = Object.keys(this.unknownPropertyPaths); - for (j = 0; j < unknownKeys.length; j++) { - var unknownKey = unknownKeys[j]; - if (!oldKnownPropertyPaths[unknownKey]) { - oldUnknownPropertyPaths[unknownKey] = true; - } - } - // We need to continue looping so we catch all the property definitions, but we don't want to return an error - errorAtEnd = false; - continue; - } - - return null; - } - if (error) { - errors.push(error.prefixWith(null, "" + i).prefixWith(null, "anyOf")); - } - } - if (this.trackUnknownProperties) { - this.unknownPropertyPaths = oldUnknownPropertyPaths; - this.knownPropertyPaths = oldKnownPropertyPaths; - } - if (errorAtEnd) { - errors = errors.concat(this.errors.slice(startErrorCount)); - this.errors = this.errors.slice(0, startErrorCount); - return this.createError(ErrorCodes.ANY_OF_MISSING, {}, "", "/anyOf", errors); - } -}; - -ValidatorContext.prototype.validateOneOf = function validateOneOf(data, schema, dataPointerPath) { - if (schema.oneOf === undefined) { - return null; - } - var validIndex = null; - var errors = []; - var startErrorCount = this.errors.length; - var oldUnknownPropertyPaths, oldKnownPropertyPaths; - if (this.trackUnknownProperties) { - oldUnknownPropertyPaths = this.unknownPropertyPaths; - oldKnownPropertyPaths = this.knownPropertyPaths; - } - for (var i = 0; i < schema.oneOf.length; i++) { - if (this.trackUnknownProperties) { - this.unknownPropertyPaths = {}; - this.knownPropertyPaths = {}; - } - var subSchema = schema.oneOf[i]; - - var errorCount = this.errors.length; - var error = this.validateAll(data, subSchema, [], ["oneOf", i], dataPointerPath); - - if (error === null && errorCount === this.errors.length) { - if (validIndex === null) { - validIndex = i; - } else { - this.errors = this.errors.slice(0, startErrorCount); - return this.createError(ErrorCodes.ONE_OF_MULTIPLE, {index1: validIndex, index2: i}, "", "/oneOf"); - } - if (this.trackUnknownProperties) { - var knownKeys = Object.keys(this.knownPropertyPaths); - for (var j = 0; j < knownKeys.length; j++) { - var knownKey = knownKeys[j]; - oldKnownPropertyPaths[knownKey] = true; - delete oldUnknownPropertyPaths[knownKey]; - } - var unknownKeys = Object.keys(this.unknownPropertyPaths); - for (j = 0; j < unknownKeys.length; j++) { - var unknownKey = unknownKeys[j]; - if (!oldKnownPropertyPaths[unknownKey]) { - oldUnknownPropertyPaths[unknownKey] = true; - } - } - } - } else if (error) { - errors.push(error.prefixWith(null, "" + i).prefixWith(null, "oneOf")); - } - } - if (this.trackUnknownProperties) { - this.unknownPropertyPaths = oldUnknownPropertyPaths; - this.knownPropertyPaths = oldKnownPropertyPaths; - } - if (validIndex === null) { - errors = errors.concat(this.errors.slice(startErrorCount)); - this.errors = this.errors.slice(0, startErrorCount); - return this.createError(ErrorCodes.ONE_OF_MISSING, {}, "", "/oneOf", errors); - } else { - this.errors = this.errors.slice(0, startErrorCount); - } - return null; -}; - -ValidatorContext.prototype.validateNot = function validateNot(data, schema, dataPointerPath) { - if (schema.not === undefined) { - return null; - } - var oldErrorCount = this.errors.length; - var oldUnknownPropertyPaths, oldKnownPropertyPaths; - if (this.trackUnknownProperties) { - oldUnknownPropertyPaths = this.unknownPropertyPaths; - oldKnownPropertyPaths = this.knownPropertyPaths; - this.unknownPropertyPaths = {}; - this.knownPropertyPaths = {}; - } - var error = this.validateAll(data, schema.not, null, null, dataPointerPath); - var notErrors = this.errors.slice(oldErrorCount); - this.errors = this.errors.slice(0, oldErrorCount); - if (this.trackUnknownProperties) { - this.unknownPropertyPaths = oldUnknownPropertyPaths; - this.knownPropertyPaths = oldKnownPropertyPaths; - } - if (error === null && notErrors.length === 0) { - return this.createError(ErrorCodes.NOT_PASSED, {}, "", "/not"); - } - return null; -}; - -// parseURI() and resolveUrl() are from https://gist.github.com/1088850 -// - released as public domain by author ("Yaffle") - see comments on gist - -function parseURI(url) { - var m = String(url).replace(/^\s+|\s+$/g, '').match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/); - // authority = '//' + user + ':' + pass '@' + hostname + ':' port - return (m ? { - href : m[0] || '', - protocol : m[1] || '', - authority: m[2] || '', - host : m[3] || '', - hostname : m[4] || '', - port : m[5] || '', - pathname : m[6] || '', - search : m[7] || '', - hash : m[8] || '' - } : null); -} - -function resolveUrl(base, href) {// RFC 3986 - - function removeDotSegments(input) { - var output = []; - input.replace(/^(\.\.?(\/|$))+/, '') - .replace(/\/(\.(\/|$))+/g, '/') - .replace(/\/\.\.$/, '/../') - .replace(/\/?[^\/]*/g, function (p) { - if (p === '/..') { - output.pop(); - } else { - output.push(p); - } - }); - return output.join('').replace(/^\//, input.charAt(0) === '/' ? '/' : ''); - } - - href = parseURI(href || ''); - base = parseURI(base || ''); - - return !href || !base ? null : (href.protocol || base.protocol) + - (href.protocol || href.authority ? href.authority : base.authority) + - removeDotSegments(href.protocol || href.authority || href.pathname.charAt(0) === '/' ? href.pathname : (href.pathname ? ((base.authority && !base.pathname ? '/' : '') + base.pathname.slice(0, base.pathname.lastIndexOf('/') + 1) + href.pathname) : base.pathname)) + - (href.protocol || href.authority || href.pathname ? href.search : (href.search || base.search)) + - href.hash; -} - -function getDocumentUri(uri) { - return uri.split('#')[0]; -} -function normSchema(schema, baseUri) { - if (schema && typeof schema === "object") { - var i; - if (baseUri === undefined) { - baseUri = schema.id; - } else if (typeof schema.id === "string") { - baseUri = resolveUrl(baseUri, schema.id); - schema.id = baseUri; - } - if (Array.isArray(schema)) { - for (i = 0; i < schema.length; i++) { - normSchema(schema[i], baseUri); - } - } else if (typeof schema['$ref'] === "string") { - schema['$ref'] = resolveUrl(baseUri, schema['$ref']); - } else { - var schemaKeys = Object.keys(schema); - for (i = 0; i < schemaKeys.length; i++) { - var key = schemaKeys[i]; - if (key !== "enum") { - normSchema(schema[key], baseUri); - } - } - } - } -} - -var ErrorCodes = { - INVALID_TYPE: 0, - ENUM_MISMATCH: 1, - ANY_OF_MISSING: 10, - ONE_OF_MISSING: 11, - ONE_OF_MULTIPLE: 12, - NOT_PASSED: 13, - // Numeric errors - NUMBER_MULTIPLE_OF: 100, - NUMBER_MINIMUM: 101, - NUMBER_MINIMUM_EXCLUSIVE: 102, - NUMBER_MAXIMUM: 103, - NUMBER_MAXIMUM_EXCLUSIVE: 104, - // String errors - STRING_LENGTH_SHORT: 200, - STRING_LENGTH_LONG: 201, - STRING_PATTERN: 202, - // Object errors - OBJECT_PROPERTIES_MINIMUM: 300, - OBJECT_PROPERTIES_MAXIMUM: 301, - OBJECT_REQUIRED: 302, - OBJECT_ADDITIONAL_PROPERTIES: 303, - OBJECT_DEPENDENCY_KEY: 304, - // Array errors - ARRAY_LENGTH_SHORT: 400, - ARRAY_LENGTH_LONG: 401, - ARRAY_UNIQUE: 402, - ARRAY_ADDITIONAL_ITEMS: 403, - // Format errors - FORMAT_CUSTOM: 500, - // Schema structure - CIRCULAR_REFERENCE: 600, - // Non-standard validation options - UNKNOWN_PROPERTY: 1000 -}; -var ErrorMessagesDefault = { - INVALID_TYPE: "invalid type: {type} (expected {expected})", - ENUM_MISMATCH: "No enum match for: {value}", - ANY_OF_MISSING: "Data does not match any schemas from \"anyOf\"", - ONE_OF_MISSING: "Data does not match any schemas from \"oneOf\"", - ONE_OF_MULTIPLE: "Data is valid against more than one schema from \"oneOf\": indices {index1} and {index2}", - NOT_PASSED: "Data matches schema from \"not\"", - // Numeric errors - NUMBER_MULTIPLE_OF: "Value {value} is not a multiple of {multipleOf}", - NUMBER_MINIMUM: "Value {value} is less than minimum {minimum}", - NUMBER_MINIMUM_EXCLUSIVE: "Value {value} is equal to exclusive minimum {minimum}", - NUMBER_MAXIMUM: "Value {value} is greater than maximum {maximum}", - NUMBER_MAXIMUM_EXCLUSIVE: "Value {value} is equal to exclusive maximum {maximum}", - // String errors - STRING_LENGTH_SHORT: "String is too short ({length} chars), minimum {minimum}", - STRING_LENGTH_LONG: "String is too long ({length} chars), maximum {maximum}", - STRING_PATTERN: "String does not match pattern: {pattern}", - // Object errors - OBJECT_PROPERTIES_MINIMUM: "Too few properties defined ({propertyCount}), minimum {minimum}", - OBJECT_PROPERTIES_MAXIMUM: "Too many properties defined ({propertyCount}), maximum {maximum}", - OBJECT_REQUIRED: "Missing required property: {key}", - OBJECT_ADDITIONAL_PROPERTIES: "Additional properties not allowed", - OBJECT_DEPENDENCY_KEY: "Dependency failed - key must exist: {missing} (due to key: {key})", - // Array errors - ARRAY_LENGTH_SHORT: "Array is too short ({length}), minimum {minimum}", - ARRAY_LENGTH_LONG: "Array is too long ({length}), maximum {maximum}", - ARRAY_UNIQUE: "Array items are not unique (indices {match1} and {match2})", - ARRAY_ADDITIONAL_ITEMS: "Additional items not allowed", - // Format errors - FORMAT_CUSTOM: "Format validation failed ({message})", - // Schema structure - CIRCULAR_REFERENCE: "Circular $refs: {urls}", - // Non-standard validation options - UNKNOWN_PROPERTY: "Unknown property (not in schema)" -}; - -function ValidationError(code, message, dataPath, schemaPath, subErrors) { - Error.call(this); - if (code === undefined) { - throw new Error ("No code supplied for error: "+ message); - } - this.message = message; - this.code = code; - this.dataPath = dataPath || ""; - this.schemaPath = schemaPath || ""; - this.subErrors = subErrors || null; - - var err = new Error(this.message); - this.stack = err.stack || err.stacktrace; - if (!this.stack) { - try { - throw err; - } - catch(err) { - this.stack = err.stack || err.stacktrace; - } - } -} -ValidationError.prototype = Object.create(Error.prototype); -ValidationError.prototype.constructor = ValidationError; -ValidationError.prototype.name = 'ValidationError'; - -ValidationError.prototype.prefixWith = function (dataPrefix, schemaPrefix) { - if (dataPrefix !== null) { - dataPrefix = dataPrefix.replace(/~/g, "~0").replace(/\//g, "~1"); - this.dataPath = "/" + dataPrefix + this.dataPath; - } - if (schemaPrefix !== null) { - schemaPrefix = schemaPrefix.replace(/~/g, "~0").replace(/\//g, "~1"); - this.schemaPath = "/" + schemaPrefix + this.schemaPath; - } - if (this.subErrors !== null) { - for (var i = 0; i < this.subErrors.length; i++) { - this.subErrors[i].prefixWith(dataPrefix, schemaPrefix); - } - } - return this; -}; - -function isTrustedUrl(baseUrl, testUrl) { - if(testUrl.substring(0, baseUrl.length) === baseUrl){ - var remainder = testUrl.substring(baseUrl.length); - if ((testUrl.length > 0 && testUrl.charAt(baseUrl.length - 1) === "/") - || remainder.charAt(0) === "#" - || remainder.charAt(0) === "?") { - return true; - } - } - return false; -} - -function makeOptionsObject(opts) { - var options = {}; - // old method signatures accepted checkRecursive and banUnknownProperties - if (opts[0] !== undefined) { - options.checkRecursive = opts[0]; - } - if (opts[1] !== undefined) { - options.banUnknownProperties = opts[1]; - } - return options; -} - -var languages = {}; -function createApi(language) { - var globalContext = new ValidatorContext(); - var currentLanguage = language || 'en'; - var api = { - addFormat: function () { - globalContext.addFormat.apply(globalContext, arguments); - }, - language: function (code) { - if (!code) { - return currentLanguage; - } - if (!languages[code]) { - code = code.split('-')[0]; // fall back to base language - } - if (languages[code]) { - currentLanguage = code; - return code; // so you can tell if fall-back has happened - } - return false; - }, - addLanguage: function (code, messageMap) { - var key; - for (key in ErrorCodes) { - if (messageMap[key] && !messageMap[ErrorCodes[key]]) { - messageMap[ErrorCodes[key]] = messageMap[key]; - } - } - var rootCode = code.split('-')[0]; - if (!languages[rootCode]) { // use for base language if not yet defined - languages[code] = messageMap; - languages[rootCode] = messageMap; - } else { - languages[code] = Object.create(languages[rootCode]); - for (key in messageMap) { - if (typeof languages[rootCode][key] === 'undefined') { - languages[rootCode][key] = messageMap[key]; - } - languages[code][key] = messageMap[key]; - } - } - return this; - }, - freshApi: function (language) { - var result = createApi(); - if (language) { - result.language(language); - } - return result; - }, - validate: function (data, schema, options) { - if (typeof schema === "string") { - schema = {"$ref": schema}; - } - if (typeof options !== "object" || options === null) { - options = makeOptionsObject(Array.prototype.slice.call(arguments, 2)); - } - var context = new ValidatorContext(globalContext, false, languages[currentLanguage], options); - context.addSchema("", schema); - var error = context.validateAll(data, schema, null, null, ""); - if (!error && options.banUnknownProperties) { - error = context.banUnknownProperties(); - } - this.error = error; - this.missing = context.missing; - this.valid = (error === null); - return this.valid; - }, - validateResult: function () { - var result = {}; - this.validate.apply(result, arguments); - return result; - }, - validateMultiple: function (data, schema, options) { - if (typeof schema === "string") { - schema = {"$ref": schema}; - } - if (typeof options !== "object" || options === null) { - options = makeOptionsObject(Array.prototype.slice.call(arguments, 2)); - } - var context = new ValidatorContext(globalContext, true, languages[currentLanguage], options); - context.addSchema("", schema); - context.validateAll(data, schema, null, null, ""); - if (options.banUnknownProperties) { - context.banUnknownProperties(); - } - var result = {}; - result.errors = context.errors; - result.missing = context.missing; - result.valid = (result.errors.length === 0); - return result; - }, - addSchema: function () { - return globalContext.addSchema.apply(globalContext, arguments); - }, - getSchema: function () { - return globalContext.getSchema.apply(globalContext, arguments); - }, - getSchemaMap: function () { - return globalContext.getSchemaMap.apply(globalContext, arguments); - }, - getSchemaUris: function () { - return globalContext.getSchemaUris.apply(globalContext, arguments); - }, - getMissingUris: function () { - return globalContext.getMissingUris.apply(globalContext, arguments); - }, - dropSchemas: function () { - globalContext.dropSchemas.apply(globalContext, arguments); - }, - reset: function () { - globalContext.reset(); - this.error = null; - this.missing = []; - this.valid = true; - }, - missing: [], - error: null, - valid: true, - normSchema: normSchema, - resolveUrl: resolveUrl, - getDocumentUri: getDocumentUri, - errorCodes: ErrorCodes - }; - return api; -} - -var tv4 = createApi(); -tv4.addLanguage('en-gb', ErrorMessagesDefault); - -//legacy property -tv4.tv4 = tv4; - -if (typeof module !== 'undefined' && module.exports){ - module.exports = tv4; -} -else { - global.tv4 = tv4; -} - -})(this); diff --git a/node_modules/underscore/LICENSE b/node_modules/underscore/LICENSE deleted file mode 100644 index ad0e71bc..00000000 --- a/node_modules/underscore/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative -Reporters & Editors - -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/underscore/package.json b/node_modules/underscore/package.json deleted file mode 100644 index 3b021d07..00000000 --- a/node_modules/underscore/package.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "name": "underscore", - "description": "JavaScript's functional programming helper library.", - "homepage": "http://underscorejs.org", - "keywords": [ - "util", - "functional", - "server", - "client", - "browser" - ], - "author": { - "name": "Jeremy Ashkenas", - "email": "jeremy@documentcloud.org" - }, - "repository": { - "type": "git", - "url": "git://github.com/jashkenas/underscore.git" - }, - "main": "underscore.js", - "version": "1.8.3", - "devDependencies": { - "docco": "*", - "eslint": "0.6.x", - "karma": "~0.12.31", - "karma-qunit": "~0.1.4", - "qunit-cli": "~0.2.0", - "uglify-js": "2.4.x" - }, - "scripts": { - "test": "npm run test-node && npm run lint", - "lint": "eslint underscore.js test/*.js", - "test-node": "qunit-cli test/*.js", - "test-browser": "npm i karma-phantomjs-launcher && ./node_modules/karma/bin/karma start", - "build": "uglifyjs underscore.js -c \"evaluate=false\" --comments \"/ .*/\" -m --source-map underscore-min.map -o underscore-min.js", - "doc": "docco underscore.js" - }, - "license": "MIT", - "files": [ - "underscore.js", - "underscore-min.js", - "underscore-min.map", - "LICENSE" - ], - "gitHead": "e4743ab712b8ab42ad4ccb48b155034d02394e4d", - "bugs": { - "url": "https://github.com/jashkenas/underscore/issues" - }, - "_id": "underscore@1.8.3", - "_shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022", - "_from": "underscore@1.8.3", - "_npmVersion": "1.4.28", - "_npmUser": { - "name": "jashkenas", - "email": "jashkenas@gmail.com" - }, - "maintainers": [ - { - "name": "jashkenas", - "email": "jashkenas@gmail.com" - } - ], - "dist": { - "shasum": "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022", - "tarball": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz" -} diff --git a/node_modules/underscore/underscore.js b/node_modules/underscore/underscore.js deleted file mode 100644 index b29332f9..00000000 --- a/node_modules/underscore/underscore.js +++ /dev/null @@ -1,1548 +0,0 @@ -// Underscore.js 1.8.3 -// http://underscorejs.org -// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -// Underscore may be freely distributed under the MIT license. - -(function() { - - // Baseline setup - // -------------- - - // Establish the root object, `window` in the browser, or `exports` on the server. - var root = this; - - // Save the previous value of the `_` variable. - var previousUnderscore = root._; - - // Save bytes in the minified (but not gzipped) version: - var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; - - // Create quick reference variables for speed access to core prototypes. - var - push = ArrayProto.push, - slice = ArrayProto.slice, - toString = ObjProto.toString, - hasOwnProperty = ObjProto.hasOwnProperty; - - // All **ECMAScript 5** native function implementations that we hope to use - // are declared here. - var - nativeIsArray = Array.isArray, - nativeKeys = Object.keys, - nativeBind = FuncProto.bind, - nativeCreate = Object.create; - - // Naked function reference for surrogate-prototype-swapping. - var Ctor = function(){}; - - // Create a safe reference to the Underscore object for use below. - var _ = function(obj) { - if (obj instanceof _) return obj; - if (!(this instanceof _)) return new _(obj); - this._wrapped = obj; - }; - - // Export the Underscore object for **Node.js**, with - // backwards-compatibility for the old `require()` API. If we're in - // the browser, add `_` as a global object. - if (typeof exports !== 'undefined') { - if (typeof module !== 'undefined' && module.exports) { - exports = module.exports = _; - } - exports._ = _; - } else { - root._ = _; - } - - // Current version. - _.VERSION = '1.8.3'; - - // Internal function that returns an efficient (for current engines) version - // of the passed-in callback, to be repeatedly applied in other Underscore - // functions. - var optimizeCb = function(func, context, argCount) { - if (context === void 0) return func; - switch (argCount == null ? 3 : argCount) { - case 1: return function(value) { - return func.call(context, value); - }; - case 2: return function(value, other) { - return func.call(context, value, other); - }; - case 3: return function(value, index, collection) { - return func.call(context, value, index, collection); - }; - case 4: return function(accumulator, value, index, collection) { - return func.call(context, accumulator, value, index, collection); - }; - } - return function() { - return func.apply(context, arguments); - }; - }; - - // A mostly-internal function to generate callbacks that can be applied - // to each element in a collection, returning the desired result — either - // identity, an arbitrary callback, a property matcher, or a property accessor. - var cb = function(value, context, argCount) { - if (value == null) return _.identity; - if (_.isFunction(value)) return optimizeCb(value, context, argCount); - if (_.isObject(value)) return _.matcher(value); - return _.property(value); - }; - _.iteratee = function(value, context) { - return cb(value, context, Infinity); - }; - - // An internal function for creating assigner functions. - var createAssigner = function(keysFunc, undefinedOnly) { - return function(obj) { - var length = arguments.length; - if (length < 2 || obj == null) return obj; - for (var index = 1; index < length; index++) { - var source = arguments[index], - keys = keysFunc(source), - l = keys.length; - for (var i = 0; i < l; i++) { - var key = keys[i]; - if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key]; - } - } - return obj; - }; - }; - - // An internal function for creating a new object that inherits from another. - var baseCreate = function(prototype) { - if (!_.isObject(prototype)) return {}; - if (nativeCreate) return nativeCreate(prototype); - Ctor.prototype = prototype; - var result = new Ctor; - Ctor.prototype = null; - return result; - }; - - var property = function(key) { - return function(obj) { - return obj == null ? void 0 : obj[key]; - }; - }; - - // Helper for collection methods to determine whether a collection - // should be iterated as an array or as an object - // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength - // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 - var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; - var getLength = property('length'); - var isArrayLike = function(collection) { - var length = getLength(collection); - return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX; - }; - - // Collection Functions - // -------------------- - - // The cornerstone, an `each` implementation, aka `forEach`. - // Handles raw objects in addition to array-likes. Treats all - // sparse array-likes as if they were dense. - _.each = _.forEach = function(obj, iteratee, context) { - iteratee = optimizeCb(iteratee, context); - var i, length; - if (isArrayLike(obj)) { - for (i = 0, length = obj.length; i < length; i++) { - iteratee(obj[i], i, obj); - } - } else { - var keys = _.keys(obj); - for (i = 0, length = keys.length; i < length; i++) { - iteratee(obj[keys[i]], keys[i], obj); - } - } - return obj; - }; - - // Return the results of applying the iteratee to each element. - _.map = _.collect = function(obj, iteratee, context) { - iteratee = cb(iteratee, context); - var keys = !isArrayLike(obj) && _.keys(obj), - length = (keys || obj).length, - results = Array(length); - for (var index = 0; index < length; index++) { - var currentKey = keys ? keys[index] : index; - results[index] = iteratee(obj[currentKey], currentKey, obj); - } - return results; - }; - - // Create a reducing function iterating left or right. - function createReduce(dir) { - // Optimized iterator function as using arguments.length - // in the main function will deoptimize the, see #1991. - function iterator(obj, iteratee, memo, keys, index, length) { - for (; index >= 0 && index < length; index += dir) { - var currentKey = keys ? keys[index] : index; - memo = iteratee(memo, obj[currentKey], currentKey, obj); - } - return memo; - } - - return function(obj, iteratee, memo, context) { - iteratee = optimizeCb(iteratee, context, 4); - var keys = !isArrayLike(obj) && _.keys(obj), - length = (keys || obj).length, - index = dir > 0 ? 0 : length - 1; - // Determine the initial value if none is provided. - if (arguments.length < 3) { - memo = obj[keys ? keys[index] : index]; - index += dir; - } - return iterator(obj, iteratee, memo, keys, index, length); - }; - } - - // **Reduce** builds up a single result from a list of values, aka `inject`, - // or `foldl`. - _.reduce = _.foldl = _.inject = createReduce(1); - - // The right-associative version of reduce, also known as `foldr`. - _.reduceRight = _.foldr = createReduce(-1); - - // Return the first value which passes a truth test. Aliased as `detect`. - _.find = _.detect = function(obj, predicate, context) { - var key; - if (isArrayLike(obj)) { - key = _.findIndex(obj, predicate, context); - } else { - key = _.findKey(obj, predicate, context); - } - if (key !== void 0 && key !== -1) return obj[key]; - }; - - // Return all the elements that pass a truth test. - // Aliased as `select`. - _.filter = _.select = function(obj, predicate, context) { - var results = []; - predicate = cb(predicate, context); - _.each(obj, function(value, index, list) { - if (predicate(value, index, list)) results.push(value); - }); - return results; - }; - - // Return all the elements for which a truth test fails. - _.reject = function(obj, predicate, context) { - return _.filter(obj, _.negate(cb(predicate)), context); - }; - - // Determine whether all of the elements match a truth test. - // Aliased as `all`. - _.every = _.all = function(obj, predicate, context) { - predicate = cb(predicate, context); - var keys = !isArrayLike(obj) && _.keys(obj), - length = (keys || obj).length; - for (var index = 0; index < length; index++) { - var currentKey = keys ? keys[index] : index; - if (!predicate(obj[currentKey], currentKey, obj)) return false; - } - return true; - }; - - // Determine if at least one element in the object matches a truth test. - // Aliased as `any`. - _.some = _.any = function(obj, predicate, context) { - predicate = cb(predicate, context); - var keys = !isArrayLike(obj) && _.keys(obj), - length = (keys || obj).length; - for (var index = 0; index < length; index++) { - var currentKey = keys ? keys[index] : index; - if (predicate(obj[currentKey], currentKey, obj)) return true; - } - return false; - }; - - // Determine if the array or object contains a given item (using `===`). - // Aliased as `includes` and `include`. - _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) { - if (!isArrayLike(obj)) obj = _.values(obj); - if (typeof fromIndex != 'number' || guard) fromIndex = 0; - return _.indexOf(obj, item, fromIndex) >= 0; - }; - - // Invoke a method (with arguments) on every item in a collection. - _.invoke = function(obj, method) { - var args = slice.call(arguments, 2); - var isFunc = _.isFunction(method); - return _.map(obj, function(value) { - var func = isFunc ? method : value[method]; - return func == null ? func : func.apply(value, args); - }); - }; - - // Convenience version of a common use case of `map`: fetching a property. - _.pluck = function(obj, key) { - return _.map(obj, _.property(key)); - }; - - // Convenience version of a common use case of `filter`: selecting only objects - // containing specific `key:value` pairs. - _.where = function(obj, attrs) { - return _.filter(obj, _.matcher(attrs)); - }; - - // Convenience version of a common use case of `find`: getting the first object - // containing specific `key:value` pairs. - _.findWhere = function(obj, attrs) { - return _.find(obj, _.matcher(attrs)); - }; - - // Return the maximum element (or element-based computation). - _.max = function(obj, iteratee, context) { - var result = -Infinity, lastComputed = -Infinity, - value, computed; - if (iteratee == null && obj != null) { - obj = isArrayLike(obj) ? obj : _.values(obj); - for (var i = 0, length = obj.length; i < length; i++) { - value = obj[i]; - if (value > result) { - result = value; - } - } - } else { - iteratee = cb(iteratee, context); - _.each(obj, function(value, index, list) { - computed = iteratee(value, index, list); - if (computed > lastComputed || computed === -Infinity && result === -Infinity) { - result = value; - lastComputed = computed; - } - }); - } - return result; - }; - - // Return the minimum element (or element-based computation). - _.min = function(obj, iteratee, context) { - var result = Infinity, lastComputed = Infinity, - value, computed; - if (iteratee == null && obj != null) { - obj = isArrayLike(obj) ? obj : _.values(obj); - for (var i = 0, length = obj.length; i < length; i++) { - value = obj[i]; - if (value < result) { - result = value; - } - } - } else { - iteratee = cb(iteratee, context); - _.each(obj, function(value, index, list) { - computed = iteratee(value, index, list); - if (computed < lastComputed || computed === Infinity && result === Infinity) { - result = value; - lastComputed = computed; - } - }); - } - return result; - }; - - // Shuffle a collection, using the modern version of the - // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle). - _.shuffle = function(obj) { - var set = isArrayLike(obj) ? obj : _.values(obj); - var length = set.length; - var shuffled = Array(length); - for (var index = 0, rand; index < length; index++) { - rand = _.random(0, index); - if (rand !== index) shuffled[index] = shuffled[rand]; - shuffled[rand] = set[index]; - } - return shuffled; - }; - - // Sample **n** random values from a collection. - // If **n** is not specified, returns a single random element. - // The internal `guard` argument allows it to work with `map`. - _.sample = function(obj, n, guard) { - if (n == null || guard) { - if (!isArrayLike(obj)) obj = _.values(obj); - return obj[_.random(obj.length - 1)]; - } - return _.shuffle(obj).slice(0, Math.max(0, n)); - }; - - // Sort the object's values by a criterion produced by an iteratee. - _.sortBy = function(obj, iteratee, context) { - iteratee = cb(iteratee, context); - return _.pluck(_.map(obj, function(value, index, list) { - return { - value: value, - index: index, - criteria: iteratee(value, index, list) - }; - }).sort(function(left, right) { - var a = left.criteria; - var b = right.criteria; - if (a !== b) { - if (a > b || a === void 0) return 1; - if (a < b || b === void 0) return -1; - } - return left.index - right.index; - }), 'value'); - }; - - // An internal function used for aggregate "group by" operations. - var group = function(behavior) { - return function(obj, iteratee, context) { - var result = {}; - iteratee = cb(iteratee, context); - _.each(obj, function(value, index) { - var key = iteratee(value, index, obj); - behavior(result, value, key); - }); - return result; - }; - }; - - // Groups the object's values by a criterion. Pass either a string attribute - // to group by, or a function that returns the criterion. - _.groupBy = group(function(result, value, key) { - if (_.has(result, key)) result[key].push(value); else result[key] = [value]; - }); - - // Indexes the object's values by a criterion, similar to `groupBy`, but for - // when you know that your index values will be unique. - _.indexBy = group(function(result, value, key) { - result[key] = value; - }); - - // Counts instances of an object that group by a certain criterion. Pass - // either a string attribute to count by, or a function that returns the - // criterion. - _.countBy = group(function(result, value, key) { - if (_.has(result, key)) result[key]++; else result[key] = 1; - }); - - // Safely create a real, live array from anything iterable. - _.toArray = function(obj) { - if (!obj) return []; - if (_.isArray(obj)) return slice.call(obj); - if (isArrayLike(obj)) return _.map(obj, _.identity); - return _.values(obj); - }; - - // Return the number of elements in an object. - _.size = function(obj) { - if (obj == null) return 0; - return isArrayLike(obj) ? obj.length : _.keys(obj).length; - }; - - // Split a collection into two arrays: one whose elements all satisfy the given - // predicate, and one whose elements all do not satisfy the predicate. - _.partition = function(obj, predicate, context) { - predicate = cb(predicate, context); - var pass = [], fail = []; - _.each(obj, function(value, key, obj) { - (predicate(value, key, obj) ? pass : fail).push(value); - }); - return [pass, fail]; - }; - - // Array Functions - // --------------- - - // Get the first element of an array. Passing **n** will return the first N - // values in the array. Aliased as `head` and `take`. The **guard** check - // allows it to work with `_.map`. - _.first = _.head = _.take = function(array, n, guard) { - if (array == null) return void 0; - if (n == null || guard) return array[0]; - return _.initial(array, array.length - n); - }; - - // Returns everything but the last entry of the array. Especially useful on - // the arguments object. Passing **n** will return all the values in - // the array, excluding the last N. - _.initial = function(array, n, guard) { - return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); - }; - - // Get the last element of an array. Passing **n** will return the last N - // values in the array. - _.last = function(array, n, guard) { - if (array == null) return void 0; - if (n == null || guard) return array[array.length - 1]; - return _.rest(array, Math.max(0, array.length - n)); - }; - - // Returns everything but the first entry of the array. Aliased as `tail` and `drop`. - // Especially useful on the arguments object. Passing an **n** will return - // the rest N values in the array. - _.rest = _.tail = _.drop = function(array, n, guard) { - return slice.call(array, n == null || guard ? 1 : n); - }; - - // Trim out all falsy values from an array. - _.compact = function(array) { - return _.filter(array, _.identity); - }; - - // Internal implementation of a recursive `flatten` function. - var flatten = function(input, shallow, strict, startIndex) { - var output = [], idx = 0; - for (var i = startIndex || 0, length = getLength(input); i < length; i++) { - var value = input[i]; - if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) { - //flatten current level of array or arguments object - if (!shallow) value = flatten(value, shallow, strict); - var j = 0, len = value.length; - output.length += len; - while (j < len) { - output[idx++] = value[j++]; - } - } else if (!strict) { - output[idx++] = value; - } - } - return output; - }; - - // Flatten out an array, either recursively (by default), or just one level. - _.flatten = function(array, shallow) { - return flatten(array, shallow, false); - }; - - // Return a version of the array that does not contain the specified value(s). - _.without = function(array) { - return _.difference(array, slice.call(arguments, 1)); - }; - - // Produce a duplicate-free version of the array. If the array has already - // been sorted, you have the option of using a faster algorithm. - // Aliased as `unique`. - _.uniq = _.unique = function(array, isSorted, iteratee, context) { - if (!_.isBoolean(isSorted)) { - context = iteratee; - iteratee = isSorted; - isSorted = false; - } - if (iteratee != null) iteratee = cb(iteratee, context); - var result = []; - var seen = []; - for (var i = 0, length = getLength(array); i < length; i++) { - var value = array[i], - computed = iteratee ? iteratee(value, i, array) : value; - if (isSorted) { - if (!i || seen !== computed) result.push(value); - seen = computed; - } else if (iteratee) { - if (!_.contains(seen, computed)) { - seen.push(computed); - result.push(value); - } - } else if (!_.contains(result, value)) { - result.push(value); - } - } - return result; - }; - - // Produce an array that contains the union: each distinct element from all of - // the passed-in arrays. - _.union = function() { - return _.uniq(flatten(arguments, true, true)); - }; - - // Produce an array that contains every item shared between all the - // passed-in arrays. - _.intersection = function(array) { - var result = []; - var argsLength = arguments.length; - for (var i = 0, length = getLength(array); i < length; i++) { - var item = array[i]; - if (_.contains(result, item)) continue; - for (var j = 1; j < argsLength; j++) { - if (!_.contains(arguments[j], item)) break; - } - if (j === argsLength) result.push(item); - } - return result; - }; - - // Take the difference between one array and a number of other arrays. - // Only the elements present in just the first array will remain. - _.difference = function(array) { - var rest = flatten(arguments, true, true, 1); - return _.filter(array, function(value){ - return !_.contains(rest, value); - }); - }; - - // Zip together multiple lists into a single array -- elements that share - // an index go together. - _.zip = function() { - return _.unzip(arguments); - }; - - // Complement of _.zip. Unzip accepts an array of arrays and groups - // each array's elements on shared indices - _.unzip = function(array) { - var length = array && _.max(array, getLength).length || 0; - var result = Array(length); - - for (var index = 0; index < length; index++) { - result[index] = _.pluck(array, index); - } - return result; - }; - - // Converts lists into objects. Pass either a single array of `[key, value]` - // pairs, or two parallel arrays of the same length -- one of keys, and one of - // the corresponding values. - _.object = function(list, values) { - var result = {}; - for (var i = 0, length = getLength(list); i < length; i++) { - if (values) { - result[list[i]] = values[i]; - } else { - result[list[i][0]] = list[i][1]; - } - } - return result; - }; - - // Generator function to create the findIndex and findLastIndex functions - function createPredicateIndexFinder(dir) { - return function(array, predicate, context) { - predicate = cb(predicate, context); - var length = getLength(array); - var index = dir > 0 ? 0 : length - 1; - for (; index >= 0 && index < length; index += dir) { - if (predicate(array[index], index, array)) return index; - } - return -1; - }; - } - - // Returns the first index on an array-like that passes a predicate test - _.findIndex = createPredicateIndexFinder(1); - _.findLastIndex = createPredicateIndexFinder(-1); - - // Use a comparator function to figure out the smallest index at which - // an object should be inserted so as to maintain order. Uses binary search. - _.sortedIndex = function(array, obj, iteratee, context) { - iteratee = cb(iteratee, context, 1); - var value = iteratee(obj); - var low = 0, high = getLength(array); - while (low < high) { - var mid = Math.floor((low + high) / 2); - if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; - } - return low; - }; - - // Generator function to create the indexOf and lastIndexOf functions - function createIndexFinder(dir, predicateFind, sortedIndex) { - return function(array, item, idx) { - var i = 0, length = getLength(array); - if (typeof idx == 'number') { - if (dir > 0) { - i = idx >= 0 ? idx : Math.max(idx + length, i); - } else { - length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; - } - } else if (sortedIndex && idx && length) { - idx = sortedIndex(array, item); - return array[idx] === item ? idx : -1; - } - if (item !== item) { - idx = predicateFind(slice.call(array, i, length), _.isNaN); - return idx >= 0 ? idx + i : -1; - } - for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { - if (array[idx] === item) return idx; - } - return -1; - }; - } - - // Return the position of the first occurrence of an item in an array, - // or -1 if the item is not included in the array. - // If the array is large and already in sort order, pass `true` - // for **isSorted** to use binary search. - _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex); - _.lastIndexOf = createIndexFinder(-1, _.findLastIndex); - - // Generate an integer Array containing an arithmetic progression. A port of - // the native Python `range()` function. See - // [the Python documentation](http://docs.python.org/library/functions.html#range). - _.range = function(start, stop, step) { - if (stop == null) { - stop = start || 0; - start = 0; - } - step = step || 1; - - var length = Math.max(Math.ceil((stop - start) / step), 0); - var range = Array(length); - - for (var idx = 0; idx < length; idx++, start += step) { - range[idx] = start; - } - - return range; - }; - - // Function (ahem) Functions - // ------------------ - - // Determines whether to execute a function as a constructor - // or a normal function with the provided arguments - var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) { - if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); - var self = baseCreate(sourceFunc.prototype); - var result = sourceFunc.apply(self, args); - if (_.isObject(result)) return result; - return self; - }; - - // Create a function bound to a given object (assigning `this`, and arguments, - // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if - // available. - _.bind = function(func, context) { - if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); - if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function'); - var args = slice.call(arguments, 2); - var bound = function() { - return executeBound(func, bound, context, this, args.concat(slice.call(arguments))); - }; - return bound; - }; - - // Partially apply a function by creating a version that has had some of its - // arguments pre-filled, without changing its dynamic `this` context. _ acts - // as a placeholder, allowing any combination of arguments to be pre-filled. - _.partial = function(func) { - var boundArgs = slice.call(arguments, 1); - var bound = function() { - var position = 0, length = boundArgs.length; - var args = Array(length); - for (var i = 0; i < length; i++) { - args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i]; - } - while (position < arguments.length) args.push(arguments[position++]); - return executeBound(func, bound, this, this, args); - }; - return bound; - }; - - // Bind a number of an object's methods to that object. Remaining arguments - // are the method names to be bound. Useful for ensuring that all callbacks - // defined on an object belong to it. - _.bindAll = function(obj) { - var i, length = arguments.length, key; - if (length <= 1) throw new Error('bindAll must be passed function names'); - for (i = 1; i < length; i++) { - key = arguments[i]; - obj[key] = _.bind(obj[key], obj); - } - return obj; - }; - - // Memoize an expensive function by storing its results. - _.memoize = function(func, hasher) { - var memoize = function(key) { - var cache = memoize.cache; - var address = '' + (hasher ? hasher.apply(this, arguments) : key); - if (!_.has(cache, address)) cache[address] = func.apply(this, arguments); - return cache[address]; - }; - memoize.cache = {}; - return memoize; - }; - - // Delays a function for the given number of milliseconds, and then calls - // it with the arguments supplied. - _.delay = function(func, wait) { - var args = slice.call(arguments, 2); - return setTimeout(function(){ - return func.apply(null, args); - }, wait); - }; - - // Defers a function, scheduling it to run after the current call stack has - // cleared. - _.defer = _.partial(_.delay, _, 1); - - // Returns a function, that, when invoked, will only be triggered at most once - // during a given window of time. Normally, the throttled function will run - // as much as it can, without ever going more than once per `wait` duration; - // but if you'd like to disable the execution on the leading edge, pass - // `{leading: false}`. To disable execution on the trailing edge, ditto. - _.throttle = function(func, wait, options) { - var context, args, result; - var timeout = null; - var previous = 0; - if (!options) options = {}; - var later = function() { - previous = options.leading === false ? 0 : _.now(); - timeout = null; - result = func.apply(context, args); - if (!timeout) context = args = null; - }; - return function() { - var now = _.now(); - if (!previous && options.leading === false) previous = now; - var remaining = wait - (now - previous); - context = this; - args = arguments; - if (remaining <= 0 || remaining > wait) { - if (timeout) { - clearTimeout(timeout); - timeout = null; - } - previous = now; - result = func.apply(context, args); - if (!timeout) context = args = null; - } else if (!timeout && options.trailing !== false) { - timeout = setTimeout(later, remaining); - } - return result; - }; - }; - - // Returns a function, that, as long as it continues to be invoked, will not - // be triggered. The function will be called after it stops being called for - // N milliseconds. If `immediate` is passed, trigger the function on the - // leading edge, instead of the trailing. - _.debounce = function(func, wait, immediate) { - var timeout, args, context, timestamp, result; - - var later = function() { - var last = _.now() - timestamp; - - if (last < wait && last >= 0) { - timeout = setTimeout(later, wait - last); - } else { - timeout = null; - if (!immediate) { - result = func.apply(context, args); - if (!timeout) context = args = null; - } - } - }; - - return function() { - context = this; - args = arguments; - timestamp = _.now(); - var callNow = immediate && !timeout; - if (!timeout) timeout = setTimeout(later, wait); - if (callNow) { - result = func.apply(context, args); - context = args = null; - } - - return result; - }; - }; - - // Returns the first function passed as an argument to the second, - // allowing you to adjust arguments, run code before and after, and - // conditionally execute the original function. - _.wrap = function(func, wrapper) { - return _.partial(wrapper, func); - }; - - // Returns a negated version of the passed-in predicate. - _.negate = function(predicate) { - return function() { - return !predicate.apply(this, arguments); - }; - }; - - // Returns a function that is the composition of a list of functions, each - // consuming the return value of the function that follows. - _.compose = function() { - var args = arguments; - var start = args.length - 1; - return function() { - var i = start; - var result = args[start].apply(this, arguments); - while (i--) result = args[i].call(this, result); - return result; - }; - }; - - // Returns a function that will only be executed on and after the Nth call. - _.after = function(times, func) { - return function() { - if (--times < 1) { - return func.apply(this, arguments); - } - }; - }; - - // Returns a function that will only be executed up to (but not including) the Nth call. - _.before = function(times, func) { - var memo; - return function() { - if (--times > 0) { - memo = func.apply(this, arguments); - } - if (times <= 1) func = null; - return memo; - }; - }; - - // Returns a function that will be executed at most one time, no matter how - // often you call it. Useful for lazy initialization. - _.once = _.partial(_.before, 2); - - // Object Functions - // ---------------- - - // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. - var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); - var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', - 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; - - function collectNonEnumProps(obj, keys) { - var nonEnumIdx = nonEnumerableProps.length; - var constructor = obj.constructor; - var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto; - - // Constructor is a special case. - var prop = 'constructor'; - if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop); - - while (nonEnumIdx--) { - prop = nonEnumerableProps[nonEnumIdx]; - if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) { - keys.push(prop); - } - } - } - - // Retrieve the names of an object's own properties. - // Delegates to **ECMAScript 5**'s native `Object.keys` - _.keys = function(obj) { - if (!_.isObject(obj)) return []; - if (nativeKeys) return nativeKeys(obj); - var keys = []; - for (var key in obj) if (_.has(obj, key)) keys.push(key); - // Ahem, IE < 9. - if (hasEnumBug) collectNonEnumProps(obj, keys); - return keys; - }; - - // Retrieve all the property names of an object. - _.allKeys = function(obj) { - if (!_.isObject(obj)) return []; - var keys = []; - for (var key in obj) keys.push(key); - // Ahem, IE < 9. - if (hasEnumBug) collectNonEnumProps(obj, keys); - return keys; - }; - - // Retrieve the values of an object's properties. - _.values = function(obj) { - var keys = _.keys(obj); - var length = keys.length; - var values = Array(length); - for (var i = 0; i < length; i++) { - values[i] = obj[keys[i]]; - } - return values; - }; - - // Returns the results of applying the iteratee to each element of the object - // In contrast to _.map it returns an object - _.mapObject = function(obj, iteratee, context) { - iteratee = cb(iteratee, context); - var keys = _.keys(obj), - length = keys.length, - results = {}, - currentKey; - for (var index = 0; index < length; index++) { - currentKey = keys[index]; - results[currentKey] = iteratee(obj[currentKey], currentKey, obj); - } - return results; - }; - - // Convert an object into a list of `[key, value]` pairs. - _.pairs = function(obj) { - var keys = _.keys(obj); - var length = keys.length; - var pairs = Array(length); - for (var i = 0; i < length; i++) { - pairs[i] = [keys[i], obj[keys[i]]]; - } - return pairs; - }; - - // Invert the keys and values of an object. The values must be serializable. - _.invert = function(obj) { - var result = {}; - var keys = _.keys(obj); - for (var i = 0, length = keys.length; i < length; i++) { - result[obj[keys[i]]] = keys[i]; - } - return result; - }; - - // Return a sorted list of the function names available on the object. - // Aliased as `methods` - _.functions = _.methods = function(obj) { - var names = []; - for (var key in obj) { - if (_.isFunction(obj[key])) names.push(key); - } - return names.sort(); - }; - - // Extend a given object with all the properties in passed-in object(s). - _.extend = createAssigner(_.allKeys); - - // Assigns a given object with all the own properties in the passed-in object(s) - // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) - _.extendOwn = _.assign = createAssigner(_.keys); - - // Returns the first key on an object that passes a predicate test - _.findKey = function(obj, predicate, context) { - predicate = cb(predicate, context); - var keys = _.keys(obj), key; - for (var i = 0, length = keys.length; i < length; i++) { - key = keys[i]; - if (predicate(obj[key], key, obj)) return key; - } - }; - - // Return a copy of the object only containing the whitelisted properties. - _.pick = function(object, oiteratee, context) { - var result = {}, obj = object, iteratee, keys; - if (obj == null) return result; - if (_.isFunction(oiteratee)) { - keys = _.allKeys(obj); - iteratee = optimizeCb(oiteratee, context); - } else { - keys = flatten(arguments, false, false, 1); - iteratee = function(value, key, obj) { return key in obj; }; - obj = Object(obj); - } - for (var i = 0, length = keys.length; i < length; i++) { - var key = keys[i]; - var value = obj[key]; - if (iteratee(value, key, obj)) result[key] = value; - } - return result; - }; - - // Return a copy of the object without the blacklisted properties. - _.omit = function(obj, iteratee, context) { - if (_.isFunction(iteratee)) { - iteratee = _.negate(iteratee); - } else { - var keys = _.map(flatten(arguments, false, false, 1), String); - iteratee = function(value, key) { - return !_.contains(keys, key); - }; - } - return _.pick(obj, iteratee, context); - }; - - // Fill in a given object with default properties. - _.defaults = createAssigner(_.allKeys, true); - - // Creates an object that inherits from the given prototype object. - // If additional properties are provided then they will be added to the - // created object. - _.create = function(prototype, props) { - var result = baseCreate(prototype); - if (props) _.extendOwn(result, props); - return result; - }; - - // Create a (shallow-cloned) duplicate of an object. - _.clone = function(obj) { - if (!_.isObject(obj)) return obj; - return _.isArray(obj) ? obj.slice() : _.extend({}, obj); - }; - - // Invokes interceptor with the obj, and then returns obj. - // The primary purpose of this method is to "tap into" a method chain, in - // order to perform operations on intermediate results within the chain. - _.tap = function(obj, interceptor) { - interceptor(obj); - return obj; - }; - - // Returns whether an object has a given set of `key:value` pairs. - _.isMatch = function(object, attrs) { - var keys = _.keys(attrs), length = keys.length; - if (object == null) return !length; - var obj = Object(object); - for (var i = 0; i < length; i++) { - var key = keys[i]; - if (attrs[key] !== obj[key] || !(key in obj)) return false; - } - return true; - }; - - - // Internal recursive comparison function for `isEqual`. - var eq = function(a, b, aStack, bStack) { - // Identical objects are equal. `0 === -0`, but they aren't identical. - // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). - if (a === b) return a !== 0 || 1 / a === 1 / b; - // A strict comparison is necessary because `null == undefined`. - if (a == null || b == null) return a === b; - // Unwrap any wrapped objects. - if (a instanceof _) a = a._wrapped; - if (b instanceof _) b = b._wrapped; - // Compare `[[Class]]` names. - var className = toString.call(a); - if (className !== toString.call(b)) return false; - switch (className) { - // Strings, numbers, regular expressions, dates, and booleans are compared by value. - case '[object RegExp]': - // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') - case '[object String]': - // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is - // equivalent to `new String("5")`. - return '' + a === '' + b; - case '[object Number]': - // `NaN`s are equivalent, but non-reflexive. - // Object(NaN) is equivalent to NaN - if (+a !== +a) return +b !== +b; - // An `egal` comparison is performed for other numeric values. - return +a === 0 ? 1 / +a === 1 / b : +a === +b; - case '[object Date]': - case '[object Boolean]': - // Coerce dates and booleans to numeric primitive values. Dates are compared by their - // millisecond representations. Note that invalid dates with millisecond representations - // of `NaN` are not equivalent. - return +a === +b; - } - - var areArrays = className === '[object Array]'; - if (!areArrays) { - if (typeof a != 'object' || typeof b != 'object') return false; - - // Objects with different constructors are not equivalent, but `Object`s or `Array`s - // from different frames are. - var aCtor = a.constructor, bCtor = b.constructor; - if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor && - _.isFunction(bCtor) && bCtor instanceof bCtor) - && ('constructor' in a && 'constructor' in b)) { - return false; - } - } - // Assume equality for cyclic structures. The algorithm for detecting cyclic - // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. - - // Initializing stack of traversed objects. - // It's done here since we only need them for objects and arrays comparison. - aStack = aStack || []; - bStack = bStack || []; - var length = aStack.length; - while (length--) { - // Linear search. Performance is inversely proportional to the number of - // unique nested structures. - if (aStack[length] === a) return bStack[length] === b; - } - - // Add the first object to the stack of traversed objects. - aStack.push(a); - bStack.push(b); - - // Recursively compare objects and arrays. - if (areArrays) { - // Compare array lengths to determine if a deep comparison is necessary. - length = a.length; - if (length !== b.length) return false; - // Deep compare the contents, ignoring non-numeric properties. - while (length--) { - if (!eq(a[length], b[length], aStack, bStack)) return false; - } - } else { - // Deep compare objects. - var keys = _.keys(a), key; - length = keys.length; - // Ensure that both objects contain the same number of properties before comparing deep equality. - if (_.keys(b).length !== length) return false; - while (length--) { - // Deep compare each member - key = keys[length]; - if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; - } - } - // Remove the first object from the stack of traversed objects. - aStack.pop(); - bStack.pop(); - return true; - }; - - // Perform a deep comparison to check if two objects are equal. - _.isEqual = function(a, b) { - return eq(a, b); - }; - - // Is a given array, string, or object empty? - // An "empty" object has no enumerable own-properties. - _.isEmpty = function(obj) { - if (obj == null) return true; - if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0; - return _.keys(obj).length === 0; - }; - - // Is a given value a DOM element? - _.isElement = function(obj) { - return !!(obj && obj.nodeType === 1); - }; - - // Is a given value an array? - // Delegates to ECMA5's native Array.isArray - _.isArray = nativeIsArray || function(obj) { - return toString.call(obj) === '[object Array]'; - }; - - // Is a given variable an object? - _.isObject = function(obj) { - var type = typeof obj; - return type === 'function' || type === 'object' && !!obj; - }; - - // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError. - _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) { - _['is' + name] = function(obj) { - return toString.call(obj) === '[object ' + name + ']'; - }; - }); - - // Define a fallback version of the method in browsers (ahem, IE < 9), where - // there isn't any inspectable "Arguments" type. - if (!_.isArguments(arguments)) { - _.isArguments = function(obj) { - return _.has(obj, 'callee'); - }; - } - - // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8, - // IE 11 (#1621), and in Safari 8 (#1929). - if (typeof /./ != 'function' && typeof Int8Array != 'object') { - _.isFunction = function(obj) { - return typeof obj == 'function' || false; - }; - } - - // Is a given object a finite number? - _.isFinite = function(obj) { - return isFinite(obj) && !isNaN(parseFloat(obj)); - }; - - // Is the given value `NaN`? (NaN is the only number which does not equal itself). - _.isNaN = function(obj) { - return _.isNumber(obj) && obj !== +obj; - }; - - // Is a given value a boolean? - _.isBoolean = function(obj) { - return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; - }; - - // Is a given value equal to null? - _.isNull = function(obj) { - return obj === null; - }; - - // Is a given variable undefined? - _.isUndefined = function(obj) { - return obj === void 0; - }; - - // Shortcut function for checking if an object has a given property directly - // on itself (in other words, not on a prototype). - _.has = function(obj, key) { - return obj != null && hasOwnProperty.call(obj, key); - }; - - // Utility Functions - // ----------------- - - // Run Underscore.js in *noConflict* mode, returning the `_` variable to its - // previous owner. Returns a reference to the Underscore object. - _.noConflict = function() { - root._ = previousUnderscore; - return this; - }; - - // Keep the identity function around for default iteratees. - _.identity = function(value) { - return value; - }; - - // Predicate-generating functions. Often useful outside of Underscore. - _.constant = function(value) { - return function() { - return value; - }; - }; - - _.noop = function(){}; - - _.property = property; - - // Generates a function for a given object that returns a given property. - _.propertyOf = function(obj) { - return obj == null ? function(){} : function(key) { - return obj[key]; - }; - }; - - // Returns a predicate for checking whether an object has a given set of - // `key:value` pairs. - _.matcher = _.matches = function(attrs) { - attrs = _.extendOwn({}, attrs); - return function(obj) { - return _.isMatch(obj, attrs); - }; - }; - - // Run a function **n** times. - _.times = function(n, iteratee, context) { - var accum = Array(Math.max(0, n)); - iteratee = optimizeCb(iteratee, context, 1); - for (var i = 0; i < n; i++) accum[i] = iteratee(i); - return accum; - }; - - // Return a random integer between min and max (inclusive). - _.random = function(min, max) { - if (max == null) { - max = min; - min = 0; - } - return min + Math.floor(Math.random() * (max - min + 1)); - }; - - // A (possibly faster) way to get the current timestamp as an integer. - _.now = Date.now || function() { - return new Date().getTime(); - }; - - // List of HTML entities for escaping. - var escapeMap = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - '`': '`' - }; - var unescapeMap = _.invert(escapeMap); - - // Functions for escaping and unescaping strings to/from HTML interpolation. - var createEscaper = function(map) { - var escaper = function(match) { - return map[match]; - }; - // Regexes for identifying a key that needs to be escaped - var source = '(?:' + _.keys(map).join('|') + ')'; - var testRegexp = RegExp(source); - var replaceRegexp = RegExp(source, 'g'); - return function(string) { - string = string == null ? '' : '' + string; - return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; - }; - }; - _.escape = createEscaper(escapeMap); - _.unescape = createEscaper(unescapeMap); - - // If the value of the named `property` is a function then invoke it with the - // `object` as context; otherwise, return it. - _.result = function(object, property, fallback) { - var value = object == null ? void 0 : object[property]; - if (value === void 0) { - value = fallback; - } - return _.isFunction(value) ? value.call(object) : value; - }; - - // Generate a unique integer id (unique within the entire client session). - // Useful for temporary DOM ids. - var idCounter = 0; - _.uniqueId = function(prefix) { - var id = ++idCounter + ''; - return prefix ? prefix + id : id; - }; - - // By default, Underscore uses ERB-style template delimiters, change the - // following template settings to use alternative delimiters. - _.templateSettings = { - evaluate : /<%([\s\S]+?)%>/g, - interpolate : /<%=([\s\S]+?)%>/g, - escape : /<%-([\s\S]+?)%>/g - }; - - // When customizing `templateSettings`, if you don't want to define an - // interpolation, evaluation or escaping regex, we need one that is - // guaranteed not to match. - var noMatch = /(.)^/; - - // Certain characters need to be escaped so that they can be put into a - // string literal. - var escapes = { - "'": "'", - '\\': '\\', - '\r': 'r', - '\n': 'n', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - var escaper = /\\|'|\r|\n|\u2028|\u2029/g; - - var escapeChar = function(match) { - return '\\' + escapes[match]; - }; - - // JavaScript micro-templating, similar to John Resig's implementation. - // Underscore templating handles arbitrary delimiters, preserves whitespace, - // and correctly escapes quotes within interpolated code. - // NB: `oldSettings` only exists for backwards compatibility. - _.template = function(text, settings, oldSettings) { - if (!settings && oldSettings) settings = oldSettings; - settings = _.defaults({}, settings, _.templateSettings); - - // Combine delimiters into one regular expression via alternation. - var matcher = RegExp([ - (settings.escape || noMatch).source, - (settings.interpolate || noMatch).source, - (settings.evaluate || noMatch).source - ].join('|') + '|$', 'g'); - - // Compile the template source, escaping string literals appropriately. - var index = 0; - var source = "__p+='"; - text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { - source += text.slice(index, offset).replace(escaper, escapeChar); - index = offset + match.length; - - if (escape) { - source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; - } else if (interpolate) { - source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; - } else if (evaluate) { - source += "';\n" + evaluate + "\n__p+='"; - } - - // Adobe VMs need the match returned to produce the correct offest. - return match; - }); - source += "';\n"; - - // If a variable is not specified, place data values in local scope. - if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; - - source = "var __t,__p='',__j=Array.prototype.join," + - "print=function(){__p+=__j.call(arguments,'');};\n" + - source + 'return __p;\n'; - - try { - var render = new Function(settings.variable || 'obj', '_', source); - } catch (e) { - e.source = source; - throw e; - } - - var template = function(data) { - return render.call(this, data, _); - }; - - // Provide the compiled source as a convenience for precompilation. - var argument = settings.variable || 'obj'; - template.source = 'function(' + argument + '){\n' + source + '}'; - - return template; - }; - - // Add a "chain" function. Start chaining a wrapped Underscore object. - _.chain = function(obj) { - var instance = _(obj); - instance._chain = true; - return instance; - }; - - // OOP - // --------------- - // If Underscore is called as a function, it returns a wrapped object that - // can be used OO-style. This wrapper holds altered versions of all the - // underscore functions. Wrapped objects may be chained. - - // Helper function to continue chaining intermediate results. - var result = function(instance, obj) { - return instance._chain ? _(obj).chain() : obj; - }; - - // Add your own custom functions to the Underscore object. - _.mixin = function(obj) { - _.each(_.functions(obj), function(name) { - var func = _[name] = obj[name]; - _.prototype[name] = function() { - var args = [this._wrapped]; - push.apply(args, arguments); - return result(this, func.apply(_, args)); - }; - }); - }; - - // Add all of the Underscore functions to the wrapper object. - _.mixin(_); - - // Add all mutator Array functions to the wrapper. - _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - var obj = this._wrapped; - method.apply(obj, arguments); - if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0]; - return result(this, obj); - }; - }); - - // Add all accessor Array functions to the wrapper. - _.each(['concat', 'join', 'slice'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - return result(this, method.apply(this._wrapped, arguments)); - }; - }); - - // Extracts the result from a wrapped and chained object. - _.prototype.value = function() { - return this._wrapped; - }; - - // Provide unwrapping proxy for some methods used in engine operations - // such as arithmetic and JSON stringification. - _.prototype.valueOf = _.prototype.toJSON = _.prototype.value; - - _.prototype.toString = function() { - return '' + this._wrapped; - }; - - // AMD registration happens at the end for compatibility with AMD loaders - // that may not enforce next-turn semantics on modules. Even though general - // practice for AMD registration is to be anonymous, underscore registers - // as a named module because, like jQuery, it is a base library that is - // popular enough to be bundled in a third party lib, but not be part of - // an AMD load request. Those cases could generate an error when an - // anonymous define() is called outside of a loader request. - if (typeof define === 'function' && define.amd) { - define('underscore', [], function() { - return _; - }); - } -}.call(this)); diff --git a/node_modules/url/LICENSE b/node_modules/url/LICENSE deleted file mode 100644 index f45bc118..00000000 --- a/node_modules/url/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright Joyent, Inc. and other Node contributors. - -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/url/node_modules/punycode/README.md b/node_modules/url/node_modules/punycode/README.md deleted file mode 100644 index 831e6379..00000000 --- a/node_modules/url/node_modules/punycode/README.md +++ /dev/null @@ -1,176 +0,0 @@ -# Punycode.js [![Build status](https://travis-ci.org/bestiejs/punycode.js.svg?branch=master)](https://travis-ci.org/bestiejs/punycode.js) [![Code coverage status](http://img.shields.io/coveralls/bestiejs/punycode.js/master.svg)](https://coveralls.io/r/bestiejs/punycode.js) [![Dependency status](https://gemnasium.com/bestiejs/punycode.js.svg)](https://gemnasium.com/bestiejs/punycode.js) - -A robust Punycode converter that fully complies to [RFC 3492](http://tools.ietf.org/html/rfc3492) and [RFC 5891](http://tools.ietf.org/html/rfc5891), and works on nearly all JavaScript platforms. - -This JavaScript library is the result of comparing, optimizing and documenting different open-source implementations of the Punycode algorithm: - -* [The C example code from RFC 3492](http://tools.ietf.org/html/rfc3492#appendix-C) -* [`punycode.c` by _Markus W. Scherer_ (IBM)](http://opensource.apple.com/source/ICU/ICU-400.42/icuSources/common/punycode.c) -* [`punycode.c` by _Ben Noordhuis_](https://github.com/bnoordhuis/punycode/blob/master/punycode.c) -* [JavaScript implementation by _some_](http://stackoverflow.com/questions/183485/can-anyone-recommend-a-good-free-javascript-for-punycode-to-unicode-conversion/301287#301287) -* [`punycode.js` by _Ben Noordhuis_](https://github.com/joyent/node/blob/426298c8c1c0d5b5224ac3658c41e7c2a3fe9377/lib/punycode.js) (note: [not fully compliant](https://github.com/joyent/node/issues/2072)) - -This project is [bundled](https://github.com/joyent/node/blob/master/lib/punycode.js) with [Node.js v0.6.2+](https://github.com/joyent/node/compare/975f1930b1...61e796decc). - -## Installation - -Via [npm](http://npmjs.org/) (only required for Node.js releases older than v0.6.2): - -```bash -npm install punycode -``` - -Via [Bower](http://bower.io/): - -```bash -bower install punycode -``` - -Via [Component](https://github.com/component/component): - -```bash -component install bestiejs/punycode.js -``` - -In a browser: - -```html - -``` - -In [Narwhal](http://narwhaljs.org/), [Node.js](http://nodejs.org/), and [RingoJS](http://ringojs.org/): - -```js -var punycode = require('punycode'); -``` - -In [Rhino](http://www.mozilla.org/rhino/): - -```js -load('punycode.js'); -``` - -Using an AMD loader like [RequireJS](http://requirejs.org/): - -```js -require( - { - 'paths': { - 'punycode': 'path/to/punycode' - } - }, - ['punycode'], - function(punycode) { - console.log(punycode); - } -); -``` - -## API - -### `punycode.decode(string)` - -Converts a Punycode string of ASCII symbols to a string of Unicode symbols. - -```js -// decode domain name parts -punycode.decode('maana-pta'); // 'mañana' -punycode.decode('--dqo34k'); // '☃-⌘' -``` - -### `punycode.encode(string)` - -Converts a string of Unicode symbols to a Punycode string of ASCII symbols. - -```js -// encode domain name parts -punycode.encode('mañana'); // 'maana-pta' -punycode.encode('☃-⌘'); // '--dqo34k' -``` - -### `punycode.toUnicode(input)` - -Converts a Punycode string representing a domain name or an email address to Unicode. Only the Punycoded parts of the input will be converted, i.e. it doesn’t matter if you call it on a string that has already been converted to Unicode. - -```js -// decode domain names -punycode.toUnicode('xn--maana-pta.com'); -// → 'mañana.com' -punycode.toUnicode('xn----dqo34k.com'); -// → '☃-⌘.com' - -// decode email addresses -punycode.toUnicode('джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq'); -// → 'джумла@джpумлатест.bрфa' -``` - -### `punycode.toASCII(input)` - -Converts a Unicode string representing a domain name or an email address to Punycode. Only the non-ASCII parts of the input will be converted, i.e. it doesn’t matter if you call it with a domain that's already in ASCII. - -```js -// encode domain names -punycode.toASCII('mañana.com'); -// → 'xn--maana-pta.com' -punycode.toASCII('☃-⌘.com'); -// → 'xn----dqo34k.com' - -// encode email addresses -punycode.toASCII('джумла@джpумлатест.bрфa'); -// → 'джумла@xn--p-8sbkgc5ag7bhce.xn--ba-lmcq' -``` - -### `punycode.ucs2` - -#### `punycode.ucs2.decode(string)` - -Creates an array containing the numeric code point values of each Unicode symbol in the string. While [JavaScript uses UCS-2 internally](https://mathiasbynens.be/notes/javascript-encoding), this function will convert a pair of surrogate halves (each of which UCS-2 exposes as separate characters) into a single code point, matching UTF-16. - -```js -punycode.ucs2.decode('abc'); -// → [0x61, 0x62, 0x63] -// surrogate pair for U+1D306 TETRAGRAM FOR CENTRE: -punycode.ucs2.decode('\uD834\uDF06'); -// → [0x1D306] -``` - -#### `punycode.ucs2.encode(codePoints)` - -Creates a string based on an array of numeric code point values. - -```js -punycode.ucs2.encode([0x61, 0x62, 0x63]); -// → 'abc' -punycode.ucs2.encode([0x1D306]); -// → '\uD834\uDF06' -``` - -### `punycode.version` - -A string representing the current Punycode.js version number. - -## Unit tests & code coverage - -After cloning this repository, run `npm install --dev` to install the dependencies needed for Punycode.js development and testing. You may want to install Istanbul _globally_ using `npm install istanbul -g`. - -Once that’s done, you can run the unit tests in Node using `npm test` or `node tests/tests.js`. To run the tests in Rhino, Ringo, Narwhal, PhantomJS, and web browsers as well, use `grunt test`. - -To generate the code coverage report, use `grunt cover`. - -Feel free to fork if you see possible improvements! - -## Author - -| [![twitter/mathias](https://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](https://twitter.com/mathias "Follow @mathias on Twitter") | -|---| -| [Mathias Bynens](https://mathiasbynens.be/) | - -## Contributors - -| [![twitter/jdalton](https://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](https://twitter.com/jdalton "Follow @jdalton on Twitter") | -|---| -| [John-David Dalton](http://allyoucanleet.com/) | - -## License - -Punycode.js is available under the [MIT](https://mths.be/mit) license. diff --git a/node_modules/url/node_modules/punycode/package.json b/node_modules/url/node_modules/punycode/package.json deleted file mode 100644 index 6d193c2c..00000000 --- a/node_modules/url/node_modules/punycode/package.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "name": "punycode", - "version": "1.3.2", - "description": "A robust Punycode converter that fully complies to RFC 3492 and RFC 5891, and works on nearly all JavaScript platforms.", - "homepage": "https://mths.be/punycode", - "main": "punycode.js", - "keywords": [ - "punycode", - "unicode", - "idn", - "idna", - "dns", - "url", - "domain" - ], - "license": "MIT", - "author": { - "name": "Mathias Bynens", - "url": "https://mathiasbynens.be/" - }, - "contributors": [ - { - "name": "Mathias Bynens", - "url": "https://mathiasbynens.be/" - }, - { - "name": "John-David Dalton", - "url": "http://allyoucanleet.com/" - } - ], - "repository": { - "type": "git", - "url": "https://github.com/bestiejs/punycode.js.git" - }, - "bugs": { - "url": "https://github.com/bestiejs/punycode.js/issues" - }, - "files": [ - "LICENSE-MIT.txt", - "punycode.js" - ], - "scripts": { - "test": "node tests/tests.js" - }, - "devDependencies": { - "coveralls": "^2.10.1", - "grunt": "^0.4.5", - "grunt-contrib-uglify": "^0.5.0", - "grunt-shell": "^0.7.0", - "istanbul": "^0.2.13", - "qunit-extras": "^1.2.0", - "qunitjs": "~1.11.0", - "requirejs": "^2.1.14" - }, - "gitHead": "38c8d3131a82567bfef18da09f7f4db68c84f8a3", - "_id": "punycode@1.3.2", - "_shasum": "9653a036fb7c1ee42342f2325cceefea3926c48d", - "_from": "punycode@1.3.2", - "_npmVersion": "1.4.28", - "_npmUser": { - "name": "mathias", - "email": "mathias@qiwi.be" - }, - "maintainers": [ - { - "name": "mathias", - "email": "mathias@qiwi.be" - }, - { - "name": "reconbot", - "email": "wizard@roborooter.com" - } - ], - "dist": { - "shasum": "9653a036fb7c1ee42342f2325cceefea3926c48d", - "tarball": "http://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" -} diff --git a/node_modules/url/node_modules/punycode/punycode.js b/node_modules/url/node_modules/punycode/punycode.js deleted file mode 100644 index ac685973..00000000 --- a/node_modules/url/node_modules/punycode/punycode.js +++ /dev/null @@ -1,530 +0,0 @@ -/*! https://mths.be/punycode v1.3.2 by @mathias */ -;(function(root) { - - /** Detect free variables */ - var freeExports = typeof exports == 'object' && exports && - !exports.nodeType && exports; - var freeModule = typeof module == 'object' && module && - !module.nodeType && module; - var freeGlobal = typeof global == 'object' && global; - if ( - freeGlobal.global === freeGlobal || - freeGlobal.window === freeGlobal || - freeGlobal.self === freeGlobal - ) { - root = freeGlobal; - } - - /** - * The `punycode` object. - * @name punycode - * @type Object - */ - var punycode, - - /** Highest positive signed 32-bit float value */ - maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1 - - /** Bootstring parameters */ - base = 36, - tMin = 1, - tMax = 26, - skew = 38, - damp = 700, - initialBias = 72, - initialN = 128, // 0x80 - delimiter = '-', // '\x2D' - - /** Regular expressions */ - regexPunycode = /^xn--/, - regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars - regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators - - /** Error messages */ - errors = { - 'overflow': 'Overflow: input needs wider integers to process', - 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', - 'invalid-input': 'Invalid input' - }, - - /** Convenience shortcuts */ - baseMinusTMin = base - tMin, - floor = Math.floor, - stringFromCharCode = String.fromCharCode, - - /** Temporary variable */ - key; - - /*--------------------------------------------------------------------------*/ - - /** - * A generic error utility function. - * @private - * @param {String} type The error type. - * @returns {Error} Throws a `RangeError` with the applicable error message. - */ - function error(type) { - throw RangeError(errors[type]); - } - - /** - * A generic `Array#map` utility function. - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function that gets called for every array - * item. - * @returns {Array} A new array of values returned by the callback function. - */ - function map(array, fn) { - var length = array.length; - var result = []; - while (length--) { - result[length] = fn(array[length]); - } - return result; - } - - /** - * A simple `Array#map`-like wrapper to work with domain name strings or email - * addresses. - * @private - * @param {String} domain The domain name or email address. - * @param {Function} callback The function that gets called for every - * character. - * @returns {Array} A new string of characters returned by the callback - * function. - */ - function mapDomain(string, fn) { - var parts = string.split('@'); - var result = ''; - if (parts.length > 1) { - // In email addresses, only the domain name should be punycoded. Leave - // the local part (i.e. everything up to `@`) intact. - result = parts[0] + '@'; - string = parts[1]; - } - // Avoid `split(regex)` for IE8 compatibility. See #17. - string = string.replace(regexSeparators, '\x2E'); - var labels = string.split('.'); - var encoded = map(labels, fn).join('.'); - return result + encoded; - } - - /** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - * @see `punycode.ucs2.encode` - * @see - * @memberOf punycode.ucs2 - * @name decode - * @param {String} string The Unicode input string (UCS-2). - * @returns {Array} The new array of code points. - */ - function ucs2decode(string) { - var output = [], - counter = 0, - length = string.length, - value, - extra; - while (counter < length) { - value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // high surrogate, and there is a next character - extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { // low surrogate - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // unmatched surrogate; only append this code unit, in case the next - // code unit is the high surrogate of a surrogate pair - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; - } - - /** - * Creates a string based on an array of numeric code points. - * @see `punycode.ucs2.decode` - * @memberOf punycode.ucs2 - * @name encode - * @param {Array} codePoints The array of numeric code points. - * @returns {String} The new Unicode string (UCS-2). - */ - function ucs2encode(array) { - return map(array, function(value) { - var output = ''; - if (value > 0xFFFF) { - value -= 0x10000; - output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); - value = 0xDC00 | value & 0x3FF; - } - output += stringFromCharCode(value); - return output; - }).join(''); - } - - /** - * Converts a basic code point into a digit/integer. - * @see `digitToBasic()` - * @private - * @param {Number} codePoint The basic numeric code point value. - * @returns {Number} The numeric value of a basic code point (for use in - * representing integers) in the range `0` to `base - 1`, or `base` if - * the code point does not represent a value. - */ - function basicToDigit(codePoint) { - if (codePoint - 48 < 10) { - return codePoint - 22; - } - if (codePoint - 65 < 26) { - return codePoint - 65; - } - if (codePoint - 97 < 26) { - return codePoint - 97; - } - return base; - } - - /** - * Converts a digit/integer into a basic code point. - * @see `basicToDigit()` - * @private - * @param {Number} digit The numeric value of a basic code point. - * @returns {Number} The basic code point whose value (when used for - * representing integers) is `digit`, which needs to be in the range - * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is - * used; else, the lowercase form is used. The behavior is undefined - * if `flag` is non-zero and `digit` has no uppercase form. - */ - function digitToBasic(digit, flag) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); - } - - /** - * Bias adaptation function as per section 3.4 of RFC 3492. - * http://tools.ietf.org/html/rfc3492#section-3.4 - * @private - */ - function adapt(delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); - } - - /** - * Converts a Punycode string of ASCII-only symbols to a string of Unicode - * symbols. - * @memberOf punycode - * @param {String} input The Punycode string of ASCII-only symbols. - * @returns {String} The resulting string of Unicode symbols. - */ - function decode(input) { - // Don't use UCS-2 - var output = [], - inputLength = input.length, - out, - i = 0, - n = initialN, - bias = initialBias, - basic, - j, - index, - oldi, - w, - k, - digit, - t, - /** Cached calculation results */ - baseMinusT; - - // Handle the basic code points: let `basic` be the number of input code - // points before the last delimiter, or `0` if there is none, then copy - // the first basic code points to the output. - - basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; - } - - for (j = 0; j < basic; ++j) { - // if it's not a basic code point - if (input.charCodeAt(j) >= 0x80) { - error('not-basic'); - } - output.push(input.charCodeAt(j)); - } - - // Main decoding loop: start just after the last delimiter if any basic code - // points were copied; start at the beginning otherwise. - - for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { - - // `index` is the index of the next character to be consumed. - // Decode a generalized variable-length integer into `delta`, - // which gets added to `i`. The overflow checking is easier - // if we increase `i` as we go, then subtract off its starting - // value at the end to obtain `delta`. - for (oldi = i, w = 1, k = base; /* no condition */; k += base) { - - if (index >= inputLength) { - error('invalid-input'); - } - - digit = basicToDigit(input.charCodeAt(index++)); - - if (digit >= base || digit > floor((maxInt - i) / w)) { - error('overflow'); - } - - i += digit * w; - t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - - if (digit < t) { - break; - } - - baseMinusT = base - t; - if (w > floor(maxInt / baseMinusT)) { - error('overflow'); - } - - w *= baseMinusT; - - } - - out = output.length + 1; - bias = adapt(i - oldi, out, oldi == 0); - - // `i` was supposed to wrap around from `out` to `0`, - // incrementing `n` each time, so we'll fix that now: - if (floor(i / out) > maxInt - n) { - error('overflow'); - } - - n += floor(i / out); - i %= out; - - // Insert `n` at position `i` of the output - output.splice(i++, 0, n); - - } - - return ucs2encode(output); - } - - /** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - * @memberOf punycode - * @param {String} input The string of Unicode symbols. - * @returns {String} The resulting Punycode string of ASCII-only symbols. - */ - function encode(input) { - var n, - delta, - handledCPCount, - basicLength, - bias, - j, - m, - q, - k, - t, - currentValue, - output = [], - /** `inputLength` will hold the number of code points in `input`. */ - inputLength, - /** Cached calculation results */ - handledCPCountPlusOne, - baseMinusT, - qMinusT; - - // Convert the input in UCS-2 to Unicode - input = ucs2decode(input); - - // Cache the length - inputLength = input.length; - - // Initialize the state - n = initialN; - delta = 0; - bias = initialBias; - - // Handle the basic code points - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - - handledCPCount = basicLength = output.length; - - // `handledCPCount` is the number of code points that have been handled; - // `basicLength` is the number of basic code points. - - // Finish the basic string - if it is not empty - with a delimiter - if (basicLength) { - output.push(delimiter); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - - // All non-basic code points < n have been handled already. Find the next - // larger one: - for (m = maxInt, j = 0; j < inputLength; ++j) { - currentValue = input[j]; - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - - // Increase `delta` enough to advance the decoder's state to , - // but guard against overflow - handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error('overflow'); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - for (j = 0; j < inputLength; ++j) { - currentValue = input[j]; - - if (currentValue < n && ++delta > maxInt) { - error('overflow'); - } - - if (currentValue == n) { - // Represent delta as a generalized variable-length integer - for (q = delta, k = base; /* no condition */; k += base) { - t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - if (q < t) { - break; - } - qMinusT = q - t; - baseMinusT = base - t; - output.push( - stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) - ); - q = floor(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - - ++delta; - ++n; - - } - return output.join(''); - } - - /** - * Converts a Punycode string representing a domain name or an email address - * to Unicode. Only the Punycoded parts of the input will be converted, i.e. - * it doesn't matter if you call it on a string that has already been - * converted to Unicode. - * @memberOf punycode - * @param {String} input The Punycoded domain name or email address to - * convert to Unicode. - * @returns {String} The Unicode representation of the given Punycode - * string. - */ - function toUnicode(input) { - return mapDomain(input, function(string) { - return regexPunycode.test(string) - ? decode(string.slice(4).toLowerCase()) - : string; - }); - } - - /** - * Converts a Unicode string representing a domain name or an email address to - * Punycode. Only the non-ASCII parts of the domain name will be converted, - * i.e. it doesn't matter if you call it with a domain that's already in - * ASCII. - * @memberOf punycode - * @param {String} input The domain name or email address to convert, as a - * Unicode string. - * @returns {String} The Punycode representation of the given domain name or - * email address. - */ - function toASCII(input) { - return mapDomain(input, function(string) { - return regexNonASCII.test(string) - ? 'xn--' + encode(string) - : string; - }); - } - - /*--------------------------------------------------------------------------*/ - - /** Define the public API */ - punycode = { - /** - * A string representing the current Punycode.js version number. - * @memberOf punycode - * @type String - */ - 'version': '1.3.2', - /** - * An object of methods to convert from JavaScript's internal character - * representation (UCS-2) to Unicode code points, and back. - * @see - * @memberOf punycode - * @type Object - */ - 'ucs2': { - 'decode': ucs2decode, - 'encode': ucs2encode - }, - 'decode': decode, - 'encode': encode, - 'toASCII': toASCII, - 'toUnicode': toUnicode - }; - - /** Expose `punycode` */ - // Some AMD build optimizers, like r.js, check for specific condition patterns - // like the following: - if ( - typeof define == 'function' && - typeof define.amd == 'object' && - define.amd - ) { - define('punycode', function() { - return punycode; - }); - } else if (freeExports && freeModule) { - if (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+ - freeModule.exports = punycode; - } else { // in Narwhal or RingoJS v0.7.0- - for (key in punycode) { - punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); - } - } - } else { // in Rhino or a web browser - root.punycode = punycode; - } - -}(this)); diff --git a/node_modules/url/package.json b/node_modules/url/package.json deleted file mode 100644 index 8fcc6d49..00000000 --- a/node_modules/url/package.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "url", - "description": "The core `url` packaged standalone for use with Browserify.", - "version": "0.10.2", - "dependencies": { - "punycode": "1.3.2" - }, - "main": "./url.js", - "devDependencies": { - "assert": "1.1.1", - "mocha": "1.18.2", - "zuul": "1.16.3" - }, - "scripts": { - "test": "mocha --ui qunit test.js && zuul -- test.js", - "test-local": "zuul --local -- test.js" - }, - "repository": { - "type": "git", - "url": "https://github.com/defunctzombie/node-url.git" - }, - "gitHead": "9a64b9ab8703d1d38d1a39793bd9841224962eb4", - "bugs": { - "url": "https://github.com/defunctzombie/node-url/issues" - }, - "homepage": "https://github.com/defunctzombie/node-url", - "_id": "url@0.10.2", - "_shasum": "68621d6929ea1cad344ebf135d82fcf7eb1a7469", - "_from": "url@", - "_npmVersion": "2.1.12", - "_nodeVersion": "0.10.33", - "_npmUser": { - "name": "shtylman", - "email": "shtylman@gmail.com" - }, - "maintainers": [ - { - "name": "coolaj86", - "email": "coolaj86@gmail.com" - }, - { - "name": "shtylman", - "email": "shtylman@gmail.com" - } - ], - "dist": { - "shasum": "68621d6929ea1cad344ebf135d82fcf7eb1a7469", - "tarball": "http://registry.npmjs.org/url/-/url-0.10.2.tgz" - }, - "directories": {}, - "_resolved": "https://registry.npmjs.org/url/-/url-0.10.2.tgz" -} diff --git a/node_modules/url/url.js b/node_modules/url/url.js deleted file mode 100644 index ddc4ade0..00000000 --- a/node_modules/url/url.js +++ /dev/null @@ -1,707 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// 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. - -var punycode = require('punycode'); - -exports.parse = urlParse; -exports.resolve = urlResolve; -exports.resolveObject = urlResolveObject; -exports.format = urlFormat; - -exports.Url = Url; - -function Url() { - this.protocol = null; - this.slashes = null; - this.auth = null; - this.host = null; - this.port = null; - this.hostname = null; - this.hash = null; - this.search = null; - this.query = null; - this.pathname = null; - this.path = null; - this.href = null; -} - -// Reference: RFC 3986, RFC 1808, RFC 2396 - -// define these here so at least they only have to be -// compiled once on the first module load. -var protocolPattern = /^([a-z0-9.+-]+:)/i, - portPattern = /:[0-9]*$/, - - // RFC 2396: characters reserved for delimiting URLs. - // We actually just auto-escape these. - delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'], - - // RFC 2396: characters not allowed for various reasons. - unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims), - - // Allowed by RFCs, but cause of XSS attacks. Always escape these. - autoEscape = ['\''].concat(unwise), - // Characters that are never ever allowed in a hostname. - // Note that any invalid chars are also handled, but these - // are the ones that are *expected* to be seen, so we fast-path - // them. - nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape), - hostEndingChars = ['/', '?', '#'], - hostnameMaxLen = 255, - hostnamePartPattern = /^[a-z0-9A-Z_-]{0,63}$/, - hostnamePartStart = /^([a-z0-9A-Z_-]{0,63})(.*)$/, - // protocols that can allow "unsafe" and "unwise" chars. - unsafeProtocol = { - 'javascript': true, - 'javascript:': true - }, - // protocols that never have a hostname. - hostlessProtocol = { - 'javascript': true, - 'javascript:': true - }, - // protocols that always contain a // bit. - slashedProtocol = { - 'http': true, - 'https': true, - 'ftp': true, - 'gopher': true, - 'file': true, - 'http:': true, - 'https:': true, - 'ftp:': true, - 'gopher:': true, - 'file:': true - }, - querystring = require('querystring'); - -function urlParse(url, parseQueryString, slashesDenoteHost) { - if (url && isObject(url) && url instanceof Url) return url; - - var u = new Url; - u.parse(url, parseQueryString, slashesDenoteHost); - return u; -} - -Url.prototype.parse = function(url, parseQueryString, slashesDenoteHost) { - if (!isString(url)) { - throw new TypeError("Parameter 'url' must be a string, not " + typeof url); - } - - var rest = url; - - // trim before proceeding. - // This is to support parse stuff like " http://foo.com \n" - rest = rest.trim(); - - var proto = protocolPattern.exec(rest); - if (proto) { - proto = proto[0]; - var lowerProto = proto.toLowerCase(); - this.protocol = lowerProto; - rest = rest.substr(proto.length); - } - - // figure out if it's got a host - // user@server is *always* interpreted as a hostname, and url - // resolution will treat //foo/bar as host=foo,path=bar because that's - // how the browser resolves relative URLs. - if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) { - var slashes = rest.substr(0, 2) === '//'; - if (slashes && !(proto && hostlessProtocol[proto])) { - rest = rest.substr(2); - this.slashes = true; - } - } - - if (!hostlessProtocol[proto] && - (slashes || (proto && !slashedProtocol[proto]))) { - - // there's a hostname. - // the first instance of /, ?, ;, or # ends the host. - // - // If there is an @ in the hostname, then non-host chars *are* allowed - // to the left of the last @ sign, unless some host-ending character - // comes *before* the @-sign. - // URLs are obnoxious. - // - // ex: - // http://a@b@c/ => user:a@b host:c - // http://a@b?@c => user:a host:c path:/?@c - - // v0.12 TODO(isaacs): This is not quite how Chrome does things. - // Review our test case against browsers more comprehensively. - - // find the first instance of any hostEndingChars - var hostEnd = -1; - for (var i = 0; i < hostEndingChars.length; i++) { - var hec = rest.indexOf(hostEndingChars[i]); - if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) - hostEnd = hec; - } - - // at this point, either we have an explicit point where the - // auth portion cannot go past, or the last @ char is the decider. - var auth, atSign; - if (hostEnd === -1) { - // atSign can be anywhere. - atSign = rest.lastIndexOf('@'); - } else { - // atSign must be in auth portion. - // http://a@b/c@d => host:b auth:a path:/c@d - atSign = rest.lastIndexOf('@', hostEnd); - } - - // Now we have a portion which is definitely the auth. - // Pull that off. - if (atSign !== -1) { - auth = rest.slice(0, atSign); - rest = rest.slice(atSign + 1); - this.auth = decodeURIComponent(auth); - } - - // the host is the remaining to the left of the first non-host char - hostEnd = -1; - for (var i = 0; i < nonHostChars.length; i++) { - var hec = rest.indexOf(nonHostChars[i]); - if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) - hostEnd = hec; - } - // if we still have not hit it, then the entire thing is a host. - if (hostEnd === -1) - hostEnd = rest.length; - - this.host = rest.slice(0, hostEnd); - rest = rest.slice(hostEnd); - - // pull out port. - this.parseHost(); - - // we've indicated that there is a hostname, - // so even if it's empty, it has to be present. - this.hostname = this.hostname || ''; - - // if hostname begins with [ and ends with ] - // assume that it's an IPv6 address. - var ipv6Hostname = this.hostname[0] === '[' && - this.hostname[this.hostname.length - 1] === ']'; - - // validate a little. - if (!ipv6Hostname) { - var hostparts = this.hostname.split(/\./); - for (var i = 0, l = hostparts.length; i < l; i++) { - var part = hostparts[i]; - if (!part) continue; - if (!part.match(hostnamePartPattern)) { - var newpart = ''; - for (var j = 0, k = part.length; j < k; j++) { - if (part.charCodeAt(j) > 127) { - // we replace non-ASCII char with a temporary placeholder - // we need this to make sure size of hostname is not - // broken by replacing non-ASCII by nothing - newpart += 'x'; - } else { - newpart += part[j]; - } - } - // we test again with ASCII char only - if (!newpart.match(hostnamePartPattern)) { - var validParts = hostparts.slice(0, i); - var notHost = hostparts.slice(i + 1); - var bit = part.match(hostnamePartStart); - if (bit) { - validParts.push(bit[1]); - notHost.unshift(bit[2]); - } - if (notHost.length) { - rest = '/' + notHost.join('.') + rest; - } - this.hostname = validParts.join('.'); - break; - } - } - } - } - - if (this.hostname.length > hostnameMaxLen) { - this.hostname = ''; - } else { - // hostnames are always lower case. - this.hostname = this.hostname.toLowerCase(); - } - - if (!ipv6Hostname) { - // IDNA Support: Returns a puny coded representation of "domain". - // It only converts the part of the domain name that - // has non ASCII characters. I.e. it dosent matter if - // you call it with a domain that already is in ASCII. - var domainArray = this.hostname.split('.'); - var newOut = []; - for (var i = 0; i < domainArray.length; ++i) { - var s = domainArray[i]; - newOut.push(s.match(/[^A-Za-z0-9_-]/) ? - 'xn--' + punycode.encode(s) : s); - } - this.hostname = newOut.join('.'); - } - - var p = this.port ? ':' + this.port : ''; - var h = this.hostname || ''; - this.host = h + p; - this.href += this.host; - - // strip [ and ] from the hostname - // the host field still retains them, though - if (ipv6Hostname) { - this.hostname = this.hostname.substr(1, this.hostname.length - 2); - if (rest[0] !== '/') { - rest = '/' + rest; - } - } - } - - // now rest is set to the post-host stuff. - // chop off any delim chars. - if (!unsafeProtocol[lowerProto]) { - - // First, make 100% sure that any "autoEscape" chars get - // escaped, even if encodeURIComponent doesn't think they - // need to be. - for (var i = 0, l = autoEscape.length; i < l; i++) { - var ae = autoEscape[i]; - var esc = encodeURIComponent(ae); - if (esc === ae) { - esc = escape(ae); - } - rest = rest.split(ae).join(esc); - } - } - - - // chop off from the tail first. - var hash = rest.indexOf('#'); - if (hash !== -1) { - // got a fragment string. - this.hash = rest.substr(hash); - rest = rest.slice(0, hash); - } - var qm = rest.indexOf('?'); - if (qm !== -1) { - this.search = rest.substr(qm); - this.query = rest.substr(qm + 1); - if (parseQueryString) { - this.query = querystring.parse(this.query); - } - rest = rest.slice(0, qm); - } else if (parseQueryString) { - // no query string, but parseQueryString still requested - this.search = ''; - this.query = {}; - } - if (rest) this.pathname = rest; - if (slashedProtocol[lowerProto] && - this.hostname && !this.pathname) { - this.pathname = '/'; - } - - //to support http.request - if (this.pathname || this.search) { - var p = this.pathname || ''; - var s = this.search || ''; - this.path = p + s; - } - - // finally, reconstruct the href based on what has been validated. - this.href = this.format(); - return this; -}; - -// format a parsed object into a url string -function urlFormat(obj) { - // ensure it's an object, and not a string url. - // If it's an obj, this is a no-op. - // this way, you can call url_format() on strings - // to clean up potentially wonky urls. - if (isString(obj)) obj = urlParse(obj); - if (!(obj instanceof Url)) return Url.prototype.format.call(obj); - return obj.format(); -} - -Url.prototype.format = function() { - var auth = this.auth || ''; - if (auth) { - auth = encodeURIComponent(auth); - auth = auth.replace(/%3A/i, ':'); - auth += '@'; - } - - var protocol = this.protocol || '', - pathname = this.pathname || '', - hash = this.hash || '', - host = false, - query = ''; - - if (this.host) { - host = auth + this.host; - } else if (this.hostname) { - host = auth + (this.hostname.indexOf(':') === -1 ? - this.hostname : - '[' + this.hostname + ']'); - if (this.port) { - host += ':' + this.port; - } - } - - if (this.query && - isObject(this.query) && - Object.keys(this.query).length) { - query = querystring.stringify(this.query); - } - - var search = this.search || (query && ('?' + query)) || ''; - - if (protocol && protocol.substr(-1) !== ':') protocol += ':'; - - // only the slashedProtocols get the //. Not mailto:, xmpp:, etc. - // unless they had them to begin with. - if (this.slashes || - (!protocol || slashedProtocol[protocol]) && host !== false) { - host = '//' + (host || ''); - if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname; - } else if (!host) { - host = ''; - } - - if (hash && hash.charAt(0) !== '#') hash = '#' + hash; - if (search && search.charAt(0) !== '?') search = '?' + search; - - pathname = pathname.replace(/[?#]/g, function(match) { - return encodeURIComponent(match); - }); - search = search.replace('#', '%23'); - - return protocol + host + pathname + search + hash; -}; - -function urlResolve(source, relative) { - return urlParse(source, false, true).resolve(relative); -} - -Url.prototype.resolve = function(relative) { - return this.resolveObject(urlParse(relative, false, true)).format(); -}; - -function urlResolveObject(source, relative) { - if (!source) return relative; - return urlParse(source, false, true).resolveObject(relative); -} - -Url.prototype.resolveObject = function(relative) { - if (isString(relative)) { - var rel = new Url(); - rel.parse(relative, false, true); - relative = rel; - } - - var result = new Url(); - Object.keys(this).forEach(function(k) { - result[k] = this[k]; - }, this); - - // hash is always overridden, no matter what. - // even href="" will remove it. - result.hash = relative.hash; - - // if the relative url is empty, then there's nothing left to do here. - if (relative.href === '') { - result.href = result.format(); - return result; - } - - // hrefs like //foo/bar always cut to the protocol. - if (relative.slashes && !relative.protocol) { - // take everything except the protocol from relative - Object.keys(relative).forEach(function(k) { - if (k !== 'protocol') - result[k] = relative[k]; - }); - - //urlParse appends trailing / to urls like http://www.example.com - if (slashedProtocol[result.protocol] && - result.hostname && !result.pathname) { - result.path = result.pathname = '/'; - } - - result.href = result.format(); - return result; - } - - if (relative.protocol && relative.protocol !== result.protocol) { - // if it's a known url protocol, then changing - // the protocol does weird things - // first, if it's not file:, then we MUST have a host, - // and if there was a path - // to begin with, then we MUST have a path. - // if it is file:, then the host is dropped, - // because that's known to be hostless. - // anything else is assumed to be absolute. - if (!slashedProtocol[relative.protocol]) { - Object.keys(relative).forEach(function(k) { - result[k] = relative[k]; - }); - result.href = result.format(); - return result; - } - - result.protocol = relative.protocol; - if (!relative.host && !hostlessProtocol[relative.protocol]) { - var relPath = (relative.pathname || '').split('/'); - while (relPath.length && !(relative.host = relPath.shift())); - if (!relative.host) relative.host = ''; - if (!relative.hostname) relative.hostname = ''; - if (relPath[0] !== '') relPath.unshift(''); - if (relPath.length < 2) relPath.unshift(''); - result.pathname = relPath.join('/'); - } else { - result.pathname = relative.pathname; - } - result.search = relative.search; - result.query = relative.query; - result.host = relative.host || ''; - result.auth = relative.auth; - result.hostname = relative.hostname || relative.host; - result.port = relative.port; - // to support http.request - if (result.pathname || result.search) { - var p = result.pathname || ''; - var s = result.search || ''; - result.path = p + s; - } - result.slashes = result.slashes || relative.slashes; - result.href = result.format(); - return result; - } - - var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'), - isRelAbs = ( - relative.host || - relative.pathname && relative.pathname.charAt(0) === '/' - ), - mustEndAbs = (isRelAbs || isSourceAbs || - (result.host && relative.pathname)), - removeAllDots = mustEndAbs, - srcPath = result.pathname && result.pathname.split('/') || [], - relPath = relative.pathname && relative.pathname.split('/') || [], - psychotic = result.protocol && !slashedProtocol[result.protocol]; - - // if the url is a non-slashed url, then relative - // links like ../.. should be able - // to crawl up to the hostname, as well. This is strange. - // result.protocol has already been set by now. - // Later on, put the first path part into the host field. - if (psychotic) { - result.hostname = ''; - result.port = null; - if (result.host) { - if (srcPath[0] === '') srcPath[0] = result.host; - else srcPath.unshift(result.host); - } - result.host = ''; - if (relative.protocol) { - relative.hostname = null; - relative.port = null; - if (relative.host) { - if (relPath[0] === '') relPath[0] = relative.host; - else relPath.unshift(relative.host); - } - relative.host = null; - } - mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === ''); - } - - if (isRelAbs) { - // it's absolute. - result.host = (relative.host || relative.host === '') ? - relative.host : result.host; - result.hostname = (relative.hostname || relative.hostname === '') ? - relative.hostname : result.hostname; - result.search = relative.search; - result.query = relative.query; - srcPath = relPath; - // fall through to the dot-handling below. - } else if (relPath.length) { - // it's relative - // throw away the existing file, and take the new path instead. - if (!srcPath) srcPath = []; - srcPath.pop(); - srcPath = srcPath.concat(relPath); - result.search = relative.search; - result.query = relative.query; - } else if (!isNullOrUndefined(relative.search)) { - // just pull out the search. - // like href='?foo'. - // Put this after the other two cases because it simplifies the booleans - if (psychotic) { - result.hostname = result.host = srcPath.shift(); - //occationaly the auth can get stuck only in host - //this especialy happens in cases like - //url.resolveObject('mailto:local1@domain1', 'local2@domain2') - var authInHost = result.host && result.host.indexOf('@') > 0 ? - result.host.split('@') : false; - if (authInHost) { - result.auth = authInHost.shift(); - result.host = result.hostname = authInHost.shift(); - } - } - result.search = relative.search; - result.query = relative.query; - //to support http.request - if (!isNull(result.pathname) || !isNull(result.search)) { - result.path = (result.pathname ? result.pathname : '') + - (result.search ? result.search : ''); - } - result.href = result.format(); - return result; - } - - if (!srcPath.length) { - // no path at all. easy. - // we've already handled the other stuff above. - result.pathname = null; - //to support http.request - if (result.search) { - result.path = '/' + result.search; - } else { - result.path = null; - } - result.href = result.format(); - return result; - } - - // if a url ENDs in . or .., then it must get a trailing slash. - // however, if it ends in anything else non-slashy, - // then it must NOT get a trailing slash. - var last = srcPath.slice(-1)[0]; - var hasTrailingSlash = ( - (result.host || relative.host) && (last === '.' || last === '..') || - last === ''); - - // strip single dots, resolve double dots to parent dir - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = srcPath.length; i >= 0; i--) { - last = srcPath[i]; - if (last == '.') { - srcPath.splice(i, 1); - } else if (last === '..') { - srcPath.splice(i, 1); - up++; - } else if (up) { - srcPath.splice(i, 1); - up--; - } - } - - // if the path is allowed to go above the root, restore leading ..s - if (!mustEndAbs && !removeAllDots) { - for (; up--; up) { - srcPath.unshift('..'); - } - } - - if (mustEndAbs && srcPath[0] !== '' && - (!srcPath[0] || srcPath[0].charAt(0) !== '/')) { - srcPath.unshift(''); - } - - if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) { - srcPath.push(''); - } - - var isAbsolute = srcPath[0] === '' || - (srcPath[0] && srcPath[0].charAt(0) === '/'); - - // put the host back - if (psychotic) { - result.hostname = result.host = isAbsolute ? '' : - srcPath.length ? srcPath.shift() : ''; - //occationaly the auth can get stuck only in host - //this especialy happens in cases like - //url.resolveObject('mailto:local1@domain1', 'local2@domain2') - var authInHost = result.host && result.host.indexOf('@') > 0 ? - result.host.split('@') : false; - if (authInHost) { - result.auth = authInHost.shift(); - result.host = result.hostname = authInHost.shift(); - } - } - - mustEndAbs = mustEndAbs || (result.host && srcPath.length); - - if (mustEndAbs && !isAbsolute) { - srcPath.unshift(''); - } - - if (!srcPath.length) { - result.pathname = null; - result.path = null; - } else { - result.pathname = srcPath.join('/'); - } - - //to support request.http - if (!isNull(result.pathname) || !isNull(result.search)) { - result.path = (result.pathname ? result.pathname : '') + - (result.search ? result.search : ''); - } - result.auth = relative.auth || result.auth; - result.slashes = result.slashes || relative.slashes; - result.href = result.format(); - return result; -}; - -Url.prototype.parseHost = function() { - var host = this.host; - var port = portPattern.exec(host); - if (port) { - port = port[0]; - if (port !== ':') { - this.port = port.substr(1); - } - host = host.substr(0, host.length - port.length); - } - if (host) this.hostname = host; -}; - -function isString(arg) { - return typeof arg === "string"; -} - -function isObject(arg) { - return typeof arg === 'object' && arg !== null; -} - -function isNull(arg) { - return arg === null; -} -function isNullOrUndefined(arg) { - return arg == null; -} diff --git a/node_modules/wrench/LICENSE b/node_modules/wrench/LICENSE deleted file mode 100644 index a85a94a6..00000000 --- a/node_modules/wrench/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License - -Copyright (c) 2010 Ryan McGrath - -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/wrench/lib/wrench.js b/node_modules/wrench/lib/wrench.js deleted file mode 100644 index 01f5e957..00000000 --- a/node_modules/wrench/lib/wrench.js +++ /dev/null @@ -1,531 +0,0 @@ -/* wrench.js - * - * A collection of various utility functions I've found myself in need of - * for use with Node.js (http://nodejs.org/). This includes things like: - * - * - Recursively deleting directories in Node.js (Sync, not Async) - * - Recursively copying directories in Node.js (Sync, not Async) - * - Recursively chmoding a directory structure from Node.js (Sync, not Async) - * - Other things that I'll add here as time goes on. Shhhh... - * - * ~ Ryan McGrath (ryan [at] venodesigns.net) - */ - -var fs = require("fs"), - _path = require("path"), - isWindows = !!process.platform.match(/^win/); - -/* wrench.readdirSyncRecursive("directory_path"); - * - * Recursively dives through directories and read the contents of all the - * children directories. - */ -exports.readdirSyncRecursive = function(baseDir) { - baseDir = baseDir.replace(/\/$/, ''); - - var readdirSyncRecursive = function(baseDir) { - var files = [], - curFiles, - nextDirs, - isDir = function(fname){ - return fs.existsSync(_path.join(baseDir, fname)) ? fs.statSync( _path.join(baseDir, fname) ).isDirectory() : false; - }, - prependBaseDir = function(fname){ - return _path.join(baseDir, fname); - }; - - curFiles = fs.readdirSync(baseDir); - nextDirs = curFiles.filter(isDir); - curFiles = curFiles.map(prependBaseDir); - - files = files.concat( curFiles ); - - while (nextDirs.length) { - files = files.concat( readdirSyncRecursive( _path.join(baseDir, nextDirs.shift()) ) ); - } - - return files; - }; - - // convert absolute paths to relative - var fileList = readdirSyncRecursive(baseDir).map(function(val){ - return _path.relative(baseDir, val); - }); - - return fileList; -}; - -/* wrench.readdirRecursive("directory_path", function(error, files) {}); - * - * Recursively dives through directories and read the contents of all the - * children directories. - * - * Asynchronous, so returns results/error in callback. - * Callback receives the of files in currently recursed directory. - * When no more directories are left, callback is called with null for all arguments. - * - */ -exports.readdirRecursive = function(baseDir, fn) { - baseDir = baseDir.replace(/\/$/, ''); - - var waitCount = 0; - - function readdirRecursive(curDir) { - var prependcurDir = function(fname){ - return _path.join(curDir, fname); - }; - - waitCount++; - fs.readdir(curDir, function(e, curFiles) { - if (e) { - fn(e); - return; - } - waitCount--; - - curFiles = curFiles.map(prependcurDir); - - curFiles.forEach(function(it) { - waitCount++; - - fs.stat(it, function(e, stat) { - waitCount--; - - if (e) { - fn(e); - } else { - if (stat.isDirectory()) { - readdirRecursive(it); - } - } - - if (waitCount == 0) { - fn(null, null); - } - }); - }); - - fn(null, curFiles.map(function(val) { - // convert absolute paths to relative - return _path.relative(baseDir, val); - })); - - if (waitCount == 0) { - fn(null, null); - } - }); - }; - - readdirRecursive(baseDir); -}; - - - - - -/* wrench.rmdirSyncRecursive("directory_path", failSilent); - * - * Recursively dives through directories and obliterates everything about it. This is a - * Sync-function, which blocks things until it's done. No idea why anybody would want an - * Asynchronous version. :\ - */ -exports.rmdirSyncRecursive = function(path, failSilent) { - var files; - - try { - files = fs.readdirSync(path); - } catch (err) { - - if(failSilent) return; - throw new Error(err.message); - } - - /* Loop through and delete everything in the sub-tree after checking it */ - for(var i = 0; i < files.length; i++) { - var file = _path.join(path, files[i]); - var currFile = fs.lstatSync(file); - - if(currFile.isDirectory()) { - // Recursive function back to the beginning - exports.rmdirSyncRecursive(file); - } else if(currFile.isSymbolicLink()) { - // Unlink symlinks - if (isWindows) { - fs.chmodSync(file, 666) // Windows needs this unless joyent/node#3006 is resolved.. - } - - fs.unlinkSync(file); - } else { - // Assume it's a file - perhaps a try/catch belongs here? - if (isWindows) { - fs.chmodSync(file, 666) // Windows needs this unless joyent/node#3006 is resolved.. - } - - fs.unlinkSync(file); - } - } - - /* Now that we know everything in the sub-tree has been deleted, we can delete the main - directory. Huzzah for the shopkeep. */ - return fs.rmdirSync(path); -}; - - - -function isFileIncluded(opts, dir, filename) { - - function isMatch(filter) { - if (typeof filter === 'function') { - return filter(filename, dir) === true; - } - else { - // Maintain backwards compatibility and use just the filename - return filename.match(filter); - } - } - - if (opts.include || opts.exclude) { - if (opts.exclude) { - if (isMatch(opts.exclude)) { - return false; - } - } - - if (opts.include) { - if (isMatch(opts.include)) { - return true; - } - else { - return false; - } - } - - return true; - } - else if (opts.filter) { - var filter = opts.filter; - - if (!opts.whitelist) { - // if !opts.whitelist is false every file or directory - // which does match opts.filter will be ignored - return isMatch(filter) ? false : true; - } else { - // if opts.whitelist is true every file or directory - // which doesn't match opts.filter will be ignored - return !isMatch(filter) ? false : true; - } - } - - return true; -} - -/* wrench.copyDirSyncRecursive("directory_to_copy", "new_directory_location", opts); - * - * Recursively dives through a directory and moves all its files to a new location. This is a - * Synchronous function, which blocks things until it's done. If you need/want to do this in - * an Asynchronous manner, look at wrench.copyDirRecursively() below. Specify forceDelete to force directory overwrite. - * - * Note: Directories should be passed to this function without a trailing slash. - */ -exports.copyDirSyncRecursive = function(sourceDir, newDirLocation, opts) { - opts = opts || {}; - - try { - if(fs.statSync(newDirLocation).isDirectory()) { - if(opts.forceDelete) { - exports.rmdirSyncRecursive(newDirLocation); - } else { - return new Error('You are trying to delete a directory that already exists. Specify forceDelete in the opts argument to override this. Bailing~'); - } - } - } catch(e) { } - - /* Create the directory where all our junk is moving to; read the mode of the source directory and mirror it */ - var checkDir = fs.statSync(sourceDir); - try { - fs.mkdirSync(newDirLocation, checkDir.mode); - } catch (e) { - //if the directory already exists, that's okay - if (e.code !== 'EEXIST') throw e; - } - - var files = fs.readdirSync(sourceDir); - var hasFilter = opts.filter || opts.include || opts.exclude; - var preserveFiles = opts.preserveFiles === true; - var preserveTimestamps = opts.preserveTimestamps === true; - - for(var i = 0; i < files.length; i++) { - // ignores all files or directories which match the RegExp in opts.filter - if(typeof opts !== 'undefined') { - if (hasFilter) { - if (!isFileIncluded(opts, sourceDir, files[i])) { - continue; - } - } - - if (opts.excludeHiddenUnix && /^\./.test(files[i])) continue; - } - - var currFile = fs.lstatSync(_path.join(sourceDir, files[i])); - - var fCopyFile = function(srcFile, destFile) { - if(typeof opts !== 'undefined' && opts.preserveFiles && fs.existsSync(destFile)) return; - - var contents = fs.readFileSync(srcFile); - fs.writeFileSync(destFile, contents); - var stat = fs.lstatSync(srcFile); - fs.chmodSync(destFile, stat.mode); - if (preserveTimestamps) { - fs.utimesSync(destFile, stat.atime, stat.mtime) - } - }; - - if(currFile.isDirectory()) { - /* recursion this thing right on back. */ - exports.copyDirSyncRecursive(_path.join(sourceDir, files[i]), _path.join(newDirLocation, files[i]), opts); - } else if(currFile.isSymbolicLink()) { - var symlinkFull = fs.readlinkSync(_path.join(sourceDir, files[i])); - symlinkFull = _path.resolve(fs.realpathSync(sourceDir), symlinkFull); - - if (typeof opts !== 'undefined' && !opts.inflateSymlinks) { - fs.symlinkSync(symlinkFull, _path.join(newDirLocation, files[i])); - continue; - } - - var tmpCurrFile = fs.lstatSync(symlinkFull); - if (tmpCurrFile.isDirectory()) { - exports.copyDirSyncRecursive(symlinkFull, _path.join(newDirLocation, files[i]), opts); - } else { - /* At this point, we've hit a file actually worth copying... so copy it on over. */ - fCopyFile(symlinkFull, _path.join(newDirLocation, files[i])); - } - } else { - /* At this point, we've hit a file actually worth copying... so copy it on over. */ - fCopyFile(_path.join(sourceDir, files[i]), _path.join(newDirLocation, files[i])); - } - } -}; - -/* wrench.chmodSyncRecursive("directory", filemode); - * - * Recursively dives through a directory and chmods everything to the desired mode. This is a - * Synchronous function, which blocks things until it's done. - * - * Note: Directories should be passed to this function without a trailing slash. - */ -exports.chmodSyncRecursive = function(sourceDir, filemode) { - var files = fs.readdirSync(sourceDir); - - for(var i = 0; i < files.length; i++) { - var currFile = fs.lstatSync(_path.join(sourceDir, files[i])); - - if(currFile.isDirectory()) { - /* ...and recursion this thing right on back. */ - exports.chmodSyncRecursive(_path.join(sourceDir, files[i]), filemode); - } else { - /* At this point, we've hit a file actually worth copying... so copy it on over. */ - fs.chmod(_path.join(sourceDir, files[i]), filemode); - } - } - - /* Finally, chmod the parent directory */ - fs.chmod(sourceDir, filemode); -}; - - -/* wrench.chownSyncRecursive("directory", uid, gid); - * - * Recursively dives through a directory and chowns everything to the desired user and group. This is a - * Synchronous function, which blocks things until it's done. - * - * Note: Directories should be passed to this function without a trailing slash. - */ -exports.chownSyncRecursive = function(sourceDir, uid, gid) { - var files = fs.readdirSync(sourceDir); - - for(var i = 0; i < files.length; i++) { - var currFile = fs.lstatSync(_path.join(sourceDir, files[i])); - - if(currFile.isDirectory()) { - /* ...and recursion this thing right on back. */ - exports.chownSyncRecursive(_path.join(sourceDir, files[i]), uid, gid); - } else { - /* At this point, we've hit a file actually worth chowning... so own it. */ - fs.chownSync(_path.join(sourceDir, files[i]), uid, gid); - } - } - - /* Finally, chown the parent directory */ - fs.chownSync(sourceDir, uid, gid); -}; - - - -/* wrench.rmdirRecursive("directory_path", callback); - * - * Recursively dives through directories and obliterates everything about it. - */ -exports.rmdirRecursive = function rmdirRecursive(dir, failSilent, clbk){ - if(clbk === null || typeof clbk == 'undefined') - clbk = function(err) {}; - - fs.readdir(dir, function(err, files) { - if(err && typeof failSilent === 'boolean' && !failSilent) - return clbk(err); - - if(typeof failSilent === 'function') - clbk = failSilent; - - (function rmFile(err){ - if (err) return clbk(err); - - var filename = files.shift(); - if (filename === null || typeof filename == 'undefined') - return fs.rmdir(dir, clbk); - - var file = dir+'/'+filename; - fs.lstat(file, function(err, stat){ - if (err) return clbk(err); - if (stat.isDirectory()) - rmdirRecursive(file, rmFile); - else - fs.unlink(file, rmFile); - }); - })(); - }); -}; - -/* wrench.copyDirRecursive("directory_to_copy", "new_location", {forceDelete: bool}, callback); - * - * Recursively dives through a directory and moves all its files to a new - * location. Specify forceDelete to force directory overwrite. - * - * Note: Directories should be passed to this function without a trailing slash. - */ -exports.copyDirRecursive = function copyDirRecursive(srcDir, newDir, opts, clbk) { - var originalArguments = Array.prototype.slice.apply(arguments); - srcDir = _path.normalize(srcDir); - newDir = _path.normalize(newDir); - - fs.stat(newDir, function(err, newDirStat) { - if(!err) { - if(typeof opts !== 'undefined' && typeof opts !== 'function' && opts.forceDelete) - return exports.rmdirRecursive(newDir, function(err) { - copyDirRecursive.apply(this, originalArguments); - }); - else - return clbk(new Error('You are trying to delete a directory that already exists. Specify forceDelete in an options object to override this.')); - } - - if(typeof opts === 'function') - clbk = opts; - - fs.stat(srcDir, function(err, srcDirStat){ - if (err) return clbk(err); - fs.mkdir(newDir, srcDirStat.mode, function(err){ - if (err) return clbk(err); - fs.readdir(srcDir, function(err, files){ - if (err) return clbk(err); - (function copyFiles(err){ - if (err) return clbk(err); - - var filename = files.shift(); - if (filename === null || typeof filename == 'undefined') - return clbk(null); - - var file = srcDir+'/'+filename, - newFile = newDir+'/'+filename; - - fs.stat(file, function(err, fileStat){ - if (err) return clbk(err); - if (fileStat.isDirectory()) - copyDirRecursive(file, newFile, copyFiles, clbk); - else if (fileStat.isSymbolicLink()) - fs.readlink(file, function(err, link){ - if (err) return clbk(err); - fs.symlink(link, newFile, copyFiles); - }); - else - fs.readFile(file, function(err, data){ - if (err) return clbk(err); - fs.writeFile(newFile, data, copyFiles); - }); - }); - })(); - }); - }); - }); - }); -}; - -var mkdirSyncRecursive = function(path, mode) { - var self = this; - path = _path.normalize(path) - - try { - fs.mkdirSync(path, mode); - } catch(err) { - if(err.code == "ENOENT") { - var slashIdx = path.lastIndexOf(_path.sep); - - if(slashIdx > 0) { - var parentPath = path.substring(0, slashIdx); - mkdirSyncRecursive(parentPath, mode); - mkdirSyncRecursive(path, mode); - } else { - throw err; - } - } else if(err.code == "EEXIST") { - return; - } else { - throw err; - } - } -}; -exports.mkdirSyncRecursive = mkdirSyncRecursive; - -exports.LineReader = function(filename, bufferSize) { - this.bufferSize = bufferSize || 8192; - this.buffer = ""; - this.fd = fs.openSync(filename, "r"); - this.currentPosition = 0; -}; - -exports.LineReader.prototype = { - close: function() { - return fs.closeSync(this.fd); - }, - - getBufferAndSetCurrentPosition: function(position) { - var res = fs.readSync(this.fd, this.bufferSize, position, "ascii"); - - this.buffer += res[0]; - if(res[1] === 0) { - this.currentPosition = -1; - } else { - this.currentPosition = position + res[1]; - } - - return this.currentPosition; - }, - - hasNextLine: function() { - while(this.buffer.indexOf('\n') === -1) { - this.getBufferAndSetCurrentPosition(this.currentPosition); - if(this.currentPosition === -1) return false; - } - - if(this.buffer.indexOf("\n") > -1 || this.buffer.length !== 0) return true; - return false; - }, - - getNextLine: function() { - var lineEnd = this.buffer.indexOf("\n"), - result = this.buffer.substring(0, lineEnd != -1 ? lineEnd : this.buffer.length); - - this.buffer = this.buffer.substring(result.length + 1, this.buffer.length); - return result; - } -}; - -// vim: et ts=4 sw=4 diff --git a/node_modules/wrench/package.json b/node_modules/wrench/package.json deleted file mode 100644 index 7cd149cd..00000000 --- a/node_modules/wrench/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "wrench", - "description": "Recursive filesystem (and other) operations that Node *should* have.", - "version": "1.5.8", - "author": { - "name": "Ryan McGrath", - "email": "ryan@venodesigns.net" - }, - "repository": { - "type": "git", - "url": "https://ryanmcgrath@github.com/ryanmcgrath/wrench-js.git" - }, - "bugs": { - "url": "http://github.com/ryanmcgrath/wrench-js/issues" - }, - "directories": { - "lib": "./lib/" - }, - "dependencies": {}, - "devDependencies": { - "nodeunit": ">= 0.6.4" - }, - "main": "./lib/wrench", - "engines": { - "node": ">=0.1.97" - }, - "scripts": { - "test": "nodeunit tests/runner.js" - }, - "licenses": [ - { - "type": "MIT", - "url": "http://github.com/ryanmcgrath/wrench-js/raw/master/LICENSE" - } - ], - "readme": "wrench.js - Recursive file operations in Node.js\n----------------------------------------------------------------------------\nWhile I love Node.js, I've found myself missing some functions. Things like\nrecursively deleting/chmodding a directory (or even deep copying a directory),\nor even a basic line reader, shouldn't need to be re-invented time and time again.\n\nThat said, here's my attempt at a re-usable solution, at least until something\nmore formalized gets integrated into Node.js (*hint hint*). wrench.js is fairly simple\nto use - check out the documentation/examples below:\n\nPossibly Breaking Change in v1.5.0\n-----------------------------------------------------------------------------\nIn previous versions of Wrench, we went against the OS-default behavior of not\ndeleting a directory unless the operation is forced. In 1.5.0, this has been\nchanged to be the behavior people expect there to be - if you try to copy over\na directory that already exists, you'll get an Error returned or thrown stating\nthat you need to force it.\n\nSomething like this will do the trick:\n\n``` javascript\nwrench.copyDirSyncRecursive('directory_to_copy', 'location_where_copy_should_end_up', {\n forceDelete: true\n});\n```\n\nIf you desire the older behavior of Wrench... hit up your package.json. If you\nhappen to find bugs in the 1.5.0 release please feel free to file them on the \nGitHub issues tracker for this project, or send me a pull request and I'll get to\nit as fast as I can. Thanks!\n\n**If this breaks enough projects I will consider rolling it back. Please hit me up if this seems to be the case.**\n\nInstallation\n-----------------------------------------------------------------------------\n\n npm install wrench\n\nUsage\n-----------------------------------------------------------------------------\n``` javascript\nvar wrench = require('wrench'),\n\tutil = require('util');\n```\n\n### Synchronous operations\n``` javascript\n// Recursively create directories, sub-trees and all.\nwrench.mkdirSyncRecursive(dir, 0777);\n\n// Recursively delete the entire sub-tree of a directory, then kill the directory\nwrench.rmdirSyncRecursive('my_directory_name', failSilently);\n\n// Recursively read directories contents.\nwrench.readdirSyncRecursive('my_directory_name');\n\n// Recursively chmod the entire sub-tree of a directory\nwrench.chmodSyncRecursive('my_directory_name', 0755);\n\n// Recursively chown the entire sub-tree of a directory\nwrench.chownSyncRecursive(\"directory\", uid, gid);\n\n// Deep-copy an existing directory\nwrench.copyDirSyncRecursive('directory_to_copy', 'location_where_copy_should_end_up', {\n forceDelete: bool, // Whether to overwrite existing directory or not\n excludeHiddenUnix: bool, // Whether to copy hidden Unix files or not (preceding .)\n preserveFiles: bool, // If we're overwriting something and the file already exists, keep the existing\n preserveTimestamps: bool, // Preserve the mtime and atime when copying files\n inflateSymlinks: bool, // Whether to follow symlinks or not when copying files\n filter: regexpOrFunction, // A filter to match files against; if matches, do nothing (exclude).\n whitelist: bool, // if true every file or directory which doesn't match filter will be ignored\n include: regexpOrFunction, // An include filter (either a regexp or a function)\n exclude: regexpOrFunction // An exclude filter (either a regexp or a function)\n});\n\n// Note: If a RegExp is provided then then it will be matched against the filename. If a function is\n// provided then the signature should be the following:\n// function(filename, dir) { return result; }\n\n// Read lines in from a file until you hit the end\nvar f = new wrench.LineReader('x.txt');\nwhile(f.hasNextLine()) {\n\tutil.puts(f.getNextLine());\n}\n\n// Note: You will need to close that above line reader at some point, otherwise\n// you will run into a \"too many open files\" error. f.close() or fs.closeSync(f.fd) are\n// your friends, as only you know when it is safe to close.\n```\n\n### Asynchronous operations\n``` javascript\n// Recursively read directories contents\nvar files = [];\nwrench.readdirRecursive('my_directory_name', function(error, curFiles) {\n // curFiles is what you want\n});\n\n// If you're feeling somewhat masochistic\nwrench.copyDirRecursive(srcDir, newDir, {forceDelete: bool /* See sync version */}, callbackfn);\n```\n\nQuestions, comments? Hit me up. (ryan [at] venodesigns.net | http://twitter.com/ryanmcgrath)\n", - "readmeFilename": "readme.md", - "homepage": "https://github.com/ryanmcgrath/wrench-js", - "_id": "wrench@1.5.8", - "_shasum": "7a31c97f7869246d76c5cf2f5c977a1c4c8e5ab5", - "_from": "wrench@~1.5.8", - "_resolved": "https://registry.npmjs.org/wrench/-/wrench-1.5.8.tgz" -} From d18c08001f01a31d4c6123c0cd80e14c7a8fa0e4 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Fri, 30 Oct 2015 07:22:31 -0600 Subject: [PATCH 2/3] Ignore node_modules --- .gitignore | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index d7422917..124599bd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,21 +1,7 @@ # Development-related files .tern-port coverage/ -node_modules/.bin -node_modules/eslint -node_modules/gulp* -node_modules/istanbul - -# Node.js-only modules -node_modules/requizzle - -# Unused files from committed modules -node_modules/bluebird/README.md -node_modules/bluebird/changelog.md -node_modules/bluebird/js/browser/* -node_modules/espree/README.md -node_modules/espree/bin -node_modules/espree/test +/node_modules/ # User-specific files conf.json From 621f012211a93d492b219ec7d76854937a295b05 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Fri, 30 Oct 2015 13:11:43 -0600 Subject: [PATCH 3/3] Remove Rhino support --- .eslintignore | 2 - .npmignore | 7 - LICENSE.md | 83 --- README.md | 56 +- cli.js | 5 +- gulpfile.js | 24 +- jsdoc | 33 -- jsdoc.cmd | 26 - jsdoc.js | 41 +- lib/jsdoc/opts/args.js | 2 +- lib/jsdoc/path.js | 2 +- lib/jsdoc/plugins.js | 11 - lib/jsdoc/src/astbuilder.js | 1 - lib/jsdoc/src/parser.js | 5 +- lib/jsdoc/src/syntax.js | 2 +- lib/jsdoc/src/walker.js | 1 - lib/jsdoc/util/runtime.js | 33 +- plugins/eventDumper.js | 18 +- rhino/MPL_2.0.txt | 373 ------------- rhino/assert.js | 315 ----------- rhino/buffer.js | 3 - rhino/crypto.js | 3 - rhino/events.js | 292 ---------- rhino/fs.js | 168 ------ rhino/js.jar | Bin 1171579 -> 0 bytes rhino/jsdoc/src/astbuilder.js | 18 - rhino/jsdoc/src/parser.js | 48 -- rhino/jsdoc/src/visitor.js | 69 --- rhino/os.js | 14 - rhino/path.js | 432 --------------- rhino/querystring.js | 121 ----- rhino/rhino-shim.js | 191 ------- rhino/util.js | 532 ------------------- test/README.md | 6 - test/jasmine-jsdoc.js | 4 +- test/spec-collection.js | 2 +- test/specs/documentation/arrowfunction.js | 38 +- test/specs/documentation/const.js | 14 +- test/specs/documentation/defaultparams.js | 97 ++-- test/specs/documentation/getset.js | 44 +- test/specs/documentation/jsx.js | 22 +- test/specs/documentation/methoddefinition.js | 26 +- test/specs/documentation/restparams.js | 35 +- test/specs/jsdoc/src/parser.js | 72 +-- test/specs/jsdoc/util/runtime.js | 34 -- test/specs/rhino/fs.js | 5 - test/specs/rhino/os.js | 5 - test/specs/rhino/path.js | 36 -- test/specs/rhino/src/parser.js | 185 ------- test/specs/rhino/src/visitor.js | 89 ---- 50 files changed, 165 insertions(+), 3480 deletions(-) delete mode 100755 jsdoc delete mode 100644 jsdoc.cmd delete mode 100644 rhino/MPL_2.0.txt delete mode 100644 rhino/assert.js delete mode 100644 rhino/buffer.js delete mode 100644 rhino/crypto.js delete mode 100644 rhino/events.js delete mode 100644 rhino/fs.js delete mode 100644 rhino/js.jar delete mode 100644 rhino/jsdoc/src/astbuilder.js delete mode 100644 rhino/jsdoc/src/parser.js delete mode 100644 rhino/jsdoc/src/visitor.js delete mode 100644 rhino/os.js delete mode 100644 rhino/path.js delete mode 100644 rhino/querystring.js delete mode 100644 rhino/rhino-shim.js delete mode 100644 rhino/util.js delete mode 100644 test/specs/rhino/fs.js delete mode 100644 test/specs/rhino/os.js delete mode 100644 test/specs/rhino/path.js delete mode 100644 test/specs/rhino/src/parser.js delete mode 100644 test/specs/rhino/src/visitor.js diff --git a/.eslintignore b/.eslintignore index a16c9d3d..3cdf3bf6 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,5 +1,3 @@ -node_modules/* -rhino/* templates/default/static/scripts/* test/fixtures/* test/lib/* diff --git a/.npmignore b/.npmignore index aaa8ad0a..d8b16456 100644 --- a/.npmignore +++ b/.npmignore @@ -4,11 +4,4 @@ .gitignore .travis.yml gulpfile.js - -# scripts for launching JSDoc with Mozilla Rhino -/jsdoc* -!/jsdoc.js - -# Rhino and test directories -rhino/ test/ diff --git a/LICENSE.md b/LICENSE.md index 55a84793..2e1c851b 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -145,19 +145,6 @@ Copyright (c) 2011-2015 by the Espree contributors. The source code for Esprima is available at: https://github.com/eslint/espree -## events ## - -Portions of the events source code are incorporated into the following files: - -+ `rhino/events.js` - -events is distributed under the MIT license, which is reproduced above. - -Copyright Joyent, Inc. and other Node contributors. All rights reserved. - -The source code for events is available at: -https://github.com/Gozala/events - ## github-flavored-markdown ## github-flavored-markdown is distributed under the BSD 3-clause license: @@ -234,36 +221,6 @@ Copyright (c) 2012 Michael Kourlas. The source code for js2xmlparser is available at: https://github.com/michaelkourlas/node-js2xmlparser -## Node.js ## - -Portions of the Node.js source code are incorporated into the following files: - -- `rhino/fs.js` -- `rhino/path.js` -- `rhino/querystring.js` -- `rhino/util.js` - -Node.js is distributed under the MIT license, which is reproduced above. - -Copyright Joyent, Inc. and other Node contributors. All rights reserved. - -The source code for Node.js is available at: -https://github.com/joyent/node - -## node-browser-builtins ## - -Portions of the node-browser-builtins source code are incorporated into the -following files: - -- `rhino/assert.js` -- `rhino/rhino-shim.js` - -node-browser-builtins is distributed under the MIT license, which is reproduced -above. - -The source code for node-browser-builtins is available at: -https://github.com/alexgorbatchev/node-browser-builtins - ## Open Sans ## Open Sans is distributed under the Apache License 2.0, which is @@ -284,46 +241,6 @@ Copyright (c) 2012-2013 Johannes Ewald. The source code for Requizzle is available at: https://github.com/hegemonic/requizzle -## Rhino ## - -Rhino is distributed under the following licenses: - -### MPL 2.0 License ### -The majority of the source code for Rhino is available under the Mozilla Public -License (MPL) 2.0, which is included in this distribution. - -### License for portions of the Rhino debugger ### -Additionally, some files are available under the BSD 3-clause license: - -> Copyright 1997, 1998 Sun Microsystems, Inc. All Rights Reserved. -> -> Redistribution and use in source and binary forms, with or without -> modification, are permitted provided that the following conditions are met: -> -> - Redistributions of source code must retain the above copyright notice, -> this list of conditions and the following disclaimer. -> - Redistributions in binary form must reproduce the above copyright -> notice, this list of conditions and the following disclaimer in the -> documentation and/or other materials provided with the distribution. -> - Neither the name of Sun Microsystems nor the names of its contributors -> may be used to endorse or promote products derived from this software -> without specific prior written permission. -> -> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -> AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -> IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -> DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -> FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -> DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -> SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -> CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -> OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -> OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -### Source Code ### -The source code for Rhino is available at: -https://github.com/jsdoc3/rhino - ## TaffyDB ## TaffyDB is distributed under a modified BSD license: diff --git a/README.md b/README.md index 0728999d..d008a4d7 100644 --- a/README.md +++ b/README.md @@ -9,17 +9,8 @@ Want to contribute to JSDoc? Please read `CONTRIBUTING.md`. Installation and Usage ---------------------- -You can run JSDoc on either Node.js or Mozilla Rhino. - -### Node.js - -Native support for Node.js is available in JSDoc 3.3.0 and later. JSDoc -supports Node.js 0.10 and later. - -#### Installing JSDoc for Node.js - -You can install JSDoc in your project's `node_modules` folder, or you can -install it globally. +JSDoc supports Node.js 0.10 and later. You can install JSDoc in your project's +`node_modules` folder, or you can install it globally. To install the latest version available on NPM: @@ -29,8 +20,6 @@ To install the latest development version: npm install git+https://github.com/jsdoc3/jsdoc.git -#### Running JSDoc with Node.js - If you installed JSDoc locally, the JSDoc command-line tool is available in `./node_modules/.bin`. To generate documentation for the file `yourJavaScriptFile.js`: @@ -46,47 +35,6 @@ can use the `--destination` (`-d`) option to specify another directory. Run `jsdoc --help` for a complete list of command-line options. -### Mozilla Rhino - -All versions of JSDoc 3 run on a customized version of Mozilla Rhino, which -requires Java. You can run JSDoc 3 on Java 1.6 and later. - -#### Installing JSDoc for Mozilla Rhino - -To install JSDoc, download a .zip file for the -[latest development version](https://github.com/jsdoc3/jsdoc/archive/master.zip) -or a [previous release](https://github.com/jsdoc3/jsdoc/tags). - -You can also use git to clone the -[JSDoc repository](https://github.com/jsdoc3/jsdoc): - - git clone git+https://github.com/jsdoc3/jsdoc.git - -The JSDoc repository includes a -[customized version of Mozilla Rhino](https://github.com/jsdoc3/rhino). Make -sure your Java classpath does not include any other versions of Rhino. (On OS X, -you may need to remove the file `~/Library/Java/Extensions/js.jar`.) - -**Note**: In JSDoc 3.3.0 and later, if you need to run JSDoc on Mozilla Rhino, -do not install JSDoc with npm. Use one of the methods described above. - -#### Running JSDoc with Mozilla Rhino - -On OS X, Linux, and other POSIX systems, to generate documentation for the file -`yourJavaScriptFile.js`: - - ./jsdoc yourJavaScriptFile.js - -Or on Windows: - - jsdoc yourJavaScriptFile.js - -By default, the generated documentation is saved in a directory named `out`. You -can use the `--destination` (`-d`) option to specify another directory. - -Run `jsdoc --help` for a complete list of command-line options. - - Templates and Build Tools ------------------------- diff --git a/cli.js b/cli.js index 494b2199..dfe35f3e 100644 --- a/cli.js +++ b/cli.js @@ -6,10 +6,7 @@ * A few critical notes for anyone who works on this module: * * + The module should really export an instance of `cli`, and `props` should be properties of a - * `cli` instance. However, Rhino interpreted `this` as a reference to `global` within the - * prototype's methods, so we couldn't do that. - * + On Rhino, for unknown reasons, the `jsdoc/fs` and `jsdoc/path` modules can fail in some cases - * when they are required by this module. You may need to use `fs` and `path` instead. + * `cli` instance. * * @private */ diff --git a/gulpfile.js b/gulpfile.js index 179a9493..b4800b4a 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -31,16 +31,7 @@ var options = { 'test/specs/**/*.js' ], nodeBin: path.resolve(__dirname, './jsdoc.js'), - nodePath: process.execPath, - rhinoBin: (function() { - var filepath = path.resolve(__dirname, './jsdoc'); - - if (os.platform().indexOf('win') === 0) { - filepath += '.cmd'; - } - - return filepath; - })() + nodePath: process.execPath }; gulp.task('bump', function() { @@ -63,20 +54,9 @@ gulp.task('lint', function() { .pipe(eslint.failOnError()); }); -gulp.task('test-node', function(cb) { +gulp.task('test', function(cb) { var cmd = util.format('%s "%s" -T', options.nodePath, options.nodeBin); exec(cmd, execCb.bind(null, cb)); }); -gulp.task('test-rhino', function(cb) { - var cmd = util.format('"%s" -T -q "parser=rhino"', options.rhinoBin); - exec(cmd, execCb.bind(null, cb)); -}); - -gulp.task('test-rhino-jsparser', function(cb) { - var cmd = util.format('"%s" -T -q "parser=js"', options.rhinoBin); - exec(cmd, execCb.bind(null, cb)); -}); - -gulp.task('test', ['test-node', 'test-rhino', 'test-rhino-jsparser']); gulp.task('default', ['lint', 'test']); diff --git a/jsdoc b/jsdoc deleted file mode 100755 index 53c9c8f5..00000000 --- a/jsdoc +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -SOURCE="$0" -while [ -h "$SOURCE" ] ; do - NEXTSOURCE="$(readlink "$SOURCE")" - echo $NEXTSOURCE | grep -q -e "^/" - if [ $? = 0 ]; then - SOURCE="$NEXTSOURCE" - else - SOURCE="$(dirname $SOURCE)/$NEXTSOURCE" - fi -done -# Get a Windows path under MinGW or Cygwin -BASEPATH="$( cd -P "$( dirname "$SOURCE" )" && (pwd -W 2>/dev/null || cygpath -w $(pwd) 2>/dev/null || pwd))" -if [ "${BASEPATH%${BASEPATH#?}}" != "/" ] ; then - BASEPATH="$( echo "$BASEPATH" | sed -e 's@\\@/@g' )" -fi - -if test "$1" = "--debug" -then - CMD="org.mozilla.javascript.tools.debugger.Main -debug -opt -1" -else - CMD="org.mozilla.javascript.tools.shell.Main" -fi - -if test "$1" = "-T" -then - cd -P "$(dirname "$SOURCE")" - java -classpath "${BASEPATH}/rhino/js.jar" ${CMD} -opt -1 -modules "${BASEPATH}/lib" -modules "${BASEPATH}/node_modules" -modules "${BASEPATH}/rhino" -modules "${BASEPATH}" "${BASEPATH}/jsdoc.js" "$@" - -else - java -classpath "${BASEPATH}/rhino/js.jar" ${CMD} -modules "${BASEPATH}/lib" -modules "${BASEPATH}/node_modules" -modules "${BASEPATH}/rhino" -modules "${BASEPATH}" "${BASEPATH}/jsdoc.js" "$@" -fi diff --git a/jsdoc.cmd b/jsdoc.cmd deleted file mode 100644 index 20156cd8..00000000 --- a/jsdoc.cmd +++ /dev/null @@ -1,26 +0,0 @@ -@ECHO OFF - -SETLOCAL - -REM jsdoc.js expects paths without a trailing slash -SET _BASEPATH=%~dp0 -SET _BASEPATH=%_BASEPATH:~0,-1% - -REM we need the ability to resolve paths relative to the user's working -REM directory prior to launching JSDoc -SET PWD=%cd% - -IF [%1]==[--debug] ( - SET CMD=org.mozilla.javascript.tools.debugger.Main -debug -opt -1 -) ELSE ( - SET CMD=org.mozilla.javascript.tools.shell.Main -) -SET ARGS=%* - -IF [%1]==[-T] ( - java -classpath "%_BASEPATH%/rhino/js.jar" %CMD% -opt -1 -modules "%_BASEPATH%/lib" -modules "%_BASEPATH%/node_modules" -modules "%_BASEPATH%/rhino" -modules "%_BASEPATH%" "%_BASEPATH%/jsdoc.js" %ARGS% --nocolor -) ELSE ( - java -classpath "%_BASEPATH%/rhino/js.jar" %CMD% -modules "%_BASEPATH%/lib" -modules "%_BASEPATH%/node_modules" -modules "%_BASEPATH%/rhino" -modules "%_BASEPATH%" "%_BASEPATH%/jsdoc.js" %ARGS% -) - -ENDLOCAL diff --git a/jsdoc.js b/jsdoc.js index 49897b86..414c226f 100755 --- a/jsdoc.js +++ b/jsdoc.js @@ -45,16 +45,7 @@ */ global.env = (function() { 'use strict'; - - // This bit of joy is here because Rhino treats `./lib/jsdoc/env` and `jsdoc/env` as separate - // modules. In contrast, Node.js errors out on `jsdoc/env` because we don't patch `require()` - // until after this file is loaded. - if (require('./lib/jsdoc/util/runtime').isRhino()) { - return require('jsdoc/env'); - } - else { - return require('./lib/jsdoc/env'); - } + return require('./lib/jsdoc/env'); })(); /** @@ -67,14 +58,7 @@ global.env = (function() { */ global.app = (function() { 'use strict'; - - // See comment in `global.env` to find out why we jump through this hoop. - if (require('./lib/jsdoc/util/runtime').isRhino()) { - return require('jsdoc/app'); - } - else { - return require('./lib/jsdoc/app'); - } + return require('./lib/jsdoc/app'); })(); (function() { @@ -102,8 +86,7 @@ global.app = (function() { if (env.opts.debug) { /** * Recursively print an object's properties to stdout. This method is safe to use with - * objects that contain circular references. In addition, on Mozilla Rhino, this method is - * safe to use with native Java objects. + * objects that contain circular references. * * This method is available only when JSDoc is run with the `--debug` option. * @@ -117,21 +100,5 @@ global.app = (function() { }; } - // On Rhino, we use a try/catch block so we can log the Java exception (if available) - if ( runtime.isRhino() ) { - try { - cli.runCommand(cb); - } - catch (e) { - if (e.rhinoException) { - logger.fatal( e.rhinoException.printStackTrace() ); - } else { - console.trace(e); - cli.exit(1); - } - } - } - else { - cli.runCommand(cb); - } + cli.runCommand(cb); })(); diff --git a/lib/jsdoc/opts/args.js b/lib/jsdoc/opts/args.js index cf4c45f5..6daa8542 100644 --- a/lib/jsdoc/opts/args.js +++ b/lib/jsdoc/opts/args.js @@ -24,7 +24,7 @@ function parseQuery(str) { argParser.addOption('a', 'access', true, 'Only display symbols with the given access: "public", "protected", "private" or "undefined", or "all" for all access levels. Default: all except "private"', true); argParser.addOption('c', 'configure', true, 'The path to the configuration file. Default: path/to/jsdoc/conf.json'); argParser.addOption('d', 'destination', true, 'The path to the output folder. Use "console" to dump data to the console. Default: ./out/'); -argParser.addOption('', 'debug', false, 'Log information for debugging JSDoc. On Rhino, launches the debugger when passed as the first option.'); +argParser.addOption('', 'debug', false, 'Log information for debugging JSDoc.'); argParser.addOption('e', 'encoding', true, 'Assume this encoding when reading all source files. Default: utf8'); argParser.addOption('h', 'help', false, 'Print this message and quit.'); argParser.addOption('', 'match', true, 'When running tests, only use specs whose names contain .', true); diff --git a/lib/jsdoc/path.js b/lib/jsdoc/path.js index c7c15f7f..42a27adf 100644 --- a/lib/jsdoc/path.js +++ b/lib/jsdoc/path.js @@ -95,7 +95,7 @@ exports.commonPrefix = function(paths) { * @param {string} filepath - The path to the requested resource. May be an absolute path; a path * relative to the JSDoc directory; or a path relative to the current working directory. * @param {string} [filename] - The filename of the requested resource. - * @return {string} The fully qualified path (or, on Rhino, a URI) to the requested resource. + * @return {string} The fully qualified path to the requested resource. * Includes the filename if one was provided. */ exports.getResourcePath = function(filepath, filename) { diff --git a/lib/jsdoc/plugins.js b/lib/jsdoc/plugins.js index 6147342c..57b7d4ef 100644 --- a/lib/jsdoc/plugins.js +++ b/lib/jsdoc/plugins.js @@ -33,17 +33,6 @@ exports.installPlugins = function(plugins, parser) { plugin.defineTags(dictionary); } - // ...add a Rhino node visitor (deprecated in JSDoc 3.3) - if (plugin.nodeVisitor) { - if ( !parser.addNodeVisitor ) { - logger.error('Unable to add the Rhino node visitor from %s, because JSDoc ' + - 'is not using the Rhino JavaScript parser.', plugins[i]); - } - else { - parser.addNodeVisitor(plugin.nodeVisitor); - } - } - // ...add a Mozilla Parser API node visitor if (plugin.astNodeVisitor) { parser.addAstNodeVisitor(plugin.astNodeVisitor); diff --git a/lib/jsdoc/src/astbuilder.js b/lib/jsdoc/src/astbuilder.js index deededa9..0d763e69 100644 --- a/lib/jsdoc/src/astbuilder.js +++ b/lib/jsdoc/src/astbuilder.js @@ -12,7 +12,6 @@ var jsdoc = { }; var Syntax = jsdoc.src.syntax.Syntax; -// TODO: should set e.stopPropagation == true for consistency with Rhino, right? var VISITOR_CONTINUE = true; var VISITOR_STOP = false; diff --git a/lib/jsdoc/src/parser.js b/lib/jsdoc/src/parser.js index 6fd17df0..6e4f7817 100644 --- a/lib/jsdoc/src/parser.js +++ b/lib/jsdoc/src/parser.js @@ -27,8 +27,7 @@ var Syntax = jsdoc.src.syntax.Syntax; // TODO: docs var PARSERS = exports.PARSERS = { - js: 'jsdoc/src/parser', - rhino: 'rhino/jsdoc/src/parser' + js: 'jsdoc/src/parser' }; /* eslint-disable no-script-url */ // Prefix for JavaScript strings that were provided in lieu of a filename. @@ -62,7 +61,7 @@ exports.createParser = function(type) { if (!type) { /* istanbul ignore next */ - type = jsdoc.util.runtime.isRhino() ? 'rhino' : 'js'; + type = 'js'; } if (hasOwnProp.call(PARSERS, type)) { diff --git a/lib/jsdoc/src/syntax.js b/lib/jsdoc/src/syntax.js index 5bf36ce6..3e0d9d1b 100644 --- a/lib/jsdoc/src/syntax.js +++ b/lib/jsdoc/src/syntax.js @@ -52,7 +52,7 @@ exports.Syntax = { JSXSpreadAttribute: 'JSXSpreadAttribute', JSXText: 'JSXText', LabeledStatement: 'LabeledStatement', - LetStatement: 'LetStatement', // TODO: update Rhino to use VariableDeclaration + LetStatement: 'LetStatement', Literal: 'Literal', LogicalExpression: 'LogicalExpression', MemberExpression: 'MemberExpression', diff --git a/lib/jsdoc/src/walker.js b/lib/jsdoc/src/walker.js index 816bcb86..d871810d 100644 --- a/lib/jsdoc/src/walker.js +++ b/lib/jsdoc/src/walker.js @@ -582,7 +582,6 @@ Walker.prototype._recurse = function(filename, ast) { }; // TODO: docs -// TODO: skip the AST root node to be consistent with Rhino? Walker.prototype.recurse = function(ast, visitor, filename) { var shouldContinue; var state = this._recurse(filename, ast); diff --git a/lib/jsdoc/util/runtime.js b/lib/jsdoc/util/runtime.js index 7bbb101d..60e0da16 100644 --- a/lib/jsdoc/util/runtime.js +++ b/lib/jsdoc/util/runtime.js @@ -10,25 +10,19 @@ var env = require('jsdoc/env'); var os = require('os'); -// These strings represent directory names; do not modify them! -/** @private */ -var RHINO = exports.RHINO = 'rhino'; +// This string represents a directory name; do not modify it! /** @private */ var NODE = exports.NODE = 'node'; /** * The JavaScript runtime that is executing JSDoc: * - * + `module:jsdoc/util/runtime~RHINO`: Mozilla Rhino. * + `module:jsdoc/util/runtime~NODE`: Node.js. * * @private */ var runtime = (function() { - if (global.Packages && typeof global.Packages === 'object' && - Object.prototype.toString.call(global.Packages) === '[object JavaPackage]') { - return RHINO; - } else if (require && require.main && module) { + if (require && require.main && module) { return NODE; } else { // unknown runtime @@ -36,14 +30,6 @@ var runtime = (function() { } })(); -/** - * Check whether Mozilla Rhino is running JSDoc. - * @return {boolean} Set to `true` if the current runtime is Mozilla Rhino. - */ -exports.isRhino = function() { - return runtime === RHINO; -}; - /** * Check whether Node.js is running JSDoc. * @return {boolean} Set to `true` if the current runtime is Node.js. @@ -52,18 +38,6 @@ exports.isNode = function() { return runtime === NODE; }; -function initializeRhino(args) { - // the JSDoc dirname is the main module URI, minus the filename, converted to a path - var uriParts = require.main.uri.split('/'); - uriParts.pop(); - - env.dirname = String( new java.io.File(new java.net.URI(uriParts.join('/'))) ); - env.pwd = String( java.lang.System.getenv().get('PWD') ); - env.args = args; - - require(env.dirname + '/rhino/rhino-shim.js'); -} - function initializeNode(args) { var fs = require('fs'); var path = require('path'); @@ -83,9 +57,6 @@ function initializeNode(args) { exports.initialize = function(args) { switch (runtime) { - case RHINO: - initializeRhino(args); - break; case NODE: initializeNode(args); break; diff --git a/plugins/eventDumper.js b/plugins/eventDumper.js index 72ccdce0..7ae7c444 100644 --- a/plugins/eventDumper.js +++ b/plugins/eventDumper.js @@ -11,7 +11,6 @@ var env = require('jsdoc/env'); var util = require('util'); var conf = env.conf.eventDumper || {}; -var isRhino = require('jsdoc/util/runtime').isRhino(); // Dump the included parser events (defaults to all events) var events = conf.include || [ @@ -30,20 +29,6 @@ if (conf.exclude) { events = _.difference(events, conf.exclude); } -/** - * Check whether a variable appears to be a Java native object. - * - * @param {*} o - The variable to check. - * @return {boolean} Set to `true` for Java native objects and `false` in all other cases. - */ -function isJavaNativeObject(o) { - if (!isRhino) { - return false; - } - - return o && typeof o === 'object' && typeof o.getClass === 'function'; -} - /** * Replace AST node objects in events with a placeholder. * @@ -91,8 +76,7 @@ function cleanse(e) { } // never include functions that belong to the object else if (typeof e[prop] !== 'function') { - // don't call JSON.stringify() on Java native objects--Rhino will throw an exception - result[prop] = isJavaNativeObject(e[prop]) ? String(e[prop]) : e[prop]; + result[prop] = e[prop]; } }); diff --git a/rhino/MPL_2.0.txt b/rhino/MPL_2.0.txt deleted file mode 100644 index a612ad98..00000000 --- a/rhino/MPL_2.0.txt +++ /dev/null @@ -1,373 +0,0 @@ -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/rhino/assert.js b/rhino/assert.js deleted file mode 100644 index 5c762d07..00000000 --- a/rhino/assert.js +++ /dev/null @@ -1,315 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// 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. - -// UTILITY -var util = require('util'); -var pSlice = Array.prototype.slice; - -// 1. The assert module provides functions that throw -// AssertionError's when particular conditions are not met. The -// assert module must conform to the following interface. - -var assert = module.exports = ok; - -// 2. The AssertionError is defined in assert. -// new assert.AssertionError({ message: message, -// actual: actual, -// expected: expected }) - -assert.AssertionError = function AssertionError(options) { - this.name = 'AssertionError'; - this.actual = options.actual; - this.expected = options.expected; - this.operator = options.operator; - this.message = options.message || getMessage(this); -}; - -// assert.AssertionError instanceof Error -util.inherits(assert.AssertionError, Error); - -function replacer(key, value) { - if (util.isUndefined(value)) { - return '' + value; - } - if (util.isNumber(value) && (isNaN(value) || !isFinite(value))) { - return value.toString(); - } - if (util.isFunction(value) || util.isRegExp(value)) { - return value.toString(); - } - return value; -} - -function truncate(s, n) { - if (util.isString(s)) { - return s.length < n ? s : s.slice(0, n); - } else { - return s; - } -} - -function getMessage(self) { - return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' + - self.operator + ' ' + - truncate(JSON.stringify(self.expected, replacer), 128); -} - -// At present only the three keys mentioned above are used and -// understood by the spec. Implementations or sub modules can pass -// other keys to the AssertionError's constructor - they will be -// ignored. - -// 3. All of the following functions must throw an AssertionError -// when a corresponding condition is not met, with a message that -// may be undefined if not provided. All assertion methods provide -// both the actual and expected values to the assertion error for -// display purposes. - -function fail(actual, expected, message, operator, stackStartFunction) { - throw new assert.AssertionError({ - message: message, - actual: actual, - expected: expected, - operator: operator, - stackStartFunction: stackStartFunction - }); -} - -// EXTENSION! allows for well behaved errors defined elsewhere. -assert.fail = fail; - -// 4. Pure assertion tests whether a value is truthy, as determined -// by !!guard. -// assert.ok(guard, message_opt); -// This statement is equivalent to assert.equal(true, !!guard, -// message_opt);. To test strictly for the value true, use -// assert.strictEqual(true, guard, message_opt);. - -function ok(value, message) { - if (!value) fail(value, true, message, '==', assert.ok); -} -assert.ok = ok; - -// 5. The equality assertion tests shallow, coercive equality with -// ==. -// assert.equal(actual, expected, message_opt); - -assert.equal = function equal(actual, expected, message) { - if (actual != expected) fail(actual, expected, message, '==', assert.equal); -}; - -// 6. The non-equality assertion tests for whether two objects are not equal -// with != assert.notEqual(actual, expected, message_opt); - -assert.notEqual = function notEqual(actual, expected, message) { - if (actual == expected) { - fail(actual, expected, message, '!=', assert.notEqual); - } -}; - -// 7. The equivalence assertion tests a deep equality relation. -// assert.deepEqual(actual, expected, message_opt); - -assert.deepEqual = function deepEqual(actual, expected, message) { - if (!_deepEqual(actual, expected)) { - fail(actual, expected, message, 'deepEqual', assert.deepEqual); - } -}; - -function _deepEqual(actual, expected) { - // 7.1. All identical values are equivalent, as determined by ===. - if (actual === expected) { - return true; - - } else if (util.isBuffer(actual) && util.isBuffer(expected)) { - if (actual.length != expected.length) return false; - - for (var i = 0; i < actual.length; i++) { - if (actual[i] !== expected[i]) return false; - } - - return true; - - // 7.2. If the expected value is a Date object, the actual value is - // equivalent if it is also a Date object that refers to the same time. - } else if (util.isDate(actual) && util.isDate(expected)) { - return actual.getTime() === expected.getTime(); - - // 7.3 If the expected value is a RegExp object, the actual value is - // equivalent if it is also a RegExp object with the same source and - // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`). - } else if (util.isRegExp(actual) && util.isRegExp(expected)) { - return actual.source === expected.source && - actual.global === expected.global && - actual.multiline === expected.multiline && - actual.lastIndex === expected.lastIndex && - actual.ignoreCase === expected.ignoreCase; - - // 7.4. Other pairs that do not both pass typeof value == 'object', - // equivalence is determined by ==. - } else if (!util.isObject(actual) && !util.isObject(expected)) { - return actual == expected; - - // 7.5 For all other Object pairs, including Array objects, equivalence is - // determined by having the same number of owned properties (as verified - // with Object.prototype.hasOwnProperty.call), the same set of keys - // (although not necessarily the same order), equivalent values for every - // corresponding key, and an identical 'prototype' property. Note: this - // accounts for both named and indexed properties on Arrays. - } else { - return objEquiv(actual, expected); - } -} - -function isArguments(object) { - return Object.prototype.toString.call(object) == '[object Arguments]'; -} - -function objEquiv(a, b) { - if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b)) - return false; - // an identical 'prototype' property. - if (a.prototype !== b.prototype) return false; - //~~~I've managed to break Object.keys through screwy arguments passing. - // Converting to array solves the problem. - if (isArguments(a)) { - if (!isArguments(b)) { - return false; - } - a = pSlice.call(a); - b = pSlice.call(b); - return _deepEqual(a, b); - } - try { - var ka = Object.keys(a), - kb = Object.keys(b), - key, i; - } catch (e) {//happens when one is a string literal and the other isn't - return false; - } - // having the same number of owned properties (keys incorporates - // hasOwnProperty) - if (ka.length != kb.length) - return false; - //the same set of keys (although not necessarily the same order), - ka.sort(); - kb.sort(); - //~~~cheap key test - for (i = ka.length - 1; i >= 0; i--) { - if (ka[i] != kb[i]) - return false; - } - //equivalent values for every corresponding key, and - //~~~possibly expensive deep test - for (i = ka.length - 1; i >= 0; i--) { - key = ka[i]; - if (!_deepEqual(a[key], b[key])) return false; - } - return true; -} - -// 8. The non-equivalence assertion tests for any deep inequality. -// assert.notDeepEqual(actual, expected, message_opt); - -assert.notDeepEqual = function notDeepEqual(actual, expected, message) { - if (_deepEqual(actual, expected)) { - fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual); - } -}; - -// 9. The strict equality assertion tests strict equality, as determined by ===. -// assert.strictEqual(actual, expected, message_opt); - -assert.strictEqual = function strictEqual(actual, expected, message) { - if (actual !== expected) { - fail(actual, expected, message, '===', assert.strictEqual); - } -}; - -// 10. The strict non-equality assertion tests for strict inequality, as -// determined by !==. assert.notStrictEqual(actual, expected, message_opt); - -assert.notStrictEqual = function notStrictEqual(actual, expected, message) { - if (actual === expected) { - fail(actual, expected, message, '!==', assert.notStrictEqual); - } -}; - -function expectedException(actual, expected) { - if (!actual || !expected) { - return false; - } - - if (Object.prototype.toString.call(expected) == '[object RegExp]') { - return expected.test(actual); - } else if (actual instanceof expected) { - return true; - } else if (expected.call({}, actual) === true) { - return true; - } - - return false; -} - -function _throws(shouldThrow, block, expected, message) { - var actual; - - if (util.isString(expected)) { - message = expected; - expected = null; - } - - try { - block(); - } catch (e) { - actual = e; - } - - message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + - (message ? ' ' + message : '.'); - - if (shouldThrow && !actual) { - fail(actual, expected, 'Missing expected exception' + message); - } - - if (!shouldThrow && expectedException(actual, expected)) { - fail(actual, expected, 'Got unwanted exception' + message); - } - - if ((shouldThrow && actual && expected && - !expectedException(actual, expected)) || (!shouldThrow && actual)) { - throw actual; - } -} - -// 11. Expected to throw an error: -// assert.throws(block, Error_opt, message_opt); - -assert.throws = function(block, /*optional*/error, /*optional*/message) { - _throws.apply(this, [true].concat(pSlice.call(arguments))); -}; - -// EXTENSION! This is annoying to write outside this module. -assert.doesNotThrow = function(block, /*optional*/message) { - _throws.apply(this, [false].concat(pSlice.call(arguments))); -}; - -assert.ifError = function(err) { if (err) {throw err;}}; diff --git a/rhino/buffer.js b/rhino/buffer.js deleted file mode 100644 index 1c3c3bb3..00000000 --- a/rhino/buffer.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('buffer-browserify'); diff --git a/rhino/crypto.js b/rhino/crypto.js deleted file mode 100644 index 35e162b7..00000000 --- a/rhino/crypto.js +++ /dev/null @@ -1,3 +0,0 @@ -'use strict'; - -module.exports = require('crypto-browserify'); diff --git a/rhino/events.js b/rhino/events.js deleted file mode 100644 index 488025a5..00000000 --- a/rhino/events.js +++ /dev/null @@ -1,292 +0,0 @@ -/** - * Shim for Node.js `events` module. - * @see https://github.com/Gozala/events - * @license MIT - */ -'use strict'; - -function EventEmitter() { - this._events = this._events || {}; - this._maxListeners = this._maxListeners || undefined; -} -module.exports = EventEmitter; -if (!process.EventEmitter) { - process.EventEmitter = EventEmitter; -} - -// Backwards-compat with node 0.10.x -EventEmitter.EventEmitter = EventEmitter; - -EventEmitter.prototype._events = undefined; -EventEmitter.prototype._maxListeners = undefined; - -// By default EventEmitters will print a warning if more than 10 listeners are -// added to it. This is a useful default which helps finding memory leaks. -EventEmitter.defaultMaxListeners = 10; - -// Obviously not all Emitters should be limited to 10. This function allows -// that to be increased. Set to zero for unlimited. -EventEmitter.prototype.setMaxListeners = function(n) { - if (!isNumber(n) || n < 0 || isNaN(n)) - throw TypeError('n must be a positive number'); - this._maxListeners = n; - return this; -}; - -EventEmitter.prototype.emit = function(type) { - var er, handler, len, args, i, listeners; - - if (!this._events) - this._events = {}; - - // If there is no 'error' event listener then throw. - if (type === 'error') { - if (!this._events.error || - (isObject(this._events.error) && !this._events.error.length)) { - er = arguments[1]; - if (er instanceof Error) { - throw er; // Unhandled 'error' event - } else { - throw TypeError('Uncaught, unspecified "error" event.'); - } - return false; - } - } - - handler = this._events[type]; - - if (isUndefined(handler)) - return false; - - if (isFunction(handler)) { - switch (arguments.length) { - // fast cases - case 1: - handler.call(this); - break; - case 2: - handler.call(this, arguments[1]); - break; - case 3: - handler.call(this, arguments[1], arguments[2]); - break; - // slower - default: - len = arguments.length; - args = new Array(len - 1); - for (i = 1; i < len; i++) - args[i - 1] = arguments[i]; - handler.apply(this, args); - } - } else if (isObject(handler)) { - len = arguments.length; - args = new Array(len - 1); - for (i = 1; i < len; i++) - args[i - 1] = arguments[i]; - - listeners = handler.slice(); - len = listeners.length; - for (i = 0; i < len; i++) - listeners[i].apply(this, args); - } - - return true; -}; - -EventEmitter.prototype.addListener = function(type, listener) { - var m; - - if (!isFunction(listener)) - throw TypeError('listener must be a function'); - - if (!this._events) - this._events = {}; - - // To avoid recursion in the case that type === "newListener"! Before - // adding it to the listeners, first emit "newListener". - if (this._events.newListener) - this.emit('newListener', type, - isFunction(listener.listener) ? - listener.listener : listener); - - if (!this._events[type]) - // Optimize the case of one listener. Don't need the extra array object. - this._events[type] = listener; - else if (isObject(this._events[type])) - // If we've already got an array, just append. - this._events[type].push(listener); - else - // Adding the second element, need to change to array. - this._events[type] = [this._events[type], listener]; - - // Check for listener leak - if (isObject(this._events[type]) && !this._events[type].warned) { - var m; - if (!isUndefined(this._maxListeners)) { - m = this._maxListeners; - } else { - m = EventEmitter.defaultMaxListeners; - } - - if (m && m > 0 && this._events[type].length > m) { - this._events[type].warned = true; - console.error('(node) warning: possible EventEmitter memory ' + - 'leak detected. %d listeners added. ' + - 'Use emitter.setMaxListeners() to increase limit.', - this._events[type].length); - if (typeof console.trace === 'function') { - // not supported in IE 10 - console.trace(); - } - } - } - - return this; -}; - -EventEmitter.prototype.on = EventEmitter.prototype.addListener; - -EventEmitter.prototype.once = function(type, listener) { - if (!isFunction(listener)) - throw TypeError('listener must be a function'); - - var fired = false; - - function g() { - this.removeListener(type, g); - - if (!fired) { - fired = true; - listener.apply(this, arguments); - } - } - - g.listener = listener; - this.on(type, g); - - return this; -}; - -// emits a 'removeListener' event iff the listener was removed -EventEmitter.prototype.removeListener = function(type, listener) { - var list, position, length, i; - - if (!isFunction(listener)) - throw TypeError('listener must be a function'); - - if (!this._events || !this._events[type]) - return this; - - list = this._events[type]; - length = list.length; - position = -1; - - if (list === listener || - (isFunction(list.listener) && list.listener === listener)) { - delete this._events[type]; - if (this._events.removeListener) - this.emit('removeListener', type, listener); - - } else if (isObject(list)) { - for (i = length; i-- > 0;) { - if (list[i] === listener || - (list[i].listener && list[i].listener === listener)) { - position = i; - break; - } - } - - if (position < 0) - return this; - - if (list.length === 1) { - list.length = 0; - delete this._events[type]; - } else { - list.splice(position, 1); - } - - if (this._events.removeListener) - this.emit('removeListener', type, listener); - } - - return this; -}; - -EventEmitter.prototype.removeAllListeners = function(type) { - var key, listeners; - - if (!this._events) - return this; - - // not listening for removeListener, no need to emit - if (!this._events.removeListener) { - if (arguments.length === 0) - this._events = {}; - else if (this._events[type]) - delete this._events[type]; - return this; - } - - // emit removeListener for all listeners on all events - if (arguments.length === 0) { - for (key in this._events) { - if (key === 'removeListener') continue; - this.removeAllListeners(key); - } - this.removeAllListeners('removeListener'); - this._events = {}; - return this; - } - - listeners = this._events[type]; - - if (isFunction(listeners)) { - this.removeListener(type, listeners); - } else { - // LIFO order - while (listeners.length) - this.removeListener(type, listeners[listeners.length - 1]); - } - delete this._events[type]; - - return this; -}; - -EventEmitter.prototype.listeners = function(type) { - var ret; - if (!this._events || !this._events[type]) - ret = []; - else if (isFunction(this._events[type])) - ret = [this._events[type]]; - else - ret = this._events[type].slice(); - return ret; -}; - -EventEmitter.listenerCount = function(emitter, type) { - var ret; - if (!emitter._events || !emitter._events[type]) - ret = 0; - else if (isFunction(emitter._events[type])) - ret = 1; - else - ret = emitter._events[type].length; - return ret; -}; - -function isFunction(arg) { - return typeof arg === 'function'; -} - -function isNumber(arg) { - return typeof arg === 'number'; -} - -function isObject(arg) { - return typeof arg === 'object' && arg !== null; -} - -function isUndefined(arg) { - return arg === void 0; -} \ No newline at end of file diff --git a/rhino/fs.js b/rhino/fs.js deleted file mode 100644 index 9cd3ab2d..00000000 --- a/rhino/fs.js +++ /dev/null @@ -1,168 +0,0 @@ -/** - * Partial Rhino shim for Node.js' `fs` module. - * @see http://nodejs.org/api/fs.html - */ -'use strict'; - -var env = require('jsdoc/env'); -var path = require('path'); -var util = require('util'); - -var asyncify = path._asyncify; - -function checkEncoding(enc, name) { - // we require the `encoding` parameter for Node.js compatibility; on Node.js, if you omit the - // encoding, you get a stream instead of a string - if (!enc || typeof enc === 'function') { - throw new Error(name + ' requires an encoding on Rhino!'); - } - - // Node.js wants 'utf8', but Java wants 'utf-8' - if (enc === 'utf8') { - enc = 'utf-8'; - } - - return enc; -} - -// provide an error that's consistent with Node.js -function errorFactory(filepath) { - return new Error( util.format("ENOENT, no such file or directory '%s'", filepath) ); -} - -exports.readFileSync = function readFileSync(filename, encoding) { - encoding = checkEncoding(encoding, 'fs.readFile[Sync]'); - - return readFile(filename, encoding); -}; -exports.readFile = asyncify(exports.readFileSync); - -// in node 0.8, path.exists() and path.existsSync() moved to the "fs" module -exports.existsSync = path.existsSync; -exports.exists = path.exists; - -var statSync = exports.statSync = function statSync(_path) { - var f = new java.io.File(_path); - if (!f) { - throw errorFactory(_path); - } - - return { - isFile: function isFile() { - return f.isFile(); - }, - isDirectory: function isDirectory() { - return f.isDirectory(); - }, - isSymlink: function isSymlink() { - // java.io.File resolves symlinks - return false; - } - }; -}; -exports.stat = asyncify(statSync); - -// java.io.File resolves symlinks, so we can alias `lstat` to `stat` -var lstatSync = exports.lstatSync = statSync; -exports.lstat = asyncify(lstatSync); - -var readdirSync = exports.readdirSync = function readdirSync(_path) { - var dir; - var files; - - dir = new java.io.File(_path); - if (!dir.directory) { - throw errorFactory(_path); - } - - files = dir.list() - .map(function(fileName) { - return String(fileName); - }); - - return files; -}; -exports.readdir = asyncify(readdirSync); - -// JSDoc extension to `fs` module -var toDir = exports.toDir = function toDir(_path) { - var f; - - _path = path.normalize(_path); - f = new java.io.File( path.resolve(env.pwd, _path) ); - - if ( f.isDirectory() ){ - return _path; - } else { - return path.dirname(_path); - } -}; - -var mkdirSync = exports.mkdirSync = function mkdirSync(_path) { - var dir_path = toDir(_path); - ( new java.io.File(dir_path) ).mkdir(); -}; -exports.mkdir = asyncify(mkdirSync); - -// JSDoc extension to `fs` module -exports.mkPath = function mkPath(_path) { - if ( Array.isArray(_path) ) { - _path = _path.join(''); - } - - ( new java.io.File(path.resolve(env.pwd, _path)) ).mkdirs(); -}; - -// JSDoc extension to `fs` module -exports.copyFileSync = function copyFileSync(inFile, outDir, fileName) { - if (fileName === undefined || fileName === null) { - fileName = path.basename(inFile); - } - - outDir = toDir(outDir); - - inFile = new java.io.File(inFile); - var outFile = new java.io.File(outDir + '/' + fileName); - - var bis = new java.io.BufferedInputStream(new java.io.FileInputStream(inFile), 4096); - var bos = new java.io.BufferedOutputStream(new java.io.FileOutputStream(outFile), 4096); - var theChar = bis.read(); - while (theChar !== -1) { - bos.write(theChar); - theChar = bis.read(); - } - - bos.close(); - bis.close(); -}; -exports.copyFile = asyncify(exports.copyFileSync); - -exports.writeFileSync = function writeFileSync(filename, data, encoding) { - encoding = checkEncoding(encoding, 'fs.writeFile[Sync]'); - - var out = new java.io.PrintWriter( - new java.io.OutputStreamWriter( - new java.io.FileOutputStream(filename), - encoding - ) - ); - - try { - out.write(data); - } - finally { - out.flush(); - out.close(); - } -}; -exports.writeFile = asyncify(exports.writeFileSync); - -exports.rmdirSync = function rmdirSync(_path) { - throw new Error('not implemented'); -}; -exports.rmdir = asyncify(exports.rmdirSync); - -exports.unlinkSync = function unlinkSync(_path) { - throw new Error('not implemented'); -}; -exports.unlink = asyncify(exports.unlinkSync); diff --git a/rhino/js.jar b/rhino/js.jar deleted file mode 100644 index ce8dcb3ce4fcb2fa7a446fdde77de4da11ef0f42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1171579 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

>62*Yq) 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�j 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%0D3;_J%F7uQ_YKf(vPFH4S!;3#1bx*Uibh}0 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

oT$B)6kD~T`<4@Km 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%0DFFAQpVk@D*j1FxN7JeQ7+~f7?x-Ixq>dTQsr~ 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 - * @see http://nodejs.org/api/os.html - */ -'use strict'; - -exports.EOL = String( java.lang.System.getProperty('line.separator') ); - -exports.platform = function() { - return process.platform; -}; diff --git a/rhino/path.js b/rhino/path.js deleted file mode 100644 index c4218f93..00000000 --- a/rhino/path.js +++ /dev/null @@ -1,432 +0,0 @@ -'use strict'; - -var isWindows = java.lang.System.getProperty("os.name").toLowerCase().contains("windows"); -var fileSeparator = exports.sep = String( java.lang.System.getProperty("file.separator") ); - -function noOp() {} - -// exported for the benefit of our `fs` shim -var asyncify = exports._asyncify = function(func) { - return function() { - var args = Array.prototype.slice.call(arguments); - var callback = args.pop(); - var data; - - callback = typeof callback === 'function' ? callback : noOp; - - try { - data = func.apply(this, args); - process.nextTick(function() { - callback(null, data); - }); - } - catch (e) { - process.nextTick(function() { - callback(e); - }); - } - }; -}; - -/** - * Returns everything on a path except for the last item - * e.g. if the path was 'path/to/something', the return value would be 'path/to' - */ -exports.dirname = function(_path) { - var f = new java.io.File(_path); - return String(f.getParent()); -}; - -/** - * Returns the last item on a path - */ -exports.basename = function(_path, ext) { - var f = new java.io.File(_path); - var p = f.getParentFile(); - var base = String(f.getName()); - if (p != null) { - var idx = ext ? base.indexOf(ext) : -1; - if (idx !== -1) { - base = base.substring(0, base.length - ext.length); - } - } - return base; -}; - -exports.existsSync = function(_path) { - var f = new java.io.File(_path); - - if (f.isDirectory()){ - return true; - } - if (!f.exists()){ - return false; - } - if (!f.canRead()){ - return false; - } - return true; -}; - -exports.exists = asyncify(exports.existsSync); - -//Code below taken from node - -//resolves . and .. elements in a path array with directory names there -//must be no slashes, empty elements, or device names (c:\) in the array -//(so also no leading and trailing slashes - it does not distinguish -//relative and absolute paths) -function normalizeArray(parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for ( var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last == '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up--; up) { - parts.unshift('..'); - } - } - - return parts; -} - -exports.extname = function(path) { - return splitPath(path)[3]; -}; - -if (isWindows) { - // Regex to split a windows path into three parts: [*, device, slash, - // tail] windows-only - var splitDeviceRe = - /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?([\\\/])?([\s\S]*?)$/; - - // Regex to split the tail part of the above into [*, dir, basename, ext] - var splitTailRe = - /^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/; - - // Function to split a filename into [root, dir, basename, ext] - // windows version - var splitPath = function(filename) { - // Separate device+slash from tail - var result = splitDeviceRe.exec(filename), - device = (result[1] || '') + (result[2] || ''), - tail = result[3] || ''; - // Split the tail into dir, basename and extension - var result2 = splitTailRe.exec(tail), - dir = result2[1], - basename = result2[2], - ext = result2[3]; - return [device, dir, basename, ext]; - }; - - // path.resolve([from ...], to) - // windows version - exports.resolve = function() { - var resolvedDevice = '', - resolvedTail = '', - resolvedAbsolute = false; - - for (var i = arguments.length - 1; i >= -1; i--) { - var path; - if (i >= 0) { - path = arguments[i]; - } else if (!resolvedDevice) { - path = process.cwd(); - } else { - // Windows has the concept of drive-specific current working - // directories. If we've resolved a drive letter but not yet an - // absolute path, get cwd for that drive. We're sure the device is not - // an unc path at this points, because unc paths are always absolute. - path = process.env['=' + resolvedDevice]; - // Verify that a drive-local cwd was found and that it actually points - // to our drive. If not, default to the drive's root. - if (!path || path.substr(0, 3).toLowerCase() !== - resolvedDevice.toLowerCase() + '\\') { - path = resolvedDevice + '\\'; - } - } - - // Skip empty and invalid entries - if (typeof path !== 'string' || !path) { - continue; - } - - var result = splitDeviceRe.exec(path), - device = result[1] || '', - isUnc = device && device.charAt(1) !== ':', - isAbsolute = !!result[2] || isUnc, // UNC paths are always absolute - tail = result[3]; - - if (device && - resolvedDevice && - device.toLowerCase() !== resolvedDevice.toLowerCase()) { - // This path points to another device so it is not applicable - continue; - } - - if (!resolvedDevice) { - resolvedDevice = device; - } - if (!resolvedAbsolute) { - resolvedTail = tail + '\\' + resolvedTail; - resolvedAbsolute = isAbsolute; - } - - if (resolvedDevice && resolvedAbsolute) { - break; - } - } - - // Replace slashes (in UNC share name) by backslashes - resolvedDevice = resolvedDevice.replace(/\//g, '\\'); - - // At this point the path should be resolved to a full absolute path, - // but handle relative paths to be safe (might happen when process.cwd() - // fails) - - // Normalize the tail path - - function f(p) { - return !!p; - } - - resolvedTail = normalizeArray(resolvedTail.split(/[\\\/]+/).filter(f), - !resolvedAbsolute).join('\\'); - - return (resolvedDevice + (resolvedAbsolute ? '\\' : '') + resolvedTail) || - '.'; - }; - - // windows version - exports.normalize = function(_path) { - var result = splitDeviceRe.exec(_path), - device = result[1] || '', - isUnc = device && device.charAt(1) !== ':', - isAbsolute = !!result[2] || isUnc, // UNC paths are always absolute - tail = result[3], - trailingSlash = /[\\\/]$/.test(tail); - - // Normalize the tail path - tail = normalizeArray(tail.split(/[\\\/]+/).filter(function(p) { - return !!p; - }), !isAbsolute).join('\\'); - - if (!tail && !isAbsolute) { - tail = '.'; - } - if (tail && trailingSlash) { - tail += '\\'; - } - - return device + (isAbsolute ? '\\' : '') + tail; - }; - - //windows version - exports.join = function() { - function f(p) { - return p && typeof p === 'string'; - } - - var _paths = Array.prototype.slice.call(arguments, 0).filter(f); - var joined = _paths.join('\\'); - - // Make sure that the joined path doesn't start with two slashes - // - it will be mistaken for an unc path by normalize() - - // unless the _paths[0] also starts with two slashes - if (/^[\\\/]{2}/.test(joined) && !/^[\\\/]{2}/.test(_paths[0])) { - joined = joined.slice(1); - } - - return exports.normalize(joined); - }; - - // path.relative(from, to) - // it will solve the relative path from 'from' to 'to', for instance: - // from = 'C:\\orandea\\test\\aaa' - // to = 'C:\\orandea\\impl\\bbb' - // The output of the function should be: '..\\..\\impl\\bbb' - // windows version - exports.relative = function(from, to) { - from = exports.resolve(from); - to = exports.resolve(to); - - // windows is not case sensitive - var lowerFrom = from.toLowerCase(); - var lowerTo = to.toLowerCase(); - - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') { - break; - } - } - - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') { - break; - } - } - - if (start > end) { - return []; - } - return arr.slice(start, end - start + 1); - } - - var toParts = trim(to.split('\\')); - - var lowerFromParts = trim(lowerFrom.split('\\')); - var lowerToParts = trim(lowerTo.split('\\')); - - var length = Math.min(lowerFromParts.length, lowerToParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (lowerFromParts[i] !== lowerToParts[i]) { - samePartsLength = i; - break; - } - } - - if (samePartsLength === 0) { - return to; - } - - var outputParts = []; - for (i = samePartsLength; i < lowerFromParts.length; i++) { - outputParts.push('..'); - } - - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - - return outputParts.join('\\'); - }; -} else { - // Split a filename into [root, dir, basename, ext], unix version - // 'root' is just a slash, or nothing. - var splitPathRe = - /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - var splitPath = function(filename) { - return splitPathRe.exec(filename).slice(1); - }; - - // path.resolve([from ...], to) - // posix version - exports.resolve = function() { - var resolvedPath = '', - resolvedAbsolute = false; - - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : process.cwd(); - - // Skip empty and invalid entries - if (typeof path !== 'string' || !path) { - continue; - } - - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - - // Normalize the path - resolvedPath = normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }; - - // path.normalize(_path) - // posix version - exports.normalize = function(_path) { - var isAbsolute = _path.charAt(0) === '/', - trailingSlash = _path.slice(-1) === '/'; - - // Normalize the path - _path = normalizeArray(_path.split('/').filter(function(p) { - return !!p; - }), !isAbsolute).join('/'); - - if (!_path && !isAbsolute) { - _path = '.'; - } - if (_path && trailingSlash) { - _path += '/'; - } - - return (isAbsolute ? '/' : '') + _path; - }; - - // posix version - exports.join = function() { - var _paths = Array.prototype.slice.call(arguments, 0); - return exports.normalize(_paths.filter(function(p, index) { - return p && typeof p === 'string'; - }).join('/')); - }; - - // path.relative(from, to) - // posix version - exports.relative = function(from, to) { - from = exports.resolve(from).substr(1); - to = exports.resolve(to).substr(1); - - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') { - break; - } - } - - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') { - break; - } - } - - if (start > end) { - return []; - } - return arr.slice(start, end - start + 1); - } - - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - - var outputParts = []; - for (i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - - return outputParts.join('/'); - }; -} \ No newline at end of file diff --git a/rhino/querystring.js b/rhino/querystring.js deleted file mode 100644 index a24ec97f..00000000 --- a/rhino/querystring.js +++ /dev/null @@ -1,121 +0,0 @@ -/** - * Adapted version of Node.js' `querystring` module. - * @module querystring - * @see http://nodejs.org/api/querystring.html - * @see https://github.com/joyent/node/blob/f105f2f2/lib/querystring.js - * @license MIT - */ -'use strict'; - -var QueryString = exports; - -// If obj.hasOwnProperty has been overridden, then calling -// obj.hasOwnProperty(prop) will break. -// See: https://github.com/joyent/node/issues/1707 -function hasOwnProp(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); -} - -QueryString.unescape = function(s) { - return decodeURIComponent(s); -}; - -QueryString.escape = function(str) { - return encodeURIComponent(str); -}; - -var stringifyPrimitive = function(v) { - switch (typeof v) { - case 'string': - return v; - - case 'boolean': - return v ? 'true' : 'false'; - - case 'number': - return isFinite(v) ? v : ''; - - default: - return ''; - } -}; - -QueryString.stringify = QueryString.encode = function(obj, sep, eq, name) { - sep = sep || '&'; - eq = eq || '='; - if (obj === null) { - obj = undefined; - } - - if (typeof obj === 'object') { - return Object.keys(obj).map(function(k) { - var ks = QueryString.escape(stringifyPrimitive(k)) + eq; - if (Array.isArray(obj[k])) { - return obj[k].map(function(v) { - return ks + QueryString.escape(stringifyPrimitive(v)); - }).join(sep); - } else { - return ks + QueryString.escape(stringifyPrimitive(obj[k])); - } - }).join(sep); - - } - - if (!name) { - return ''; - } - return QueryString.escape(stringifyPrimitive(name)) + eq + - QueryString.escape(stringifyPrimitive(obj)); -}; - -// Parse a key=val string. -QueryString.parse = QueryString.decode = function(qs, sep, eq, options) { - sep = sep || '&'; - eq = eq || '='; - var obj = {}; - - if (typeof qs !== 'string' || qs.length === 0) { - return obj; - } - - var regexp = /\+/g; - qs = qs.split(sep); - - var maxKeys = 1000; - if (options && typeof options.maxKeys === 'number') { - maxKeys = options.maxKeys; - } - - var len = qs.length; - // maxKeys <= 0 means that we should not limit keys count - if (maxKeys > 0 && len > maxKeys) { - len = maxKeys; - } - - for (var i = 0; i < len; ++i) { - var x = qs[i].replace(regexp, '%20'), - idx = x.indexOf(eq), - kstr, vstr, k, v; - - if (idx >= 0) { - kstr = x.substr(0, idx); - vstr = x.substr(idx + 1); - } else { - kstr = x; - vstr = ''; - } - - k = QueryString.unescape(kstr); - v = QueryString.unescape(vstr); - - if (!hasOwnProp(obj, k)) { - obj[k] = v; - } else if (Array.isArray(obj[k])) { - obj[k].push(v); - } else { - obj[k] = [obj[k], v]; - } - } - - return obj; -}; diff --git a/rhino/rhino-shim.js b/rhino/rhino-shim.js deleted file mode 100644 index c24a733b..00000000 --- a/rhino/rhino-shim.js +++ /dev/null @@ -1,191 +0,0 @@ -/*global java, Packages, version */ -/*eslint-disable strict */ -/** - * @overview A minimal emulation of the standard features of Node.js necessary - * to get JSDoc to run. - */ - -// Set the JS version that the Rhino interpreter will use. -version(180); - -/** - * Emulate DOM timeout/interval functions. - * @see https://developer.mozilla.org/en-US/docs/DOM/window#Methods - */ -(function() { - 'use strict'; - - var timerPool = new java.util.concurrent.ScheduledThreadPoolExecutor(1); - var timers = {}; - var timerCount = 1; - var timerUnits = java.util.concurrent.TimeUnit.MILLISECONDS; - var queue = {}; - var queueActive = false; - - function getCallback(fn) { - return new java.lang.Runnable({ - run: Packages.org.mozilla.javascript.Context.call(fn) - }); - } - - global.setTimeout = function setTimeout(fn, delay) { - var timerId = timerCount++; - var callback = getCallback(fn); - timers[timerId] = timerPool.schedule(callback, delay, timerUnits); - return timerId; - }; - - global.clearTimeout = function clearTimeout(timerId) { - if (timers[timerId]) { - timerPool.remove(timers[timerId]); - delete timers[timerId]; - } - }; - - global.setInterval = function setInterval(fn, delay) { - var timerId = timerCount++; - var callback = getCallback(fn); - timers[timerId] = timerPool.scheduleAtFixedRate(callback, delay, delay, timerUnits); - return timerId; - }; - - global.clearInterval = global.clearTimeout; - - // adapted from https://github.com/alexgorbatchev/node-browser-builtins - // MIT license - global.setImmediate = (function() { - function drain() { - var key; - - var keys = Object.keys(queue); - - queueActive = false; - - for (var i = 0, l = keys.length; i < l; i++) { - key = keys[i]; - var fn = queue[key]; - delete queue[key]; - fn(); - } - } - - return function setImmediate(fn) { - var timerId = timerCount++; - queue[timerId] = fn; - - if (!queueActive) { - queueActive = true; - global.setTimeout(drain, 0); - } - - return timerId; - }; - })(); - - global.clearImmediate = function clearImmediate(id) { - delete queue[id]; - }; -})(); - -/** - * Emulate Node.js console functions. - * @see http://nodejs.org/api/stdio.html - */ -global.console = (function() { - function println(stream, args) { - java.lang.System[stream].println( require('util').format.apply(this, args) ); - } - - return { - error: function error() { - println('err', arguments); - }, - info: function info() { - println('out', arguments); - }, - log: function log() { - println('out', arguments); - }, - trace: function trace(label) { - // this puts some extra junk at the top of the stack trace, but it's close enough - var e = new java.lang.Exception(label || 'Trace'); - e.printStackTrace(); - }, - warn: function warn() { - println('err', arguments); - } - }; -})(); - -/** - * Emulate Node.js process functions. - * @see http://nodejs.org/api/process.html - */ -global.process = { - // not quite right, but close enough - argv: ['java', 'jsdoc.js'] - .concat( Array.prototype.slice.call(arguments, 0) ), - // this depends on a hack in our version of Rhino - cwd: function cwd() { - var f = new java.io.File( java.lang.System.getProperty('user.dir') ); - return String( f.getAbsolutePath() ); - }, - env: (function() { - var javaEnv = java.lang.System.getenv(); - var key; - var keys = javaEnv.keySet().toArray(); - var result = {}; - - for (var i = 0, l = keys.length; i < l; i++) { - key = keys[i]; - result[key + ''] = javaEnv.get(key) + ''; - } - - return result; - })(), - exit: function exit(n) { - n = n || 0; - java.lang.System.exit(n); - }, - nextTick: function nextTick(callback) { - setTimeout(callback, 0); - }, - platform: (function() { - if ( String(java.lang.System.getProperty('os.name')).match(/^[Ww]in/) ) { - return 'win32'; - } - else { - // not necessarily accurate, but good enough - return 'linux'; - } - })(), - stderr: { - // Java can't reliably find the terminal width across platforms, so we hard-code a - // reasonable value - columns: 80, - write: function write(str) { - java.lang.System.err.print(str); - } - }, - stdout: { - // Java can't reliably find the terminal width across platforms, so we hard-code a - // reasonable value - columns: 80, - write: function write(str) { - java.lang.System.out.print(str); - } - } -}; - -/** - * Emulate other Node.js globals. - * @see http://nodejs.org/docs/latest/api/globals.html - */ -Object.defineProperties(global, { - '__dirname': { - get: function() { - return global.process.cwd(); - }, - enumerable: true - } -}); diff --git a/rhino/util.js b/rhino/util.js deleted file mode 100644 index 3dc33113..00000000 --- a/rhino/util.js +++ /dev/null @@ -1,532 +0,0 @@ -/** - * Adapted version of Node.js' `util` module. - * @module util - * @see http://nodejs.org/api/util.html - * @see https://github.com/joyent/node/blob/85090734/lib/util.js - * @license MIT - */ - -function hasOwnProp(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); -} - -// placate JSHint -var stylizeNoColor, stylizeWithColor, formatValue, formatPrimitive; - -/** - * Echoes the value of a value. Trys to print the value out - * in the best way possible given the different types. - * - * @param {Object} obj The object to print out. - * @param {Object} opts Optional options object that alters the output. - */ -/* legacy: obj, showHidden, depth, colors*/ -function inspect(obj, opts) { - // default options - var ctx = { - seen: [], - stylize: stylizeNoColor - }; - // legacy... - if (arguments.length >= 3) { - ctx.depth = arguments[2]; - } - if (arguments.length >= 4) { - ctx.colors = arguments[3]; - } - if (typeof opts === 'boolean') { - // legacy... - ctx.showHidden = opts; - } else if (opts) { - // got an "options" object - exports._extend(ctx, opts); - } - // set default options - if (typeof ctx.showHidden === 'undefined') { - ctx.showHidden = false; - } - if (typeof ctx.depth === 'undefined') { - ctx.depth = 2; - } - if (typeof ctx.colors === 'undefined') { - ctx.colors = false; - } - if (typeof ctx.customInspect === 'undefined') { - ctx.customInspect = true; - } - if (ctx.colors) { - ctx.stylize = stylizeWithColor; - } - return formatValue(ctx, obj, ctx.depth); -} -exports.inspect = inspect; - -// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics -inspect.colors = { - 'bold' : [1, 22], - 'italic' : [3, 23], - 'underline' : [4, 24], - 'inverse' : [7, 27], - 'white' : [37, 39], - 'grey' : [90, 39], - 'black' : [30, 39], - 'blue' : [34, 39], - 'cyan' : [36, 39], - 'green' : [32, 39], - 'magenta' : [35, 39], - 'red' : [31, 39], - 'yellow' : [33, 39] -}; - -// Don't use 'blue' not visible on cmd.exe -inspect.styles = { - 'special': 'cyan', - 'number': 'yellow', - 'boolean': 'yellow', - 'undefined': 'grey', - 'null': 'bold', - 'string': 'green', - 'date': 'magenta', - // "name": intentionally not styling - 'regexp': 'red' -}; - -stylizeWithColor = function(str, styleType) { - var style = inspect.styles[styleType]; - - if (style) { - return '\u001b[' + inspect.colors[style][0] + 'm' + str + - '\u001b[' + inspect.colors[style][1] + 'm'; - } else { - return str; - } -}; - -stylizeNoColor = function(str, styleType) { - return str; -}; - -var formatRegExp = /%[sdj%]/g; -exports.format = function(f) { - var i, len; - - if (typeof f !== 'string') { - var objects = []; - for (i = 0, len = arguments.length; i < len; i++) { - objects.push(inspect(arguments[i])); - } - return objects.join(' '); - } - - i = 1; - var args = arguments; - len = args.length; - var str = String(f).replace(formatRegExp, function(x) { - if (x === '%%') { - return '%'; - } - if (i >= len) { - return x; - } - switch (x) { - case '%s': return String(args[i++]); - case '%d': return Number(args[i++]); - case '%j': return require('jsdoc/util/dumper').dump(args[i++]); - default: - return x; - } - }); - for (var x = args[i]; i < len; x = args[++i]) { - if (x === null || typeof x !== 'object') { - str += ' ' + x; - } else { - str += ' ' + inspect(x); - } - } - return str; -}; - -// Mark that a method should not be used. -// Returns a modified function which warns once by default. -// If --no-deprecation is set, then it is a no-op. -exports.deprecate = function(fn, msg) { - if (process.noDeprecation === true) { - return fn; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (process.traceDeprecation) { - console.trace(msg); - } else { - console.error(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; -}; - -exports.print = function() { - var args = Array.prototype.slice.call(arguments, 0); - for (var i = 0, len = args.length; i < len; ++i) { - process.stdout.write(String(args[i])); - } -}; - -exports.puts = function() { - var args = Array.prototype.slice.call(arguments, 0); - for (var i = 0, len = args.length; i < len; ++i) { - process.stdout.write(args[i] + '\n'); - } -}; - -exports.debug = function(x) { - process.stderr.write('DEBUG: ' + x + '\n'); -}; - -var error = exports.error = function(x) { - var args = Array.prototype.slice.call(arguments, 0); - for (var i = 0, len = args.length; i < len; ++i) { - process.stderr.write(args[i] + '\n'); - } -}; - -function arrayToHash(array) { - var hash = {}; - - array.forEach(function(val, idx) { - hash[val] = true; - }); - - return hash; -} - -function formatError(value) { - return '[' + Error.prototype.toString.call(value) + ']'; -} - -function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { - var name, str, desc; - desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; - if (desc.get) { - if (desc.set) { - str = ctx.stylize('[Getter/Setter]', 'special'); - } else { - str = ctx.stylize('[Getter]', 'special'); - } - } else { - if (desc.set) { - str = ctx.stylize('[Setter]', 'special'); - } - } - if (!hasOwnProp(visibleKeys, key)) { - name = '[' + key + ']'; - } - if (!str) { - if (ctx.seen.indexOf(desc.value) < 0) { - if (recurseTimes === null) { - str = formatValue(ctx, desc.value, null); - } else { - str = formatValue(ctx, desc.value, recurseTimes - 1); - } - if (str.indexOf('\n') > -1) { - if (array) { - str = str.split('\n').map(function(line) { - return ' ' + line; - }).join('\n').substr(2); - } else { - str = '\n' + str.split('\n').map(function(line) { - return ' ' + line; - }).join('\n'); - } - } - } else { - str = ctx.stylize('[Circular]', 'special'); - } - } - if (typeof name === 'undefined') { - if (array && key.match(/^\d+$/)) { - return str; - } - name = JSON.stringify('' + key); - if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { - name = name.substr(1, name.length - 2); - name = ctx.stylize(name, 'name'); - } else { - name = name.replace(/'/g, "\\'") - .replace(/\\"/g, '"') - .replace(/(^"|"$)/g, "'"); - name = ctx.stylize(name, 'string'); - } - } - - return name + ': ' + str; -} - -function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { - var output = []; - for (var i = 0, l = value.length; i < l; ++i) { - if (hasOwnProp(value, String(i))) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, - String(i), true)); - } else { - output.push(''); - } - } - keys.forEach(function(key) { - if (!key.match(/^\d+$/)) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, - key, true)); - } - }); - return output; -} - -function reduceToSingleString(output, base, braces) { - var numLinesEst = 0; - var length = output.reduce(function(prev, cur) { - numLinesEst++; - if (cur.indexOf('\n') >= 0) { - numLinesEst++; - } - return prev + cur.length + 1; - }, 0); - - if (length > 60) { - return braces[0] + - (base === '' ? '' : base + '\n ') + - ' ' + - output.join(',\n ') + - ' ' + - braces[1]; - } - - return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; -} - -function objectToString(o) { - return Object.prototype.toString.call(o); -} - -// NOTE: These type checking functions intentionally don't use `instanceof` -// because it is fragile and can be easily faked with `Object.create()`. -function isArray(ar) { - return Array.isArray(ar) || - (typeof ar === 'object' && objectToString(ar) === '[object Array]'); -} -exports.isArray = isArray; - -function isRegExp(re) { - return typeof re === 'object' && objectToString(re) === '[object RegExp]'; -} -exports.isRegExp = isRegExp; - -function isDate(d) { - return typeof d === 'object' && objectToString(d) === '[object Date]'; -} -exports.isDate = isDate; - -function isError(e) { - return typeof e === 'object' && objectToString(e) === '[object Error]'; -} -exports.isError = isError; - -formatValue = function(ctx, value, recurseTimes) { - // Provide a hook for user-specified inspect functions. - // Check that value is an object with an inspect function on it - if (ctx.customInspect && value && typeof value.inspect === 'function' && - // Filter out the util module, it's inspect function is special - value.inspect !== exports.inspect && - // Also filter out any prototype objects using the circular check. - !(value.constructor && value.constructor.prototype === value)) { - return String(value.inspect(recurseTimes)); - } - - // Primitive types cannot have properties - var primitive = formatPrimitive(ctx, value); - if (primitive) { - return primitive; - } - - // Look up the keys of the object. - var keys = Object.keys(value); - var visibleKeys = arrayToHash(keys); - - if (ctx.showHidden) { - keys = Object.getOwnPropertyNames(value); - } - - // Some type of object without properties can be shortcutted. - if (keys.length === 0) { - if (typeof value === 'function') { - var name = value.name ? ': ' + value.name : ''; - return ctx.stylize('[Function' + name + ']', 'special'); - } - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } - if (isDate(value)) { - return ctx.stylize(Date.prototype.toString.call(value), 'date'); - } - if (isError(value)) { - return formatError(value); - } - } - - var base = '', array = false, braces = ['{', '}']; - - // Make Array say that they are Array - if (isArray(value)) { - array = true; - braces = ['[', ']']; - } - - // Make functions say that they are functions - if (typeof value === 'function') { - var n = value.name ? ': ' + value.name : ''; - base = ' [Function' + n + ']'; - } - - // Make RegExps say that they are RegExps - if (isRegExp(value)) { - base = ' ' + RegExp.prototype.toString.call(value); - } - - // Make dates with properties first say the date - if (isDate(value)) { - base = ' ' + Date.prototype.toUTCString.call(value); - } - - // Make error with message first say the error - if (isError(value)) { - base = ' ' + formatError(value); - } - - if (keys.length === 0 && (!array || value.length === 0)) { - return braces[0] + base + braces[1]; - } - - if (recurseTimes < 0) { - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } else { - return ctx.stylize('[Object]', 'special'); - } - } - - ctx.seen.push(value); - - var output; - if (array) { - output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); - } else { - output = keys.map(function(key) { - return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); - }); - } - - ctx.seen.pop(); - - return reduceToSingleString(output, base, braces); -}; - -formatPrimitive = function(ctx, value) { - switch (typeof value) { - case 'undefined': - return ctx.stylize('undefined', 'undefined'); - - case 'string': - var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') - .replace(/'/g, "\\'") - .replace(/\\"/g, '"') + '\''; - return ctx.stylize(simple, 'string'); - - case 'number': - return ctx.stylize('' + value, 'number'); - - case 'boolean': - return ctx.stylize('' + value, 'boolean'); - } - // For some reason typeof null is "object", so special case here. - if (value === null) { - return ctx.stylize('null', 'null'); - } -}; - -exports.p = exports.deprecate(function() { - var args = Array.prototype.slice.call(arguments, 0); - for (var i = 0, len = args.length; i < len; ++i) { - error(exports.inspect(args[i])); - } -}, 'util.p: Use console.error() instead.'); - -function pad(n) { - return n < 10 ? '0' + n.toString(10) : n.toString(10); -} - -var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', - 'Oct', 'Nov', 'Dec']; - -// 26 Feb 16:19:34 -function timestamp() { - var d = new Date(); - var time = [pad(d.getHours()), - pad(d.getMinutes()), - pad(d.getSeconds())].join(':'); - return [d.getDate(), months[d.getMonth()], time].join(' '); -} - -exports.log = function(msg) { - exports.puts(timestamp() + ' - ' + msg.toString()); -}; - -exports.exec = function() { - throw new Error('util.exec() is not implemented on Rhino (and was deprecated in Node.js 0.2)'); -}; - -exports.pump = function() { - throw new Error('util.pump() is not implemented on Rhino (and was deprecated in Node.js 0.8'); -}; - -/** - * Inherit the prototype methods from one constructor into another. - * - * The Function.prototype.inherits from lang.js rewritten as a standalone - * function (not on Function.prototype). NOTE: If this file is to be loaded - * during bootstrapping this function needs to be rewritten using some native - * functions as prototype setup using normal JavaScript does not work as - * expected during bootstrapping (see mirror.js in r114903). - * - * @param {function} ctor Constructor function which needs to inherit the - * prototype. - * @param {function} superCtor Constructor function to inherit prototype from. - */ -exports.inherits = function(ctor, superCtor) { - ctor.super_ = superCtor; - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); -}; - -exports._extend = function(origin, add) { - // Don't do anything if add isn't an object - if (!add || typeof add !== 'object') { - return origin; - } - - var keys = Object.keys(add); - var i = keys.length; - while (i--) { - origin[keys[i]] = add[keys[i]]; - } - return origin; -}; diff --git a/test/README.md b/test/README.md index 46456226..8bd7fa9b 100644 --- a/test/README.md +++ b/test/README.md @@ -13,12 +13,6 @@ Or on OS X, Linux, and other POSIX-compliant platforms: ./jsdoc -T -If you can't get the short-form commands to work, try invoking Java directly: - - java -cp lib/js.jar org.mozilla.javascript.tools.shell.Main \ - -modules node_modules -modules rhino -modules lib -modules . \ - jsdoc.js -T - Writing Tests ------------- diff --git a/test/jasmine-jsdoc.js b/test/jasmine-jsdoc.js index 33f46a75..01480944 100644 --- a/test/jasmine-jsdoc.js +++ b/test/jasmine-jsdoc.js @@ -40,9 +40,9 @@ jasmine.getParseResults = function() { return parseResults; }; -// use the requested parser, or default to the pure JS parser (on Node.js) or Rhino (on Rhino) +// use the requested parser, or default to the pure JS parser (on Node.js) jasmine.jsParser = (function() { - var parser = jsdoc.util.runtime.isRhino() ? 'rhino' : 'js'; + var parser = 'js'; if (jsdoc.env.opts.query && jsdoc.env.opts.query.parser) { parser = jsdoc.env.opts.query.parser; diff --git a/test/spec-collection.js b/test/spec-collection.js index efafc777..99b92b3a 100644 --- a/test/spec-collection.js +++ b/test/spec-collection.js @@ -43,7 +43,7 @@ function addSpec(file, target) { function isValidSpec(file, matcher) { var result; - var skipPath = runtime.isRhino() ? runtime.NODE : runtime.RHINO; + var skipPath = runtime.NODE; // valid specs must... try { diff --git a/test/specs/documentation/arrowfunction.js b/test/specs/documentation/arrowfunction.js index bedb5f18..d46ccd98 100644 --- a/test/specs/documentation/arrowfunction.js +++ b/test/specs/documentation/arrowfunction.js @@ -1,24 +1,22 @@ 'use strict'; -if (jasmine.jsParser !== 'rhino') { - describe('arrow functions', function() { - var docSet = jasmine.getDocSetFromFile('test/fixtures/arrowfunction.js'); - var increment = docSet.getByLongname('increment')[0]; - var print = docSet.getByLongname('print')[0]; +describe('arrow functions', function() { + var docSet = jasmine.getDocSetFromFile('test/fixtures/arrowfunction.js'); + var increment = docSet.getByLongname('increment')[0]; + var print = docSet.getByLongname('print')[0]; - it('should use the correct name and longname', function() { - expect(increment).toBeDefined(); - expect(increment.name).toBe('increment'); - }); - - it('should allow function parameters to be documented', function() { - expect(increment.params.length).toBe(1); - expect(increment.params[0].name).toBe('n'); - }); - - it('should support inline comments on parameters', function() { - expect(print.params.length).toBe(1); - expect(print.params[0].type.names[0]).toBe('*'); - }); + it('should use the correct name and longname', function() { + expect(increment).toBeDefined(); + expect(increment.name).toBe('increment'); }); -} + + it('should allow function parameters to be documented', function() { + expect(increment.params.length).toBe(1); + expect(increment.params[0].name).toBe('n'); + }); + + it('should support inline comments on parameters', function() { + expect(print.params.length).toBe(1); + expect(print.params[0].type.names[0]).toBe('*'); + }); +}); diff --git a/test/specs/documentation/const.js b/test/specs/documentation/const.js index 441bc49a..8ee1d667 100644 --- a/test/specs/documentation/const.js +++ b/test/specs/documentation/const.js @@ -8,14 +8,12 @@ describe('const declarations', function() { expect(myPocket.kind).toBe('constant'); }); - if (jasmine.jsParser !== 'rhino') { - describe('ES 2015 only', function() { - it('should not override kind="class" when a const is autodetected', function() { - var docSet = jasmine.getDocSetFromFile('test/fixtures/constanttag2.js'); - var foo = docSet.getByLongname('Foo')[0]; + describe('ES 2015 only', function() { + it('should not override kind="class" when a const is autodetected', function() { + var docSet = jasmine.getDocSetFromFile('test/fixtures/constanttag2.js'); + var foo = docSet.getByLongname('Foo')[0]; - expect(foo.kind).toBe('class'); - }); + expect(foo.kind).toBe('class'); }); - } + }); }); diff --git a/test/specs/documentation/defaultparams.js b/test/specs/documentation/defaultparams.js index 6035c171..f13d4c70 100644 --- a/test/specs/documentation/defaultparams.js +++ b/test/specs/documentation/defaultparams.js @@ -1,55 +1,52 @@ 'use strict'; -// Rhino can't handle default parameters -if (jasmine.jsParser !== 'rhino') { - describe('default parameters', function() { - var docSet = jasmine.getDocSetFromFile('test/fixtures/defaultparams.js'); +describe('default parameters', function() { + var docSet = jasmine.getDocSetFromFile('test/fixtures/defaultparams.js'); - var setActive = docSet.getByLongname('setActive')[0]; - var setBirthYear = docSet.getByLongname('setBirthYear')[0]; - var setDogName = docSet.getByLongname('setDogName')[0]; - var setFirstName = docSet.getByLongname('setFirstName')[0]; - var setLastName = docSet.getByLongname('setLastName')[0]; - var setManager = docSet.getByLongname('setManager')[0]; - var setName = docSet.getByLongname('setName')[0]; - var setPizzaToppings = docSet.getByLongname('setPizzaToppings')[0]; + var setActive = docSet.getByLongname('setActive')[0]; + var setBirthYear = docSet.getByLongname('setBirthYear')[0]; + var setDogName = docSet.getByLongname('setDogName')[0]; + var setFirstName = docSet.getByLongname('setFirstName')[0]; + var setLastName = docSet.getByLongname('setLastName')[0]; + var setManager = docSet.getByLongname('setManager')[0]; + var setName = docSet.getByLongname('setName')[0]; + var setPizzaToppings = docSet.getByLongname('setPizzaToppings')[0]; - it('should automatically add string-literal values as defaults when no default value is documented', function() { - expect(setFirstName.params[0].defaultvalue).toBe('Buster'); - }); - - it('should not automatically mark parameters with default values as optional', function() { - expect(setFirstName.params[0].optional).toBeUndefined(); - }); - - it('should not automatically mark parameters with default values as nullable', function() { - expect(setFirstName.params[0].nullable).toBeUndefined(); - }); - - it('should not override documented default values', function() { - expect(setLastName.params[0].defaultvalue).toBe('Braun'); - }); - - it('should work when some parameters have default values and others do not', function() { - expect(setName.params[0].defaultvalue).toBeUndefined(); - expect(setName.params[1].defaultvalue).toBe('Bluster'); - expect(setName.params[2].defaultvalue).toBe('Brown'); - }); - - it('should ignore empty strings', function() { - expect(setDogName.params[0].defaultvalue).toBeUndefined(); - }); - - it('should work with boolean literals', function() { - expect(setActive.params[0].defaultvalue).toBe(true); - }); - - it('should work with numeric literals', function() { - expect(setBirthYear.params[0].defaultvalue).toBe(3000); - }); - - it('should ignore non-literal default values, such as variable identifiers', function() { - expect(setPizzaToppings.params[0].defaultvalue).toBeUndefined(); - }); + it('should automatically add string-literal values as defaults when no default value is documented', function() { + expect(setFirstName.params[0].defaultvalue).toBe('Buster'); }); -} + + it('should not automatically mark parameters with default values as optional', function() { + expect(setFirstName.params[0].optional).toBeUndefined(); + }); + + it('should not automatically mark parameters with default values as nullable', function() { + expect(setFirstName.params[0].nullable).toBeUndefined(); + }); + + it('should not override documented default values', function() { + expect(setLastName.params[0].defaultvalue).toBe('Braun'); + }); + + it('should work when some parameters have default values and others do not', function() { + expect(setName.params[0].defaultvalue).toBeUndefined(); + expect(setName.params[1].defaultvalue).toBe('Bluster'); + expect(setName.params[2].defaultvalue).toBe('Brown'); + }); + + it('should ignore empty strings', function() { + expect(setDogName.params[0].defaultvalue).toBeUndefined(); + }); + + it('should work with boolean literals', function() { + expect(setActive.params[0].defaultvalue).toBe(true); + }); + + it('should work with numeric literals', function() { + expect(setBirthYear.params[0].defaultvalue).toBe(3000); + }); + + it('should ignore non-literal default values, such as variable identifiers', function() { + expect(setPizzaToppings.params[0].defaultvalue).toBeUndefined(); + }); +}); diff --git a/test/specs/documentation/getset.js b/test/specs/documentation/getset.js index 02f88b49..b858945d 100644 --- a/test/specs/documentation/getset.js +++ b/test/specs/documentation/getset.js @@ -31,29 +31,27 @@ describe('When a getter or setter is part of a class', function() { }); }); - if (jasmine.jsParser !== 'rhino') { - describe('in an ES 2015 class', function() { - var docSet2 = jasmine.getDocSetFromFile('test/fixtures/getset2.js'); - var location = docSet2.getByLongname('Employee#location'); + describe('in an ES 2015 class', function() { + var docSet2 = jasmine.getDocSetFromFile('test/fixtures/getset2.js'); + var location = docSet2.getByLongname('Employee#location'); - it('should have a doclet with the correct longname', function() { - expect(location.length).toBe(2); - }); - - it('should have a doclet with the correct name', function() { - expect(location[0].name).toBe('location'); - expect(location[1].name).toBe('location'); - }); - - it('should have a doclet with the correct kind', function() { - expect(location[0].kind).toBe('member'); - expect(location[1].kind).toBe('member'); - }); - - it('should have a doclet with the correct memberof', function() { - expect(location[0].memberof).toBe('Employee'); - expect(location[1].memberof).toBe('Employee'); - }); + it('should have a doclet with the correct longname', function() { + expect(location.length).toBe(2); }); - } + + it('should have a doclet with the correct name', function() { + expect(location[0].name).toBe('location'); + expect(location[1].name).toBe('location'); + }); + + it('should have a doclet with the correct kind', function() { + expect(location[0].kind).toBe('member'); + expect(location[1].kind).toBe('member'); + }); + + it('should have a doclet with the correct memberof', function() { + expect(location[0].memberof).toBe('Employee'); + expect(location[1].memberof).toBe('Employee'); + }); + }); }); diff --git a/test/specs/documentation/jsx.js b/test/specs/documentation/jsx.js index bf04cc5d..dadb3c3e 100644 --- a/test/specs/documentation/jsx.js +++ b/test/specs/documentation/jsx.js @@ -1,17 +1,15 @@ 'use strict'; -if (jasmine.jsParser !== 'rhino') { - describe('JSX support', function() { - it('should parse JSX files without errors', function() { - var logger = require('jsdoc/util/logger'); +describe('JSX support', function() { + it('should parse JSX files without errors', function() { + var logger = require('jsdoc/util/logger'); - function parseJsx() { - return jasmine.getDocSetFromFile('test/fixtures/jsx.js'); - } + function parseJsx() { + return jasmine.getDocSetFromFile('test/fixtures/jsx.js'); + } - spyOn(logger, 'error'); - expect(parseJsx).not.toThrow(); - expect(logger.error).not.toHaveBeenCalled(); - }); + spyOn(logger, 'error'); + expect(parseJsx).not.toThrow(); + expect(logger.error).not.toHaveBeenCalled(); }); -} +}); diff --git a/test/specs/documentation/methoddefinition.js b/test/specs/documentation/methoddefinition.js index 96b17419..396f1a4c 100644 --- a/test/specs/documentation/methoddefinition.js +++ b/test/specs/documentation/methoddefinition.js @@ -1,19 +1,17 @@ 'use strict'; -if (jasmine.jsParser !== 'rhino') { - describe('method definition inside a class declaration', function() { - var docSet = jasmine.getDocSetFromFile('test/fixtures/methoddefinition.js'); - var runMethod = docSet.getByLongname('Test#run')[0]; - var staticRunMethod = docSet.getByLongname('Test.run')[0]; +describe('method definition inside a class declaration', function() { + var docSet = jasmine.getDocSetFromFile('test/fixtures/methoddefinition.js'); + var runMethod = docSet.getByLongname('Test#run')[0]; + var staticRunMethod = docSet.getByLongname('Test.run')[0]; - it('methods should have documentation comments', function() { - expect(runMethod).toBeDefined(); - expect(runMethod.description).toBe('Document me.'); - expect(runMethod.kind).toBe('function'); + it('methods should have documentation comments', function() { + expect(runMethod).toBeDefined(); + expect(runMethod.description).toBe('Document me.'); + expect(runMethod.kind).toBe('function'); - expect(staticRunMethod).toBeDefined(); - expect(staticRunMethod.description).toBe('Static document me.'); - expect(staticRunMethod.kind).toBe('function'); - }); + expect(staticRunMethod).toBeDefined(); + expect(staticRunMethod.description).toBe('Static document me.'); + expect(staticRunMethod.kind).toBe('function'); }); -} +}); diff --git a/test/specs/documentation/restparams.js b/test/specs/documentation/restparams.js index a1773676..bf30079b 100644 --- a/test/specs/documentation/restparams.js +++ b/test/specs/documentation/restparams.js @@ -1,24 +1,21 @@ 'use strict'; -// Rhino can't handle rest parameters -if (jasmine.jsParser !== 'rhino') { - describe('rest parameters', function() { - var docSet = jasmine.getDocSetFromFile('test/fixtures/restparams.js'); - var setAdmins = docSet.getByLongname('setAdmins')[0]; - var setWidgetAccess = docSet.getByLongname('setWidgetAccess')[0]; +describe('rest parameters', function() { + var docSet = jasmine.getDocSetFromFile('test/fixtures/restparams.js'); + var setAdmins = docSet.getByLongname('setAdmins')[0]; + var setWidgetAccess = docSet.getByLongname('setWidgetAccess')[0]; - it('should automatically mark standalone rest parameters as repeatable', function() { - var restParam = setAdmins.params[0]; + it('should automatically mark standalone rest parameters as repeatable', function() { + var restParam = setAdmins.params[0]; - expect(restParam.name).toBe('users'); - expect(restParam.variable).toBe(true); - }); - - it('should automatically mark rest parameters as repeatable when they are mixed with other params', function() { - var restParam = setWidgetAccess.params[1]; - - expect(restParam.name).toBe('users'); - expect(restParam.variable).toBe(true); - }); + expect(restParam.name).toBe('users'); + expect(restParam.variable).toBe(true); }); -} + + it('should automatically mark rest parameters as repeatable when they are mixed with other params', function() { + var restParam = setWidgetAccess.params[1]; + + expect(restParam.name).toBe('users'); + expect(restParam.variable).toBe(true); + }); +}); diff --git a/test/specs/jsdoc/src/parser.js b/test/specs/jsdoc/src/parser.js index 913312c6..db47f7ae 100644 --- a/test/specs/jsdoc/src/parser.js +++ b/test/specs/jsdoc/src/parser.js @@ -31,7 +31,6 @@ describe('jsdoc/src/parser', function() { describe('createParser', function() { it('should return a Parser when called without arguments', function() { - // we don't check instanceof because we get different objects on Node.js and Rhino expect(typeof jsdoc.src.parser.createParser()).toBe('object'); }); @@ -41,15 +40,6 @@ describe('jsdoc/src/parser', function() { expect(parser instanceof jsdoc.src.parser.Parser).toBe(true); }); - if (jsdoc.util.runtime.isRhino()) { - it('should create a Rhino parser with the argument "rhino"', function() { - var RhinoParser = require('rhino/jsdoc/src/parser').Parser; - var parser = jsdoc.src.parser.createParser('rhino'); - - expect(parser instanceof RhinoParser).toBe(true); - }); - } - it('should log a fatal error on bad input', function() { var parser; @@ -303,18 +293,15 @@ describe('jsdoc/src/parser', function() { expect(spy.mostRecentCall.args[0].doclets).toBe(doclets); }); - // Rhino can't parse ES6 - if (jasmine.jsParser !== 'rhino') { - it('should not throw errors when parsing files with ES6 syntax', function() { - function parse() { - var parserSrc = 'javascript:' + fs.readFileSync( - path.join(jsdoc.env.dirname, 'test/fixtures/es6.js'), 'utf8'); - parser.parse(parserSrc); - } + it('should not throw errors when parsing files with ES6 syntax', function() { + function parse() { + var parserSrc = 'javascript:' + fs.readFileSync( + path.join(jsdoc.env.dirname, 'test/fixtures/es6.js'), 'utf8'); + parser.parse(parserSrc); + } - expect(parse).not.toThrow(); - }); - } + expect(parse).not.toThrow(); + }); it('should be able to parse its own source file', function() { var parserSrc = 'javascript:' + fs.readFileSync(path.join(jsdoc.env.dirname, @@ -408,43 +395,14 @@ describe('jsdoc/src/parser', function() { } } - // Rhino fires events in a different order - if (jasmine.jsParser === 'rhino') { - it('should fire all jsdocCommentFound events, in source order, ' + - 'then all symbolFound events, in source order', function() { - parser.on('jsdocCommentFound', pushEvent); - - parser.on('symbolFound', pushEvent); - - jsdoc.src.handlers.attachTo(parser); - parser.parse('javascript:' + source); - - // make sure jsdocCommentFound events are in the correct order - events.jsdocCommentFound.slice(0).sort(sourceOrderSort) - .forEach(function(e, i) { - expect(e).toBe(events.jsdocCommentFound[i]); - }); - // make sure symbolFound events are in the correct order - events.symbolFound.slice(0).sort(sourceOrderSort).forEach(function(e, i) { - expect(e).toBe(events.symbolFound[i]); - }); - // make sure jsdocCommentFound events are all first - events.all.slice(0, events.jsdocCommentFound.length) - .forEach(function(e, i) { - expect(e).toBe(events.all[i]); - }); + it('should fire interleaved jsdocCommentFound and symbolFound events, ' + + 'in source order', function() { + jsdoc.src.handlers.attachTo(parser); + parser.parse(source); + events.all.slice(0).sort(sourceOrderSort).forEach(function(e, i) { + expect(e).toBe(events.all[i]); }); - } - else { - it('should fire interleaved jsdocCommentFound and symbolFound events, ' + - 'in source order', function() { - jsdoc.src.handlers.attachTo(parser); - parser.parse(source); - events.all.slice(0).sort(sourceOrderSort).forEach(function(e, i) { - expect(e).toBe(events.all[i]); - }); - }); - } + }); }); }); diff --git a/test/specs/jsdoc/util/runtime.js b/test/specs/jsdoc/util/runtime.js index be6587d6..c69a53a8 100644 --- a/test/specs/jsdoc/util/runtime.js +++ b/test/specs/jsdoc/util/runtime.js @@ -2,7 +2,6 @@ describe('jsdoc/util/runtime', function() { var runtime = require('jsdoc/util/runtime'); - var isRhino; var isNode; it('should exist', function() { @@ -10,54 +9,21 @@ describe('jsdoc/util/runtime', function() { expect(typeof runtime).toEqual('object'); }); - it("should export a 'RHINO' constant", function() { - expect(runtime.RHINO).toBeDefined(); - expect(typeof runtime.RHINO).toEqual('string'); - }); - it("should export a 'NODE' constant", function() { expect(runtime.NODE).toBeDefined(); expect(typeof runtime.NODE).toEqual('string'); }); - it("should export an 'isRhino' function", function() { - expect(runtime.isRhino).toBeDefined(); - expect(typeof runtime.isRhino).toEqual('function'); - }); it("should export an 'isNode' function", function() { expect(runtime.isNode).toBeDefined(); expect(typeof runtime.isNode).toEqual('function'); }); - describe('isRhino', function() { - isRhino = runtime.isRhino(); - - it('should return a boolean', function() { - expect(typeof isRhino).toEqual('boolean'); - }); - - it('should return the opposite value from isNode()', function() { - if (isNode === undefined) { - isNode = runtime.isNode(); - } - - expect(!isRhino).toBe(isNode); - }); - }); - describe('isNode', function() { isNode = runtime.isNode(); it('should return a boolean', function() { expect(typeof isNode).toEqual('boolean'); }); - - it('should return the opposite value from isRhino()', function() { - if (isRhino === undefined) { - isRhino = runtime.isRhino(); - } - - expect(!isNode).toBe(isRhino); - }); }); }); diff --git a/test/specs/rhino/fs.js b/test/specs/rhino/fs.js deleted file mode 100644 index 507aa806..00000000 --- a/test/specs/rhino/fs.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -xdescribe('rhino/fs', function() { - // TODO -}); diff --git a/test/specs/rhino/os.js b/test/specs/rhino/os.js deleted file mode 100644 index 418d9ca6..00000000 --- a/test/specs/rhino/os.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -xdescribe('rhino/os', function() { - // TODO -}); diff --git a/test/specs/rhino/path.js b/test/specs/rhino/path.js deleted file mode 100644 index 58bebd1a..00000000 --- a/test/specs/rhino/path.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict'; - -describe('rhino/path', function() { - // TODO: more tests - var path = require('path'); - - var pathChunks = [ - 'foo', - 'bar', - 'baz', - 'qux.html' - ]; - var joinedPath = path.join.apply(this, pathChunks); - - describe('basename', function() { - it('should exist', function() { - expect(path.basename).toBeDefined(); - }); - - it('should be a function', function() { - expect(typeof path.basename).toBe('function'); - }); - - it('should work correctly without an "ext" parameter', function() { - expect( path.basename(joinedPath) ).toBe( pathChunks[pathChunks.length - 1] ); - }); - - it('should work correctly with an "ext" parameter', function() { - var fn = pathChunks[pathChunks.length - 1]; - var ext = Array.prototype.slice.call( fn, fn.indexOf('.') ).join(''); - var bn = Array.prototype.slice.call( fn, 0, fn.indexOf('.') ).join(''); - - expect( path.basename(joinedPath, ext) ).toBe(bn); - }); - }); -}); diff --git a/test/specs/rhino/src/parser.js b/test/specs/rhino/src/parser.js deleted file mode 100644 index 877e9795..00000000 --- a/test/specs/rhino/src/parser.js +++ /dev/null @@ -1,185 +0,0 @@ -'use strict'; - -describe('rhino/jsdoc/src/parser', function() { - var jsdoc = { - src: { - parser: (function() { - var runtime = require('jsdoc/util/runtime'); - return require( runtime.getModulePath('jsdoc/src/parser') ); - })() - } - }; - - // don't run this spec if we're currently testing another parser - if (jasmine.jsParser !== 'rhino') { - return; - } - - it('should exist', function() { - expect(jsdoc.src.parser).toBeDefined(); - expect(typeof jsdoc.src.parser).toBe('object'); - }); - - it('should export a "Parser" constructor', function() { - expect(jsdoc.src.parser.Parser).toBeDefined(); - expect(typeof jsdoc.src.parser.Parser).toBe('function'); - }); - - describe('Parser', function() { - var parser; - - function newParser() { - parser = jsdoc.src.parser.createParser('rhino'); - } - - newParser(); - - it('should inherit from jsdoc/src/parser', function() { - var parent = require('jsdoc/src/parser').Parser; - expect(parser instanceof parent).toBe(true); - }); - - it('should have an "addNodeVisitor" method', function() { - expect(parser.addNodeVisitor).toBeDefined(); - expect(typeof parser.addNodeVisitor).toBe('function'); - }); - - it('should have a "getNodeVisitors" method', function() { - expect(parser.getNodeVisitors).toBeDefined(); - expect(typeof parser.getNodeVisitors).toBe('function'); - }); - - describe('addNodeVisitor', function() { - function visitorA() {} - function visitorB() {} - - var visitors; - - beforeEach(newParser); - - it('should work with a single Rhino node visitor', function() { - parser.addNodeVisitor(visitorA); - - visitors = parser.getNodeVisitors(); - - expect(visitors.length).toBe(1); - expect(visitors[0]).toBe(visitorA); - }); - - it('should work with multiple Rhino node visitors', function() { - parser.addNodeVisitor(visitorA); - parser.addNodeVisitor(visitorB); - - visitors = parser.getNodeVisitors(); - - expect(visitors.length).toBe(2); - expect(visitors[0]).toBe(visitorA); - expect(visitors[1]).toBe(visitorB); - }); - }); - - describe('getNodeVisitors', function() { - beforeEach(newParser); - - it('should return an empty array by default', function() { - var visitors = parser.getNodeVisitors(); - - expect( Array.isArray(visitors) ).toBe(true); - expect(visitors.length).toBe(0); - }); - - // other functionality is covered by the addNodeVisitors tests - }); - - describe('parse', function() { - /*eslint no-script-url: 0 */ - beforeEach(newParser); - - var sourceCode = ['javascript:/** foo */var foo;']; - - it('should call Rhino node visitors', function() { - var args; - - var visitor = { - visitNode: function(rhinoNode, e, visitParser, sourceName) { - if (e && e.code && !args) { - args = Array.prototype.slice.call(arguments); - } - } - }; - - require('jsdoc/src/handlers').attachTo(parser); - parser.addNodeVisitor(visitor); - parser.parse(sourceCode); - - expect(args).toBeDefined(); - expect( Array.isArray(args) ).toBe(true); - expect(args.length).toBe(4); - - // args[0]: Rhino node - expect(args[0].toSource).toBeDefined(); - expect( String(args[0].toSource()) ).toBe('foo'); - - // args[1]: JSDoc event - expect(typeof args[1]).toBe('object'); - expect(args[1].code).toBeDefined(); - expect(args[1].code.name).toBeDefined(); - expect( String(args[1].code.name) ).toBe('foo'); - - // args[2]: parser - expect(typeof args[2]).toBe('object'); - - // args[3]: current source name - expect( String(args[3]) ).toBe('[[string0]]'); - }); - - it('should reflect changes made by Rhino node visitors', function() { - var doclet; - - var visitor = { - visitNode: function(rhinoNode, e, visitParser, sourceName) { - if (e && e.code && e.code.name === 'foo') { - e.code.name = 'bar'; - } - } - }; - - require('jsdoc/src/handlers').attachTo(parser); - parser.addNodeVisitor(visitor); - parser.parse(sourceCode); - - doclet = parser.results()[0]; - - expect(doclet).toBeDefined(); - expect(typeof doclet).toBe('object'); - expect(doclet.name).toBeDefined(); - expect(doclet.name).toBe('bar'); - }); - - it('should not call a second Rhino node visitor if the first visitor stopped ' + - 'propagation', function() { - var doclet; - - var visitor1 = { - visitNode: function(rhinoNode, e, visitParser, sourceName) { - e.stopPropagation = true; - } - }; - var visitor2 = { - visitNode: function(rhinoNode, e, visitParser, sourceName) { - e.propertyThatWillNeverBeSet = ':('; - } - }; - - require('jsdoc/src/handlers').attachTo(parser); - parser.addNodeVisitor(visitor1); - parser.addNodeVisitor(visitor2); - parser.parse(sourceCode); - - doclet = parser.results()[0]; - - expect(doclet.propertyThatWillNeverBeSet).not.toBeDefined(); - }); - }); - }); -}); diff --git a/test/specs/rhino/src/visitor.js b/test/specs/rhino/src/visitor.js deleted file mode 100644 index 88e765f5..00000000 --- a/test/specs/rhino/src/visitor.js +++ /dev/null @@ -1,89 +0,0 @@ -'use strict'; - -describe('rhino/jsdoc/src/visitor', function() { - var runtime = require('jsdoc/util/runtime'); - var jsdoc = { - src: { - visitor: require( runtime.getModulePath('jsdoc/src/visitor') ) - } - }; - - it('should exist', function() { - expect(jsdoc.src.visitor).toBeDefined(); - expect(typeof jsdoc.src.visitor).toBe('object'); - }); - - it('should export a "Visitor" constructor', function() { - expect(jsdoc.src.visitor.Visitor).toBeDefined(); - expect(typeof jsdoc.src.visitor.Visitor).toBe('function'); - }); - - describe('Visitor', function() { - var parser; - var visitor; - - function newVisitor() { - parser = require('jsdoc/src/parser').createParser('rhino'); - visitor = new jsdoc.src.visitor.Visitor(parser); - } - - newVisitor(); - - it('should inherit from jsdoc/src/visitor', function() { - var parent = require('jsdoc/src/visitor').Visitor; - expect(visitor instanceof parent).toBe(true); - }); - - it('should have an "addRhinoNodeVisitor" method', function() { - expect(visitor.addRhinoNodeVisitor).toBeDefined(); - expect(typeof visitor.addRhinoNodeVisitor).toBe('function'); - }); - - it('should have a "getRhinoNodeVisitors" method', function() { - expect(visitor.getRhinoNodeVisitors).toBeDefined(); - expect(typeof visitor.getRhinoNodeVisitors).toBe('function'); - }); - - describe('addRhinoNodeVisitor', function() { - function visitorA() {} - function visitorB() {} - - var visitors; - - beforeEach(newVisitor); - - it('should work with a single Rhino node visitor', function() { - visitor.addRhinoNodeVisitor(visitorA); - - visitors = visitor.getRhinoNodeVisitors(); - - expect(visitors.length).toBe(1); - expect(visitors[0]).toBe(visitorA); - }); - - it('should work with multiple Rhino node visitors', function() { - visitor.addRhinoNodeVisitor(visitorA); - visitor.addRhinoNodeVisitor(visitorB); - - visitors = visitor.getRhinoNodeVisitors(); - - expect(visitors.length).toBe(2); - expect(visitors[0]).toBe(visitorA); - expect(visitors[1]).toBe(visitorB); - }); - }); - - describe('getRhinoNodeVisitors', function() { - beforeEach(newVisitor); - - it('should return an empty array by default', function() { - var visitors = visitor.getRhinoNodeVisitors(); - - expect( Array.isArray(visitors) ).toBe(true); - expect(visitors.length).toBe(0); - }); - - // other functionality is covered by the addNodeVisitors tests - }); - }); -});