📄 general.ts
¶
📊 Analysis Summary¶
Metric | Count |
---|---|
🔧 Functions | 12 |
📊 Variables & Constants | 4 |
⚡ Async/Await Patterns | 2 |
📐 Interfaces | 1 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/shared/utils/general.ts
Variables & Constants¶
Name | Type | Kind | Value | Exported |
---|---|---|---|---|
_promise |
Promise<T> | undefined |
let/var | *not shown* |
✗ |
_prev |
Promise<T> |
let/var | _promise |
✗ |
value |
string |
const | target.match(/^-?\d+\.?\d*/)?.[0] || '' |
✗ |
result |
number |
const | (Number.parseFloat(value) + delta) |
✗ |
Async/Await Patterns¶
Type | Function | Await Expressions | Promise Chains |
---|---|---|---|
promise-chain | promiseTimeout |
none | new Promise(...) |
await-expression | createSingletonPromise |
_prev | none |
Functions¶
promiseTimeout(ms: number, throwOnTimeout: boolean, reason: string): Promise<void>
¶
Code
- Parameters:
ms: number
throwOnTimeout: boolean
reason: string
- Return Type:
Promise<void>
- Calls:
setTimeout
reject
identity(arg: T): T
¶
- Parameters:
arg: T
- Return Type:
T
createSingletonPromise(fn: () => Promise<T>): SingletonPromiseReturn<T>
¶
Code
export function createSingletonPromise<T>(fn: () => Promise<T>): SingletonPromiseReturn<T> {
let _promise: Promise<T> | undefined
function wrapper() {
if (!_promise)
_promise = fn()
return _promise
}
wrapper.reset = async () => {
const _prev = _promise
_promise = undefined
if (_prev)
await _prev
}
return wrapper
}
-
JSDoc:
-
Parameters:
fn: () => Promise<T>
- Return Type:
SingletonPromiseReturn<T>
- Calls:
fn
wrapper(): Promise<T>
¶
- Return Type:
Promise<T>
- Calls:
fn
invoke(fn: () => T): T
¶
- Parameters:
fn: () => T
- Return Type:
T
- Calls:
fn
containsProp(obj: object, props: string[]): boolean
¶
Code
- Parameters:
obj: object
props: string[]
- Return Type:
boolean
- Calls:
props.some
increaseWithUnit(target: number, delta: number): number
¶
-
JSDoc:
-
Parameters:
target: number
delta: number
- Return Type:
number
pxValue(px: string): number
¶
Code
-
JSDoc:
-
Parameters:
px: string
- Return Type:
number
- Calls:
px.endsWith
Number.parseFloat
objectPick(obj: O, keys: T[], omitUndefined: boolean): Pick<O, T>
¶
Code
-
JSDoc:
-
Parameters:
obj: O
keys: T[]
omitUndefined: boolean
- Return Type:
Pick<O, T>
- Calls:
keys.reduce
objectOmit(obj: O, keys: T[], omitUndefined: boolean): Omit<O, T>
¶
Code
-
JSDoc:
-
Parameters:
obj: O
keys: T[]
omitUndefined: boolean
- Return Type:
Omit<O, T>
- Calls:
Object.fromEntries
Object.entries(obj).filter
keys.includes
objectEntries(obj: T): [keyof T, T[keyof T]][]
¶
Code
- Parameters:
obj: T
- Return Type:
[keyof T, T[keyof T]][]
- Calls:
Object.entries
toArray(value: T | readonly T[]): readonly T[]
¶
- Parameters:
value: T | readonly T[]
- Return Type:
readonly T[]
Interfaces¶
SingletonPromiseReturn<T>
¶
Interface Code
Properties¶
Name | Type | Optional | Description |
---|---|---|---|
reset |
() => Promise<void> |
✗ |