Skip to content

Commit

Permalink
feat(package): update typescript to v4.8 (#1375)
Browse files Browse the repository at this point in the history
* feat(package): update typescript to v4.8

* ci: add ts 4.8 to build matrix

* chore(jest): remove unused import

* fix(ts): correct types

* chore(deps): update type-fest to v2
  • Loading branch information
dargmuesli committed Aug 30, 2022
1 parent b93aca9 commit 631f629
Show file tree
Hide file tree
Showing 8 changed files with 30 additions and 28 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Expand Up @@ -44,7 +44,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ts: ['4.2', '4.3', '4.4', '4.5', '4.6', '4.7']
ts: ['4.2', '4.3', '4.4', '4.5', '4.6', '4.7', '4.8']
steps:
- name: Checkout
uses: actions/checkout@v3
Expand Down
6 changes: 3 additions & 3 deletions package.json
Expand Up @@ -86,7 +86,7 @@
"path-to-regexp": "^6.2.0",
"statuses": "^2.0.0",
"strict-event-emitter": "^0.2.0",
"type-fest": "^1.2.2",
"type-fest": "^2.19.0",
"yargs": "^17.3.1"
},
"devDependencies": {
Expand Down Expand Up @@ -128,14 +128,14 @@
"ts-loader": "^9.2.6",
"ts-node": "^10.1.0",
"tsup": "^5.12.8",
"typescript": "^4.7.2",
"typescript": "^4.8.2",
"url-loader": "^4.1.1",
"webpack": "^5.68.0",
"webpack-dev-server": "^3.11.2"
},
"peerDependencies": {
"graphql": "^15.0.0 || ^16.0.0",
"typescript": ">= 4.2.x <= 4.7.x"
"typescript": ">= 4.2.x <= 4.8.x"
},
"peerDependenciesMeta": {
"graphql": {
Expand Down
4 changes: 2 additions & 2 deletions src/context/set.ts
Expand Up @@ -31,11 +31,11 @@ export type ForbiddenHeaderError<HeaderName extends string> =
export function set<N extends string | HeadersObject>(
...args: N extends string
? Lowercase<N> extends ForbiddenHeaderNames
? ForbiddenHeaderError<N>
? [ForbiddenHeaderError<N>]
: [N, string]
: N extends HeadersObject<infer CookieName>
? Lowercase<CookieName> extends ForbiddenHeaderNames
? ForbiddenHeaderError<CookieName>
? [ForbiddenHeaderError<CookieName>]
: [N]
: [N]
): ResponseTransformer {
Expand Down
2 changes: 1 addition & 1 deletion src/handlers/RequestHandler.ts
Expand Up @@ -73,7 +73,7 @@ export type AsyncResponseResolverReturnType<ReturnType> =
export type ResponseResolver<
RequestType = MockedRequest,
ContextType = typeof defaultContext,
BodyType = any,
BodyType extends DefaultBodyType = any,
> = (
req: RequestType,
res: ResponseComposition<BodyType>,
Expand Down
23 changes: 12 additions & 11 deletions src/response.ts
Expand Up @@ -20,23 +20,24 @@ export interface MockedResponse<BodyType extends DefaultBodyType = any> {

export type ResponseTransformer<
BodyType extends TransformerBodyType = any,
TransformerBodyType = any,
TransformerBodyType extends DefaultBodyType = any,
> = (
res: MockedResponse<TransformerBodyType>,
) => MaybePromise<MockedResponse<BodyType>>

export type ResponseFunction<BodyType = any> = (
export type ResponseFunction<BodyType extends DefaultBodyType = any> = (
...transformers: ResponseTransformer<BodyType>[]
) => MaybePromise<MockedResponse<BodyType>>

export type ResponseComposition<BodyType = any> = ResponseFunction<BodyType> & {
/**
* Respond using a given mocked response to the first captured request.
* Does not affect any subsequent captured requests.
*/
once: ResponseFunction<BodyType>
networkError: (message: string) => void
}
export type ResponseComposition<BodyType extends DefaultBodyType = any> =
ResponseFunction<BodyType> & {
/**
* Respond using a given mocked response to the first captured request.
* Does not affect any subsequent captured requests.
*/
once: ResponseFunction<BodyType>
networkError: (message: string) => void
}

export const defaultResponse: Omit<MockedResponse, 'headers'> = {
status: 200,
Expand All @@ -54,7 +55,7 @@ export type ResponseCompositionOptions<BodyType> = {

export const defaultResponseTransformers: ResponseTransformer<any>[] = []

export function createResponseComposition<BodyType>(
export function createResponseComposition<BodyType extends DefaultBodyType>(
responseOverrides?: Partial<MockedResponse<BodyType>>,
defaultTransformers: ResponseTransformer<BodyType>[] = defaultResponseTransformers,
): ResponseFunction {
Expand Down
4 changes: 3 additions & 1 deletion src/sharedOptions.ts
Expand Up @@ -24,7 +24,9 @@ export interface LifeCycleEventsMap<ResponseType> {
unhandledException: (error: Error, request: MockedRequest) => void
}

export type LifeCycleEventEmitter<ResponseType> = Pick<
export type LifeCycleEventEmitter<
ResponseType extends Record<string | symbol, any>,
> = Pick<
StrictEventEmitter<ResponseType>,
'on' | 'removeListener' | 'removeAllListeners'
>
1 change: 0 additions & 1 deletion test/jest.setup.ts
Expand Up @@ -8,7 +8,6 @@ import {
createWorkerConsoleServer,
workerConsoleSpy,
} from './support/workerConsole'
import { workers } from 'cluster'

let browser: CreateBrowserApi
let workerConsoleServer: ServerApi
Expand Down
16 changes: 8 additions & 8 deletions yarn.lock
Expand Up @@ -9639,10 +9639,10 @@ type-fest@^0.8.1:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==

type-fest@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.2.2.tgz#1930bc36b2064f7ab4aa307a6d1b65965199c698"
integrity sha512-pfkPYCcuV0TJoo/jlsUeWNV8rk7uMU6ocnYNvca1Vu+pyKi8Rl8Zo2scPt9O72gCsXIm+dMxOOWuA3VFDSdzWA==
type-fest@^2.19.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==

type-is@~1.6.17, type-is@~1.6.18:
version "1.6.18"
Expand All @@ -9664,10 +9664,10 @@ typescript@^4.4.3:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8"
integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==

typescript@^4.7.2:
version "4.7.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4"
integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==
typescript@^4.8.2:
version "4.8.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790"
integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==

unbox-primitive@^1.0.2:
version "1.0.2"
Expand Down

0 comments on commit 631f629

Please sign in to comment.