Skip to content

Commit 3c25f47

Browse files
committed
feat: add todo and unimplemented
1 parent 0056637 commit 3c25f47

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

.changeset/pretty-pears-rule.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@masknet/kit': minor
3+
---
4+
5+
add todo and unimplemented

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export {
1414
export { formatFileSize } from './media/file.js'
1515
export { getDimensionAsJPEG, getDimensionAsPNG } from './media/image.js'
1616

17-
export { safeUnreachable, unreachable } from './typescript/control-flow.js'
17+
export { safeUnreachable, unreachable, todo, unimplemented } from './typescript/control-flow.js'
1818
export { getEnumAsArray } from './typescript/enum.js'
1919
export { assertNonNull, isNonNull } from './typescript/nonNull.js'
2020

src/typescript/control-flow.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,20 @@
11
export function unreachable(value: never): never {
22
console.error('Unhandled value: ', value)
3+
try {
4+
// @ts-expect-error
5+
value = String(value)
6+
} catch { }
37
throw new Error('Unreachable case:' + value)
48
}
59

610
export function safeUnreachable(value: never) {
711
console.error('Unhandled value: ', value)
812
}
13+
14+
export function unimplemented(): never {
15+
throw new Error('Not implemented')
16+
}
17+
18+
export function todo(message: string): never {
19+
throw new Error('Not implemented: ' + message)
20+
}

0 commit comments

Comments
 (0)