fix #25 rand() with no args

This commit is contained in:
Moos 2018-03-04 12:04:06 -08:00
parent 69d8adf9a1
commit 4c10324d64
5 changed files with 124 additions and 24 deletions

View File

@ -289,6 +289,9 @@ See [bench/README](bench).
## Changes ## Changes
1.1.6
- Fix #25 rand().then with no args
1.1.5 1.1.5
- rollback 1.1.4 changes. Fix is made in [wordnet-db](https://github.com/moos/wordnet-db). - rollback 1.1.4 changes. Fix is made in [wordnet-db](https://github.com/moos/wordnet-db).

124
package-lock.json generated
View File

@ -2,6 +2,7 @@
"name": "wordpos", "name": "wordpos",
"version": "1.1.5", "version": "1.1.5",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true,
"dependencies": { "dependencies": {
"assertion-error": { "assertion-error": {
"version": "1.0.2", "version": "1.0.2",
@ -19,7 +20,11 @@
"version": "1.1.8", "version": "1.1.8",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
"integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
"dev": true "dev": true,
"requires": {
"balanced-match": "1.0.0",
"concat-map": "0.0.1"
}
}, },
"browser-stdout": { "browser-stdout": {
"version": "1.3.0", "version": "1.3.0",
@ -31,7 +36,15 @@
"version": "4.0.2", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/chai/-/chai-4.0.2.tgz", "resolved": "https://registry.npmjs.org/chai/-/chai-4.0.2.tgz",
"integrity": "sha1-L3MnxN5vOF3XeHmZ4qsCaXoyuDs=", "integrity": "sha1-L3MnxN5vOF3XeHmZ4qsCaXoyuDs=",
"dev": true "dev": true,
"requires": {
"assertion-error": "1.0.2",
"check-error": "1.0.2",
"deep-eql": "2.0.2",
"get-func-name": "2.0.0",
"pathval": "1.1.0",
"type-detect": "4.0.3"
}
}, },
"check-error": { "check-error": {
"version": "1.0.2", "version": "1.0.2",
@ -42,7 +55,10 @@
"commander": { "commander": {
"version": "2.9.0", "version": "2.9.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
"integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=" "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
"requires": {
"graceful-readlink": "1.0.1"
}
}, },
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
@ -54,13 +70,19 @@
"version": "2.6.0", "version": "2.6.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz",
"integrity": "sha1-vFlryr52F/Edn6FTYe3tVgi4SZs=", "integrity": "sha1-vFlryr52F/Edn6FTYe3tVgi4SZs=",
"dev": true "dev": true,
"requires": {
"ms": "0.7.2"
}
}, },
"deep-eql": { "deep-eql": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-2.0.2.tgz", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-2.0.2.tgz",
"integrity": "sha1-sbrAblbwp2d3aG1Qyf63XC7XZ5o=", "integrity": "sha1-sbrAblbwp2d3aG1Qyf63XC7XZ5o=",
"dev": true, "dev": true,
"requires": {
"type-detect": "3.0.0"
},
"dependencies": { "dependencies": {
"type-detect": { "type-detect": {
"version": "3.0.0", "version": "3.0.0",
@ -98,7 +120,15 @@
"version": "7.1.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
"integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
"dev": true "dev": true,
"requires": {
"fs.realpath": "1.0.0",
"inflight": "1.0.6",
"inherits": "2.0.3",
"minimatch": "3.0.4",
"once": "1.4.0",
"path-is-absolute": "1.0.1"
}
}, },
"graceful-readlink": { "graceful-readlink": {
"version": "1.0.1", "version": "1.0.1",
@ -121,7 +151,11 @@
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true "dev": true,
"requires": {
"once": "1.4.0",
"wrappy": "1.0.2"
}
}, },
"inherits": { "inherits": {
"version": "2.0.3", "version": "2.0.3",
@ -139,7 +173,11 @@
"version": "3.2.0", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
"integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
"dev": true "dev": true,
"requires": {
"lodash._basecopy": "3.0.1",
"lodash.keys": "3.1.2"
}
}, },
"lodash._basecopy": { "lodash._basecopy": {
"version": "3.0.1", "version": "3.0.1",
@ -169,7 +207,12 @@
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
"integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
"dev": true "dev": true,
"requires": {
"lodash._baseassign": "3.2.0",
"lodash._basecreate": "3.0.3",
"lodash._isiterateecall": "3.0.9"
}
}, },
"lodash.isarguments": { "lodash.isarguments": {
"version": "3.1.0", "version": "3.1.0",
@ -187,7 +230,12 @@
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
"dev": true "dev": true,
"requires": {
"lodash._getnative": "3.9.1",
"lodash.isarguments": "3.1.0",
"lodash.isarray": "3.0.4"
}
}, },
"mini-bench": { "mini-bench": {
"version": "1.0.0", "version": "1.0.0",
@ -199,7 +247,10 @@
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true "dev": true,
"requires": {
"brace-expansion": "1.1.8"
}
}, },
"minimist": { "minimist": {
"version": "0.0.8", "version": "0.0.8",
@ -209,23 +260,45 @@
"minipass": { "minipass": {
"version": "2.0.2", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-2.0.2.tgz", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.0.2.tgz",
"integrity": "sha512-DtFmHGmqDzlw/iUypeGvwFSbP3n7R6S0wcJ1GiQkKxM1aQigmCUaQLOT2fGQGNwZCKdqxTtC2NN5FzEWFiz+KA==" "integrity": "sha512-DtFmHGmqDzlw/iUypeGvwFSbP3n7R6S0wcJ1GiQkKxM1aQigmCUaQLOT2fGQGNwZCKdqxTtC2NN5FzEWFiz+KA==",
"requires": {
"yallist": "3.0.2"
}
}, },
"minizlib": { "minizlib": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.0.3.tgz", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.0.3.tgz",
"integrity": "sha1-1cGr93vhVGGZUuJTM27Mq5sqMvU=" "integrity": "sha1-1cGr93vhVGGZUuJTM27Mq5sqMvU=",
"requires": {
"minipass": "2.0.2"
}
}, },
"mkdirp": { "mkdirp": {
"version": "0.5.1", "version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=" "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"requires": {
"minimist": "0.0.8"
}
}, },
"mocha": { "mocha": {
"version": "3.4.2", "version": "3.4.2",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-3.4.2.tgz", "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.4.2.tgz",
"integrity": "sha1-0O9NMyEm2/GNDWQMmzgt1IvpdZQ=", "integrity": "sha1-0O9NMyEm2/GNDWQMmzgt1IvpdZQ=",
"dev": true "dev": true,
"requires": {
"browser-stdout": "1.3.0",
"commander": "2.9.0",
"debug": "2.6.0",
"diff": "3.2.0",
"escape-string-regexp": "1.0.5",
"glob": "7.1.1",
"growl": "1.9.2",
"json3": "3.3.2",
"lodash.create": "3.1.1",
"mkdirp": "0.5.1",
"supports-color": "3.1.2"
}
}, },
"ms": { "ms": {
"version": "0.7.2", "version": "0.7.2",
@ -237,7 +310,10 @@
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true "dev": true,
"requires": {
"wrappy": "1.0.2"
}
}, },
"path-is-absolute": { "path-is-absolute": {
"version": "1.0.1", "version": "1.0.1",
@ -255,12 +331,21 @@
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
"integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
"dev": true "dev": true,
"requires": {
"has-flag": "1.0.0"
}
}, },
"tar": { "tar": {
"version": "3.1.5", "version": "3.1.5",
"resolved": "https://registry.npmjs.org/tar/-/tar-3.1.5.tgz", "resolved": "https://registry.npmjs.org/tar/-/tar-3.1.5.tgz",
"integrity": "sha512-TKJKz1fqBOZBaIQ/MGRKU0EnTGmKMLy4ReTRgP10AgtfOWBbj9PBg4MgY80GFpqGbs2EzcIctW5gbwbP4woDYg==" "integrity": "sha512-TKJKz1fqBOZBaIQ/MGRKU0EnTGmKMLy4ReTRgP10AgtfOWBbj9PBg4MgY80GFpqGbs2EzcIctW5gbwbP4woDYg==",
"requires": {
"minipass": "2.0.2",
"minizlib": "1.0.3",
"mkdirp": "0.5.1",
"yallist": "3.0.2"
}
}, },
"type-detect": { "type-detect": {
"version": "4.0.3", "version": "4.0.3",
@ -276,7 +361,10 @@
"wordnet-db": { "wordnet-db": {
"version": "3.1.6", "version": "3.1.6",
"resolved": "https://registry.npmjs.org/wordnet-db/-/wordnet-db-3.1.6.tgz", "resolved": "https://registry.npmjs.org/wordnet-db/-/wordnet-db-3.1.6.tgz",
"integrity": "sha1-75kaOOmGq5HhsDai+ZF5jBNiD5g=" "integrity": "sha1-75kaOOmGq5HhsDai+ZF5jBNiD5g=",
"requires": {
"tar": "3.1.5"
}
}, },
"wrappy": { "wrappy": {
"version": "1.0.2", "version": "1.0.2",

View File

@ -1,6 +1,6 @@
{ {
"name": "wordpos", "name": "wordpos",
"version": "1.1.5", "version": "1.1.6",
"description": "wordpos is a set of part-of-speech utilities for Node.js using the WordNet database.", "description": "wordpos is a set of part-of-speech utilities for Node.js using the WordNet database.",
"author": "Moos <mooster@42at.com>", "author": "Moos <mooster@42at.com>",
"keywords": [ "keywords": [

View File

@ -169,6 +169,14 @@ var POS_factor = {
* @returns Promise * @returns Promise
*/ */
function randAll(opts, callback) { function randAll(opts, callback) {
if (typeof opts === 'function') {
callback = opts;
opts = {};
} else {
opts = _.clone(opts || {});
}
var var
profile = this.options.profile, profile = this.options.profile,
start = profile && new Date(), start = profile && new Date(),
@ -179,11 +187,6 @@ function randAll(opts, callback) {
parts = 'Noun Verb Adjective Adverb'.split(' '), parts = 'Noun Verb Adjective Adverb'.split(' '),
self = this; self = this;
if (typeof opts === 'function') {
callback = opts;
} else {
opts = _.clone(opts);
}
return new Promise(function(resolve, reject) { return new Promise(function(resolve, reject) {

View File

@ -449,6 +449,12 @@ describe('Promise pattern', function() {
}); });
it('rand()', function () { it('rand()', function () {
return wordpos.rand().then(function (result) {
assert.equal(result.length, 1);
});
});
it('rand({count})', function () {
return wordpos.rand({count: 5}).then(function (result) { return wordpos.rand({count: 5}).then(function (result) {
assert.equal(result.length, 5); assert.equal(result.length, 5);
}); });