http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asap/browser-raw.js ---------------------------------------------------------------------- diff --git a/node_modules/asap/browser-raw.js b/node_modules/asap/browser-raw.js deleted file mode 100644 index 9cee7e3..0000000 --- a/node_modules/asap/browser-raw.js +++ /dev/null @@ -1,223 +0,0 @@ -"use strict"; - -// Use the fastest means possible to execute a task in its own turn, with -// priority over other events including IO, animation, reflow, and redraw -// events in browsers. -// -// An exception thrown by a task will permanently interrupt the processing of -// subsequent tasks. The higher level `asap` function ensures that if an -// exception is thrown by a task, that the task queue will continue flushing as -// soon as possible, but if you use `rawAsap` directly, you are responsible to -// either ensure that no exceptions are thrown from your task, or to manually -// call `rawAsap.requestFlush` if an exception is thrown. -module.exports = rawAsap; -function rawAsap(task) { - if (!queue.length) { - requestFlush(); - flushing = true; - } - // Equivalent to push, but avoids a function call. - queue[queue.length] = task; -} - -var queue = []; -// Once a flush has been requested, no further calls to `requestFlush` are -// necessary until the next `flush` completes. -var flushing = false; -// `requestFlush` is an implementation-specific method that attempts to kick -// off a `flush` event as quickly as possible. `flush` will attempt to exhaust -// the event queue before yielding to the browser's own event loop. -var requestFlush; -// The position of the next task to execute in the task queue. This is -// preserved between calls to `flush` so that it can be resumed if -// a task throws an exception. -var index = 0; -// If a task schedules additional tasks recursively, the task queue can grow -// unbounded. To prevent memory exhaustion, the task queue will periodically -// truncate already-completed tasks. -var capacity = 1024; - -// The flush function processes all tasks that have been scheduled with -// `rawAsap` unless and until one of those tasks throws an exception. -// If a task throws an exception, `flush` ensures that its state will remain -// consistent and will resume where it left off when called again. -// However, `flush` does not make any arrangements to be called again if an -// exception is thrown. -function flush() { - while (index < queue.length) { - var currentIndex = index; - // Advance the index before calling the task. This ensures that we will - // begin flushing on the next task the task throws an error. - index = index + 1; - queue[currentIndex].call(); - // Prevent leaking memory for long chains of recursive calls to `asap`. - // If we call `asap` within tasks scheduled by `asap`, the queue will - // grow, but to avoid an O(n) walk for every task we execute, we don't - // shift tasks off the queue after they have been executed. - // Instead, we periodically shift 1024 tasks off the queue. - if (index > capacity) { - // Manually shift all values starting at the index back to the - // beginning of the queue. - for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { - queue[scan] = queue[scan + index]; - } - queue.length -= index; - index = 0; - } - } - queue.length = 0; - index = 0; - flushing = false; -} - -// `requestFlush` is implemented using a strategy based on data collected from -// every available SauceLabs Selenium web driver worker at time of writing. -// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593 - -// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that -// have WebKitMutationObserver but not un-prefixed MutationObserver. -// Must use `global` or `self` instead of `window` to work in both frames and web -// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop. - -/* globals self */ -var scope = typeof global !== "undefined" ? global : self; -var BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver; - -// MutationObservers are desirable because they have high priority and work -// reliably everywhere they are implemented. -// They are implemented in all modern browsers. -// -// - Android 4-4.3 -// - Chrome 26-34 -// - Firefox 14-29 -// - Internet Explorer 11 -// - iPad Safari 6-7.1 -// - iPhone Safari 7-7.1 -// - Safari 6-7 -if (typeof BrowserMutationObserver === "function") { - requestFlush = makeRequestCallFromMutationObserver(flush); - -// MessageChannels are desirable because they give direct access to the HTML -// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera -// 11-12, and in web workers in many engines. -// Although message channels yield to any queued rendering and IO tasks, they -// would be better than imposing the 4ms delay of timers. -// However, they do not work reliably in Internet Explorer or Safari. - -// Internet Explorer 10 is the only browser that has setImmediate but does -// not have MutationObservers. -// Although setImmediate yields to the browser's renderer, it would be -// preferrable to falling back to setTimeout since it does not have -// the minimum 4ms penalty. -// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and -// Desktop to a lesser extent) that renders both setImmediate and -// MessageChannel useless for the purposes of ASAP. -// https://github.com/kriskowal/q/issues/396 - -// Timers are implemented universally. -// We fall back to timers in workers in most engines, and in foreground -// contexts in the following browsers. -// However, note that even this simple case requires nuances to operate in a -// broad spectrum of browsers. -// -// - Firefox 3-13 -// - Internet Explorer 6-9 -// - iPad Safari 4.3 -// - Lynx 2.8.7 -} else { - requestFlush = makeRequestCallFromTimer(flush); -} - -// `requestFlush` requests that the high priority event queue be flushed as -// soon as possible. -// This is useful to prevent an error thrown in a task from stalling the event -// queue if the exception handled by Node.jsâs -// `process.on("uncaughtException")` or by a domain. -rawAsap.requestFlush = requestFlush; - -// To request a high priority event, we induce a mutation observer by toggling -// the text of a text node between "1" and "-1". -function makeRequestCallFromMutationObserver(callback) { - var toggle = 1; - var observer = new BrowserMutationObserver(callback); - var node = document.createTextNode(""); - observer.observe(node, {characterData: true}); - return function requestCall() { - toggle = -toggle; - node.data = toggle; - }; -} - -// The message channel technique was discovered by Malte Ubl and was the -// original foundation for this library. -// http://www.nonblocking.io/2011/06/windownexttick.html - -// Safari 6.0.5 (at least) intermittently fails to create message ports on a -// page's first load. Thankfully, this version of Safari supports -// MutationObservers, so we don't need to fall back in that case. - -// function makeRequestCallFromMessageChannel(callback) { -// var channel = new MessageChannel(); -// channel.port1.onmessage = callback; -// return function requestCall() { -// channel.port2.postMessage(0); -// }; -// } - -// For reasons explained above, we are also unable to use `setImmediate` -// under any circumstances. -// Even if we were, there is another bug in Internet Explorer 10. -// It is not sufficient to assign `setImmediate` to `requestFlush` because -// `setImmediate` must be called *by name* and therefore must be wrapped in a -// closure. -// Never forget. - -// function makeRequestCallFromSetImmediate(callback) { -// return function requestCall() { -// setImmediate(callback); -// }; -// } - -// Safari 6.0 has a problem where timers will get lost while the user is -// scrolling. This problem does not impact ASAP because Safari 6.0 supports -// mutation observers, so that implementation is used instead. -// However, if we ever elect to use timers in Safari, the prevalent work-around -// is to add a scroll event listener that calls for a flush. - -// `setTimeout` does not call the passed callback if the delay is less than -// approximately 7 in web workers in Firefox 8 through 18, and sometimes not -// even then. - -function makeRequestCallFromTimer(callback) { - return function requestCall() { - // We dispatch a timeout with a specified delay of 0 for engines that - // can reliably accommodate that request. This will usually be snapped - // to a 4 milisecond delay, but once we're flushing, there's no delay - // between events. - var timeoutHandle = setTimeout(handleTimer, 0); - // However, since this timer gets frequently dropped in Firefox - // workers, we enlist an interval handle that will try to fire - // an event 20 times per second until it succeeds. - var intervalHandle = setInterval(handleTimer, 50); - - function handleTimer() { - // Whichever timer succeeds will cancel both timers and - // execute the callback. - clearTimeout(timeoutHandle); - clearInterval(intervalHandle); - callback(); - } - }; -} - -// This is for `asap.js` only. -// Its name will be periodically randomized to break any code that depends on -// its existence. -rawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer; - -// ASAP was originally a nextTick shim included in Q. This was factored out -// into this ASAP package. It was later adapted to RSVP which made further -// amendments. These decisions, particularly to marginalize MessageChannel and -// to capture the MutationObserver implementation in a closure, were integrated -// back into ASAP proper. -// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js
http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asap/package.json ---------------------------------------------------------------------- diff --git a/node_modules/asap/package.json b/node_modules/asap/package.json deleted file mode 100644 index 6d5ce47..0000000 --- a/node_modules/asap/package.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "asap@^2.0.3", - "scope": null, - "escapedName": "asap", - "name": "asap", - "rawSpec": "^2.0.3", - "spec": ">=2.0.3 <3.0.0", - "type": "range" - }, - "/Users/yueguo/repo.site/incubator-griffin-site/node_modules/nunjucks" - ] - ], - "_from": "asap@>=2.0.3 <3.0.0", - "_id": "asap@2.0.5", - "_inCache": true, - "_installable": true, - "_location": "/asap", - "_nodeVersion": "0.10.32", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/asap-2.0.5.tgz_1474846549990_0.794441896257922" - }, - "_npmUser": { - "name": "kriskowal", - "email": "kris.ko...@cixar.com" - }, - "_npmVersion": "2.14.7", - "_phantomChildren": {}, - "_requested": { - "raw": "asap@^2.0.3", - "scope": null, - "escapedName": "asap", - "name": "asap", - "rawSpec": "^2.0.3", - "spec": ">=2.0.3 <3.0.0", - "type": "range" - }, - "_requiredBy": [ - "/nunjucks" - ], - "_resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz", - "_shasum": "522765b50c3510490e52d7dcfe085ef9ba96958f", - "_shrinkwrap": null, - "_spec": "asap@^2.0.3", - "_where": "/Users/yueguo/repo.site/incubator-griffin-site/node_modules/nunjucks", - "browser": { - "./asap": "./browser-asap.js", - "./asap.js": "./browser-asap.js", - "./raw": "./browser-raw.js", - "./raw.js": "./browser-raw.js", - "./test/domain.js": "./test/browser-domain.js" - }, - "bugs": { - "url": "https://github.com/kriskowal/asap/issues" - }, - "dependencies": {}, - "description": "High-priority task queue for Node.js and browsers", - "devDependencies": { - "benchmark": "^1.0.0", - "events": "^1.0.1", - "jshint": "^2.5.1", - "knox": "^0.8.10", - "mr": "^2.0.5", - "opener": "^1.3.0", - "q": "^2.0.3", - "q-io": "^2.0.3", - "saucelabs": "^0.1.1", - "wd": "^0.2.21", - "weak-map": "^1.0.5" - }, - "directories": {}, - "dist": { - "shasum": "522765b50c3510490e52d7dcfe085ef9ba96958f", - "tarball": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz" - }, - "files": [ - "raw.js", - "asap.js", - "browser-raw.js", - "browser-asap.js" - ], - "gitHead": "e7f3d29eed4967ecfcaddbfc9542e2ee12b76227", - "homepage": "https://github.com/kriskowal/asap#readme", - "keywords": [ - "event", - "task", - "queue" - ], - "license": "MIT", - "main": "./asap.js", - "maintainers": [ - { - "name": "kriskowal", - "email": "kris.ko...@cixar.com" - }, - { - "name": "forbeslindesay", - "email": "for...@lindesay.co.uk" - } - ], - "name": "asap", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/kriskowal/asap.git" - }, - "scripts": { - "benchmarks": "node benchmarks", - "lint": "jshint raw.js asap.js browser-raw.js browser-asap.js $(find scripts -name '*.js' | grep -v gauntlet)", - "test": "npm run lint && npm run test-node", - "test-browser": "node scripts/publish-bundle.js test/asap-test.js | xargs opener", - "test-node": "node test/asap-test.js", - "test-publish": "node scripts/publish-bundle.js test/asap-test.js | pbcopy", - "test-saucelabs": "node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-spot-configurations.json", - "test-saucelabs-all": "node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-all-configurations.json", - "test-saucelabs-worker": "node scripts/saucelabs-worker-test.js scripts/saucelabs-spot-configurations.json", - "test-saucelabs-worker-all": "node scripts/saucelabs-worker-test.js scripts/saucelabs-all-configurations.json", - "test-travis": "npm run lint && npm run test-node && npm run test-saucelabs && npm run test-saucelabs-worker" - }, - "version": "2.0.5" -} http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asap/raw.js ---------------------------------------------------------------------- diff --git a/node_modules/asap/raw.js b/node_modules/asap/raw.js deleted file mode 100644 index ae3b892..0000000 --- a/node_modules/asap/raw.js +++ /dev/null @@ -1,101 +0,0 @@ -"use strict"; - -var domain; // The domain module is executed on demand -var hasSetImmediate = typeof setImmediate === "function"; - -// Use the fastest means possible to execute a task in its own turn, with -// priority over other events including network IO events in Node.js. -// -// An exception thrown by a task will permanently interrupt the processing of -// subsequent tasks. The higher level `asap` function ensures that if an -// exception is thrown by a task, that the task queue will continue flushing as -// soon as possible, but if you use `rawAsap` directly, you are responsible to -// either ensure that no exceptions are thrown from your task, or to manually -// call `rawAsap.requestFlush` if an exception is thrown. -module.exports = rawAsap; -function rawAsap(task) { - if (!queue.length) { - requestFlush(); - flushing = true; - } - // Avoids a function call - queue[queue.length] = task; -} - -var queue = []; -// Once a flush has been requested, no further calls to `requestFlush` are -// necessary until the next `flush` completes. -var flushing = false; -// The position of the next task to execute in the task queue. This is -// preserved between calls to `flush` so that it can be resumed if -// a task throws an exception. -var index = 0; -// If a task schedules additional tasks recursively, the task queue can grow -// unbounded. To prevent memory excaustion, the task queue will periodically -// truncate already-completed tasks. -var capacity = 1024; - -// The flush function processes all tasks that have been scheduled with -// `rawAsap` unless and until one of those tasks throws an exception. -// If a task throws an exception, `flush` ensures that its state will remain -// consistent and will resume where it left off when called again. -// However, `flush` does not make any arrangements to be called again if an -// exception is thrown. -function flush() { - while (index < queue.length) { - var currentIndex = index; - // Advance the index before calling the task. This ensures that we will - // begin flushing on the next task the task throws an error. - index = index + 1; - queue[currentIndex].call(); - // Prevent leaking memory for long chains of recursive calls to `asap`. - // If we call `asap` within tasks scheduled by `asap`, the queue will - // grow, but to avoid an O(n) walk for every task we execute, we don't - // shift tasks off the queue after they have been executed. - // Instead, we periodically shift 1024 tasks off the queue. - if (index > capacity) { - // Manually shift all values starting at the index back to the - // beginning of the queue. - for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) { - queue[scan] = queue[scan + index]; - } - queue.length -= index; - index = 0; - } - } - queue.length = 0; - index = 0; - flushing = false; -} - -rawAsap.requestFlush = requestFlush; -function requestFlush() { - // Ensure flushing is not bound to any domain. - // It is not sufficient to exit the domain, because domains exist on a stack. - // To execute code outside of any domain, the following dance is necessary. - var parentDomain = process.domain; - if (parentDomain) { - if (!domain) { - // Lazy execute the domain module. - // Only employed if the user elects to use domains. - domain = require("domain"); - } - domain.active = process.domain = null; - } - - // `setImmediate` is slower that `process.nextTick`, but `process.nextTick` - // cannot handle recursion. - // `requestFlush` will only be called recursively from `asap.js`, to resume - // flushing after an error is thrown into a domain. - // Conveniently, `setImmediate` was introduced in the same version - // `process.nextTick` started throwing recursion errors. - if (flushing && hasSetImmediate) { - setImmediate(flush); - } else { - process.nextTick(flush); - } - - if (parentDomain) { - domain.active = process.domain = parentDomain; - } -} http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/.npmignore ---------------------------------------------------------------------- diff --git a/node_modules/asn1/.npmignore b/node_modules/asn1/.npmignore deleted file mode 100644 index eb03e3e..0000000 --- a/node_modules/asn1/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -*.log http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/.travis.yml ---------------------------------------------------------------------- diff --git a/node_modules/asn1/.travis.yml b/node_modules/asn1/.travis.yml deleted file mode 100644 index 09d3ef3..0000000 --- a/node_modules/asn1/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 0.8 - - 0.10 http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/LICENSE ---------------------------------------------------------------------- diff --git a/node_modules/asn1/LICENSE b/node_modules/asn1/LICENSE deleted file mode 100644 index 9b5dcdb..0000000 --- a/node_modules/asn1/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2011 Mark Cavage, All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/README.md ---------------------------------------------------------------------- diff --git a/node_modules/asn1/README.md b/node_modules/asn1/README.md deleted file mode 100644 index 7cebf7a..0000000 --- a/node_modules/asn1/README.md +++ /dev/null @@ -1,50 +0,0 @@ -node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS. -Currently BER encoding is supported; at some point I'll likely have to do DER. - -## Usage - -Mostly, if you're *actually* needing to read and write ASN.1, you probably don't -need this readme to explain what and why. If you have no idea what ASN.1 is, -see this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc - -The source is pretty much self-explanatory, and has read/write methods for the -common types out there. - -### Decoding - -The following reads an ASN.1 sequence with a boolean. - - var Ber = require('asn1').Ber; - - var reader = new Ber.Reader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff])); - - reader.readSequence(); - console.log('Sequence len: ' + reader.length); - if (reader.peek() === Ber.Boolean) - console.log(reader.readBoolean()); - -### Encoding - -The following generates the same payload as above. - - var Ber = require('asn1').Ber; - - var writer = new Ber.Writer(); - - writer.startSequence(); - writer.writeBoolean(true); - writer.endSequence(); - - console.log(writer.buffer); - -## Installation - - npm install asn1 - -## License - -MIT. - -## Bugs - -See <https://github.com/mcavage/node-asn1/issues>. http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/lib/ber/errors.js ---------------------------------------------------------------------- diff --git a/node_modules/asn1/lib/ber/errors.js b/node_modules/asn1/lib/ber/errors.js deleted file mode 100644 index ff21d4f..0000000 --- a/node_modules/asn1/lib/ber/errors.js +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright 2011 Mark Cavage <mcav...@gmail.com> All rights reserved. - - -module.exports = { - - newInvalidAsn1Error: function(msg) { - var e = new Error(); - e.name = 'InvalidAsn1Error'; - e.message = msg || ''; - return e; - } - -}; http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/lib/ber/index.js ---------------------------------------------------------------------- diff --git a/node_modules/asn1/lib/ber/index.js b/node_modules/asn1/lib/ber/index.js deleted file mode 100644 index 4fb90ae..0000000 --- a/node_modules/asn1/lib/ber/index.js +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2011 Mark Cavage <mcav...@gmail.com> All rights reserved. - -var errors = require('./errors'); -var types = require('./types'); - -var Reader = require('./reader'); -var Writer = require('./writer'); - - -///--- Exports - -module.exports = { - - Reader: Reader, - - Writer: Writer - -}; - -for (var t in types) { - if (types.hasOwnProperty(t)) - module.exports[t] = types[t]; -} -for (var e in errors) { - if (errors.hasOwnProperty(e)) - module.exports[e] = errors[e]; -} http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/lib/ber/reader.js ---------------------------------------------------------------------- diff --git a/node_modules/asn1/lib/ber/reader.js b/node_modules/asn1/lib/ber/reader.js deleted file mode 100644 index 0a00e98..0000000 --- a/node_modules/asn1/lib/ber/reader.js +++ /dev/null @@ -1,261 +0,0 @@ -// Copyright 2011 Mark Cavage <mcav...@gmail.com> All rights reserved. - -var assert = require('assert'); - -var ASN1 = require('./types'); -var errors = require('./errors'); - - -///--- Globals - -var newInvalidAsn1Error = errors.newInvalidAsn1Error; - - - -///--- API - -function Reader(data) { - if (!data || !Buffer.isBuffer(data)) - throw new TypeError('data must be a node Buffer'); - - this._buf = data; - this._size = data.length; - - // These hold the "current" state - this._len = 0; - this._offset = 0; -} - -Object.defineProperty(Reader.prototype, 'length', { - enumerable: true, - get: function () { return (this._len); } -}); - -Object.defineProperty(Reader.prototype, 'offset', { - enumerable: true, - get: function () { return (this._offset); } -}); - -Object.defineProperty(Reader.prototype, 'remain', { - get: function () { return (this._size - this._offset); } -}); - -Object.defineProperty(Reader.prototype, 'buffer', { - get: function () { return (this._buf.slice(this._offset)); } -}); - - -/** - * Reads a single byte and advances offset; you can pass in `true` to make this - * a "peek" operation (i.e., get the byte, but don't advance the offset). - * - * @param {Boolean} peek true means don't move offset. - * @return {Number} the next byte, null if not enough data. - */ -Reader.prototype.readByte = function(peek) { - if (this._size - this._offset < 1) - return null; - - var b = this._buf[this._offset] & 0xff; - - if (!peek) - this._offset += 1; - - return b; -}; - - -Reader.prototype.peek = function() { - return this.readByte(true); -}; - - -/** - * Reads a (potentially) variable length off the BER buffer. This call is - * not really meant to be called directly, as callers have to manipulate - * the internal buffer afterwards. - * - * As a result of this call, you can call `Reader.length`, until the - * next thing called that does a readLength. - * - * @return {Number} the amount of offset to advance the buffer. - * @throws {InvalidAsn1Error} on bad ASN.1 - */ -Reader.prototype.readLength = function(offset) { - if (offset === undefined) - offset = this._offset; - - if (offset >= this._size) - return null; - - var lenB = this._buf[offset++] & 0xff; - if (lenB === null) - return null; - - if ((lenB & 0x80) == 0x80) { - lenB &= 0x7f; - - if (lenB == 0) - throw newInvalidAsn1Error('Indefinite length not supported'); - - if (lenB > 4) - throw newInvalidAsn1Error('encoding too long'); - - if (this._size - offset < lenB) - return null; - - this._len = 0; - for (var i = 0; i < lenB; i++) - this._len = (this._len << 8) + (this._buf[offset++] & 0xff); - - } else { - // Wasn't a variable length - this._len = lenB; - } - - return offset; -}; - - -/** - * Parses the next sequence in this BER buffer. - * - * To get the length of the sequence, call `Reader.length`. - * - * @return {Number} the sequence's tag. - */ -Reader.prototype.readSequence = function(tag) { - var seq = this.peek(); - if (seq === null) - return null; - if (tag !== undefined && tag !== seq) - throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + - ': got 0x' + seq.toString(16)); - - var o = this.readLength(this._offset + 1); // stored in `length` - if (o === null) - return null; - - this._offset = o; - return seq; -}; - - -Reader.prototype.readInt = function() { - return this._readTag(ASN1.Integer); -}; - - -Reader.prototype.readBoolean = function() { - return (this._readTag(ASN1.Boolean) === 0 ? false : true); -}; - - -Reader.prototype.readEnumeration = function() { - return this._readTag(ASN1.Enumeration); -}; - - -Reader.prototype.readString = function(tag, retbuf) { - if (!tag) - tag = ASN1.OctetString; - - var b = this.peek(); - if (b === null) - return null; - - if (b !== tag) - throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + - ': got 0x' + b.toString(16)); - - var o = this.readLength(this._offset + 1); // stored in `length` - - if (o === null) - return null; - - if (this.length > this._size - o) - return null; - - this._offset = o; - - if (this.length === 0) - return retbuf ? new Buffer(0) : ''; - - var str = this._buf.slice(this._offset, this._offset + this.length); - this._offset += this.length; - - return retbuf ? str : str.toString('utf8'); -}; - -Reader.prototype.readOID = function(tag) { - if (!tag) - tag = ASN1.OID; - - var b = this.readString(tag, true); - if (b === null) - return null; - - var values = []; - var value = 0; - - for (var i = 0; i < b.length; i++) { - var byte = b[i] & 0xff; - - value <<= 7; - value += byte & 0x7f; - if ((byte & 0x80) == 0) { - values.push(value); - value = 0; - } - } - - value = values.shift(); - values.unshift(value % 40); - values.unshift((value / 40) >> 0); - - return values.join('.'); -}; - - -Reader.prototype._readTag = function(tag) { - assert.ok(tag !== undefined); - - var b = this.peek(); - - if (b === null) - return null; - - if (b !== tag) - throw newInvalidAsn1Error('Expected 0x' + tag.toString(16) + - ': got 0x' + b.toString(16)); - - var o = this.readLength(this._offset + 1); // stored in `length` - if (o === null) - return null; - - if (this.length > 4) - throw newInvalidAsn1Error('Integer too long: ' + this.length); - - if (this.length > this._size - o) - return null; - this._offset = o; - - var fb = this._buf[this._offset]; - var value = 0; - - for (var i = 0; i < this.length; i++) { - value <<= 8; - value |= (this._buf[this._offset++] & 0xff); - } - - if ((fb & 0x80) == 0x80 && i !== 4) - value -= (1 << (i * 8)); - - return value >> 0; -}; - - - -///--- Exported API - -module.exports = Reader; http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/lib/ber/types.js ---------------------------------------------------------------------- diff --git a/node_modules/asn1/lib/ber/types.js b/node_modules/asn1/lib/ber/types.js deleted file mode 100644 index 8aea000..0000000 --- a/node_modules/asn1/lib/ber/types.js +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2011 Mark Cavage <mcav...@gmail.com> All rights reserved. - - -module.exports = { - EOC: 0, - Boolean: 1, - Integer: 2, - BitString: 3, - OctetString: 4, - Null: 5, - OID: 6, - ObjectDescriptor: 7, - External: 8, - Real: 9, // float - Enumeration: 10, - PDV: 11, - Utf8String: 12, - RelativeOID: 13, - Sequence: 16, - Set: 17, - NumericString: 18, - PrintableString: 19, - T61String: 20, - VideotexString: 21, - IA5String: 22, - UTCTime: 23, - GeneralizedTime: 24, - GraphicString: 25, - VisibleString: 26, - GeneralString: 28, - UniversalString: 29, - CharacterString: 30, - BMPString: 31, - Constructor: 32, - Context: 128 -}; http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/lib/ber/writer.js ---------------------------------------------------------------------- diff --git a/node_modules/asn1/lib/ber/writer.js b/node_modules/asn1/lib/ber/writer.js deleted file mode 100644 index d9d99af..0000000 --- a/node_modules/asn1/lib/ber/writer.js +++ /dev/null @@ -1,316 +0,0 @@ -// Copyright 2011 Mark Cavage <mcav...@gmail.com> All rights reserved. - -var assert = require('assert'); -var ASN1 = require('./types'); -var errors = require('./errors'); - - -///--- Globals - -var newInvalidAsn1Error = errors.newInvalidAsn1Error; - -var DEFAULT_OPTS = { - size: 1024, - growthFactor: 8 -}; - - -///--- Helpers - -function merge(from, to) { - assert.ok(from); - assert.equal(typeof(from), 'object'); - assert.ok(to); - assert.equal(typeof(to), 'object'); - - var keys = Object.getOwnPropertyNames(from); - keys.forEach(function(key) { - if (to[key]) - return; - - var value = Object.getOwnPropertyDescriptor(from, key); - Object.defineProperty(to, key, value); - }); - - return to; -} - - - -///--- API - -function Writer(options) { - options = merge(DEFAULT_OPTS, options || {}); - - this._buf = new Buffer(options.size || 1024); - this._size = this._buf.length; - this._offset = 0; - this._options = options; - - // A list of offsets in the buffer where we need to insert - // sequence tag/len pairs. - this._seq = []; -} - -Object.defineProperty(Writer.prototype, 'buffer', { - get: function () { - if (this._seq.length) - throw new InvalidAsn1Error(this._seq.length + ' unended sequence(s)'); - - return (this._buf.slice(0, this._offset)); - } -}); - -Writer.prototype.writeByte = function(b) { - if (typeof(b) !== 'number') - throw new TypeError('argument must be a Number'); - - this._ensure(1); - this._buf[this._offset++] = b; -}; - - -Writer.prototype.writeInt = function(i, tag) { - if (typeof(i) !== 'number') - throw new TypeError('argument must be a Number'); - if (typeof(tag) !== 'number') - tag = ASN1.Integer; - - var sz = 4; - - while ((((i & 0xff800000) === 0) || ((i & 0xff800000) === 0xff800000 >> 0)) && - (sz > 1)) { - sz--; - i <<= 8; - } - - if (sz > 4) - throw new InvalidAsn1Error('BER ints cannot be > 0xffffffff'); - - this._ensure(2 + sz); - this._buf[this._offset++] = tag; - this._buf[this._offset++] = sz; - - while (sz-- > 0) { - this._buf[this._offset++] = ((i & 0xff000000) >>> 24); - i <<= 8; - } - -}; - - -Writer.prototype.writeNull = function() { - this.writeByte(ASN1.Null); - this.writeByte(0x00); -}; - - -Writer.prototype.writeEnumeration = function(i, tag) { - if (typeof(i) !== 'number') - throw new TypeError('argument must be a Number'); - if (typeof(tag) !== 'number') - tag = ASN1.Enumeration; - - return this.writeInt(i, tag); -}; - - -Writer.prototype.writeBoolean = function(b, tag) { - if (typeof(b) !== 'boolean') - throw new TypeError('argument must be a Boolean'); - if (typeof(tag) !== 'number') - tag = ASN1.Boolean; - - this._ensure(3); - this._buf[this._offset++] = tag; - this._buf[this._offset++] = 0x01; - this._buf[this._offset++] = b ? 0xff : 0x00; -}; - - -Writer.prototype.writeString = function(s, tag) { - if (typeof(s) !== 'string') - throw new TypeError('argument must be a string (was: ' + typeof(s) + ')'); - if (typeof(tag) !== 'number') - tag = ASN1.OctetString; - - var len = Buffer.byteLength(s); - this.writeByte(tag); - this.writeLength(len); - if (len) { - this._ensure(len); - this._buf.write(s, this._offset); - this._offset += len; - } -}; - - -Writer.prototype.writeBuffer = function(buf, tag) { - if (typeof(tag) !== 'number') - throw new TypeError('tag must be a number'); - if (!Buffer.isBuffer(buf)) - throw new TypeError('argument must be a buffer'); - - this.writeByte(tag); - this.writeLength(buf.length); - this._ensure(buf.length); - buf.copy(this._buf, this._offset, 0, buf.length); - this._offset += buf.length; -}; - - -Writer.prototype.writeStringArray = function(strings) { - if ((!strings instanceof Array)) - throw new TypeError('argument must be an Array[String]'); - - var self = this; - strings.forEach(function(s) { - self.writeString(s); - }); -}; - -// This is really to solve DER cases, but whatever for now -Writer.prototype.writeOID = function(s, tag) { - if (typeof(s) !== 'string') - throw new TypeError('argument must be a string'); - if (typeof(tag) !== 'number') - tag = ASN1.OID; - - if (!/^([0-9]+\.){3,}[0-9]+$/.test(s)) - throw new Error('argument is not a valid OID string'); - - function encodeOctet(bytes, octet) { - if (octet < 128) { - bytes.push(octet); - } else if (octet < 16384) { - bytes.push((octet >>> 7) | 0x80); - bytes.push(octet & 0x7F); - } else if (octet < 2097152) { - bytes.push((octet >>> 14) | 0x80); - bytes.push(((octet >>> 7) | 0x80) & 0xFF); - bytes.push(octet & 0x7F); - } else if (octet < 268435456) { - bytes.push((octet >>> 21) | 0x80); - bytes.push(((octet >>> 14) | 0x80) & 0xFF); - bytes.push(((octet >>> 7) | 0x80) & 0xFF); - bytes.push(octet & 0x7F); - } else { - bytes.push(((octet >>> 28) | 0x80) & 0xFF); - bytes.push(((octet >>> 21) | 0x80) & 0xFF); - bytes.push(((octet >>> 14) | 0x80) & 0xFF); - bytes.push(((octet >>> 7) | 0x80) & 0xFF); - bytes.push(octet & 0x7F); - } - } - - var tmp = s.split('.'); - var bytes = []; - bytes.push(parseInt(tmp[0], 10) * 40 + parseInt(tmp[1], 10)); - tmp.slice(2).forEach(function(b) { - encodeOctet(bytes, parseInt(b, 10)); - }); - - var self = this; - this._ensure(2 + bytes.length); - this.writeByte(tag); - this.writeLength(bytes.length); - bytes.forEach(function(b) { - self.writeByte(b); - }); -}; - - -Writer.prototype.writeLength = function(len) { - if (typeof(len) !== 'number') - throw new TypeError('argument must be a Number'); - - this._ensure(4); - - if (len <= 0x7f) { - this._buf[this._offset++] = len; - } else if (len <= 0xff) { - this._buf[this._offset++] = 0x81; - this._buf[this._offset++] = len; - } else if (len <= 0xffff) { - this._buf[this._offset++] = 0x82; - this._buf[this._offset++] = len >> 8; - this._buf[this._offset++] = len; - } else if (len <= 0xffffff) { - this._buf[this._offset++] = 0x83; - this._buf[this._offset++] = len >> 16; - this._buf[this._offset++] = len >> 8; - this._buf[this._offset++] = len; - } else { - throw new InvalidAsn1ERror('Length too long (> 4 bytes)'); - } -}; - -Writer.prototype.startSequence = function(tag) { - if (typeof(tag) !== 'number') - tag = ASN1.Sequence | ASN1.Constructor; - - this.writeByte(tag); - this._seq.push(this._offset); - this._ensure(3); - this._offset += 3; -}; - - -Writer.prototype.endSequence = function() { - var seq = this._seq.pop(); - var start = seq + 3; - var len = this._offset - start; - - if (len <= 0x7f) { - this._shift(start, len, -2); - this._buf[seq] = len; - } else if (len <= 0xff) { - this._shift(start, len, -1); - this._buf[seq] = 0x81; - this._buf[seq + 1] = len; - } else if (len <= 0xffff) { - this._buf[seq] = 0x82; - this._buf[seq + 1] = len >> 8; - this._buf[seq + 2] = len; - } else if (len <= 0xffffff) { - this._shift(start, len, 1); - this._buf[seq] = 0x83; - this._buf[seq + 1] = len >> 16; - this._buf[seq + 2] = len >> 8; - this._buf[seq + 3] = len; - } else { - throw new InvalidAsn1Error('Sequence too long'); - } -}; - - -Writer.prototype._shift = function(start, len, shift) { - assert.ok(start !== undefined); - assert.ok(len !== undefined); - assert.ok(shift); - - this._buf.copy(this._buf, start + shift, start, start + len); - this._offset += shift; -}; - -Writer.prototype._ensure = function(len) { - assert.ok(len); - - if (this._size - this._offset < len) { - var sz = this._size * this._options.growthFactor; - if (sz - this._offset < len) - sz += len; - - var buf = new Buffer(sz); - - this._buf.copy(buf, 0, 0, this._offset); - this._buf = buf; - this._size = sz; - } -}; - - - -///--- Exported API - -module.exports = Writer; http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/lib/index.js ---------------------------------------------------------------------- diff --git a/node_modules/asn1/lib/index.js b/node_modules/asn1/lib/index.js deleted file mode 100644 index d1766e7..0000000 --- a/node_modules/asn1/lib/index.js +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2011 Mark Cavage <mcav...@gmail.com> All rights reserved. - -// If you have no idea what ASN.1 or BER is, see this: -// ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc - -var Ber = require('./ber/index'); - - - -///--- Exported API - -module.exports = { - - Ber: Ber, - - BerReader: Ber.Reader, - - BerWriter: Ber.Writer - -}; http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/package.json ---------------------------------------------------------------------- diff --git a/node_modules/asn1/package.json b/node_modules/asn1/package.json deleted file mode 100644 index 375ab79..0000000 --- a/node_modules/asn1/package.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "asn1@~0.2.3", - "scope": null, - "escapedName": "asn1", - "name": "asn1", - "rawSpec": "~0.2.3", - "spec": ">=0.2.3 <0.3.0", - "type": "range" - }, - "/Users/yueguo/repo.site/incubator-griffin-site/node_modules/sshpk" - ] - ], - "_from": "asn1@>=0.2.3 <0.3.0", - "_id": "asn1@0.2.3", - "_inCache": true, - "_installable": true, - "_location": "/asn1", - "_npmUser": { - "name": "pfmooney", - "email": "patrick.f.moo...@gmail.com" - }, - "_npmVersion": "1.4.28", - "_phantomChildren": {}, - "_requested": { - "raw": "asn1@~0.2.3", - "scope": null, - "escapedName": "asn1", - "name": "asn1", - "rawSpec": "~0.2.3", - "spec": ">=0.2.3 <0.3.0", - "type": "range" - }, - "_requiredBy": [ - "/sshpk" - ], - "_resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "_shasum": "dac8787713c9966849fc8180777ebe9c1ddf3b86", - "_shrinkwrap": null, - "_spec": "asn1@~0.2.3", - "_where": "/Users/yueguo/repo.site/incubator-griffin-site/node_modules/sshpk", - "author": { - "name": "Mark Cavage", - "email": "mcav...@gmail.com" - }, - "bugs": { - "url": "https://github.com/mcavage/node-asn1/issues" - }, - "contributors": [ - { - "name": "David Gwynne", - "email": "l...@animata.net" - }, - { - "name": "Yunong Xiao", - "email": "yun...@joyent.com" - }, - { - "name": "Alex Wilson", - "email": "alex.wil...@joyent.com" - } - ], - "dependencies": {}, - "description": "Contains parsers and serializers for ASN.1 (currently BER only)", - "devDependencies": { - "tap": "0.4.8" - }, - "directories": {}, - "dist": { - "shasum": "dac8787713c9966849fc8180777ebe9c1ddf3b86", - "tarball": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" - }, - "homepage": "https://github.com/mcavage/node-asn1", - "license": "MIT", - "main": "lib/index.js", - "maintainers": [ - { - "name": "mcavage", - "email": "mcav...@gmail.com" - }, - { - "name": "pfmooney", - "email": "patrick.f.moo...@gmail.com" - } - ], - "name": "asn1", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/mcavage/node-asn1.git" - }, - "scripts": { - "test": "tap ./tst" - }, - "version": "0.2.3" -} http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/tst/ber/reader.test.js ---------------------------------------------------------------------- diff --git a/node_modules/asn1/tst/ber/reader.test.js b/node_modules/asn1/tst/ber/reader.test.js deleted file mode 100644 index 062fd7e..0000000 --- a/node_modules/asn1/tst/ber/reader.test.js +++ /dev/null @@ -1,208 +0,0 @@ -// Copyright 2011 Mark Cavage <mcav...@gmail.com> All rights reserved. - -var test = require('tap').test; - - - -///--- Globals - -var BerReader; - - - -///--- Tests - -test('load library', function(t) { - BerReader = require('../../lib/index').BerReader; - t.ok(BerReader); - try { - new BerReader(); - t.fail('Should have thrown'); - } catch (e) { - t.ok(e instanceof TypeError, 'Should have been a type error'); - } - t.end(); -}); - - -test('read byte', function(t) { - var reader = new BerReader(new Buffer([0xde])); - t.ok(reader); - t.equal(reader.readByte(), 0xde, 'wrong value'); - t.end(); -}); - - -test('read 1 byte int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x01, 0x03])); - t.ok(reader); - t.equal(reader.readInt(), 0x03, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read 2 byte int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x02, 0x7e, 0xde])); - t.ok(reader); - t.equal(reader.readInt(), 0x7ede, 'wrong value'); - t.equal(reader.length, 0x02, 'wrong length'); - t.end(); -}); - - -test('read 3 byte int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x03, 0x7e, 0xde, 0x03])); - t.ok(reader); - t.equal(reader.readInt(), 0x7ede03, 'wrong value'); - t.equal(reader.length, 0x03, 'wrong length'); - t.end(); -}); - - -test('read 4 byte int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x04, 0x7e, 0xde, 0x03, 0x01])); - t.ok(reader); - t.equal(reader.readInt(), 0x7ede0301, 'wrong value'); - t.equal(reader.length, 0x04, 'wrong length'); - t.end(); -}); - - -test('read 1 byte negative int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x01, 0xdc])); - t.ok(reader); - t.equal(reader.readInt(), -36, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read 2 byte negative int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x02, 0xc0, 0x4e])); - t.ok(reader); - t.equal(reader.readInt(), -16306, 'wrong value'); - t.equal(reader.length, 0x02, 'wrong length'); - t.end(); -}); - - -test('read 3 byte negative int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x03, 0xff, 0x00, 0x19])); - t.ok(reader); - t.equal(reader.readInt(), -65511, 'wrong value'); - t.equal(reader.length, 0x03, 'wrong length'); - t.end(); -}); - - -test('read 4 byte negative int', function(t) { - var reader = new BerReader(new Buffer([0x02, 0x04, 0x91, 0x7c, 0x22, 0x1f])); - t.ok(reader); - t.equal(reader.readInt(), -1854135777, 'wrong value'); - t.equal(reader.length, 0x04, 'wrong length'); - t.end(); -}); - - -test('read boolean true', function(t) { - var reader = new BerReader(new Buffer([0x01, 0x01, 0xff])); - t.ok(reader); - t.equal(reader.readBoolean(), true, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read boolean false', function(t) { - var reader = new BerReader(new Buffer([0x01, 0x01, 0x00])); - t.ok(reader); - t.equal(reader.readBoolean(), false, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read enumeration', function(t) { - var reader = new BerReader(new Buffer([0x0a, 0x01, 0x20])); - t.ok(reader); - t.equal(reader.readEnumeration(), 0x20, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('read string', function(t) { - var dn = 'cn=foo,ou=unit,o=test'; - var buf = new Buffer(dn.length + 2); - buf[0] = 0x04; - buf[1] = Buffer.byteLength(dn); - buf.write(dn, 2); - var reader = new BerReader(buf); - t.ok(reader); - t.equal(reader.readString(), dn, 'wrong value'); - t.equal(reader.length, dn.length, 'wrong length'); - t.end(); -}); - - -test('read sequence', function(t) { - var reader = new BerReader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff])); - t.ok(reader); - t.equal(reader.readSequence(), 0x30, 'wrong value'); - t.equal(reader.length, 0x03, 'wrong length'); - t.equal(reader.readBoolean(), true, 'wrong value'); - t.equal(reader.length, 0x01, 'wrong length'); - t.end(); -}); - - -test('anonymous LDAPv3 bind', function(t) { - var BIND = new Buffer(14); - BIND[0] = 0x30; // Sequence - BIND[1] = 12; // len - BIND[2] = 0x02; // ASN.1 Integer - BIND[3] = 1; // len - BIND[4] = 0x04; // msgid (make up 4) - BIND[5] = 0x60; // Bind Request - BIND[6] = 7; // len - BIND[7] = 0x02; // ASN.1 Integer - BIND[8] = 1; // len - BIND[9] = 0x03; // v3 - BIND[10] = 0x04; // String (bind dn) - BIND[11] = 0; // len - BIND[12] = 0x80; // ContextSpecific (choice) - BIND[13] = 0; // simple bind - - // Start testing ^^ - var ber = new BerReader(BIND); - t.equal(ber.readSequence(), 48, 'Not an ASN.1 Sequence'); - t.equal(ber.length, 12, 'Message length should be 12'); - t.equal(ber.readInt(), 4, 'Message id should have been 4'); - t.equal(ber.readSequence(), 96, 'Bind Request should have been 96'); - t.equal(ber.length, 7, 'Bind length should have been 7'); - t.equal(ber.readInt(), 3, 'LDAP version should have been 3'); - t.equal(ber.readString(), '', 'Bind DN should have been empty'); - t.equal(ber.length, 0, 'string length should have been 0'); - t.equal(ber.readByte(), 0x80, 'Should have been ContextSpecific (choice)'); - t.equal(ber.readByte(), 0, 'Should have been simple bind'); - t.equal(null, ber.readByte(), 'Should be out of data'); - t.end(); -}); - - -test('long string', function(t) { - var buf = new Buffer(256); - var o; - var s = - '2;649;CN=Red Hat CS 71GA Demo,O=Red Hat CS 71GA Demo,C=US;' + - 'CN=RHCS Agent - admin01,UID=admin01,O=redhat,C=US [1] This is ' + - 'Teena Vradmin\'s description.'; - buf[0] = 0x04; - buf[1] = 0x81; - buf[2] = 0x94; - buf.write(s, 3); - var ber = new BerReader(buf.slice(0, 3 + s.length)); - t.equal(ber.readString(), s); - t.end(); -}); http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/asn1/tst/ber/writer.test.js ---------------------------------------------------------------------- diff --git a/node_modules/asn1/tst/ber/writer.test.js b/node_modules/asn1/tst/ber/writer.test.js deleted file mode 100644 index d87cb7b..0000000 --- a/node_modules/asn1/tst/ber/writer.test.js +++ /dev/null @@ -1,370 +0,0 @@ -// Copyright 2011 Mark Cavage <mcav...@gmail.com> All rights reserved. - -var test = require('tap').test; -var sys = require('sys'); - -///--- Globals - -var BerWriter; - -var BerReader; - - -///--- Tests - -test('load library', function(t) { - BerWriter = require('../../lib/index').BerWriter; - t.ok(BerWriter); - t.ok(new BerWriter()); - t.end(); -}); - - -test('write byte', function(t) { - var writer = new BerWriter(); - - writer.writeByte(0xC2); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 1, 'Wrong length'); - t.equal(ber[0], 0xC2, 'value wrong'); - - t.end(); -}); - - -test('write 1 byte int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(0x7f); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 3, 'Wrong length for an int: ' + ber.length); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong (2) -> ' + ber[0]); - t.equal(ber[1], 0x01, 'length wrong(1) -> ' + ber[1]); - t.equal(ber[2], 0x7f, 'value wrong(3) -> ' + ber[2]); - - t.end(); -}); - - -test('write 2 byte int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(0x7ffe); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 4, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x02, 'length wrong'); - t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); - t.equal(ber[3], 0xfe, 'value wrong (byte 2)'); - - t.end(); -}); - - -test('write 3 byte int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(0x7ffffe); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 5, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x03, 'length wrong'); - t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); - t.equal(ber[3], 0xff, 'value wrong (byte 2)'); - t.equal(ber[4], 0xfe, 'value wrong (byte 3)'); - - t.end(); -}); - - -test('write 4 byte int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(0x7ffffffe); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 6, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x04, 'length wrong'); - t.equal(ber[2], 0x7f, 'value wrong (byte 1)'); - t.equal(ber[3], 0xff, 'value wrong (byte 2)'); - t.equal(ber[4], 0xff, 'value wrong (byte 3)'); - t.equal(ber[5], 0xfe, 'value wrong (byte 4)'); - - t.end(); -}); - - -test('write 1 byte negative int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(-128); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 3, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x01, 'length wrong'); - t.equal(ber[2], 0x80, 'value wrong (byte 1)'); - - t.end(); -}); - - -test('write 2 byte negative int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(-22400); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 4, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x02, 'length wrong'); - t.equal(ber[2], 0xa8, 'value wrong (byte 1)'); - t.equal(ber[3], 0x80, 'value wrong (byte 2)'); - - t.end(); -}); - - -test('write 3 byte negative int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(-481653); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 5, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x03, 'length wrong'); - t.equal(ber[2], 0xf8, 'value wrong (byte 1)'); - t.equal(ber[3], 0xa6, 'value wrong (byte 2)'); - t.equal(ber[4], 0x8b, 'value wrong (byte 3)'); - - t.end(); -}); - - -test('write 4 byte negative int', function(t) { - var writer = new BerWriter(); - - writer.writeInt(-1522904131); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 6, 'Wrong length for an int'); - t.equal(ber[0], 0x02, 'ASN.1 tag wrong'); - t.equal(ber[1], 0x04, 'length wrong'); - t.equal(ber[2], 0xa5, 'value wrong (byte 1)'); - t.equal(ber[3], 0x3a, 'value wrong (byte 2)'); - t.equal(ber[4], 0x53, 'value wrong (byte 3)'); - t.equal(ber[5], 0xbd, 'value wrong (byte 4)'); - - t.end(); -}); - - -test('write boolean', function(t) { - var writer = new BerWriter(); - - writer.writeBoolean(true); - writer.writeBoolean(false); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 6, 'Wrong length'); - t.equal(ber[0], 0x01, 'tag wrong'); - t.equal(ber[1], 0x01, 'length wrong'); - t.equal(ber[2], 0xff, 'value wrong'); - t.equal(ber[3], 0x01, 'tag wrong'); - t.equal(ber[4], 0x01, 'length wrong'); - t.equal(ber[5], 0x00, 'value wrong'); - - t.end(); -}); - - -test('write string', function(t) { - var writer = new BerWriter(); - writer.writeString('hello world'); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 13, 'wrong length'); - t.equal(ber[0], 0x04, 'wrong tag'); - t.equal(ber[1], 11, 'wrong length'); - t.equal(ber.slice(2).toString('utf8'), 'hello world', 'wrong value'); - - t.end(); -}); - -test('write buffer', function(t) { - var writer = new BerWriter(); - // write some stuff to start with - writer.writeString('hello world'); - var ber = writer.buffer; - var buf = new Buffer([0x04, 0x0b, 0x30, 0x09, 0x02, 0x01, 0x0f, 0x01, 0x01, - 0xff, 0x01, 0x01, 0xff]); - writer.writeBuffer(buf.slice(2, buf.length), 0x04); - ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 26, 'wrong length'); - t.equal(ber[0], 0x04, 'wrong tag'); - t.equal(ber[1], 11, 'wrong length'); - t.equal(ber.slice(2, 13).toString('utf8'), 'hello world', 'wrong value'); - t.equal(ber[13], buf[0], 'wrong tag'); - t.equal(ber[14], buf[1], 'wrong length'); - for (var i = 13, j = 0; i < ber.length && j < buf.length; i++, j++) { - t.equal(ber[i], buf[j], 'buffer contents not identical'); - } - t.end(); -}); - -test('write string array', function(t) { - var writer = new BerWriter(); - writer.writeStringArray(['hello world', 'fubar!']); - var ber = writer.buffer; - - t.ok(ber); - - t.equal(ber.length, 21, 'wrong length'); - t.equal(ber[0], 0x04, 'wrong tag'); - t.equal(ber[1], 11, 'wrong length'); - t.equal(ber.slice(2, 13).toString('utf8'), 'hello world', 'wrong value'); - - t.equal(ber[13], 0x04, 'wrong tag'); - t.equal(ber[14], 6, 'wrong length'); - t.equal(ber.slice(15).toString('utf8'), 'fubar!', 'wrong value'); - - t.end(); -}); - - -test('resize internal buffer', function(t) { - var writer = new BerWriter({size: 2}); - writer.writeString('hello world'); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 13, 'wrong length'); - t.equal(ber[0], 0x04, 'wrong tag'); - t.equal(ber[1], 11, 'wrong length'); - t.equal(ber.slice(2).toString('utf8'), 'hello world', 'wrong value'); - - t.end(); -}); - - -test('sequence', function(t) { - var writer = new BerWriter({size: 25}); - writer.startSequence(); - writer.writeString('hello world'); - writer.endSequence(); - var ber = writer.buffer; - - t.ok(ber); - console.log(ber); - t.equal(ber.length, 15, 'wrong length'); - t.equal(ber[0], 0x30, 'wrong tag'); - t.equal(ber[1], 13, 'wrong length'); - t.equal(ber[2], 0x04, 'wrong tag'); - t.equal(ber[3], 11, 'wrong length'); - t.equal(ber.slice(4).toString('utf8'), 'hello world', 'wrong value'); - - t.end(); -}); - - -test('nested sequence', function(t) { - var writer = new BerWriter({size: 25}); - writer.startSequence(); - writer.writeString('hello world'); - writer.startSequence(); - writer.writeString('hello world'); - writer.endSequence(); - writer.endSequence(); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 30, 'wrong length'); - t.equal(ber[0], 0x30, 'wrong tag'); - t.equal(ber[1], 28, 'wrong length'); - t.equal(ber[2], 0x04, 'wrong tag'); - t.equal(ber[3], 11, 'wrong length'); - t.equal(ber.slice(4, 15).toString('utf8'), 'hello world', 'wrong value'); - t.equal(ber[15], 0x30, 'wrong tag'); - t.equal(ber[16], 13, 'wrong length'); - t.equal(ber[17], 0x04, 'wrong tag'); - t.equal(ber[18], 11, 'wrong length'); - t.equal(ber.slice(19, 30).toString('utf8'), 'hello world', 'wrong value'); - - t.end(); -}); - - -test('LDAP bind message', function(t) { - var dn = 'cn=foo,ou=unit,o=test'; - var writer = new BerWriter(); - writer.startSequence(); - writer.writeInt(3); // msgid = 3 - writer.startSequence(0x60); // ldap bind - writer.writeInt(3); // ldap v3 - writer.writeString(dn); - writer.writeByte(0x80); - writer.writeByte(0x00); - writer.endSequence(); - writer.endSequence(); - var ber = writer.buffer; - - t.ok(ber); - t.equal(ber.length, 35, 'wrong length (buffer)'); - t.equal(ber[0], 0x30, 'wrong tag'); - t.equal(ber[1], 33, 'wrong length'); - t.equal(ber[2], 0x02, 'wrong tag'); - t.equal(ber[3], 1, 'wrong length'); - t.equal(ber[4], 0x03, 'wrong value'); - t.equal(ber[5], 0x60, 'wrong tag'); - t.equal(ber[6], 28, 'wrong length'); - t.equal(ber[7], 0x02, 'wrong tag'); - t.equal(ber[8], 1, 'wrong length'); - t.equal(ber[9], 0x03, 'wrong value'); - t.equal(ber[10], 0x04, 'wrong tag'); - t.equal(ber[11], dn.length, 'wrong length'); - t.equal(ber.slice(12, 33).toString('utf8'), dn, 'wrong value'); - t.equal(ber[33], 0x80, 'wrong tag'); - t.equal(ber[34], 0x00, 'wrong len'); - - t.end(); -}); - - -test('Write OID', function(t) { - var oid = '1.2.840.113549.1.1.1'; - var writer = new BerWriter(); - writer.writeOID(oid); - - var ber = writer.buffer; - t.ok(ber); - console.log(require('util').inspect(ber)); - console.log(require('util').inspect(new Buffer([0x06, 0x09, 0x2a, 0x86, - 0x48, 0x86, 0xf7, 0x0d, - 0x01, 0x01, 0x01]))); - - t.end(); -}); http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/assert-plus/AUTHORS ---------------------------------------------------------------------- diff --git a/node_modules/assert-plus/AUTHORS b/node_modules/assert-plus/AUTHORS deleted file mode 100644 index 1923524..0000000 --- a/node_modules/assert-plus/AUTHORS +++ /dev/null @@ -1,6 +0,0 @@ -Dave Eddy <d...@daveeddy.com> -Fred Kuo <fred....@joyent.com> -Lars-Magnus Skog <ralphtheni...@riseup.net> -Mark Cavage <mcav...@gmail.com> -Patrick Mooney <pmoo...@pfmooney.com> -Rob Gulewich <robert.gulew...@joyent.com> http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/assert-plus/CHANGES.md ---------------------------------------------------------------------- diff --git a/node_modules/assert-plus/CHANGES.md b/node_modules/assert-plus/CHANGES.md deleted file mode 100644 index d249d9b..0000000 --- a/node_modules/assert-plus/CHANGES.md +++ /dev/null @@ -1,8 +0,0 @@ -# assert-plus Changelog - -## 0.2.0 - -- Fix `assert.object(null)` so it throws -- Fix optional/arrayOf exports for non-type-of asserts -- Add optiona/arrayOf exports for Stream/Date/Regex/uuid -- Add basic unit test coverage http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/assert-plus/README.md ---------------------------------------------------------------------- diff --git a/node_modules/assert-plus/README.md b/node_modules/assert-plus/README.md deleted file mode 100644 index 0b39593..0000000 --- a/node_modules/assert-plus/README.md +++ /dev/null @@ -1,155 +0,0 @@ -# assert-plus - -This library is a super small wrapper over node's assert module that has two -things: (1) the ability to disable assertions with the environment variable -NODE\_NDEBUG, and (2) some API wrappers for argument testing. Like -`assert.string(myArg, 'myArg')`. As a simple example, most of my code looks -like this: - -```javascript - var assert = require('assert-plus'); - - function fooAccount(options, callback) { - assert.object(options, 'options'); - assert.number(options.id, 'options.id'); - assert.bool(options.isManager, 'options.isManager'); - assert.string(options.name, 'options.name'); - assert.arrayOfString(options.email, 'options.email'); - assert.func(callback, 'callback'); - - // Do stuff - callback(null, {}); - } -``` - -# API - -All methods that *aren't* part of node's core assert API are simply assumed to -take an argument, and then a string 'name' that's not a message; `AssertionError` -will be thrown if the assertion fails with a message like: - - AssertionError: foo (string) is required - at test (/home/mark/work/foo/foo.js:3:9) - at Object.<anonymous> (/home/mark/work/foo/foo.js:15:1) - at Module._compile (module.js:446:26) - at Object..js (module.js:464:10) - at Module.load (module.js:353:31) - at Function._load (module.js:311:12) - at Array.0 (module.js:484:10) - at EventEmitter._tickCallback (node.js:190:38) - -from: - -```javascript - function test(foo) { - assert.string(foo, 'foo'); - } -``` - -There you go. You can check that arrays are of a homogeneous type with `Arrayof$Type`: - -```javascript - function test(foo) { - assert.arrayOfString(foo, 'foo'); - } -``` - -You can assert IFF an argument is not `undefined` (i.e., an optional arg): - -```javascript - assert.optionalString(foo, 'foo'); -``` - -Lastly, you can opt-out of assertion checking altogether by setting the -environment variable `NODE_NDEBUG=1`. This is pseudo-useful if you have -lots of assertions, and don't want to pay `typeof ()` taxes to v8 in -production. Be advised: The standard functions re-exported from `assert` are -also disabled in assert-plus if NDEBUG is specified. Using them directly from -the `assert` module avoids this behavior. - -The complete list of APIs is: - -* assert.array -* assert.bool -* assert.buffer -* assert.func -* assert.number -* assert.object -* assert.string -* assert.stream -* assert.date -* assert.regex -* assert.uuid -* assert.arrayOfArray -* assert.arrayOfBool -* assert.arrayOfBuffer -* assert.arrayOfFunc -* assert.arrayOfNumber -* assert.arrayOfObject -* assert.arrayOfString -* assert.arrayOfStream -* assert.arrayOfDate -* assert.arrayOfUuid -* assert.optionalArray -* assert.optionalBool -* assert.optionalBuffer -* assert.optionalFunc -* assert.optionalNumber -* assert.optionalObject -* assert.optionalString -* assert.optionalStream -* assert.optionalDate -* assert.optionalUuid -* assert.optionalArrayOfArray -* assert.optionalArrayOfBool -* assert.optionalArrayOfBuffer -* assert.optionalArrayOfFunc -* assert.optionalArrayOfNumber -* assert.optionalArrayOfObject -* assert.optionalArrayOfString -* assert.optionalArrayOfStream -* assert.optionalArrayOfDate -* assert.optionalArrayOfUuid -* assert.AssertionError -* assert.fail -* assert.ok -* assert.equal -* assert.notEqual -* assert.deepEqual -* assert.notDeepEqual -* assert.strictEqual -* assert.notStrictEqual -* assert.throws -* assert.doesNotThrow -* assert.ifError - -# Installation - - npm install assert-plus - -## License - -The MIT License (MIT) -Copyright (c) 2012 Mark Cavage - -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. - -## Bugs - -See <https://github.com/mcavage/node-assert-plus/issues>. http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/assert-plus/assert.js ---------------------------------------------------------------------- diff --git a/node_modules/assert-plus/assert.js b/node_modules/assert-plus/assert.js deleted file mode 100644 index 6bce4d8..0000000 --- a/node_modules/assert-plus/assert.js +++ /dev/null @@ -1,206 +0,0 @@ -// Copyright (c) 2012, Mark Cavage. All rights reserved. -// Copyright 2015 Joyent, Inc. - -var assert = require('assert'); -var Stream = require('stream').Stream; -var util = require('util'); - - -///--- Globals - -/* JSSTYLED */ -var UUID_REGEXP = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/; - - -///--- Internal - -function _capitalize(str) { - return (str.charAt(0).toUpperCase() + str.slice(1)); -} - -function _toss(name, expected, oper, arg, actual) { - throw new assert.AssertionError({ - message: util.format('%s (%s) is required', name, expected), - actual: (actual === undefined) ? typeof (arg) : actual(arg), - expected: expected, - operator: oper || '===', - stackStartFunction: _toss.caller - }); -} - -function _getClass(arg) { - return (Object.prototype.toString.call(arg).slice(8, -1)); -} - -function noop() { - // Why even bother with asserts? -} - - -///--- Exports - -var types = { - bool: { - check: function (arg) { return typeof (arg) === 'boolean'; } - }, - func: { - check: function (arg) { return typeof (arg) === 'function'; } - }, - string: { - check: function (arg) { return typeof (arg) === 'string'; } - }, - object: { - check: function (arg) { - return typeof (arg) === 'object' && arg !== null; - } - }, - number: { - check: function (arg) { - return typeof (arg) === 'number' && !isNaN(arg) && isFinite(arg); - } - }, - buffer: { - check: function (arg) { return Buffer.isBuffer(arg); }, - operator: 'Buffer.isBuffer' - }, - array: { - check: function (arg) { return Array.isArray(arg); }, - operator: 'Array.isArray' - }, - stream: { - check: function (arg) { return arg instanceof Stream; }, - operator: 'instanceof', - actual: _getClass - }, - date: { - check: function (arg) { return arg instanceof Date; }, - operator: 'instanceof', - actual: _getClass - }, - regexp: { - check: function (arg) { return arg instanceof RegExp; }, - operator: 'instanceof', - actual: _getClass - }, - uuid: { - check: function (arg) { - return typeof (arg) === 'string' && UUID_REGEXP.test(arg); - }, - operator: 'isUUID' - } -}; - -function _setExports(ndebug) { - var keys = Object.keys(types); - var out; - - /* re-export standard assert */ - if (process.env.NODE_NDEBUG) { - out = noop; - } else { - out = function (arg, msg) { - if (!arg) { - _toss(msg, 'true', arg); - } - }; - } - - /* standard checks */ - keys.forEach(function (k) { - if (ndebug) { - out[k] = noop; - return; - } - var type = types[k]; - out[k] = function (arg, msg) { - if (!type.check(arg)) { - _toss(msg, k, type.operator, arg, type.actual); - } - }; - }); - - /* optional checks */ - keys.forEach(function (k) { - var name = 'optional' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - out[name] = function (arg, msg) { - if (arg === undefined || arg === null) { - return; - } - if (!type.check(arg)) { - _toss(msg, k, type.operator, arg, type.actual); - } - }; - }); - - /* arrayOf checks */ - keys.forEach(function (k) { - var name = 'arrayOf' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - var expected = '[' + k + ']'; - out[name] = function (arg, msg) { - if (!Array.isArray(arg)) { - _toss(msg, expected, type.operator, arg, type.actual); - } - var i; - for (i = 0; i < arg.length; i++) { - if (!type.check(arg[i])) { - _toss(msg, expected, type.operator, arg, type.actual); - } - } - }; - }); - - /* optionalArrayOf checks */ - keys.forEach(function (k) { - var name = 'optionalArrayOf' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - var expected = '[' + k + ']'; - out[name] = function (arg, msg) { - if (arg === undefined || arg === null) { - return; - } - if (!Array.isArray(arg)) { - _toss(msg, expected, type.operator, arg, type.actual); - } - var i; - for (i = 0; i < arg.length; i++) { - if (!type.check(arg[i])) { - _toss(msg, expected, type.operator, arg, type.actual); - } - } - }; - }); - - /* re-export built-in assertions */ - Object.keys(assert).forEach(function (k) { - if (k === 'AssertionError') { - out[k] = assert[k]; - return; - } - if (ndebug) { - out[k] = noop; - return; - } - out[k] = assert[k]; - }); - - /* export ourselves (for unit tests _only_) */ - out._setExports = _setExports; - - return out; -} - -module.exports = _setExports(process.env.NODE_NDEBUG); http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/assert-plus/package.json ---------------------------------------------------------------------- diff --git a/node_modules/assert-plus/package.json b/node_modules/assert-plus/package.json deleted file mode 100644 index ca31c12..0000000 --- a/node_modules/assert-plus/package.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "assert-plus@^0.2.0", - "scope": null, - "escapedName": "assert-plus", - "name": "assert-plus", - "rawSpec": "^0.2.0", - "spec": ">=0.2.0 <0.3.0", - "type": "range" - }, - "/Users/yueguo/repo.site/incubator-griffin-site/node_modules/http-signature" - ] - ], - "_from": "assert-plus@>=0.2.0 <0.3.0", - "_id": "assert-plus@0.2.0", - "_inCache": true, - "_installable": true, - "_location": "/assert-plus", - "_nodeVersion": "0.10.36", - "_npmUser": { - "name": "pfmooney", - "email": "patrick.f.moo...@gmail.com" - }, - "_npmVersion": "3.3.8", - "_phantomChildren": {}, - "_requested": { - "raw": "assert-plus@^0.2.0", - "scope": null, - "escapedName": "assert-plus", - "name": "assert-plus", - "rawSpec": "^0.2.0", - "spec": ">=0.2.0 <0.3.0", - "type": "range" - }, - "_requiredBy": [ - "/http-signature" - ], - "_resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "_shasum": "d74e1b87e7affc0db8aadb7021f3fe48101ab234", - "_shrinkwrap": null, - "_spec": "assert-plus@^0.2.0", - "_where": "/Users/yueguo/repo.site/incubator-griffin-site/node_modules/http-signature", - "author": { - "name": "Mark Cavage", - "email": "mcav...@gmail.com" - }, - "bugs": { - "url": "https://github.com/mcavage/node-assert-plus/issues" - }, - "contributors": [ - { - "name": "Dave Eddy", - "email": "d...@daveeddy.com" - }, - { - "name": "Fred Kuo", - "email": "fred....@joyent.com" - }, - { - "name": "Lars-Magnus Skog", - "email": "ralphtheni...@riseup.net" - }, - { - "name": "Mark Cavage", - "email": "mcav...@gmail.com" - }, - { - "name": "Patrick Mooney", - "email": "pmoo...@pfmooney.com" - }, - { - "name": "Rob Gulewich", - "email": "robert.gulew...@joyent.com" - } - ], - "dependencies": {}, - "description": "Extra assertions on top of node's assert module", - "devDependencies": { - "faucet": "0.0.1", - "tape": "4.2.2" - }, - "directories": {}, - "dist": { - "shasum": "d74e1b87e7affc0db8aadb7021f3fe48101ab234", - "tarball": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" - }, - "engines": { - "node": ">=0.8" - }, - "homepage": "https://github.com/mcavage/node-assert-plus#readme", - "license": "MIT", - "main": "./assert.js", - "maintainers": [ - { - "name": "mcavage", - "email": "mcav...@gmail.com" - }, - { - "name": "pfmooney", - "email": "patrick.f.moo...@gmail.com" - } - ], - "name": "assert-plus", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git+https://github.com/mcavage/node-assert-plus.git" - }, - "scripts": { - "test": "tape tests/*.js | ./node_modules/.bin/faucet" - }, - "version": "0.2.0" -} http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/async-each/.npmignore ---------------------------------------------------------------------- diff --git a/node_modules/async-each/.npmignore b/node_modules/async-each/.npmignore deleted file mode 100644 index 3887b2b..0000000 --- a/node_modules/async-each/.npmignore +++ /dev/null @@ -1,3 +0,0 @@ -bower.json -component.json -CHANGELOG.md http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/async-each/CHANGELOG.md ---------------------------------------------------------------------- diff --git a/node_modules/async-each/CHANGELOG.md b/node_modules/async-each/CHANGELOG.md deleted file mode 100644 index bee2548..0000000 --- a/node_modules/async-each/CHANGELOG.md +++ /dev/null @@ -1,23 +0,0 @@ -# async-each 1.0.0 (26 November 2015) -* Bumped version to 1.0.0 (no functional changes) - -# async-each 0.1.6 (5 November 2014) -* Add license to package.json - -# async-each 0.1.5 (22 October 2014) -* Clean up package.json to fix npm warning about `repo` - -# async-each 0.1.4 (12 November 2013) -* Fixed AMD definition. - -# async-each 0.1.3 (25 July 2013) -* Fixed double wrapping of errors. - -# async-each 0.1.2 (7 July 2013) -* Fixed behaviour on empty arrays. - -# async-each 0.1.1 (14 June 2013) -* Wrapped function in closure, enabled strict mode. - -# async-each 0.1.0 (14 June 2013) -* Initial release. http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/async-each/README.md ---------------------------------------------------------------------- diff --git a/node_modules/async-each/README.md b/node_modules/async-each/README.md deleted file mode 100644 index a79cbd7..0000000 --- a/node_modules/async-each/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# async-each - -No-bullshit, ultra-simple, 35-lines-of-code async parallel forEach function for JavaScript. - -We don't need junky 30K async libs. Really. - -For browsers and node.js. - -## Installation -* Just include async-each before your scripts. -* `npm install async-each` if youâre using node.js. -* `bower install async-each` if youâre using [Bower](http://bower.io). - -## Usage - -* `each(array, iterator, callback);` â `Array`, `Function`, `(optional) Function` -* `iterator(item, next)` receives current item and a callback that will mark the item as done. `next` callback receives optional `error, transformedItem` arguments. -* `callback(error, transformedArray)` optionally receives first error and transformed result `Array`. - -Node.js: - -```javascript -var each = require('async-each'); -each(['a.js', 'b.js', 'c.js'], fs.readFile, function(error, contents) { - if (error) console.error(error); - console.log('Contents for a, b and c:', contents); -}); -``` - -Browser: - -```javascript -window.asyncEach(list, fn, callback); -``` - -## License - -[The MIT License](https://raw.githubusercontent.com/paulmillr/mit/master/README.md) http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/async-each/index.js ---------------------------------------------------------------------- diff --git a/node_modules/async-each/index.js b/node_modules/async-each/index.js deleted file mode 100644 index 1c51c95..0000000 --- a/node_modules/async-each/index.js +++ /dev/null @@ -1,38 +0,0 @@ -// async-each MIT license (by Paul Miller from http://paulmillr.com). -(function(globals) { - 'use strict'; - var each = function(items, next, callback) { - if (!Array.isArray(items)) throw new TypeError('each() expects array as first argument'); - if (typeof next !== 'function') throw new TypeError('each() expects function as second argument'); - if (typeof callback !== 'function') callback = Function.prototype; // no-op - - if (items.length === 0) return callback(undefined, items); - - var transformed = new Array(items.length); - var count = 0; - var returned = false; - - items.forEach(function(item, index) { - next(item, function(error, transformedItem) { - if (returned) return; - if (error) { - returned = true; - return callback(error); - } - transformed[index] = transformedItem; - count += 1; - if (count === items.length) return callback(undefined, transformed); - }); - }); - }; - - if (typeof define !== 'undefined' && define.amd) { - define([], function() { - return each; - }); // RequireJS - } else if (typeof module !== 'undefined' && module.exports) { - module.exports = each; // CommonJS - } else { - globals.asyncEach = each; // <script> - } -})(this); http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/async-each/package.json ---------------------------------------------------------------------- diff --git a/node_modules/async-each/package.json b/node_modules/async-each/package.json deleted file mode 100644 index 4747ae4..0000000 --- a/node_modules/async-each/package.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "_args": [ - [ - { - "raw": "async-each@^1.0.0", - "scope": null, - "escapedName": "async-each", - "name": "async-each", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "/Users/yueguo/repo.site/incubator-griffin-site/node_modules/chokidar" - ] - ], - "_from": "async-each@>=1.0.0 <2.0.0", - "_id": "async-each@1.0.1", - "_inCache": true, - "_installable": true, - "_location": "/async-each", - "_nodeVersion": "6.3.0", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/async-each-1.0.1.tgz_1472080935649_0.032988218357786536" - }, - "_npmUser": { - "name": "paulmillr", - "email": "p...@paulmillr.com" - }, - "_npmVersion": "3.10.3", - "_phantomChildren": {}, - "_requested": { - "raw": "async-each@^1.0.0", - "scope": null, - "escapedName": "async-each", - "name": "async-each", - "rawSpec": "^1.0.0", - "spec": ">=1.0.0 <2.0.0", - "type": "range" - }, - "_requiredBy": [ - "/chokidar" - ], - "_resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "_shasum": "19d386a1d9edc6e7c1c85d388aedbcc56d33602d", - "_shrinkwrap": null, - "_spec": "async-each@^1.0.0", - "_where": "/Users/yueguo/repo.site/incubator-griffin-site/node_modules/chokidar", - "author": { - "name": "Paul Miller", - "url": "http://paulmillr.com/" - }, - "bugs": { - "url": "https://github.com/paulmillr/async-each/issues" - }, - "dependencies": {}, - "description": "No-bullshit, ultra-simple, 35-lines-of-code async parallel forEach / map function for JavaScript.", - "devDependencies": {}, - "directories": {}, - "dist": { - "shasum": "19d386a1d9edc6e7c1c85d388aedbcc56d33602d", - "tarball": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz" - }, - "gitHead": "f2342d85633d0dc1034a49387ca01c08c1189823", - "homepage": "https://github.com/paulmillr/async-each/", - "keywords": [ - "async", - "forEach", - "each", - "map", - "asynchronous", - "iteration", - "iterate", - "loop", - "parallel", - "concurrent", - "array", - "flow", - "control flow" - ], - "license": "MIT", - "main": "index.js", - "maintainers": [ - { - "name": "paulmillr", - "email": "p...@paulmillr.com" - }, - { - "name": "es128", - "email": "elan.shanker+...@gmail.com" - } - ], - "name": "async-each", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/paulmillr/async-each.git" - }, - "scripts": {}, - "version": "1.0.1" -} http://git-wip-us.apache.org/repos/asf/incubator-griffin-site/blob/ca1c37a7/node_modules/async/LICENSE ---------------------------------------------------------------------- diff --git a/node_modules/async/LICENSE b/node_modules/async/LICENSE deleted file mode 100644 index b7f9d50..0000000 --- a/node_modules/async/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2010 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.