Skip to content

Commit

Permalink
feat: add todo and unimplemented
Browse files Browse the repository at this point in the history
  • Loading branch information
Jack-Works committed Nov 9, 2023
1 parent 0056637 commit 3c25f47
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
5 changes: 5 additions & 0 deletions .changeset/pretty-pears-rule.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@masknet/kit': minor
---

add todo and unimplemented
2 changes: 1 addition & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export {
export { formatFileSize } from './media/file.js'
export { getDimensionAsJPEG, getDimensionAsPNG } from './media/image.js'

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

Expand Down
12 changes: 12 additions & 0 deletions src/typescript/control-flow.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
export function unreachable(value: never): never {
console.error('Unhandled value: ', value)
try {
// @ts-expect-error
value = String(value)
} catch { }
throw new Error('Unreachable case:' + value)
}

export function safeUnreachable(value: never) {
console.error('Unhandled value: ', value)
}

export function unimplemented(): never {
throw new Error('Not implemented')
}

export function todo(message: string): never {
throw new Error('Not implemented: ' + message)
}

0 comments on commit 3c25f47

Please sign in to comment.