opaque-type-library:@ iadvize-ossopaque-type-Typescript的不透明类型

时间:2024-04-30 07:08:31
【文件属性】:

文件名称:opaque-type-library:@ iadvize-ossopaque-type-Typescript的不透明类型

文件大小:108KB

文件格式:ZIP

更新时间:2024-04-30 07:08:31

typescript TypeScript

@ iadvize / opaque-types 灵感来自 用法 npm add @iadvize-oss/opaque-type 为什么 ? 语义类型检查 以下纯真代码将正确编译,不同之处在于,如果混合使用createRoom参数,则会在运行时引入讨厌的错误。 type RoomID = string ; type UserID = string ; function createRoom ( roomId : RoomID , userId : UserID ) { // something } const roomId : RoomID = ... ; const userId : UserID = ... ; createRoom ( userId , roomId ) ; 不透明的救援! 以下代码将无法编译,因为Opaque为RoomId和UserId增加了更多的


【文件预览】:
opaque-type-library-master
----.gitignore(72B)
----.eslintrc(176B)
----package.json(1KB)
----package-lock.json(419KB)
----src()
--------index.ts(3KB)
----CODEOWNERS(158B)
----test-api()
--------opaqueAPI.test.ts(810B)
--------__snapshots__()
----jest.config.js(422B)
----LICENSE(1KB)
----CHANGELOG.md(1KB)
----tsconfig.json(594B)
----.github()
--------PULL_REQUEST_TEMPLATE.md(79B)
--------CONTRIBUTING.md(4KB)
--------CODE_OF_CONDUCT.md(3KB)
--------workflows()
----rollup.config.js(354B)
----test-types()
--------opaqueAPI.test.ts(564B)
----README.md(3KB)
----.eslintignore(36B)
----typedoc.json(154B)
----.dependabot()
--------config.yml(363B)

网友评论