Prototype: Effect (#6)

- Add EffectTS prototype
This commit is contained in:
sinclairzx81
2025-01-22 20:03:50 +09:00
committed by GitHub
parent 053c890236
commit d24876b2ac
5 changed files with 469 additions and 23 deletions

139
package-lock.json generated
View File

@@ -8,8 +8,13 @@
"name": "@sinclair/typebox-adapter",
"version": "0.9.1",
"license": "MIT",
"dependencies": {
"valibot": "^1.0.0-beta.13",
"zod": "^3.24.1"
},
"devDependencies": {
"@arethetypeswrong/cli": "^0.17.2",
"@effect/schema": "^0.75.5",
"@sinclair/hammer": "^0.18.0",
"@types/mocha": "^10.0.10",
"@types/node": "^22.10.2",
@@ -18,11 +23,11 @@
"typescript": "^5.7.2"
},
"optionalDependencies": {
"valibot": "^1.0.0-beta.11",
"valibot": "^1.0.0-beta.13",
"zod": "^3.24.1"
},
"peerDependencies": {
"@sinclair/typebox": "^0.34.13"
"@sinclair/typebox": "^0.34.14"
}
},
"node_modules/@andrewbranch/untar.js": {
@@ -93,6 +98,18 @@
"node": ">=0.1.90"
}
},
"node_modules/@effect/schema": {
"version": "0.75.5",
"resolved": "https://registry.npmjs.org/@effect/schema/-/schema-0.75.5.tgz",
"integrity": "sha512-TQInulTVCuF+9EIbJpyLP6dvxbQJMphrnRqgexm/Ze39rSjfhJuufF7XvU3SxTgg3HnL7B/kpORTJbHhlE6thw==",
"dev": true,
"dependencies": {
"fast-check": "^3.21.0"
},
"peerDependencies": {
"effect": "^3.9.2"
}
},
"node_modules/@esbuild/linux-loong64": {
"version": "0.15.7",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz",
@@ -172,9 +189,9 @@
}
},
"node_modules/@sinclair/typebox": {
"version": "0.34.13",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.13.tgz",
"integrity": "sha512-ceVKqyCEgC355Kw0s/0tyfY9MzMQINSykJ/pG2w6YnaZyrcjV48svZpr8lVZrYgWjzOmrIPBhQRAtr/7eJpA5g==",
"version": "0.34.14",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.14.tgz",
"integrity": "sha512-TJ7Al17j3+by5y2QkTLcF/oBVMbgXBhILVgi9PuwpxQVZZvGh5BFRzWbJPmZVNKpbRLjuMzFuRwR+tdFPqCkvA==",
"peer": true
},
"node_modules/@sindresorhus/is": {
@@ -196,9 +213,9 @@
"dev": true
},
"node_modules/@types/node": {
"version": "22.10.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz",
"integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==",
"version": "22.10.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz",
"integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==",
"dev": true,
"dependencies": {
"undici-types": "~6.20.0"
@@ -562,6 +579,16 @@
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
"dev": true
},
"node_modules/effect": {
"version": "3.12.6",
"resolved": "https://registry.npmjs.org/effect/-/effect-3.12.6.tgz",
"integrity": "sha512-4gNxRpXduuvVv03528sPLGglkCAX9szGBUA6oIG3YL+6ap82JmbVp4OIa+xTurype+H9b4/I4M2ubxDxJJ01Og==",
"dev": true,
"peer": true,
"dependencies": {
"fast-check": "^3.23.1"
}
},
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -963,6 +990,28 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/fast-check": {
"version": "3.23.2",
"resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.23.2.tgz",
"integrity": "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/dubzzz"
},
{
"type": "opencollective",
"url": "https://opencollective.com/fast-check"
}
],
"dependencies": {
"pure-rand": "^6.1.0"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/fflate": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz",
@@ -1545,6 +1594,22 @@
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/pure-rand": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz",
"integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/dubzzz"
},
{
"type": "opencollective",
"url": "https://opencollective.com/fast-check"
}
]
},
"node_modules/randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -1871,9 +1936,9 @@
}
},
"node_modules/valibot": {
"version": "1.0.0-beta.11",
"resolved": "https://registry.npmjs.org/valibot/-/valibot-1.0.0-beta.11.tgz",
"integrity": "sha512-Ztl5Iks1Ql7Z6CwkS5oyqguN3G8tmUiNlsHpqbDt6DLMpm+eu+n8Q7f921gI3uHvNZ8xDVkd4cEJP5t+lELOfw==",
"version": "1.0.0-beta.13",
"resolved": "https://registry.npmjs.org/valibot/-/valibot-1.0.0-beta.13.tgz",
"integrity": "sha512-WCAqfG126/nadCrK36lOgVHrYWeWJfxb52PYE48gqg/8clLTy9sWjE6v/W43cVtgR+rSt30J1IAswk6ovT48pQ==",
"optional": true,
"peerDependencies": {
"typescript": ">=5"
@@ -2130,6 +2195,15 @@
"dev": true,
"optional": true
},
"@effect/schema": {
"version": "0.75.5",
"resolved": "https://registry.npmjs.org/@effect/schema/-/schema-0.75.5.tgz",
"integrity": "sha512-TQInulTVCuF+9EIbJpyLP6dvxbQJMphrnRqgexm/Ze39rSjfhJuufF7XvU3SxTgg3HnL7B/kpORTJbHhlE6thw==",
"dev": true,
"requires": {
"fast-check": "^3.21.0"
}
},
"@esbuild/linux-loong64": {
"version": "0.15.7",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz",
@@ -2187,9 +2261,9 @@
}
},
"@sinclair/typebox": {
"version": "0.34.13",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.13.tgz",
"integrity": "sha512-ceVKqyCEgC355Kw0s/0tyfY9MzMQINSykJ/pG2w6YnaZyrcjV48svZpr8lVZrYgWjzOmrIPBhQRAtr/7eJpA5g==",
"version": "0.34.14",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.14.tgz",
"integrity": "sha512-TJ7Al17j3+by5y2QkTLcF/oBVMbgXBhILVgi9PuwpxQVZZvGh5BFRzWbJPmZVNKpbRLjuMzFuRwR+tdFPqCkvA==",
"peer": true
},
"@sindresorhus/is": {
@@ -2205,9 +2279,9 @@
"dev": true
},
"@types/node": {
"version": "22.10.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz",
"integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==",
"version": "22.10.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz",
"integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==",
"dev": true,
"requires": {
"undici-types": "~6.20.0"
@@ -2467,6 +2541,16 @@
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
"dev": true
},
"effect": {
"version": "3.12.6",
"resolved": "https://registry.npmjs.org/effect/-/effect-3.12.6.tgz",
"integrity": "sha512-4gNxRpXduuvVv03528sPLGglkCAX9szGBUA6oIG3YL+6ap82JmbVp4OIa+xTurype+H9b4/I4M2ubxDxJJ01Og==",
"dev": true,
"peer": true,
"requires": {
"fast-check": "^3.23.1"
}
},
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -2666,6 +2750,15 @@
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true
},
"fast-check": {
"version": "3.23.2",
"resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.23.2.tgz",
"integrity": "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==",
"dev": true,
"requires": {
"pure-rand": "^6.1.0"
}
},
"fflate": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz",
@@ -3075,6 +3168,12 @@
"integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==",
"dev": true
},
"pure-rand": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz",
"integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==",
"dev": true
},
"randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -3303,9 +3402,9 @@
"dev": true
},
"valibot": {
"version": "1.0.0-beta.11",
"resolved": "https://registry.npmjs.org/valibot/-/valibot-1.0.0-beta.11.tgz",
"integrity": "sha512-Ztl5Iks1Ql7Z6CwkS5oyqguN3G8tmUiNlsHpqbDt6DLMpm+eu+n8Q7f921gI3uHvNZ8xDVkd4cEJP5t+lELOfw==",
"version": "1.0.0-beta.13",
"resolved": "https://registry.npmjs.org/valibot/-/valibot-1.0.0-beta.13.tgz",
"integrity": "sha512-WCAqfG126/nadCrK36lOgVHrYWeWJfxb52PYE48gqg/8clLTy9sWjE6v/W43cVtgR+rSt30J1IAswk6ovT48pQ==",
"optional": true,
"requires": {}
},