从JSON架构faker生成自动增量ID

时间:2018-03-26 21:19:16

标签: json schema faker mockups

我正在寻找通过ID从0增加的JSON模式faker js生成数据的方法。 当我尝试在模式中使用autoIncrement参数时,我得到有效值,但是这个自动增量是从随机数开始的。 这可以用这个包来做到吗?

2 个答案:

答案 0 :(得分: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的数字非常大,则自动增量将不再是“安全的”。

答案 1 :(得分:0)

对于正在搜索最新答案的任何人,您现在都可以在架构中设置一个“ initialOffset”值作为起始值