diff --git a/index.ts b/index.ts index 9680aec..eff9170 100644 --- a/index.ts +++ b/index.ts @@ -62,3 +62,5 @@ export { globalLogger, resolveGlobalErrorLogObject, } from './src/errors/globalErrorHandler' + +export type { MayOmit } from './src/common/may-omit' diff --git a/package.json b/package.json index 6e20bca..f23a269 100644 --- a/package.json +++ b/package.json @@ -41,8 +41,8 @@ }, "devDependencies": { "@types/node": "^20.3.2", - "@typescript-eslint/eslint-plugin": "^5.60.1", - "@typescript-eslint/parser": "^5.60.1", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", "@vitest/coverage-v8": "^0.32.2", "auto-changelog": "^2.4.0", "eslint": "^8.43.0", diff --git a/src/common/may-omit.ts b/src/common/may-omit.ts new file mode 100644 index 0000000..4fc4350 --- /dev/null +++ b/src/common/may-omit.ts @@ -0,0 +1,3 @@ +// makes K keys optional in T +// can be used to provide some defaults and merge input on top of it +export type MayOmit = Pick, K> & Omit diff --git a/vitest.config.ts b/vitest.config.ts index da30050..61bab89 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -12,6 +12,7 @@ export default defineConfig({ 'src/**/*.spec.ts', 'src/errors/errorReporterTypes.ts', 'src/errors/either.ts', + 'src/common/may-omit.ts', 'src/config/configTypes.ts', 'src/errors/globalErrorHandler.ts', ],