* Updating everything except the license headers themselves * Applying ESLint rules * Manually replacing the stragglers
43 lines
941 B
JavaScript
43 lines
941 B
JavaScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
* 2.0; you may not use this file except in compliance with the Elastic License
|
|
* 2.0.
|
|
*/
|
|
|
|
import Chance from 'chance';
|
|
|
|
export function RandomProvider({ getService }) {
|
|
const log = getService('log');
|
|
|
|
const seed = Date.now();
|
|
log.debug('randomness seed: %j', seed);
|
|
const chance = new Chance(seed);
|
|
|
|
return new (class Randomness {
|
|
int(min = 3, max = 15) {
|
|
return chance.integer({ min, max });
|
|
}
|
|
|
|
id() {
|
|
return chance.word({ length: this.int(10, 15) });
|
|
}
|
|
|
|
version() {
|
|
return `v${this.int()}.${this.int()}.${this.int()}`;
|
|
}
|
|
|
|
text() {
|
|
return chance.sentence({ words: this.int() });
|
|
}
|
|
|
|
longText() {
|
|
return chance.paragraph();
|
|
}
|
|
|
|
pickOne(list) {
|
|
return chance.pickone(list);
|
|
}
|
|
})();
|
|
}
|