New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

jsverify

Package Overview
Dependencies
Maintainers
1
Versions
61
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jsverify - npm Package Compare versions

Comparing version

to
0.4.5

26

lib/generator.js

@@ -18,2 +18,10 @@ "use strict";

}
function generatorProtoFlatMap(generator) {
return function (f) {
return generatorBless(function (size) {
return f(generator(size))(size);
});
};
}
/* eslint-enable no-use-before-define */

@@ -23,2 +31,3 @@

generator.map = generatorProtoMap(generator);
generator.flatmap = generatorProtoFlatMap(generator);
return generator;

@@ -160,2 +169,18 @@ }

/**
- `generator.combine(gen: gen a..., f: a... -> b): gen b`
*/
function generatorCombine() {
var generators = Array.prototype.slice.call(arguments, 0, -1);
var f = arguments[arguments.length - 1];
return generatorBless(function (size) {
var values = generators.map(function (gen) {
return gen(size);
});
return f.apply(undefined, values);
});
}
module.exports = {

@@ -171,2 +196,3 @@ array: generateArray,

bless: generatorBless,
combine: generatorCombine,
};

52

lib/primitive.js

@@ -13,2 +13,9 @@ "use strict";

function extendWithDefault(arb) {
var def = arb();
arb.generator = def.generator;
arb.shrink = def.shrink;
arb.show = def.show;
}
/**

@@ -40,2 +47,4 @@ - `integer: arbitrary integer`

extendWithDefault(integer);
/**

@@ -64,2 +73,4 @@ - `nat: arbitrary nat`

extendWithDefault(nat);
/**

@@ -82,2 +93,4 @@ - `number: arbitrary number`

extendWithDefault(number);
/**

@@ -125,12 +138,31 @@ - `uint8: arbitrary nat`

var datetime = {
generator: generator.bless(function (size) {
// TODO: if size === 0 return datetimeConst or distantPast or distantFuture
return new Date(random.number(-size, size) * 768000000 + datetimeConst);
}),
// TODO: implement datetime shrink
shrink: shrink.noop,
show: show.def,
};
function datetime(from, to) {
if (arguments.length === 2) {
from = from.getTime();
to = to.getTime();
return {
generator: generator.bless(function () {
return new Date(random.number(from, to));
}),
// TODO: implement datetime shrink
shrink: shrink.noop,
show: show.def,
};
} else {
return {
generator: generator.bless(function (size) {
// TODO: if size === 0 return datetimeConst or distantPast or distantFuture
return new Date(random.number(-size, size) * 768000000 + datetimeConst);
}),
// TODO: implement datetime shrink
shrink: shrink.noop,
show: show.def,
};
}
}
extendWithDefault(datetime);
/**

@@ -195,2 +227,4 @@ - `elements(args: array a): generator a`

extendWithDefault(string);
/**

@@ -197,0 +231,0 @@ - `notEmptyString: arbitrary string`

4

npm-freeze-manifest.json
{
"version": "0.4.4",
"version": "0.4.5",
"dependencies": {

@@ -2368,2 +2368,2 @@ "browserify": {

}
}
}
{
"name": "jsverify",
"description": "Property-based testing for JavaScript.",
"version": "0.4.4",
"version": "0.4.5",
"homepage": "http://jsverify.github.io/",

@@ -6,0 +6,0 @@ "author": {

@@ -331,3 +331,6 @@ # JSVerify

- `generator.combine(gen: gen a..., f: a... -> b): gen b`
### Shrink functions

@@ -422,3 +425,6 @@

- 0.4.4 — *2014-11-22* new generators
- **0.4.5** — *2014-11-22* stuff
- `generator.combine` & `.flatmap`
- `nat`, `integer`, `number` & and `string` act as objects too
- **0.4.4** — *2014-11-22* new generators
- New generators: `nearray`, `nestring`

@@ -428,3 +434,3 @@ - `generator.constant`

- `jsc.sampler`
- 0.4.3 — *2014-11-08* jsc.property
- **0.4.3** — *2014-11-08* jsc.property
- Now you can write your bdd specs without any boilerplate

@@ -440,9 +446,9 @@ - support for nat-litearls in dsl [#36](https://github.com/jsverify/jsverify/issues/36)

- Falsy generator [#42](https://github.com/jsverify/jsverify/issues/42)
- 0.4.2 — *2014-11-03* User environments for DSL
- **0.4.2** — *2014-11-03* User environments for DSL
- User environments for DSL
- Generator prototype `map`, and shrink prototype `isomap`
- JSON generator works with larger sizes
- 0.4.1 Move to own organization in GitHub
- 0.4.0 *2014-10-27* typify-dsl & more arbitraries.
Changes from 0.3.6:
- **0.4.1** Move to own organization in GitHub
- **0.4.0** *2014-10-27* typify-dsl & more arbitraries.
Changes from **0.3.6**:
- DSL for `forall` and `suchthat`

@@ -453,12 +459,12 @@ - new primitive arbitraries

- Other smaller stuff under the hood
- 0.4.0-beta.4 generator.oneof
- 0.4.0-beta.3 Expose shrink and show modules
- 0.4.0-beta.2 Move everything around
- **0.4.0**-beta.4 generator.oneof
- **0.4.0**-beta.3 Expose shrink and show modules
- **0.4.0**-beta.2 Move everything around
- Better looking README.md!
- 0.4.0-beta.1 Beta!
- **0.4.0**-beta.1 Beta!
- Dev Dependencies update
- 0.4.0-alpha8 oneof & record -dsl support
- **0.4.0**-alpha8 oneof & record -dsl support
- also `jsc.compile`
- record is shrinkable!
- 0.4.0-alpha7 oneof & record
- **0.4.0**-alpha7 oneof & record
- *oneof* and *record* generator combinators ([@fson](https://github.com/fson))

@@ -468,3 +474,3 @@ - Fixed uint\* generators

- Numeric generators with size specified are independent of test size ([#20](https://github.com/phadej/jsverify/issues/20))
- 0.4.0-alpha6 more primitives
- **0.4.0**-alpha6 more primitives
- int8, int16, int32, uint8, uint16, uint32

@@ -474,10 +480,10 @@ - char, asciichar and asciistring

- use eslint
- 0.4.0-alpha5 move david to be devDependency
- 0.4.0-alpha4 more typify
- **0.4.0**-alpha5 move david to be devDependency
- **0.4.0**-alpha4 more typify
- `suchchat` supports typify dsl
- `oneof` → `elements` to be in line with QuickCheck
- Added versions of examples using typify dsl
- 0.4.0-alpha3 David, npm-freeze and jscs
- 0.4.0-alpha2 Fix typo in readme
- 0.4.0-alpha1 typify
- **0.4.0**-alpha3 David, npm-freeze and jscs
- **0.4.0**-alpha2 Fix typo in readme
- **0.4.0**-alpha1 typify
- DSL for `forall`

@@ -493,9 +499,9 @@ ```js

- 0.3.6 map generator
- 0.3.5 Fix forgotten rngState in console output
- 0.3.4 Dependencies update
- 0.3.3 Dependencies update
- 0.3.2 `fun` → `fn`
- 0.3.1 Documentation typo fixes
- 0.3.0 Major changes
- **0.3.6** map generator
- **0.3.5** Fix forgotten rngState in console output
- **0.3.4** Dependencies update
- **0.3.3** Dependencies update
- **0.3.2** `fun` → `fn`
- **0.3.1** Documentation typo fixes
- **0.3.0** Major changes
- random generate state handling

@@ -506,11 +512,11 @@ - `--jsverifyRngState` parameter value used when run on node

- dependencies update
- 0.2.0 Use browserify
- 0.1.4 Mocha test suite
- **0.2.0** Use browserify
- **0.1.4** Mocha test suite
- major cleanup
- 0.1.3 gen.show and exception catching
- 0.1.2 Added jsc.assert
- 0.1.1 Use grunt-literate
- 0.1.0 Usable library
- 0.0.2 Documented preview
- 0.0.1 Initial preview
- **0.1.3** gen.show and exception catching
- **0.1.2** Added jsc.assert
- **0.1.1** Use grunt-literate
- **0.1.0** Usable library
- **0.0.2** Documented preview
- **0.0.1** Initial preview

@@ -517,0 +523,0 @@ ## Related work