我想从 Typescript 类型或接口生成一些 joi 模式对象。在我最初的搜索中,我发现了一些相反的事情(从 joi 模式生成 Typescript 类型/接口),并且ts-interface-builder提供ts-interface-checker了一些基于 Typescript 类型/接口创建运行时检查器的能力,但仍然缺乏功能支持,并且整个使用围绕道具/方法的类和装饰器来完成此任务的一堆粗糙的东西。
有没有什么东西可以生成这样的 joi 模式?或者有更成熟的接口/类型运行时检查替代方案?(当从数据库中提取并确保来自数据库的响应具有正确的结构时很有用)
编辑:我想在这个io-ts github问题上有一个关于此类问题的很好的帖子。
我正在设置一个节点项目,husky我想手动运行一个 git-hook 脚本,而不必在 git 中触发它。
例子:
我的 package.json 有以下内容:
{
...
"scripts": {
"precommit": // something goes here
}
...
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
...
}
Run Code Online (Sandbox Code Playgroud)
如果我运行npm run precommit,lint-staged钩子步骤将运行,而没有实际发生在 git 中的提交。
这可能吗?
很难遍历和查询行中的元素jsonb[]。
CREATE TABLE foo (\n id uuid PRIMARY KEY,\n work_experience jsonb[] NOT NULL\n);\n\nINSERT INTO foo (id, work_experience)\nVALUES (\n \'b4e942a0-49b4-4fa7-8f7a-5fbf0541d1c9\',\n E\'{"{\\\\"id\\\\": \\\\"7cd74bae-ff5b-4f58-ab20-0218f820ffff\\\\", \\\\"skills\\\\": [{\\\\"id\\\\": \\\\"c8a5328d-87ba-419d-802f-80b1d940bb68|313384d2-486d-4b7f-ba33-76b1cd696f0a|fd3c41b8-8c15-47e2-a80d-cf3683b2d0da\\\\", \\\\"level1\\\\": \\\\"Programming languages\\\\", \\\\"level2\\\\": \\\\"Scripting languages\\\\", \\\\"level3\\\\": \\\\"TypeScript\\\\", \\\\"level1_id\\\\": \\\\"c8a5328d-87ba-419d-802f-80b1d940bb68\\\\", \\\\"level2_id\\\\": \\\\"313384d2-486d-4b7f-ba33-76b1cd696f0a\\\\", \\\\"level3_id\\\\": \\\\"fd3c41b8-8c15-47e2-a80d-cf3683b2d0da\\\\"}, {\\\\"id\\\\": \\\\"84dff39f-2ed6-408c-a188-14cf55a09c5b|e13b48c1-fd0f-4ecc-89de-58e9312b9435|686af7e4-6d58-4148-b227-3bf65ff10273\\\\", \\\\"level1\\\\": \\\\"Software frameworks & libraries\\\\", \\\\"level2\\\\": \\\\"Frontend frameworks & libraries\\\\", \\\\"level3\\\\": \\\\"React\\\\", \\\\"level1_id\\\\": \\\\"84dff39f-2ed6-408c-a188-14cf55a09c5b\\\\", \\\\"level2_id\\\\": \\\\"e13b48c1-fd0f-4ecc-89de-58e9312b9435\\\\", \\\\"level3_id\\\\": \\\\"686af7e4-6d58-4148-b227-3bf65ff10273\\\\"}, {\\\\"id\\\\": \\\\"84dff39f-2ed6-408c-a188-14cf55a09c5b|c4e54726-7bd5-44bb-8597-a05eb2272e2b|cda4441f-dba6-495c-9e2e-7429bd5e0465\\\\", \\\\"level1\\\\": \\\\"Software frameworks & libraries\\\\", \\\\"level2\\\\": \\\\"Backend frameworks & libraries\\\\", \\\\"level3\\\\": \\\\"Node.js\\\\", \\\\"level1_id\\\\": \\\\"84dff39f-2ed6-408c-a188-14cf55a09c5b\\\\", \\\\"level2_id\\\\": \\\\"c4e54726-7bd5-44bb-8597-a05eb2272e2b\\\\", \\\\"level3_id\\\\": …Run Code Online (Sandbox Code Playgroud) javascript ×2
git ×1
githooks ×1
husky ×1
joi ×1
jsonb ×1
node.js ×1
postgresql ×1
typescript ×1