From 38fef5478f34cc0ff2c225d09a5f776154cbcd28 Mon Sep 17 00:00:00 2001 From: Alvaro Cabrera <pateketrueke@gmail.com> Date: Fri, 25 Nov 2016 01:15:08 -0600 Subject: [PATCH] Apply defaultRandExpMax option; fix --- lib/class/Container.js | Bin 2134 -> 2396 bytes lib/class/OptionRegistry.js | Bin 931 -> 977 bytes ts/class/Container.ts | 13 ++++++++++++- ts/class/OptionRegistry.ts | 3 ++- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/class/Container.js b/lib/class/Container.js index daf2998c01b48cef224c4e3e8ecbf8bf041216d7..132428e891309bea2eedc85cd55a1706e234a0df 100644 GIT binary patch delta 295 zcmca6a7So@fpS@5kwSh!NoIbYf~`VPYGG++QL2WLo}PYUL8d-LVxtZx8y`qrP-0$+ zYehl4g6(8$HpzNxE(Ih|lv+|+l&6qZnwJbVO`{;Oq$IT{Pg9{9MIA^B$grYR1zUx@ z)N%!wsc;Rb=7Q80rRwD-Rw&p)U8<p;lA4y7P?}Q$)$5yBp{|LkEjd50I6o&<FDE}; bqbL=N0;rpdQuWeP^EA*D)NYPp`^5+VB-c^r delta 38 ocmca3bWLD_!Nzb_w#jAeqC)CLiFqlh6$R?CdQjHpB=%p700wpqvj6}9 diff --git a/lib/class/OptionRegistry.js b/lib/class/OptionRegistry.js index 47a41f68d6b4dae3ae957ee2c74b5c8adf17500f..bf56c1ff7b7d18b722a7f2b990b33c4729d0e3d0 100644 GIT binary patch delta 40 vcmZ3?evy5H9J549YFc7xPDxN=UW#i)fp21kdaQ!2f}z1=MJBPya?Gs&7Yq!L delta 11 Scmcb}zL<T39P?x!=2ie0jRU&? diff --git a/ts/class/Container.ts b/ts/class/Container.ts index 13cad008..8323c185 100644 --- a/ts/class/Container.ts +++ b/ts/class/Container.ts @@ -1,4 +1,5 @@ import RandExp = require('randexp'); +import option = require('../api/option'); // set maximum default, see #193 RandExp.prototype.max = 10; @@ -52,7 +53,17 @@ class Container { if (typeof this.registry[name] === 'undefined') { throw new ReferenceError('"' + name + '" dependency doesn\'t exist.'); } else if (name === 'randexp') { - return this.registry['randexp'].randexp; + var RandExp_ = this.registry['randexp']; + + // wrapped generator + return function (pattern): string { + var re = new RandExp_(pattern); + + // apply given setting + re.max = option('defaultRandExpMax'); + + return re.gen(); + }; } return this.registry[name]; } diff --git a/ts/class/OptionRegistry.ts b/ts/class/OptionRegistry.ts index f663dafd..4120800c 100644 --- a/ts/class/OptionRegistry.ts +++ b/ts/class/OptionRegistry.ts @@ -1,6 +1,6 @@ import Registry = require('./Registry'); -type Option = boolean; +type Option = boolean|number; /** * This class defines a registry for custom formats used within JSF. @@ -14,6 +14,7 @@ class OptionRegistry extends Registry<Option> { this.data['useDefaultValue'] = false; this.data['maxItems'] = null; this.data['maxLength'] = null; + this.data['defaultRandExpMax'] = 10; this.data['alwaysFakeOptionals'] = false; } } -- GitLab