@forklaunch/core 0.2.3 → 0.2.4

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.
@@ -1,5 +1,5 @@
1
1
  import { AnySchemaValidator } from '@forklaunch/validator';
2
- import { HttpContractDetails, PathParamHttpContractDetails } from './primitive.types';
2
+ import { HttpContractDetails, Method, PathParamHttpContractDetails } from './primitive.types';
3
3
  /**
4
4
  * Interface representing a Forklaunch router.
5
5
  *
@@ -22,7 +22,7 @@ export interface ForklaunchRoute<SV extends AnySchemaValidator> {
22
22
  /** The path for the route, which can be a string, RegExp, or an array of strings or RegExps */
23
23
  path: string | RegExp | (string | RegExp)[];
24
24
  /** The HTTP method for the route */
25
- method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
25
+ method: Method;
26
26
  /** The contract details for the route */
27
27
  contractDetails: PathParamHttpContractDetails<SV> | HttpContractDetails<SV>;
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"forklaunch.types.d.ts","sourceRoot":"","sources":["../../../http/types/forklaunch.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,mBAAmB,CAAC;AAE3B;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,kBAAkB;IAC7D,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,EAAE,SAAS,kBAAkB;IAC5D,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5C,oCAAoC;IACpC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,yCAAyC;IACzC,eAAe,EAAE,4BAA4B,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;CAC7E"}
1
+ {"version":3,"file":"forklaunch.types.d.ts","sourceRoot":"","sources":["../../../http/types/forklaunch.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,MAAM,EACN,4BAA4B,EAC7B,MAAM,mBAAmB,CAAC;AAE3B;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,kBAAkB;IAC7D,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,EAAE,SAAS,kBAAkB;IAC5D,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC5C,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,eAAe,EAAE,4BAA4B,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;CAC7E"}
@@ -64,11 +64,11 @@ export type AuthMethod = 'jwt' | 'session';
64
64
  * Interface representing HTTP contract details for path parameters.
65
65
  *
66
66
  * @template SV - A type that extends AnySchemaValidator.
67
- * @template ParamSchemas - A type for parameter schemas, defaulting to ParamsObject.
67
+ * @template ParamsSchema - A type for parameter schemas, defaulting to ParamsObject.
68
68
  * @template ResponseSchemas - A type for response schemas, defaulting to ResponsesObject.
69
- * @template QuerySchemas - A type for query schemas, defaulting to QueryObject.
69
+ * @template QuerySchema - A type for query schemas, defaulting to QueryObject.
70
70
  */
71
- export interface PathParamHttpContractDetails<SV extends AnySchemaValidator, ParamSchemas extends ParamsObject<SV> = ParamsObject<SV>, ResponseSchemas extends ResponsesObject<SV> = ResponsesObject<SV>, QuerySchemas extends QueryObject<SV> = QueryObject<SV>, ReqHeaders extends HeadersObject<SV> = HeadersObject<SV>, ResHeaders extends HeadersObject<SV> = HeadersObject<SV>> {
71
+ export interface PathParamHttpContractDetails<SV extends AnySchemaValidator, ParamsSchema extends ParamsObject<SV> = ParamsObject<SV>, ResponseSchemas extends ResponsesObject<SV> = ResponsesObject<SV>, QuerySchema extends QueryObject<SV> = QueryObject<SV>, ReqHeaders extends HeadersObject<SV> = HeadersObject<SV>, ResHeaders extends HeadersObject<SV> = HeadersObject<SV>> {
72
72
  /** Name of the contract */
73
73
  name: string;
74
74
  /** Summary of the contract */
@@ -80,9 +80,9 @@ export interface PathParamHttpContractDetails<SV extends AnySchemaValidator, Par
80
80
  /** Optional response headers for the contract */
81
81
  responseHeaders?: ResHeaders;
82
82
  /** Optional parameter schemas for the contract */
83
- params?: ParamSchemas;
83
+ params?: ParamsSchema;
84
84
  /** Optional query schemas for the contract */
85
- query?: QuerySchemas;
85
+ query?: QuerySchema;
86
86
  /** Optional authentication details for the contract */
87
87
  auth?: {
88
88
  method: AuthMethod;
@@ -96,15 +96,27 @@ export interface PathParamHttpContractDetails<SV extends AnySchemaValidator, Par
96
96
  * Interface representing HTTP contract details.
97
97
  *
98
98
  * @template SV - A type that extends AnySchemaValidator.
99
- * @template ParamSchemas - A type for parameter schemas, defaulting to ParamsObject.
99
+ * @template ParamsSchema - A type for parameter schemas, defaulting to ParamsObject.
100
100
  * @template ResponseSchemas - A type for response schemas, defaulting to ResponsesObject.
101
101
  * @template BodySchema - A type for the body schema, defaulting to Body.
102
- * @template QuerySchemas - A type for query schemas, defaulting to QueryObject.
102
+ * @template QuerySchema - A type for query schemas, defaulting to QueryObject.
103
103
  */
104
- export interface HttpContractDetails<SV extends AnySchemaValidator, ParamSchemas extends ParamsObject<SV> = ParamsObject<SV>, ResponseSchemas extends ResponsesObject<SV> = ResponsesObject<SV>, BodySchema extends Body<SV> = Body<SV>, QuerySchemas extends QueryObject<SV> = QueryObject<SV>, ReqHeaders extends HeadersObject<SV> = HeadersObject<SV>, ResHeaders extends HeadersObject<SV> = HeadersObject<SV>> extends PathParamHttpContractDetails<SV, ParamSchemas, ResponseSchemas, QuerySchemas, ReqHeaders, ResHeaders> {
105
- /** Optional body schema for the contract */
106
- body?: BodySchema;
104
+ export interface HttpContractDetails<SV extends AnySchemaValidator, ParamsSchema extends ParamsObject<SV> = ParamsObject<SV>, ResponseSchemas extends ResponsesObject<SV> = ResponsesObject<SV>, BodySchema extends Body<SV> = Body<SV>, QuerySchema extends QueryObject<SV> = QueryObject<SV>, ReqHeaders extends HeadersObject<SV> = HeadersObject<SV>, ResHeaders extends HeadersObject<SV> = HeadersObject<SV>> extends PathParamHttpContractDetails<SV, ParamsSchema, ResponseSchemas, QuerySchema, ReqHeaders, ResHeaders> {
105
+ /** Required body schema for the contract */
106
+ body: BodySchema;
107
107
  /** Optional content type for the contract */
108
108
  contentType?: 'application/json' | 'multipart/form-data' | 'application/x-www-form-urlencoded';
109
109
  }
110
+ /**
111
+ * Represents the path parameter methods.
112
+ */
113
+ export type PathParameterMethod = 'get' | 'delete' | 'options';
114
+ /**
115
+ * Represents the body parameter methods.
116
+ */
117
+ export type HttpMethod = 'post' | 'patch' | 'put';
118
+ /**
119
+ * Represents all supported typed methods.
120
+ */
121
+ export type Method = PathParameterMethod | HttpMethod;
110
122
  //# sourceMappingURL=primitive.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitive.types.d.ts","sourceRoot":"","sources":["../../../http/types/primitive.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitive.types.d.ts","sourceRoot":"","sources":["../../../http/types/primitive.types.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ describe('OpenApiV3Generator Tests', () => {
12
12
  {
13
13
  basePath: '/test',
14
14
  path: '/',
15
- method: 'GET',
15
+ method: 'get',
16
16
  contractDetails: {
17
17
  name: 'Test Contract',
18
18
  summary: 'Test Contract Summary',