小编Nts*_*sDK的帖子

是否可以使用 TypeScript strictNullCheck 作为 eslint 规则?

我的代码库存在错误,可以通过 strictNullChecks 找到这些错误。但 strictNullChecks 编译器规则只能打开/关闭。我不能只是修复/评论所有问题来让 TypeScript 满意。我想提出警告或 eslint 警告以进行严格检查。

我试图在 typescript-eslint 中找到适用的规则,但我没有看到任何合适的规则。

是否有可能将严格的 TypeScript 错误作为 eslint 警告?

typescript eslint

11
推荐指数
1
解决办法
1851
查看次数

如何使用 ajv 验证空字符串数组?

我用 ajv 进行 json 验证。我需要验证字符串数组。我知道哪些元素可以放置在那里,所以我做了适当的“枚举”。但在某些情况下,枚举可以为空,数组也可以为空。这是简单的测试:

var schema = {
    "type":"array",
    "items" : {
        "type" : "string",
        "enum" : []
    }
}

var data = [];

var Ajv = require('./ajv-4.1.1.js');
var ajv = Ajv({
    allErrors : true
});
var validate = ajv.compile(schema);
var valid = validate(data);
if (!valid)
    console.log(validate.errors);
Run Code Online (Sandbox Code Playgroud)

结果我得到:

Error: schema is invalid:data.items.enum should NOT have less than 1 items, data.items should be array, data.items should match some schema in anyOf
Run Code Online (Sandbox Code Playgroud)

我可以将任何虚构的字符串添加到枚举数组中,但是是否可以以合法的方式验证这种情况?添加“minItems=0”限制没有帮助。

我不能使用空枚举真的是 json 模式草稿限制吗?

UPD:我希望在一般情况下验证代码:

var array = Object.keys(someObj); …
Run Code Online (Sandbox Code Playgroud)

arrays validation json jsonschema ajv

7
推荐指数
1
解决办法
2万
查看次数

如何在 TypeScript 中导出 Ramda 咖喱函数?

我是 TypeScript 的新手。我有一些用 Ramda 编写的 JavaScript 代码,我想在 TypeScript 项目中使用它。

这是 JavaScript 中的通用排序函数:

var charOrdAFactoryBase = R.curry(function(sortDir, prepare){
    return function(a, b) {
        a = prepare(a);
        b = prepare(b);
        if(R.isNil(a) && R.isNil(b)) return 0;
        if(R.isNil(a)) return 1;
        if(R.isNil(b)) return -1;
        if (a > b)
            return sortDir === "asc" ? 1 : -1;
        if (a < b)
            return sortDir === "asc" ? -1 : 1;
        return 0;
    };
});
Run Code Online (Sandbox Code Playgroud)

我试着做:

export function charOrdAFactoryBase;
Run Code Online (Sandbox Code Playgroud)

但是 TypeScript 编译器说:函数实现丢失或没有紧跟在声明之后。

是否可以导出 Ramda 咖喱函数?

javascript typescript ramda.js

2
推荐指数
1
解决办法
527
查看次数

标签 统计

typescript ×2

ajv ×1

arrays ×1

eslint ×1

javascript ×1

json ×1

jsonschema ×1

ramda.js ×1

validation ×1