Skip to content

Commit

Permalink
fix: support strictNullChecks: false
Browse files Browse the repository at this point in the history
  • Loading branch information
solufa committed Sep 21, 2020
1 parent 6449d07 commit 567143e
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 39 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"bin": "bin/index.js",
"scripts": {
"dev": "npm run build && aspida && node bin/index.js",
"build": "npm run rimraf && tsc",
"build": "npm run rimraf && tsc -p tsconfig.build.json",
"rimraf": "node -e \"require('fs').rmdirSync('dist', { recursive: true })\"",
"release": "standard-version --skip.tag",
"release:major": "npm run release -- --release-as major",
Expand Down
34 changes: 8 additions & 26 deletions src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,33 +37,15 @@ export type PartialResponse = PartiallyPartial<
'resBody' | 'resHeaders'
>

export type MockResponse<K extends AspidaMethodParams = { resBody: {}; resHeaders: {} }> =
| (K['resBody'] extends {} | null
? K['resHeaders'] extends {}
? BaseResponse<K['resBody'], K['resHeaders'], K['status']>
: PartiallyPartial<
BaseResponse<
K['resBody'],
K['resHeaders'] extends {} | undefined ? K['resHeaders'] : undefined,
K['status']
>,
'resHeaders'
>
: K['resHeaders'] extends {}
? PartiallyPartial<
BaseResponse<
K['resBody'] extends {} | null | undefined ? K['resBody'] : undefined,
K['resHeaders'],
K['status']
>,
'resBody'
>
export type MockResponse<K extends AspidaMethodParams = {}> =
| (K extends { resBody: K['resBody']; resHeaders: K['resHeaders'] }
? BaseResponse<K['resBody'], K['resHeaders'], K['status']>
: K extends { resBody: K['resBody'] }
? PartiallyPartial<BaseResponse<K['resBody'], K['resHeaders'], K['status']>, 'resHeaders'>
: K extends { resHeaders: K['resHeaders'] }
? PartiallyPartial<BaseResponse<K['resBody'], K['resHeaders'], K['status']>, 'resBody'>
: PartiallyPartial<
BaseResponse<
K['resBody'] extends {} | null | undefined ? K['resBody'] : undefined,
K['resHeaders'] extends {} | undefined ? K['resHeaders'] : undefined,
K['status']
>,
BaseResponse<K['resBody'], K['resHeaders'], K['status']>,
'resBody' | 'resHeaders'
>)
| PartiallyPartial<BaseResponse<any, any, HttpStatusNoOk>, 'resBody' | 'resHeaders'>
Expand Down
13 changes: 13 additions & 0 deletions tsconfig.build.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"declaration": true,
"declarationMap": true,
"paths": {},
"outDir": "dist",
"sourceMap": true,
"strict": true,
"strictPropertyInitialization": false,
},
"include": ["src/**/*"]
}
17 changes: 5 additions & 12 deletions tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
{
"compilerOptions": {
"declaration": true,
"declarationMap": true,
"downlevelIteration": true,
"resolveJsonModule": true,
"baseUrl": ".",
"paths": {
"aspida-mock": ["src"]
},
"esModuleInterop": true,
"lib": ["esnext", "dom"],
"module": "commonjs",
"moduleResolution": "node",
"outDir": "dist",
"sourceMap": true,
"strict": true,
"strictPropertyInitialization": false,
"target": "es5"
},
"include": ["src/**/*"]
}
}

0 comments on commit 567143e

Please sign in to comment.