@duplojs/http 0.5.1 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -140,6 +140,11 @@ function createHttpClient(clientParams) {
140
140
  path,
141
141
  ...params,
142
142
  })),
143
+ patch: ((path, params) => self.request({
144
+ method: "PATCH",
145
+ path,
146
+ ...params,
147
+ })),
143
148
  delete: ((path, params) => self.request({
144
149
  method: "DELETE",
145
150
  path,
@@ -45,6 +45,7 @@ export interface HttpClient<GenericServerRoute extends ServerRoute = ServerRoute
45
45
  get: HttpClientRequestMethod<GenericServerRoute, GenericHookParams, "GET">;
46
46
  post: HttpClientRequestMethod<GenericServerRoute, GenericHookParams, "POST">;
47
47
  put: HttpClientRequestMethod<GenericServerRoute, GenericHookParams, "PUT">;
48
+ patch: HttpClientRequestMethod<GenericServerRoute, GenericHookParams, "PATCH">;
48
49
  delete: HttpClientRequestMethod<GenericServerRoute, GenericHookParams, "DELETE">;
49
50
  }
50
51
  export interface CreateHttpClientParams {
@@ -118,6 +118,11 @@ function createHttpClient(clientParams) {
118
118
  path,
119
119
  ...params,
120
120
  })),
121
+ patch: ((path, params) => self.request({
122
+ method: "PATCH",
123
+ path,
124
+ ...params,
125
+ })),
121
126
  delete: ((path, params) => self.request({
122
127
  method: "DELETE",
123
128
  path,
@@ -9,7 +9,7 @@ function queryToString(query) {
9
9
  if (!value) {
10
10
  return pv;
11
11
  }
12
- if (Array.isArray(value)) {
12
+ if (value instanceof Array) {
13
13
  value.forEach((subValue) => {
14
14
  pv.push(`${key}=${subValue}`);
15
15
  });
@@ -7,7 +7,7 @@ function queryToString(query) {
7
7
  if (!value) {
8
8
  return pv;
9
9
  }
10
- if (Array.isArray(value)) {
10
+ if (value instanceof Array) {
11
11
  value.forEach((subValue) => {
12
12
  pv.push(`${key}=${subValue}`);
13
13
  });
@@ -6,7 +6,7 @@ export interface RequestErrorContent {
6
6
  }
7
7
  declare const UnexpectedInformationResponseError_base: new (params: {
8
8
  "@DuplojsHttpClient/unexpected-information-response-error"?: unknown;
9
- }, parentParams: [message?: string | undefined, options?: ErrorOptions | undefined]) => import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpClient/unexpected-information-response-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"unexpected-information-response-error", unknown>, unknown> & Error;
9
+ }, parentParams: readonly [message?: string | undefined, options?: ErrorOptions | undefined]) => import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpClient/unexpected-information-response-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"unexpected-information-response-error", unknown>, unknown> & Error;
10
10
  export declare class UnexpectedInformationResponseError extends UnexpectedInformationResponseError_base {
11
11
  information: string | string[];
12
12
  response: RequestErrorContent | ClientResponse;
@@ -14,7 +14,7 @@ export declare class UnexpectedInformationResponseError extends UnexpectedInform
14
14
  }
15
15
  declare const UnexpectedCodeResponseError_base: new (params: {
16
16
  "@DuplojsHttpClient/unexpected-code-response-error"?: unknown;
17
- }, parentParams: [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpClient/unexpected-code-response-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"unexpected-code-response-error", unknown>, unknown>;
17
+ }, parentParams: readonly [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpClient/unexpected-code-response-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"unexpected-code-response-error", unknown>, unknown>;
18
18
  export declare class UnexpectedCodeResponseError extends UnexpectedCodeResponseError_base {
19
19
  code: string | string[];
20
20
  response: RequestErrorContent | ClientResponse;
@@ -22,7 +22,7 @@ export declare class UnexpectedCodeResponseError extends UnexpectedCodeResponseE
22
22
  }
23
23
  declare const UnexpectedResponseTypeError_base: new (params: {
24
24
  "@DuplojsHttpClient/unexpected-response-type-error"?: unknown;
25
- }, parentParams: [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpClient/unexpected-response-type-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"unexpected-response-type-error", unknown>, unknown>;
25
+ }, parentParams: readonly [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpClient/unexpected-response-type-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"unexpected-response-type-error", unknown>, unknown>;
26
26
  export declare class UnexpectedResponseTypeError extends UnexpectedResponseTypeError_base {
27
27
  expectType: "informational" | "successful" | "redirection" | "clientError" | "serverError";
28
28
  response: RequestErrorContent | ClientResponse;
@@ -30,7 +30,7 @@ export declare class UnexpectedResponseTypeError extends UnexpectedResponseTypeE
30
30
  }
31
31
  declare const UnexpectedResponseError_base: new (params: {
32
32
  "@DuplojsHttpClient/unexpected-response-error"?: unknown;
33
- }, parentParams: [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpClient/unexpected-response-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"unexpected-response-error", unknown>, unknown>;
33
+ }, parentParams: readonly [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpClient/unexpected-response-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"unexpected-response-error", unknown>, unknown>;
34
34
  export declare class UnexpectedResponseError extends UnexpectedResponseError_base {
35
35
  response: RequestErrorContent | ClientResponse;
36
36
  constructor(response: RequestErrorContent | ClientResponse);
@@ -15,12 +15,12 @@ declare module "./builder" {
15
15
  readonly preflightSteps: GenericDefinition["preflightSteps"];
16
16
  readonly steps: readonly [];
17
17
  readonly hooks: readonly [
18
- ...GenericDefinition["hooks"],
19
- ...GenericHooks
18
+ ...GenericHooks,
19
+ ...GenericDefinition["hooks"]
20
20
  ];
21
21
  readonly metadata: readonly [
22
- ...GenericDefinition["metadata"],
23
- ...GenericMetadata
22
+ ...GenericMetadata,
23
+ ...GenericDefinition["metadata"]
24
24
  ];
25
25
  }, GenericFloor, (GenericRequest & NeverCoalescing<MakeRequestFromHooks<GenericHooks>, Request>)>;
26
26
  }
@@ -283,7 +283,7 @@ export declare namespace ResponseContract {
283
283
  }>>(information: GenericInformation, schema?: (GenericSchema & ForbiddenBigintDataParser<GenericSchema>) | undefined) => NoInfer<Contract<"511", GenericInformation, NeverCoalescing<GenericSchema, DP.DataParserEmpty<DP.DataParserDefinitionEmpty>>>>;
284
284
  const Error_base: new (params: {
285
285
  "@DuplojsHttpCore/contract-error"?: unknown;
286
- }, parentParams: [message?: string | undefined, options?: ErrorOptions | undefined]) => Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/contract-error", unknown>, unknown> & Kind<import("@duplojs/utils").KindDefinition<"contract-error", unknown>, unknown> & globalThis.Error;
286
+ }, parentParams: readonly [message?: string | undefined, options?: ErrorOptions | undefined]) => Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/contract-error", unknown>, unknown> & Kind<import("@duplojs/utils").KindDefinition<"contract-error", unknown>, unknown> & globalThis.Error;
287
287
  export class Error extends Error_base {
288
288
  information: string;
289
289
  dataParserError?: DP.DataParserError | undefined;
@@ -2,7 +2,7 @@ import { type ResponseCode, Response } from "../response";
2
2
  import { type HookRouteLifeCycle } from "../route/hooks";
3
3
  declare const HookResponse_base: new (params: {
4
4
  "@DuplojsHttpCore/hook-response"?: unknown;
5
- }, parentParams: [code: any, information: any, body: any]) => Response<any, any, any> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/hook-response", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"hook-response", unknown>, unknown>;
5
+ }, parentParams: readonly [code: any, information: any, body: any]) => Response<any, any, any> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/hook-response", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"hook-response", unknown>, unknown>;
6
6
  export declare class HookResponse<GenericCode extends ResponseCode = ResponseCode, GenericInformation extends string = string, GenericBody extends unknown = unknown> extends HookResponse_base {
7
7
  code: GenericCode;
8
8
  information: GenericInformation;
@@ -1,7 +1,7 @@
1
1
  import { type ResponseCode, Response } from "../response";
2
2
  declare const PredictedResponse_base: new (params: {
3
3
  "@DuplojsHttpCore/predicted-response"?: unknown;
4
- }, parentParams: [code: any, information: any, body: any]) => Response<any, any, any> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/predicted-response", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"predicted-response", unknown>, unknown>;
4
+ }, parentParams: readonly [code: any, information: any, body: any]) => Response<any, any, any> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/predicted-response", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"predicted-response", unknown>, unknown>;
5
5
  export declare class PredictedResponse<GenericCode extends ResponseCode = ResponseCode, GenericInformation extends string = string, GenericBody extends unknown = unknown> extends PredictedResponse_base {
6
6
  code: GenericCode;
7
7
  information: GenericInformation;
@@ -2,7 +2,7 @@ import { type Route } from "../route";
2
2
  import { type Steps } from "../steps";
3
3
  declare const RouterBuildError_base: new (params: {
4
4
  "@DuplojsHttpCore/router-build-error"?: unknown;
5
- }, parentParams: [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/router-build-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"router-build-error", unknown>, unknown>;
5
+ }, parentParams: readonly [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/router-build-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"router-build-error", unknown>, unknown>;
6
6
  export declare class RouterBuildError extends RouterBuildError_base {
7
7
  route: Route;
8
8
  element: Route | Steps;
@@ -51,6 +51,9 @@ function createHttpServer(inputHub, params) {
51
51
  response: serverResponse,
52
52
  },
53
53
  }, whenUncaughtError));
54
+ if (hub.config.environment === "BUILD") {
55
+ return server;
56
+ }
54
57
  return new Promise((resolve) => {
55
58
  server.listen({
56
59
  port: httpServerParams.port,
@@ -49,6 +49,9 @@ function createHttpServer(inputHub, params) {
49
49
  response: serverResponse,
50
50
  },
51
51
  }, whenUncaughtError));
52
+ if (hub.config.environment === "BUILD") {
53
+ return server;
54
+ }
52
55
  return new Promise((resolve) => {
53
56
  server.listen({
54
57
  port: httpServerParams.port,
@@ -1,6 +1,6 @@
1
1
  declare const BodyParseUnknownError_base: new (params: {
2
2
  "@DuplojsHttpInterfacesNode/body-parse-unknown-error"?: unknown;
3
- }, parentParams: [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpInterfacesNode/body-parse-unknown-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"body-parse-unknown-error", unknown>, unknown>;
3
+ }, parentParams: readonly [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpInterfacesNode/body-parse-unknown-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"body-parse-unknown-error", unknown>, unknown>;
4
4
  export declare class BodyParseUnknownError extends BodyParseUnknownError_base {
5
5
  contentType: string;
6
6
  unknownError: unknown;
@@ -1,6 +1,6 @@
1
1
  declare const BodyParseWrongChunkReceived_base: new (params: {
2
2
  "@DuplojsHttpInterfacesNode/body-parse-wrong-chunk-received"?: unknown;
3
- }, parentParams: [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpInterfacesNode/body-parse-wrong-chunk-received", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"body-parse-wrong-chunk-received", unknown>, unknown>;
3
+ }, parentParams: readonly [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpInterfacesNode/body-parse-wrong-chunk-received", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"body-parse-wrong-chunk-received", unknown>, unknown>;
4
4
  export declare class BodyParseWrongChunkReceived extends BodyParseWrongChunkReceived_base {
5
5
  wrongChunk: unknown;
6
6
  constructor(wrongChunk: unknown);
@@ -1,7 +1,7 @@
1
1
  import { type BytesInString } from "@duplojs/utils";
2
2
  declare const BodySizeExceedsLimitError_base: new (params: {
3
3
  "@DuplojsHttpInterfacesNode/body-size-exceeds-limit-error"?: unknown;
4
- }, parentParams: [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpInterfacesNode/body-size-exceeds-limit-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"body-size-exceeds-limit-error", unknown>, unknown>;
4
+ }, parentParams: readonly [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpInterfacesNode/body-size-exceeds-limit-error", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"body-size-exceeds-limit-error", unknown>, unknown>;
5
5
  export declare class BodySizeExceedsLimitError extends BodySizeExceedsLimitError_base {
6
6
  bytesInString: BytesInString | number;
7
7
  constructor(bytesInString: BytesInString | number);
@@ -4,12 +4,20 @@ require('../../core/builders/index.cjs');
4
4
  require('../../core/metadata/index.cjs');
5
5
  require('../../core/response/index.cjs');
6
6
  var utils = require('@duplojs/utils');
7
+ var metadata$1 = require('../codeGenerator/metadata.cjs');
8
+ var metadata = require('./metadata.cjs');
7
9
  var builder = require('../../core/builders/route/builder.cjs');
8
10
  var ignoreByRouteStore = require('../../core/metadata/ignoreByRouteStore.cjs');
9
11
  var contract = require('../../core/response/contract.cjs');
10
12
 
11
13
  function makeOpenApiRoute(routePath, openApiPage) {
12
- return builder.useRouteBuilder("GET", routePath, { metadata: [ignoreByRouteStore.IgnoreByRouteStoreMetadata()] })
14
+ return builder.useRouteBuilder("GET", routePath, {
15
+ metadata: [
16
+ ignoreByRouteStore.IgnoreByRouteStoreMetadata(),
17
+ metadata.IgnoreByOpenApiGeneratorMetadata(),
18
+ metadata$1.IgnoreByCodeGeneratorMetadata(),
19
+ ],
20
+ })
13
21
  .handler(contract.ResponseContract.ok("swaggerUi", utils.DP.string()), (__, { response }) => response("swaggerUi", openApiPage)
14
22
  .setHeader("content-type", "text/html"));
15
23
  }
@@ -3,7 +3,7 @@ import type { RoutePath } from "../../core/route";
3
3
  import { DP } from "@duplojs/utils";
4
4
  export declare function makeOpenApiRoute(routePath: RoutePath, openApiPage: string): import("../../core/route").Route<{
5
5
  readonly method: "GET";
6
- readonly metadata: readonly [import("../../core/metadata").Metadata<"ignore-by-route-store", unknown>];
6
+ readonly metadata: readonly [import("../../core/metadata").Metadata<"ignore-by-route-store", unknown>, import("../../core/metadata").Metadata<"ignore-by-open-api-generator", unknown>, import("../../core/metadata").Metadata<"ignore-by-code-generator", unknown>];
7
7
  readonly hooks: readonly [];
8
8
  readonly preflightSteps: readonly [];
9
9
  readonly paths: readonly [`/${string}`];
@@ -2,12 +2,20 @@ import '../../core/builders/index.mjs';
2
2
  import '../../core/metadata/index.mjs';
3
3
  import '../../core/response/index.mjs';
4
4
  import { DP } from '@duplojs/utils';
5
+ import { IgnoreByCodeGeneratorMetadata } from '../codeGenerator/metadata.mjs';
6
+ import { IgnoreByOpenApiGeneratorMetadata } from './metadata.mjs';
5
7
  import { useRouteBuilder } from '../../core/builders/route/builder.mjs';
6
8
  import { IgnoreByRouteStoreMetadata } from '../../core/metadata/ignoreByRouteStore.mjs';
7
9
  import { ResponseContract } from '../../core/response/contract.mjs';
8
10
 
9
11
  function makeOpenApiRoute(routePath, openApiPage) {
10
- return useRouteBuilder("GET", routePath, { metadata: [IgnoreByRouteStoreMetadata()] })
12
+ return useRouteBuilder("GET", routePath, {
13
+ metadata: [
14
+ IgnoreByRouteStoreMetadata(),
15
+ IgnoreByOpenApiGeneratorMetadata(),
16
+ IgnoreByCodeGeneratorMetadata(),
17
+ ],
18
+ })
11
19
  .handler(ResponseContract.ok("swaggerUi", DP.string()), (__, { response }) => response("swaggerUi", openApiPage)
12
20
  .setHeader("content-type", "text/html"));
13
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duplojs/http",
3
- "version": "0.5.1",
3
+ "version": "0.6.1",
4
4
  "author": "mathcovax",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -10,16 +10,19 @@
10
10
  },
11
11
  "scripts": {
12
12
  "build": "rollup --config",
13
+ "docs:dev": "npm -w docs run docs:dev",
14
+ "docs:build": "npm -w docs run docs:build",
15
+ "docs:preview": "npm -w docs run docs:preview",
13
16
  "test:tu": "vitest --coverage",
14
17
  "test:tu:bench": "vitest bench",
15
18
  "test:tu:watch": "vitest --coverage --watch",
16
19
  "test:tu:update": "vitest --coverage --update",
17
- "test:types": "tsc -p tests/core/tsconfig.json && tsc -p tests/client/tsconfig.json && tsc -p tests/interfaces/node/tsconfig.json && tsc -p tests/interfaces/bun/tsconfig.json && tsc -p tests/interfaces/deno/tsconfig.json && tsc -p tests/plugins/codeGenerator/tsconfig.json && tsc -p tests/plugins/openApiGenerator/tsconfig.json && npm -w integration run test:types",
18
- "test:lint": "eslint",
19
- "test:lint:fix": "eslint --fix",
20
+ "test:types": "tsc -p tests/core/tsconfig.json && tsc -p tests/client/tsconfig.json && tsc -p tests/interfaces/node/tsconfig.json && tsc -p tests/interfaces/bun/tsconfig.json && tsc -p tests/interfaces/deno/tsconfig.json && tsc -p tests/plugins/codeGenerator/tsconfig.json && tsc -p tests/plugins/openApiGenerator/tsconfig.json && npm -w integration run test:types && npm -w docs run test:types",
21
+ "test:lint": "eslint --quiet",
22
+ "test:lint:fix": "eslint --fix --quiet",
20
23
  "prepare": "husky"
21
24
  },
22
- "types": "./dist/index.d.ts",
25
+ "types": "./dist/core/index.d.ts",
23
26
  "exports": {
24
27
  ".": {
25
28
  "import": "./dist/core/index.mjs",
@@ -63,7 +66,7 @@
63
66
  ],
64
67
  "peerDependencies": {
65
68
  "@duplojs/data-parser-tools": ">=0.2.4 <1.0.0",
66
- "@duplojs/utils": ">=1.4.40 <2.0.0"
69
+ "@duplojs/utils": ">=1.4.46 <2.0.0"
67
70
  },
68
71
  "devDependencies": {
69
72
  "@commitlint/cli": "19.8.1",
@@ -89,7 +92,8 @@
89
92
  "vitest": "3.2.4"
90
93
  },
91
94
  "workspaces": [
92
- "integration"
95
+ "integration",
96
+ "docs"
93
97
  ],
94
98
  "keywords": [],
95
99
  "engines": {