mirror of
https://github.com/jspsych/jsPsych.git
synced 2025-05-10 19:20:55 +00:00
Merge pull request #2540 from jspsych/fix-seedrandom
Remove `crypto` module dependency
This commit is contained in:
commit
9c6ebacdce
5
.changeset/eighty-flowers-cry.md
Normal file
5
.changeset/eighty-flowers-cry.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"jspsych": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix a ReferenceError ("`require$$0` is not defined") related to the new seedable random number generator
|
18
package-lock.json
generated
18
package-lock.json
generated
@ -2901,11 +2901,6 @@
|
|||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/seedrandom": {
|
|
||||||
"version": "3.0.2",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/@types/semver": {
|
"node_modules/@types/semver": {
|
||||||
"version": "6.2.3",
|
"version": "6.2.3",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
@ -12548,7 +12543,8 @@
|
|||||||
},
|
},
|
||||||
"node_modules/seedrandom": {
|
"node_modules/seedrandom": {
|
||||||
"version": "3.0.5",
|
"version": "3.0.5",
|
||||||
"license": "MIT"
|
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
|
||||||
|
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
|
||||||
},
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "5.7.1",
|
"version": "5.7.1",
|
||||||
@ -15462,7 +15458,6 @@
|
|||||||
"@fontsource/open-sans": "4.5.3",
|
"@fontsource/open-sans": "4.5.3",
|
||||||
"@jspsych/config": "^1.2.0",
|
"@jspsych/config": "^1.2.0",
|
||||||
"@types/dom-mediacapture-record": "^1.0.11",
|
"@types/dom-mediacapture-record": "^1.0.11",
|
||||||
"@types/seedrandom": "^3.0.1",
|
|
||||||
"base64-inline-loader": "^2.0.1",
|
"base64-inline-loader": "^2.0.1",
|
||||||
"css-loader": "^6.6.0",
|
"css-loader": "^6.6.0",
|
||||||
"mini-css-extract-plugin": "^2.5.3",
|
"mini-css-extract-plugin": "^2.5.3",
|
||||||
@ -18268,10 +18263,6 @@
|
|||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/seedrandom": {
|
|
||||||
"version": "3.0.2",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"@types/semver": {
|
"@types/semver": {
|
||||||
"version": "6.2.3",
|
"version": "6.2.3",
|
||||||
"dev": true
|
"dev": true
|
||||||
@ -22610,7 +22601,6 @@
|
|||||||
"@fontsource/open-sans": "4.5.3",
|
"@fontsource/open-sans": "4.5.3",
|
||||||
"@jspsych/config": "^1.2.0",
|
"@jspsych/config": "^1.2.0",
|
||||||
"@types/dom-mediacapture-record": "^1.0.11",
|
"@types/dom-mediacapture-record": "^1.0.11",
|
||||||
"@types/seedrandom": "^3.0.1",
|
|
||||||
"auto-bind": "^4.0.0",
|
"auto-bind": "^4.0.0",
|
||||||
"base64-inline-loader": "^2.0.1",
|
"base64-inline-loader": "^2.0.1",
|
||||||
"css-loader": "^6.6.0",
|
"css-loader": "^6.6.0",
|
||||||
@ -24530,7 +24520,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"seedrandom": {
|
"seedrandom": {
|
||||||
"version": "3.0.5"
|
"version": "3.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
|
||||||
|
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
|
||||||
},
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "5.7.1"
|
"version": "5.7.1"
|
||||||
|
@ -49,7 +49,6 @@
|
|||||||
"@fontsource/open-sans": "4.5.3",
|
"@fontsource/open-sans": "4.5.3",
|
||||||
"@jspsych/config": "^1.2.0",
|
"@jspsych/config": "^1.2.0",
|
||||||
"@types/dom-mediacapture-record": "^1.0.11",
|
"@types/dom-mediacapture-record": "^1.0.11",
|
||||||
"@types/seedrandom": "^3.0.1",
|
|
||||||
"base64-inline-loader": "^2.0.1",
|
"base64-inline-loader": "^2.0.1",
|
||||||
"css-loader": "^6.6.0",
|
"css-loader": "^6.6.0",
|
||||||
"mini-css-extract-plugin": "^2.5.3",
|
"mini-css-extract-plugin": "^2.5.3",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import rw from "random-words";
|
import rw from "random-words";
|
||||||
import seedrandom from "seedrandom";
|
import seedrandom from "seedrandom/lib/alea";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Uses the `seedrandom` package to replace Math.random() with a seedable PRNG.
|
* Uses the `seedrandom` package to replace Math.random() with a seedable PRNG.
|
||||||
@ -7,12 +7,8 @@ import seedrandom from "seedrandom";
|
|||||||
* @param seed An optional seed. If none is given, a random seed will be generated.
|
* @param seed An optional seed. If none is given, a random seed will be generated.
|
||||||
* @returns The seed value.
|
* @returns The seed value.
|
||||||
*/
|
*/
|
||||||
export function setSeed(seed?: string) {
|
export function setSeed(seed: string = Math.random().toString()) {
|
||||||
if (!seed) {
|
Math.random = seedrandom(seed);
|
||||||
const prng = seedrandom();
|
|
||||||
seed = prng.int32().toString();
|
|
||||||
}
|
|
||||||
seedrandom(seed, { global: true });
|
|
||||||
return seed;
|
return seed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user