Add seed param to rand() template fn

This commit is contained in:
Miikka Virtanen 2019-07-04 13:13:10 +03:00
parent b230a73a6f
commit e0f85ec0ee
3 changed files with 11 additions and 2 deletions

5
package-lock.json generated
View file

@ -9696,6 +9696,11 @@
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"seedrandom": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.1.tgz",
"integrity": "sha512-1/02Y/rUeU1CJBAGLebiC5Lbo5FnB22gQbIFFYTLkwvp1xdABZJH1sn4ZT1MzXmPpzv+Rf/Lu2NcsLJiK4rcDg=="
},
"semver": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",

View file

@ -42,6 +42,7 @@
"passport-custom": "^1.0.5",
"passport-oauth2": "^1.5.0",
"reflect-metadata": "^0.1.12",
"seedrandom": "^3.0.1",
"tlds": "^1.203.1",
"tmp": "0.0.33",
"ts-node": "^3.3.0",

View file

@ -1,4 +1,5 @@
import { has, get } from "./utils";
import seedrandom from "seedrandom";
const TEMPLATE_CACHE_SIZE = 200;
const templateCache: Map<string, ParsedTemplate> = new Map();
@ -299,7 +300,7 @@ const baseValues = {
if (end != null && isNaN(end)) return "";
return arg1.slice(parseInt(start, 10), end && parseInt(end, 10));
},
rand(from, to) {
rand(from, to, seed = null) {
if (isNaN(from)) return 0;
if (to == null) {
@ -313,7 +314,9 @@ const baseValues = {
[from, to] = [to, from];
}
return Math.round(Math.random() * (to - from) + from);
let randValue = seed != null ? new seedrandom(seed)() : Math.random();
return Math.round(randValue * (to - from) + from);
},
add(...args) {
return args.reduce((result, arg) => {