Replace CDN React/ReactDOM/Babel with local libs; remove Babel and inline scripts Build Tailwind locally, add safelist; switch to assets/tailwind.css Self-host Font Awesome and Inter (CSS + woff2); remove external font CDNs Implement strict CSP (no unsafe-inline/eval; scripts/styles/fonts from self) Extract inline handlers; move PWA scripts to external files Add local QR code generation (qrcode lib) and remove api.qrserver.com Improve SessionTypeSelector visual selection (highlighted background and ring) Keep PWA working with service worker and offline assets Refs: CSP hardening, offline-first, no external dependencies
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
declare const pTry: {
|
|
/**
|
|
Start a promise chain.
|
|
|
|
@param fn - The function to run to start the promise chain.
|
|
@param arguments - Arguments to pass to `fn`.
|
|
@returns The value of calling `fn(...arguments)`. If the function throws an error, the returned `Promise` will be rejected with that error.
|
|
|
|
@example
|
|
```
|
|
import pTry = require('p-try');
|
|
|
|
(async () => {
|
|
try {
|
|
const value = await pTry(() => {
|
|
return synchronousFunctionThatMightThrow();
|
|
});
|
|
console.log(value);
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
})();
|
|
```
|
|
*/
|
|
<ValueType, ArgumentsType extends unknown[]>(
|
|
fn: (...arguments: ArgumentsType) => PromiseLike<ValueType> | ValueType,
|
|
...arguments: ArgumentsType
|
|
): Promise<ValueType>;
|
|
|
|
// TODO: remove this in the next major version, refactor the whole definition to:
|
|
// declare function pTry<ValueType, ArgumentsType extends unknown[]>(
|
|
// fn: (...arguments: ArgumentsType) => PromiseLike<ValueType> | ValueType,
|
|
// ...arguments: ArgumentsType
|
|
// ): Promise<ValueType>;
|
|
// export = pTry;
|
|
default: typeof pTry;
|
|
};
|
|
|
|
export = pTry;
|