我正在寻找通过 ID 从 0 递增的 JSON 模式 faker js 生成数据的方法。当我尝试autoIncrement
在模式中使用参数时,我得到了有效值,但是这种自动递增是从随机数开始的。这个包可以做到吗?
1475 次
2 回答
0
我没有找到该问题的官方解决方案,但这里有一个解决方法。
json-schema-faker
的用于生成自增整数的源代码(node_modules\json-schema-faker\lib\index.js)解释了为什么它从一个随机整数开始:
// safe auto-increment values
container.define('autoIncrement', function (value, schema) {
if (!this.offset) {
var min = schema.minimum || 1;
var max = min + env.MAX_NUMBER;
this.offset = random$1.number(min, max);
}
if (value === true) {
return this.offset++;
}
return schema;
});
它是if (!this.offset)
设置初始值的分支。为了实现我们的目标,我们可以像这样修改分支内的代码:
if (!this.offset) {
var min = schema.minimum || 1;
// var max = min + env.MAX_NUMBER;
// this.offset = random$1.number(min, max);
this.offset = min;
}
当minimum
在模式中指定时,其值将用作起点。否则,1
改为使用。
还值得注意的是,如果您指定minimum
一个非常大的数字,自动增量将不再是“安全的”。
于 2018-04-02T12:34:33.110 回答
0
对于任何寻找更当前答案的人,您现在可以在模式中设置一个“initialOffset”值作为起始值
于 2019-03-29T00:36:29.303 回答