Skip to content

Commit 5e91dda

Browse files
committed
feat: add warnOnce
1 parent cd896db commit 5e91dda

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

.changeset/fresh-buses-lay.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@masknet/kit": patch
3+
---
4+
5+
add warnOnce

src/ecmascript/warnOnce.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/**
2+
* Warn a message only once.
3+
* @example
4+
* const warn = warnOnce('This is a warning')
5+
* warn() // This is a warning
6+
* warn() // (no output)
7+
*/
8+
export function warnOnce(...data: any[]) {
9+
let warned = false
10+
return () => {
11+
if (warned) return
12+
warned = true
13+
console.warn(...data)
14+
}
15+
}

src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ export { concatArrayBuffer } from './ecmascript/concatArrayBuffer.js'
33
export { isArrayBufferEqual } from './ecmascript/isArrayBufferEqual.js'
44
export { decodeHexString, encodeHexString } from './ecmascript/hex-string.js'
55
export { lazy } from './ecmascript/lazyDecorator.js'
6+
export { warnOnce } from './ecmascript/warnOnce.js'
67

78
export {
89
detectAudioSupport,

0 commit comments

Comments
 (0)