Skip to content

Commit f40562c

Browse files
committed
docs: Add JSDoc documentation
1 parent a376217 commit f40562c

File tree

3 files changed

+46
-6
lines changed

3 files changed

+46
-6
lines changed

src/compression.ts

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,56 @@ import type { H3Event } from 'h3'
22
import type { RenderResponse } from './helper'
33
import { compress, getAnyCompression } from './helper'
44

5+
/**
6+
* Compresses the response with [zlib.gzip]{@link https://www.w3schools.com/nodejs/ref_zlib.asp}
7+
* @param { H3Event } event - A H3 event object.
8+
* @param { RenderResponse } response - A response object with body parameter.
9+
* @returns { Promise<void> }
10+
*/
511
export async function useGZipCompression(
612
event: H3Event,
713
response: Partial<RenderResponse>,
8-
) {
14+
): Promise<void> {
915
await compress(event, response, 'gzip')
1016
}
1117

18+
/**
19+
* Compresses the response with [zlib.deflate]{@link https://www.w3schools.com/nodejs/ref_zlib.asp}
20+
* @param { H3Event } event - A H3 event object.
21+
* @param { RenderResponse } response - A response object with body parameter.
22+
* @returns { Promise<void> }
23+
*/
1224
export async function useDeflateCompression(
1325
event: H3Event,
1426
response: Partial<RenderResponse>,
15-
) {
27+
): Promise<void> {
1628
await compress(event, response, 'deflate')
1729
}
1830

31+
/**
32+
* Compresses the response with [zlib.brotliCompress]{@link https://www.w3schools.com/nodejs/ref_zlib.asp}
33+
* @param { H3Event } event - A H3 event object.
34+
* @param { RenderResponse } response - A response object with body parameter.
35+
* @returns { Promise<void> }
36+
*/
1937
export async function useBrotliCompression(
2038
event: H3Event,
2139
response: Partial<RenderResponse>,
22-
) {
40+
): Promise<void> {
2341
await compress(event, response, 'br')
2442
}
2543

44+
/**
45+
* Compresses the response with [Zlib]{@link https://www.w3schools.com/nodejs/ref_zlib.asp}
46+
* by 'Accept-Encoding' header. Best is used first.
47+
* @param { H3Event } event - A H3 event object.
48+
* @param { RenderResponse } response - A response object with body parameter.
49+
* @returns { Promise<void> }
50+
*/
2651
export async function useCompression(
2752
event: H3Event,
2853
response: Partial<RenderResponse>,
29-
) {
54+
): Promise<void> {
3055
const compression = getAnyCompression(event)
3156
if (compression)
3257
await compress(event, response, compression)

src/compressionStream.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ import type { RenderResponse } from './helper'
33
import { compressStream, getAnyCompression } from './helper'
44

55
/**
6-
* Parse and validate params from event handler. Doesn't throw if validation fails.
6+
* Compresses the response with
7+
* [CompressionStream(gzip)]{@link https://developer.mozilla.org/en-US/docs/Web/API/CompressionStream}
78
* @param event - A H3 event object.
9+
* @param response - A response object with body parameter.
810
*/
911
export async function useGZipCompressionStream(
1012
event: H3Event,
@@ -13,13 +15,26 @@ export async function useGZipCompressionStream(
1315
await compressStream(event, response, 'gzip')
1416
}
1517

18+
/**
19+
* Compresses the response with
20+
* [CompressionStream(deflate)]{@link https://developer.mozilla.org/en-US/docs/Web/API/CompressionStream}
21+
* @param event - A H3 event object.
22+
* @param response - A response object with body parameter.
23+
*/
1624
export async function useDeflateCompressionStream(
1725
event: H3Event,
1826
response: Partial<RenderResponse>,
1927
) {
2028
await compressStream(event, response, 'deflate')
2129
}
2230

31+
/**
32+
* Compresses the response with
33+
* [CompressionStream]{@link https://developer.mozilla.org/en-US/docs/Web/API/CompressionStream}
34+
* by 'Accept-Encoding' header. Best is used first.
35+
* @param event - A H3 event object.
36+
* @param response - A response object with body parameter.
37+
*/
2338
export async function useCompressionStream(
2439
event: H3Event,
2540
response: Partial<RenderResponse>,

src/helper.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
} from 'h3'
1010

1111
export interface RenderResponse {
12-
body?: string | unknown
12+
body: string | unknown
1313
statusCode: number
1414
statusMessage: string
1515
headers: Record<string, string>

0 commit comments

Comments
 (0)