Bring back the utility belt
This commit is contained in:
7
packages/utility-belt/index.d.ts
vendored
Normal file
7
packages/utility-belt/index.d.ts
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
export type RequireOnly<T, Keys extends keyof T = keyof T> = Partial<T> &
|
||||||
|
Required<Pick<T, Keys>>;
|
||||||
|
export declare const isError: (error: unknown) => error is Error;
|
||||||
|
export declare const getErrorMessage: (
|
||||||
|
error: unknown,
|
||||||
|
defaultMessage: string,
|
||||||
|
) => string;
|
||||||
16
packages/utility-belt/index.js
Normal file
16
packages/utility-belt/index.js
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param {unknown} error The error object to check.
|
||||||
|
* @returns {error is Error}
|
||||||
|
*/
|
||||||
|
export const isError = (error) => error instanceof Error;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the error message from an error object or return a default message.
|
||||||
|
* @param {unknown} error The error object to check.
|
||||||
|
* @param {string} defaultMessage The default message to return if the error is not an instance of Error.
|
||||||
|
* @returns {string} The error message or the default message.
|
||||||
|
*/
|
||||||
|
export const getErrorMessage = (error, defaultMessage) => {
|
||||||
|
return isError(error) ? error.message : defaultMessage;
|
||||||
|
};
|
||||||
23
packages/utility-belt/package.json
Normal file
23
packages/utility-belt/package.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"name": "utility-belt",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Some little utilities",
|
||||||
|
"main": "index.js",
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"types": "tsc --emitDeclarationOnly --allowJs --declaration --skipLibCheck index.js"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/stevekinney/testing-javascript.git"
|
||||||
|
},
|
||||||
|
"author": "Steve Kinney <hello@stevekinney.net>",
|
||||||
|
"license": "MIT",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/stevekinney/testing-javascript/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/stevekinney/testing-javascript#readme",
|
||||||
|
"devDependencies": {
|
||||||
|
"typescript": "^5.6.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
10
types.d.ts
vendored
10
types.d.ts
vendored
@@ -1 +1,11 @@
|
|||||||
/// <reference types="vite/client" />
|
/// <reference types="vite/client" />
|
||||||
|
|
||||||
|
declare module '*.html' {
|
||||||
|
const value: string;
|
||||||
|
export default value;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module '*.html?raw' {
|
||||||
|
const value: string;
|
||||||
|
export default value;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user