3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-03-15 05:41:51 +00:00

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", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" "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": { "semver": {
"version": "5.5.0", "version": "5.5.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",

View file

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

View file

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