Merge remote-tracking branch 'origin/developer' into developer
This commit is contained in:
commit
ae4203ccf9
@ -7,8 +7,9 @@ const MessageSchema = mongoose.Schema({
|
|||||||
subject: { type: String, required: true },
|
subject: { type: String, required: true },
|
||||||
message: { type: String, required: true },
|
message: { type: String, required: true },
|
||||||
user: { type: String, required: true },
|
user: { type: String, required: true },
|
||||||
tag: [{type: String, index: true }],
|
tag: [{type: String }],
|
||||||
//createtime: { type: Date, default: Date.now },
|
//createtime: { type: Date, default: Date.now },
|
||||||
});
|
});
|
||||||
|
MessageSchema.index({tag:'text'});
|
||||||
|
|
||||||
module.exports = mongoose.model('Message', MessageSchema);
|
module.exports = mongoose.model('Message', MessageSchema);
|
||||||
|
84
mong.js
Normal file
84
mong.js
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
db = db.getSiblingDB('omdb')
|
||||||
|
|
||||||
|
print(db.getCollectionNames())
|
||||||
|
db.messages.insert(
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"subject": "DOLORE LABORIS AUTE",
|
||||||
|
"message": "Ex sunt elit elit in ex ad labore minim. Elit amet irure sit aliquip excepteur sit qui et aute qui mollit cillum.",
|
||||||
|
"user": "Jaime Potter",
|
||||||
|
"tag": [
|
||||||
|
"sit",
|
||||||
|
"in",
|
||||||
|
"dolore",
|
||||||
|
"ullamco"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"subject": "NON IPSUM MOLLIT",
|
||||||
|
"message": "Ut laborum proident magna magna qui non in voluptate reprehenderit labore. Qui consectetur dolor nisi culpa cillum quis.",
|
||||||
|
"user": "Goff Durham",
|
||||||
|
"tag": [
|
||||||
|
"aliqua",
|
||||||
|
"sunt",
|
||||||
|
"labore",
|
||||||
|
"minim"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"subject": "ESSE IPSUM INCIDIDUNT",
|
||||||
|
"message": "Esse enim amet laboris proident do do ut cupidatat laborum ex. Sit esse id laborum aliqua id.",
|
||||||
|
"user": "Helena Mercado",
|
||||||
|
"tag": [
|
||||||
|
"fugiat",
|
||||||
|
"nisi",
|
||||||
|
"incididunt",
|
||||||
|
"ullamco"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"subject": "PARIATUR DOLOR SUNT",
|
||||||
|
"message": "Exercitation officia ad consequat est voluptate est incididunt ut culpa consectetur. Consectetur irure veniam ipsum sint sit anim minim aute exercitation ullamco nostrud reprehenderit consequat.",
|
||||||
|
"user": "Christi Walker",
|
||||||
|
"tag": [
|
||||||
|
"consectetur",
|
||||||
|
"sint",
|
||||||
|
"qui",
|
||||||
|
"ipsum"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"subject": "TEMPOR ID VOLUPTATE",
|
||||||
|
"message": "Anim ex commodo officia consequat in magna esse sunt mollit sunt commodo. Ex sit aute reprehenderit elit magna sunt irure pariatur cupidatat labore.",
|
||||||
|
"user": "Kent Schroeder",
|
||||||
|
"tag": [
|
||||||
|
"adipisicing",
|
||||||
|
"nulla",
|
||||||
|
"tempor",
|
||||||
|
"veniam"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"subject": "LOREM EST AUTE",
|
||||||
|
"message": "Irure excepteur laborum quis tempor officia cillum officia est ea adipisicing duis enim aliqua. Est dolor laborum officia elit ullamco.",
|
||||||
|
"user": "Dominguez Stevens",
|
||||||
|
"tag": [
|
||||||
|
"mollit",
|
||||||
|
"amet",
|
||||||
|
"consectetur",
|
||||||
|
"dolore"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"subject": "ESSE MOLLIT CILLUM",
|
||||||
|
"message": "Eu culpa laborum consequat sunt aliqua excepteur. Voluptate pariatur deserunt consequat id nostrud do magna occaecat sint nulla non nostrud.",
|
||||||
|
"user": "Terrell Padilla",
|
||||||
|
"tag": [
|
||||||
|
"Lorem",
|
||||||
|
"consequat",
|
||||||
|
"fugiat",
|
||||||
|
"aliqua"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
)
|
1
node_modules/.bin/bunyan
generated
vendored
Symbolic link
1
node_modules/.bin/bunyan
generated
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../bunyan/bin/bunyan
|
1
node_modules/.bin/ldapjs-add
generated
vendored
Symbolic link
1
node_modules/.bin/ldapjs-add
generated
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../ldapjs/bin/ldapjs-add
|
1
node_modules/.bin/ldapjs-compare
generated
vendored
Symbolic link
1
node_modules/.bin/ldapjs-compare
generated
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../ldapjs/bin/ldapjs-compare
|
1
node_modules/.bin/ldapjs-delete
generated
vendored
Symbolic link
1
node_modules/.bin/ldapjs-delete
generated
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../ldapjs/bin/ldapjs-delete
|
1
node_modules/.bin/ldapjs-modify
generated
vendored
Symbolic link
1
node_modules/.bin/ldapjs-modify
generated
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../ldapjs/bin/ldapjs-modify
|
1
node_modules/.bin/ldapjs-search
generated
vendored
Symbolic link
1
node_modules/.bin/ldapjs-search
generated
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../ldapjs/bin/ldapjs-search
|
1
node_modules/.bin/ncp
generated
vendored
Symbolic link
1
node_modules/.bin/ncp
generated
vendored
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../ncp/bin/ncp
|
9
node_modules/ansi-escapes/index.js
generated
vendored
9
node_modules/ansi-escapes/index.js
generated
vendored
@ -78,6 +78,15 @@ x.scrollUp = ESC + 'S';
|
|||||||
x.scrollDown = ESC + 'T';
|
x.scrollDown = ESC + 'T';
|
||||||
|
|
||||||
x.clearScreen = '\u001Bc';
|
x.clearScreen = '\u001Bc';
|
||||||
|
|
||||||
|
x.clearTerminal = process.platform === 'win32' ?
|
||||||
|
`${x.eraseScreen}${ESC}0f` :
|
||||||
|
// 1. Erases the screen (Only done in case `2` is not supported)
|
||||||
|
// 2. Erases the whole screen including scrollback buffer
|
||||||
|
// 3. Moves cursor to the top-left position
|
||||||
|
// More info: https://www.real-world-systems.com/docs/ANSIcode.html
|
||||||
|
`${x.eraseScreen}${ESC}3J${ESC}H`;
|
||||||
|
|
||||||
x.beep = BEL;
|
x.beep = BEL;
|
||||||
|
|
||||||
x.link = (text, url) => {
|
x.link = (text, url) => {
|
||||||
|
22
node_modules/ansi-escapes/package.json
generated
vendored
22
node_modules/ansi-escapes/package.json
generated
vendored
@ -1,27 +1,27 @@
|
|||||||
{
|
{
|
||||||
"_from": "ansi-escapes@^3.0.0",
|
"_from": "ansi-escapes@^3.2.0",
|
||||||
"_id": "ansi-escapes@3.1.0",
|
"_id": "ansi-escapes@3.2.0",
|
||||||
"_inBundle": false,
|
"_inBundle": false,
|
||||||
"_integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
|
"_integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
|
||||||
"_location": "/ansi-escapes",
|
"_location": "/ansi-escapes",
|
||||||
"_phantomChildren": {},
|
"_phantomChildren": {},
|
||||||
"_requested": {
|
"_requested": {
|
||||||
"type": "range",
|
"type": "range",
|
||||||
"registry": true,
|
"registry": true,
|
||||||
"raw": "ansi-escapes@^3.0.0",
|
"raw": "ansi-escapes@^3.2.0",
|
||||||
"name": "ansi-escapes",
|
"name": "ansi-escapes",
|
||||||
"escapedName": "ansi-escapes",
|
"escapedName": "ansi-escapes",
|
||||||
"rawSpec": "^3.0.0",
|
"rawSpec": "^3.2.0",
|
||||||
"saveSpec": null,
|
"saveSpec": null,
|
||||||
"fetchSpec": "^3.0.0"
|
"fetchSpec": "^3.2.0"
|
||||||
},
|
},
|
||||||
"_requiredBy": [
|
"_requiredBy": [
|
||||||
"/inquirer"
|
"/inquirer"
|
||||||
],
|
],
|
||||||
"_resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
|
"_resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
|
||||||
"_shasum": "f73207bb81207d75fd6c83f125af26eea378ca30",
|
"_shasum": "8780b98ff9dbf5638152d1f1fe5c1d7b4442976b",
|
||||||
"_spec": "ansi-escapes@^3.0.0",
|
"_spec": "ansi-escapes@^3.2.0",
|
||||||
"_where": "/home/erik/Documents/workspace_brackets/BME_Project_Ohm/om/node_modules/inquirer",
|
"_where": "/home/erik/Documents/workspace_brackets/a1_BME_Project_Ohm/om/node_modules/inquirer",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Sindre Sorhus",
|
"name": "Sindre Sorhus",
|
||||||
"email": "sindresorhus@gmail.com",
|
"email": "sindresorhus@gmail.com",
|
||||||
@ -78,5 +78,5 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "xo && ava"
|
"test": "xo && ava"
|
||||||
},
|
},
|
||||||
"version": "3.1.0"
|
"version": "3.2.0"
|
||||||
}
|
}
|
||||||
|
6
node_modules/ansi-escapes/readme.md
generated
vendored
6
node_modules/ansi-escapes/readme.md
generated
vendored
@ -117,7 +117,11 @@ Scroll display down one line.
|
|||||||
|
|
||||||
### clearScreen
|
### clearScreen
|
||||||
|
|
||||||
Clear the terminal screen.
|
Clear the terminal screen. (Viewport)
|
||||||
|
|
||||||
|
### clearTerminal
|
||||||
|
|
||||||
|
Clear the whole terminal, including scrollback buffer. (Not just the visible part of it)
|
||||||
|
|
||||||
### beep
|
### beep
|
||||||
|
|
||||||
|
2
node_modules/asn1/.npmignore
generated
vendored
Normal file
2
node_modules/asn1/.npmignore
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
node_modules
|
||||||
|
*.log
|
4
node_modules/asn1/.travis.yml
generated
vendored
Normal file
4
node_modules/asn1/.travis.yml
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
language: node_js
|
||||||
|
node_js:
|
||||||
|
- 0.8
|
||||||
|
- 0.10
|
19
node_modules/asn1/LICENSE
generated
vendored
Normal file
19
node_modules/asn1/LICENSE
generated
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
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
|
50
node_modules/asn1/README.md
generated
vendored
Normal file
50
node_modules/asn1/README.md
generated
vendored
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
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>.
|
13
node_modules/asn1/lib/ber/errors.js
generated
vendored
Normal file
13
node_modules/asn1/lib/ber/errors.js
generated
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// Copyright 2011 Mark Cavage <mcavage@gmail.com> All rights reserved.
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
newInvalidAsn1Error: function(msg) {
|
||||||
|
var e = new Error();
|
||||||
|
e.name = 'InvalidAsn1Error';
|
||||||
|
e.message = msg || '';
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
27
node_modules/asn1/lib/ber/index.js
generated
vendored
Normal file
27
node_modules/asn1/lib/ber/index.js
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
// Copyright 2011 Mark Cavage <mcavage@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];
|
||||||
|
}
|
261
node_modules/asn1/lib/ber/reader.js
generated
vendored
Normal file
261
node_modules/asn1/lib/ber/reader.js
generated
vendored
Normal file
@ -0,0 +1,261 @@
|
|||||||
|
// Copyright 2011 Mark Cavage <mcavage@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;
|
36
node_modules/asn1/lib/ber/types.js
generated
vendored
Normal file
36
node_modules/asn1/lib/ber/types.js
generated
vendored
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
// Copyright 2011 Mark Cavage <mcavage@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
|
||||||
|
};
|
316
node_modules/asn1/lib/ber/writer.js
generated
vendored
Normal file
316
node_modules/asn1/lib/ber/writer.js
generated
vendored
Normal file
@ -0,0 +1,316 @@
|
|||||||
|
// Copyright 2011 Mark Cavage <mcavage@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;
|
20
node_modules/asn1/lib/index.js
generated
vendored
Normal file
20
node_modules/asn1/lib/index.js
generated
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
// Copyright 2011 Mark Cavage <mcavage@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
|
||||||
|
|
||||||
|
};
|
65
node_modules/asn1/package.json
generated
vendored
Normal file
65
node_modules/asn1/package.json
generated
vendored
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
{
|
||||||
|
"_from": "asn1@0.2.3",
|
||||||
|
"_id": "asn1@0.2.3",
|
||||||
|
"_inBundle": false,
|
||||||
|
"_integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
|
||||||
|
"_location": "/asn1",
|
||||||
|
"_phantomChildren": {},
|
||||||
|
"_requested": {
|
||||||
|
"type": "version",
|
||||||
|
"registry": true,
|
||||||
|
"raw": "asn1@0.2.3",
|
||||||
|
"name": "asn1",
|
||||||
|
"escapedName": "asn1",
|
||||||
|
"rawSpec": "0.2.3",
|
||||||
|
"saveSpec": null,
|
||||||
|
"fetchSpec": "0.2.3"
|
||||||
|
},
|
||||||
|
"_requiredBy": [
|
||||||
|
"/ldapjs"
|
||||||
|
],
|
||||||
|
"_resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
|
||||||
|
"_shasum": "dac8787713c9966849fc8180777ebe9c1ddf3b86",
|
||||||
|
"_spec": "asn1@0.2.3",
|
||||||
|
"_where": "/home/erik/Documents/workspace_brackets/a1_BME_Project_Ohm/om/node_modules/ldapjs",
|
||||||
|
"author": {
|
||||||
|
"name": "Mark Cavage",
|
||||||
|
"email": "mcavage@gmail.com"
|
||||||
|
},
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/mcavage/node-asn1/issues"
|
||||||
|
},
|
||||||
|
"bundleDependencies": false,
|
||||||
|
"contributors": [
|
||||||
|
{
|
||||||
|
"name": "David Gwynne",
|
||||||
|
"email": "loki@animata.net"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Yunong Xiao",
|
||||||
|
"email": "yunong@joyent.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Alex Wilson",
|
||||||
|
"email": "alex.wilson@joyent.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": {},
|
||||||
|
"deprecated": false,
|
||||||
|
"description": "Contains parsers and serializers for ASN.1 (currently BER only)",
|
||||||
|
"devDependencies": {
|
||||||
|
"tap": "0.4.8"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/mcavage/node-asn1#readme",
|
||||||
|
"license": "MIT",
|
||||||
|
"main": "lib/index.js",
|
||||||
|
"name": "asn1",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git://github.com/mcavage/node-asn1.git"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"test": "tap ./tst"
|
||||||
|
},
|
||||||
|
"version": "0.2.3"
|
||||||
|
}
|
208
node_modules/asn1/tst/ber/reader.test.js
generated
vendored
Normal file
208
node_modules/asn1/tst/ber/reader.test.js
generated
vendored
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
// Copyright 2011 Mark Cavage <mcavage@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();
|
||||||
|
});
|
370
node_modules/asn1/tst/ber/writer.test.js
generated
vendored
Normal file
370
node_modules/asn1/tst/ber/writer.test.js
generated
vendored
Normal file
@ -0,0 +1,370 @@
|
|||||||
|
// Copyright 2011 Mark Cavage <mcavage@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();
|
||||||
|
});
|
6
node_modules/assert-plus/AUTHORS
generated
vendored
Normal file
6
node_modules/assert-plus/AUTHORS
generated
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
Dave Eddy <dave@daveeddy.com>
|
||||||
|
Fred Kuo <fred.kuo@joyent.com>
|
||||||
|
Lars-Magnus Skog <ralphtheninja@riseup.net>
|
||||||
|
Mark Cavage <mcavage@gmail.com>
|
||||||
|
Patrick Mooney <pmooney@pfmooney.com>
|
||||||
|
Rob Gulewich <robert.gulewich@joyent.com>
|
14
node_modules/assert-plus/CHANGES.md
generated
vendored
Normal file
14
node_modules/assert-plus/CHANGES.md
generated
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# assert-plus Changelog
|
||||||
|
|
||||||
|
## 1.0.0
|
||||||
|
|
||||||
|
- *BREAKING* assert.number (and derivatives) now accept Infinity as valid input
|
||||||
|
- Add assert.finite check. Previous assert.number callers should use this if
|
||||||
|
they expect Infinity inputs to throw.
|
||||||
|
|
||||||
|
## 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
|
162
node_modules/assert-plus/README.md
generated
vendored
Normal file
162
node_modules/assert-plus/README.md
generated
vendored
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
# 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.finite
|
||||||
|
* assert.object
|
||||||
|
* assert.string
|
||||||
|
* assert.stream
|
||||||
|
* assert.date
|
||||||
|
* assert.regexp
|
||||||
|
* assert.uuid
|
||||||
|
* assert.arrayOfArray
|
||||||
|
* assert.arrayOfBool
|
||||||
|
* assert.arrayOfBuffer
|
||||||
|
* assert.arrayOfFunc
|
||||||
|
* assert.arrayOfNumber
|
||||||
|
* assert.arrayOfFinite
|
||||||
|
* assert.arrayOfObject
|
||||||
|
* assert.arrayOfString
|
||||||
|
* assert.arrayOfStream
|
||||||
|
* assert.arrayOfDate
|
||||||
|
* assert.arrayOfRegexp
|
||||||
|
* assert.arrayOfUuid
|
||||||
|
* assert.optionalArray
|
||||||
|
* assert.optionalBool
|
||||||
|
* assert.optionalBuffer
|
||||||
|
* assert.optionalFunc
|
||||||
|
* assert.optionalNumber
|
||||||
|
* assert.optionalFinite
|
||||||
|
* assert.optionalObject
|
||||||
|
* assert.optionalString
|
||||||
|
* assert.optionalStream
|
||||||
|
* assert.optionalDate
|
||||||
|
* assert.optionalRegexp
|
||||||
|
* assert.optionalUuid
|
||||||
|
* assert.optionalArrayOfArray
|
||||||
|
* assert.optionalArrayOfBool
|
||||||
|
* assert.optionalArrayOfBuffer
|
||||||
|
* assert.optionalArrayOfFunc
|
||||||
|
* assert.optionalArrayOfNumber
|
||||||
|
* assert.optionalArrayOfFinite
|
||||||
|
* assert.optionalArrayOfObject
|
||||||
|
* assert.optionalArrayOfString
|
||||||
|
* assert.optionalArrayOfStream
|
||||||
|
* assert.optionalArrayOfDate
|
||||||
|
* assert.optionalArrayOfRegexp
|
||||||
|
* 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>.
|
211
node_modules/assert-plus/assert.js
generated
vendored
Normal file
211
node_modules/assert-plus/assert.js
generated
vendored
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
// 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);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
finite: {
|
||||||
|
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);
|
84
node_modules/assert-plus/package.json
generated
vendored
Normal file
84
node_modules/assert-plus/package.json
generated
vendored
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
{
|
||||||
|
"_from": "assert-plus@^1.0.0",
|
||||||
|
"_id": "assert-plus@1.0.0",
|
||||||
|
"_inBundle": false,
|
||||||
|
"_integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
|
||||||
|
"_location": "/assert-plus",
|
||||||
|
"_phantomChildren": {},
|
||||||
|
"_requested": {
|
||||||
|
"type": "range",
|
||||||
|
"registry": true,
|
||||||
|
"raw": "assert-plus@^1.0.0",
|
||||||
|
"name": "assert-plus",
|
||||||
|
"escapedName": "assert-plus",
|
||||||
|
"rawSpec": "^1.0.0",
|
||||||
|
"saveSpec": null,
|
||||||
|
"fetchSpec": "^1.0.0"
|
||||||
|
},
|
||||||
|
"_requiredBy": [
|
||||||
|
"/dashdash",
|
||||||
|
"/ldapjs",
|
||||||
|
"/verror"
|
||||||
|
],
|
||||||
|
"_resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
|
||||||
|
"_shasum": "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525",
|
||||||
|
"_spec": "assert-plus@^1.0.0",
|
||||||
|
"_where": "/home/erik/Documents/workspace_brackets/a1_BME_Project_Ohm/om/node_modules/ldapjs",
|
||||||
|
"author": {
|
||||||
|
"name": "Mark Cavage",
|
||||||
|
"email": "mcavage@gmail.com"
|
||||||
|
},
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/mcavage/node-assert-plus/issues"
|
||||||
|
},
|
||||||
|
"bundleDependencies": false,
|
||||||
|
"contributors": [
|
||||||
|
{
|
||||||
|
"name": "Dave Eddy",
|
||||||
|
"email": "dave@daveeddy.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Fred Kuo",
|
||||||
|
"email": "fred.kuo@joyent.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Lars-Magnus Skog",
|
||||||
|
"email": "ralphtheninja@riseup.net"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Mark Cavage",
|
||||||
|
"email": "mcavage@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Patrick Mooney",
|
||||||
|
"email": "pmooney@pfmooney.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Rob Gulewich",
|
||||||
|
"email": "robert.gulewich@joyent.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": {},
|
||||||
|
"deprecated": false,
|
||||||
|
"description": "Extra assertions on top of node's assert module",
|
||||||
|
"devDependencies": {
|
||||||
|
"faucet": "0.0.1",
|
||||||
|
"tape": "4.2.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.8"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/mcavage/node-assert-plus#readme",
|
||||||
|
"license": "MIT",
|
||||||
|
"main": "./assert.js",
|
||||||
|
"name": "assert-plus",
|
||||||
|
"optionalDependencies": {},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/mcavage/node-assert-plus.git"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"test": "tape tests/*.js | ./node_modules/.bin/faucet"
|
||||||
|
},
|
||||||
|
"version": "1.0.0"
|
||||||
|
}
|
3
node_modules/async/CHANGELOG.md
generated
vendored
3
node_modules/async/CHANGELOG.md
generated
vendored
@ -1,3 +1,6 @@
|
|||||||
|
#v2.6.2
|
||||||
|
- Updated lodash to squelch a security warning (#1620)
|
||||||
|
|
||||||
# v2.6.1
|
# v2.6.1
|
||||||
- Updated lodash to prevent `npm audit` warnings. (#1532, #1533)
|
- Updated lodash to prevent `npm audit` warnings. (#1532, #1533)
|
||||||
- Made `async-es` more optimized for webpack users (#1517)
|
- Made `async-es` more optimized for webpack users (#1517)
|
||||||
|
2
node_modules/async/all.js
generated
vendored
2
node_modules/async/all.js
generated
vendored
@ -47,4 +47,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* });
|
* });
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doParallel2.default)((0, _createTester2.default)(_notId2.default, _notId2.default));
|
exports.default = (0, _doParallel2.default)((0, _createTester2.default)(_notId2.default, _notId2.default));
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/allLimit.js
generated
vendored
2
node_modules/async/allLimit.js
generated
vendored
@ -39,4 +39,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* depending on the values of the async tests. Invoked with (err, result).
|
* depending on the values of the async tests. Invoked with (err, result).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(_notId2.default, _notId2.default));
|
exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(_notId2.default, _notId2.default));
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/allSeries.js
generated
vendored
2
node_modules/async/allSeries.js
generated
vendored
@ -34,4 +34,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* depending on the values of the async tests. Invoked with (err, result).
|
* depending on the values of the async tests. Invoked with (err, result).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_everyLimit2.default, 1);
|
exports.default = (0, _doLimit2.default)(_everyLimit2.default, 1);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/any.js
generated
vendored
2
node_modules/async/any.js
generated
vendored
@ -49,4 +49,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* });
|
* });
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doParallel2.default)((0, _createTester2.default)(Boolean, _identity2.default));
|
exports.default = (0, _doParallel2.default)((0, _createTester2.default)(Boolean, _identity2.default));
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/anyLimit.js
generated
vendored
2
node_modules/async/anyLimit.js
generated
vendored
@ -40,4 +40,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* tests. Invoked with (err, result).
|
* tests. Invoked with (err, result).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(Boolean, _identity2.default));
|
exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(Boolean, _identity2.default));
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/anySeries.js
generated
vendored
2
node_modules/async/anySeries.js
generated
vendored
@ -35,4 +35,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* tests. Invoked with (err, result).
|
* tests. Invoked with (err, result).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_someLimit2.default, 1);
|
exports.default = (0, _doLimit2.default)(_someLimit2.default, 1);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/apply.js
generated
vendored
2
node_modules/async/apply.js
generated
vendored
@ -65,4 +65,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* two
|
* two
|
||||||
* three
|
* three
|
||||||
*/
|
*/
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/applyEach.js
generated
vendored
2
node_modules/async/applyEach.js
generated
vendored
@ -48,4 +48,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* );
|
* );
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _applyEach2.default)(_map2.default);
|
exports.default = (0, _applyEach2.default)(_map2.default);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/applyEachSeries.js
generated
vendored
2
node_modules/async/applyEachSeries.js
generated
vendored
@ -34,4 +34,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* function call.
|
* function call.
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _applyEach2.default)(_mapSeries2.default);
|
exports.default = (0, _applyEach2.default)(_mapSeries2.default);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/asyncify.js
generated
vendored
2
node_modules/async/asyncify.js
generated
vendored
@ -107,4 +107,4 @@ function invokeCallback(callback, error, value) {
|
|||||||
function rethrow(error) {
|
function rethrow(error) {
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/auto.js
generated
vendored
2
node_modules/async/auto.js
generated
vendored
@ -286,4 +286,4 @@ module.exports = exports['default'];
|
|||||||
* console.log('err = ', err);
|
* console.log('err = ', err);
|
||||||
* console.log('results = ', results);
|
* console.log('results = ', results);
|
||||||
* });
|
* });
|
||||||
*/
|
*/
|
2
node_modules/async/autoInject.js
generated
vendored
2
node_modules/async/autoInject.js
generated
vendored
@ -167,4 +167,4 @@ function autoInject(tasks, callback) {
|
|||||||
|
|
||||||
(0, _auto2.default)(newTasks, callback);
|
(0, _auto2.default)(newTasks, callback);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/cargo.js
generated
vendored
2
node_modules/async/cargo.js
generated
vendored
@ -91,4 +91,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
function cargo(worker, payload) {
|
function cargo(worker, payload) {
|
||||||
return (0, _queue2.default)(worker, 1, payload);
|
return (0, _queue2.default)(worker, 1, payload);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/compose.js
generated
vendored
2
node_modules/async/compose.js
generated
vendored
@ -55,4 +55,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* // result now equals 15
|
* // result now equals 15
|
||||||
* });
|
* });
|
||||||
*/
|
*/
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/concat.js
generated
vendored
2
node_modules/async/concat.js
generated
vendored
@ -40,4 +40,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* });
|
* });
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_concatLimit2.default, Infinity);
|
exports.default = (0, _doLimit2.default)(_concatLimit2.default, Infinity);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/concatLimit.js
generated
vendored
2
node_modules/async/concatLimit.js
generated
vendored
@ -62,4 +62,4 @@ var _concat = Array.prototype.concat;
|
|||||||
* containing the concatenated results of the `iteratee` function. Invoked with
|
* containing the concatenated results of the `iteratee` function. Invoked with
|
||||||
* (err, results).
|
* (err, results).
|
||||||
*/
|
*/
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/concatSeries.js
generated
vendored
2
node_modules/async/concatSeries.js
generated
vendored
@ -33,4 +33,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* (err, results).
|
* (err, results).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_concatLimit2.default, 1);
|
exports.default = (0, _doLimit2.default)(_concatLimit2.default, 1);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/constant.js
generated
vendored
2
node_modules/async/constant.js
generated
vendored
@ -63,4 +63,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* //...
|
* //...
|
||||||
* }, callback);
|
* }, callback);
|
||||||
*/
|
*/
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/detect.js
generated
vendored
2
node_modules/async/detect.js
generated
vendored
@ -58,4 +58,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* });
|
* });
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doParallel2.default)((0, _createTester2.default)(_identity2.default, _findGetResult2.default));
|
exports.default = (0, _doParallel2.default)((0, _createTester2.default)(_identity2.default, _findGetResult2.default));
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/detectLimit.js
generated
vendored
2
node_modules/async/detectLimit.js
generated
vendored
@ -45,4 +45,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* (err, result).
|
* (err, result).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(_identity2.default, _findGetResult2.default));
|
exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(_identity2.default, _findGetResult2.default));
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/detectSeries.js
generated
vendored
2
node_modules/async/detectSeries.js
generated
vendored
@ -35,4 +35,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* (err, result).
|
* (err, result).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_detectLimit2.default, 1);
|
exports.default = (0, _doLimit2.default)(_detectLimit2.default, 1);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/dir.js
generated
vendored
2
node_modules/async/dir.js
generated
vendored
@ -40,4 +40,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* {hello: 'world'}
|
* {hello: 'world'}
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _consoleFunc2.default)('dir');
|
exports.default = (0, _consoleFunc2.default)('dir');
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/dist/async.min.js
generated
vendored
2
node_modules/async/dist/async.min.js
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/async/doDuring.js
generated
vendored
2
node_modules/async/doDuring.js
generated
vendored
@ -63,4 +63,4 @@ function doDuring(fn, test, callback) {
|
|||||||
|
|
||||||
check(null, true);
|
check(null, true);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/doUntil.js
generated
vendored
2
node_modules/async/doUntil.js
generated
vendored
@ -36,4 +36,4 @@ function doUntil(iteratee, test, callback) {
|
|||||||
return !test.apply(this, arguments);
|
return !test.apply(this, arguments);
|
||||||
}, callback);
|
}, callback);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/doWhilst.js
generated
vendored
2
node_modules/async/doWhilst.js
generated
vendored
@ -56,4 +56,4 @@ function doWhilst(iteratee, test, callback) {
|
|||||||
};
|
};
|
||||||
_iteratee(next);
|
_iteratee(next);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/during.js
generated
vendored
2
node_modules/async/during.js
generated
vendored
@ -73,4 +73,4 @@ function during(test, fn, callback) {
|
|||||||
|
|
||||||
_test(check);
|
_test(check);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/each.js
generated
vendored
2
node_modules/async/each.js
generated
vendored
@ -79,4 +79,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
function eachLimit(coll, iteratee, callback) {
|
function eachLimit(coll, iteratee, callback) {
|
||||||
(0, _eachOf2.default)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback);
|
(0, _eachOf2.default)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/eachLimit.js
generated
vendored
2
node_modules/async/eachLimit.js
generated
vendored
@ -42,4 +42,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
function eachLimit(coll, limit, iteratee, callback) {
|
function eachLimit(coll, limit, iteratee, callback) {
|
||||||
(0, _eachOfLimit2.default)(limit)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback);
|
(0, _eachOfLimit2.default)(limit)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/eachOf.js
generated
vendored
2
node_modules/async/eachOf.js
generated
vendored
@ -108,4 +108,4 @@ var eachOfGeneric = (0, _doLimit2.default)(_eachOfLimit2.default, Infinity);
|
|||||||
* doSomethingWith(configs);
|
* doSomethingWith(configs);
|
||||||
* });
|
* });
|
||||||
*/
|
*/
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/eachOfLimit.js
generated
vendored
2
node_modules/async/eachOfLimit.js
generated
vendored
@ -38,4 +38,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
function eachOfLimit(coll, limit, iteratee, callback) {
|
function eachOfLimit(coll, limit, iteratee, callback) {
|
||||||
(0, _eachOfLimit3.default)(limit)(coll, (0, _wrapAsync2.default)(iteratee), callback);
|
(0, _eachOfLimit3.default)(limit)(coll, (0, _wrapAsync2.default)(iteratee), callback);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/eachOfSeries.js
generated
vendored
2
node_modules/async/eachOfSeries.js
generated
vendored
@ -32,4 +32,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* functions have finished, or an error occurs. Invoked with (err).
|
* functions have finished, or an error occurs. Invoked with (err).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_eachOfLimit2.default, 1);
|
exports.default = (0, _doLimit2.default)(_eachOfLimit2.default, 1);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/eachSeries.js
generated
vendored
2
node_modules/async/eachSeries.js
generated
vendored
@ -34,4 +34,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* `iteratee` functions have finished, or an error occurs. Invoked with (err).
|
* `iteratee` functions have finished, or an error occurs. Invoked with (err).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_eachLimit2.default, 1);
|
exports.default = (0, _doLimit2.default)(_eachLimit2.default, 1);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/ensureAsync.js
generated
vendored
2
node_modules/async/ensureAsync.js
generated
vendored
@ -70,4 +70,4 @@ function ensureAsync(fn) {
|
|||||||
sync = false;
|
sync = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/every.js
generated
vendored
2
node_modules/async/every.js
generated
vendored
@ -47,4 +47,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* });
|
* });
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doParallel2.default)((0, _createTester2.default)(_notId2.default, _notId2.default));
|
exports.default = (0, _doParallel2.default)((0, _createTester2.default)(_notId2.default, _notId2.default));
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/everyLimit.js
generated
vendored
2
node_modules/async/everyLimit.js
generated
vendored
@ -39,4 +39,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* depending on the values of the async tests. Invoked with (err, result).
|
* depending on the values of the async tests. Invoked with (err, result).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(_notId2.default, _notId2.default));
|
exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(_notId2.default, _notId2.default));
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/everySeries.js
generated
vendored
2
node_modules/async/everySeries.js
generated
vendored
@ -34,4 +34,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* depending on the values of the async tests. Invoked with (err, result).
|
* depending on the values of the async tests. Invoked with (err, result).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_everyLimit2.default, 1);
|
exports.default = (0, _doLimit2.default)(_everyLimit2.default, 1);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/filter.js
generated
vendored
2
node_modules/async/filter.js
generated
vendored
@ -42,4 +42,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* });
|
* });
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doParallel2.default)(_filter2.default);
|
exports.default = (0, _doParallel2.default)(_filter2.default);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/filterLimit.js
generated
vendored
2
node_modules/async/filterLimit.js
generated
vendored
@ -34,4 +34,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* `iteratee` functions have finished. Invoked with (err, results).
|
* `iteratee` functions have finished. Invoked with (err, results).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doParallelLimit2.default)(_filter2.default);
|
exports.default = (0, _doParallelLimit2.default)(_filter2.default);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/filterSeries.js
generated
vendored
2
node_modules/async/filterSeries.js
generated
vendored
@ -32,4 +32,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* `iteratee` functions have finished. Invoked with (err, results)
|
* `iteratee` functions have finished. Invoked with (err, results)
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_filterLimit2.default, 1);
|
exports.default = (0, _doLimit2.default)(_filterLimit2.default, 1);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/find.js
generated
vendored
2
node_modules/async/find.js
generated
vendored
@ -58,4 +58,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* });
|
* });
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doParallel2.default)((0, _createTester2.default)(_identity2.default, _findGetResult2.default));
|
exports.default = (0, _doParallel2.default)((0, _createTester2.default)(_identity2.default, _findGetResult2.default));
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/findLimit.js
generated
vendored
2
node_modules/async/findLimit.js
generated
vendored
@ -45,4 +45,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* (err, result).
|
* (err, result).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(_identity2.default, _findGetResult2.default));
|
exports.default = (0, _doParallelLimit2.default)((0, _createTester2.default)(_identity2.default, _findGetResult2.default));
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/findSeries.js
generated
vendored
2
node_modules/async/findSeries.js
generated
vendored
@ -35,4 +35,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* (err, result).
|
* (err, result).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_detectLimit2.default, 1);
|
exports.default = (0, _doLimit2.default)(_detectLimit2.default, 1);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/foldl.js
generated
vendored
2
node_modules/async/foldl.js
generated
vendored
@ -75,4 +75,4 @@ function reduce(coll, memo, iteratee, callback) {
|
|||||||
callback(err, memo);
|
callback(err, memo);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/foldr.js
generated
vendored
2
node_modules/async/foldr.js
generated
vendored
@ -41,4 +41,4 @@ function reduceRight(array, memo, iteratee, callback) {
|
|||||||
var reversed = (0, _slice2.default)(array).reverse();
|
var reversed = (0, _slice2.default)(array).reverse();
|
||||||
(0, _reduce2.default)(reversed, memo, iteratee, callback);
|
(0, _reduce2.default)(reversed, memo, iteratee, callback);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/forEach.js
generated
vendored
2
node_modules/async/forEach.js
generated
vendored
@ -79,4 +79,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
function eachLimit(coll, iteratee, callback) {
|
function eachLimit(coll, iteratee, callback) {
|
||||||
(0, _eachOf2.default)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback);
|
(0, _eachOf2.default)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/forEachLimit.js
generated
vendored
2
node_modules/async/forEachLimit.js
generated
vendored
@ -42,4 +42,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
function eachLimit(coll, limit, iteratee, callback) {
|
function eachLimit(coll, limit, iteratee, callback) {
|
||||||
(0, _eachOfLimit2.default)(limit)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback);
|
(0, _eachOfLimit2.default)(limit)(coll, (0, _withoutIndex2.default)((0, _wrapAsync2.default)(iteratee)), callback);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/forEachOf.js
generated
vendored
2
node_modules/async/forEachOf.js
generated
vendored
@ -108,4 +108,4 @@ var eachOfGeneric = (0, _doLimit2.default)(_eachOfLimit2.default, Infinity);
|
|||||||
* doSomethingWith(configs);
|
* doSomethingWith(configs);
|
||||||
* });
|
* });
|
||||||
*/
|
*/
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/forEachOfLimit.js
generated
vendored
2
node_modules/async/forEachOfLimit.js
generated
vendored
@ -38,4 +38,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
function eachOfLimit(coll, limit, iteratee, callback) {
|
function eachOfLimit(coll, limit, iteratee, callback) {
|
||||||
(0, _eachOfLimit3.default)(limit)(coll, (0, _wrapAsync2.default)(iteratee), callback);
|
(0, _eachOfLimit3.default)(limit)(coll, (0, _wrapAsync2.default)(iteratee), callback);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/forEachOfSeries.js
generated
vendored
2
node_modules/async/forEachOfSeries.js
generated
vendored
@ -32,4 +32,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* functions have finished, or an error occurs. Invoked with (err).
|
* functions have finished, or an error occurs. Invoked with (err).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_eachOfLimit2.default, 1);
|
exports.default = (0, _doLimit2.default)(_eachOfLimit2.default, 1);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/forEachSeries.js
generated
vendored
2
node_modules/async/forEachSeries.js
generated
vendored
@ -34,4 +34,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* `iteratee` functions have finished, or an error occurs. Invoked with (err).
|
* `iteratee` functions have finished, or an error occurs. Invoked with (err).
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_eachLimit2.default, 1);
|
exports.default = (0, _doLimit2.default)(_eachLimit2.default, 1);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/forever.js
generated
vendored
2
node_modules/async/forever.js
generated
vendored
@ -62,4 +62,4 @@ function forever(fn, errback) {
|
|||||||
}
|
}
|
||||||
next();
|
next();
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/groupBy.js
generated
vendored
2
node_modules/async/groupBy.js
generated
vendored
@ -51,4 +51,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* });
|
* });
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_groupByLimit2.default, Infinity);
|
exports.default = (0, _doLimit2.default)(_groupByLimit2.default, Infinity);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/groupByLimit.js
generated
vendored
2
node_modules/async/groupByLimit.js
generated
vendored
@ -68,4 +68,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* functions have finished, or an error occurs. Result is an `Object` whoses
|
* functions have finished, or an error occurs. Result is an `Object` whoses
|
||||||
* properties are arrays of values which returned the corresponding key.
|
* properties are arrays of values which returned the corresponding key.
|
||||||
*/
|
*/
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/groupBySeries.js
generated
vendored
2
node_modules/async/groupBySeries.js
generated
vendored
@ -34,4 +34,4 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|||||||
* properties are arrays of values which returned the corresponding key.
|
* properties are arrays of values which returned the corresponding key.
|
||||||
*/
|
*/
|
||||||
exports.default = (0, _doLimit2.default)(_groupByLimit2.default, 1);
|
exports.default = (0, _doLimit2.default)(_groupByLimit2.default, 1);
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/index.js
generated
vendored
2
node_modules/async/index.js
generated
vendored
@ -579,4 +579,4 @@ exports.foldr = _reduceRight2.default;
|
|||||||
exports.select = _filter2.default;
|
exports.select = _filter2.default;
|
||||||
exports.selectLimit = _filterLimit2.default;
|
exports.selectLimit = _filterLimit2.default;
|
||||||
exports.selectSeries = _filterSeries2.default;
|
exports.selectSeries = _filterSeries2.default;
|
||||||
exports.wrapSync = _asyncify2.default;
|
exports.wrapSync = _asyncify2.default;
|
2
node_modules/async/inject.js
generated
vendored
2
node_modules/async/inject.js
generated
vendored
@ -75,4 +75,4 @@ function reduce(coll, memo, iteratee, callback) {
|
|||||||
callback(err, memo);
|
callback(err, memo);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/internal/DoublyLinkedList.js
generated
vendored
2
node_modules/async/internal/DoublyLinkedList.js
generated
vendored
@ -85,4 +85,4 @@ DLL.prototype.remove = function (testFn) {
|
|||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
};
|
};
|
||||||
module.exports = exports["default"];
|
module.exports = exports["default"];
|
2
node_modules/async/internal/applyEach.js
generated
vendored
2
node_modules/async/internal/applyEach.js
generated
vendored
@ -35,4 +35,4 @@ function applyEach(eachfn) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/internal/breakLoop.js
generated
vendored
2
node_modules/async/internal/breakLoop.js
generated
vendored
@ -6,4 +6,4 @@ Object.defineProperty(exports, "__esModule", {
|
|||||||
// A temporary value used to identify if the loop should be broken.
|
// A temporary value used to identify if the loop should be broken.
|
||||||
// See #1064, #1293
|
// See #1064, #1293
|
||||||
exports.default = {};
|
exports.default = {};
|
||||||
module.exports = exports["default"];
|
module.exports = exports["default"];
|
2
node_modules/async/internal/consoleFunc.js
generated
vendored
2
node_modules/async/internal/consoleFunc.js
generated
vendored
@ -39,4 +39,4 @@ function consoleFunc(name) {
|
|||||||
(0, _wrapAsync2.default)(fn).apply(null, args);
|
(0, _wrapAsync2.default)(fn).apply(null, args);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/internal/createTester.js
generated
vendored
2
node_modules/async/internal/createTester.js
generated
vendored
@ -41,4 +41,4 @@ function _createTester(check, getResult) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/internal/doLimit.js
generated
vendored
2
node_modules/async/internal/doLimit.js
generated
vendored
@ -9,4 +9,4 @@ function doLimit(fn, limit) {
|
|||||||
return fn(iterable, limit, iteratee, callback);
|
return fn(iterable, limit, iteratee, callback);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
module.exports = exports["default"];
|
module.exports = exports["default"];
|
2
node_modules/async/internal/doParallel.js
generated
vendored
2
node_modules/async/internal/doParallel.js
generated
vendored
@ -20,4 +20,4 @@ function doParallel(fn) {
|
|||||||
return fn(_eachOf2.default, obj, (0, _wrapAsync2.default)(iteratee), callback);
|
return fn(_eachOf2.default, obj, (0, _wrapAsync2.default)(iteratee), callback);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/internal/doParallelLimit.js
generated
vendored
2
node_modules/async/internal/doParallelLimit.js
generated
vendored
@ -20,4 +20,4 @@ function doParallelLimit(fn) {
|
|||||||
return fn((0, _eachOfLimit2.default)(limit), obj, (0, _wrapAsync2.default)(iteratee), callback);
|
return fn((0, _eachOfLimit2.default)(limit), obj, (0, _wrapAsync2.default)(iteratee), callback);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/internal/eachOfLimit.js
generated
vendored
2
node_modules/async/internal/eachOfLimit.js
generated
vendored
@ -71,4 +71,4 @@ function _eachOfLimit(limit) {
|
|||||||
replenish();
|
replenish();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/internal/filter.js
generated
vendored
2
node_modules/async/internal/filter.js
generated
vendored
@ -72,4 +72,4 @@ function _filter(eachfn, coll, iteratee, callback) {
|
|||||||
var filter = (0, _isArrayLike2.default)(coll) ? filterArray : filterGeneric;
|
var filter = (0, _isArrayLike2.default)(coll) ? filterArray : filterGeneric;
|
||||||
filter(eachfn, coll, (0, _wrapAsync2.default)(iteratee), callback || _noop2.default);
|
filter(eachfn, coll, (0, _wrapAsync2.default)(iteratee), callback || _noop2.default);
|
||||||
}
|
}
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
2
node_modules/async/internal/findGetResult.js
generated
vendored
2
node_modules/async/internal/findGetResult.js
generated
vendored
@ -7,4 +7,4 @@ exports.default = _findGetResult;
|
|||||||
function _findGetResult(v, x) {
|
function _findGetResult(v, x) {
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
module.exports = exports["default"];
|
module.exports = exports["default"];
|
2
node_modules/async/internal/getIterator.js
generated
vendored
2
node_modules/async/internal/getIterator.js
generated
vendored
@ -10,4 +10,4 @@ exports.default = function (coll) {
|
|||||||
|
|
||||||
var iteratorSymbol = typeof Symbol === 'function' && Symbol.iterator;
|
var iteratorSymbol = typeof Symbol === 'function' && Symbol.iterator;
|
||||||
|
|
||||||
module.exports = exports['default'];
|
module.exports = exports['default'];
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user