@mionjs/router 0.8.0-alpha.0

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.
Files changed (172) hide show
  1. package/.dist/cjs/index.cjs +154 -0
  2. package/.dist/cjs/index.cjs.map +1 -0
  3. package/.dist/cjs/index.d.ts +19 -0
  4. package/.dist/cjs/package.json +1 -0
  5. package/.dist/cjs/src/callContext.cjs +125 -0
  6. package/.dist/cjs/src/callContext.cjs.map +1 -0
  7. package/.dist/cjs/src/callContext.d.ts +10 -0
  8. package/.dist/cjs/src/constants.cjs +45 -0
  9. package/.dist/cjs/src/constants.cjs.map +1 -0
  10. package/.dist/cjs/src/constants.d.ts +10 -0
  11. package/.dist/cjs/src/defaultRoutes.cjs +16 -0
  12. package/.dist/cjs/src/defaultRoutes.cjs.map +1 -0
  13. package/.dist/cjs/src/defaultRoutes.d.ts +3 -0
  14. package/.dist/cjs/src/dispatch.cjs +141 -0
  15. package/.dist/cjs/src/dispatch.cjs.map +1 -0
  16. package/.dist/cjs/src/dispatch.d.ts +3 -0
  17. package/.dist/cjs/src/lib/aotCacheLoader.cjs +13 -0
  18. package/.dist/cjs/src/lib/aotCacheLoader.cjs.map +1 -0
  19. package/.dist/cjs/src/lib/aotCacheLoader.d.ts +1 -0
  20. package/.dist/cjs/src/lib/aotEmitter.cjs +70 -0
  21. package/.dist/cjs/src/lib/aotEmitter.cjs.map +1 -0
  22. package/.dist/cjs/src/lib/aotEmitter.d.ts +17 -0
  23. package/.dist/cjs/src/lib/dispatchError.cjs +39 -0
  24. package/.dist/cjs/src/lib/dispatchError.cjs.map +1 -0
  25. package/.dist/cjs/src/lib/dispatchError.d.ts +5 -0
  26. package/.dist/cjs/src/lib/handlers.cjs +52 -0
  27. package/.dist/cjs/src/lib/handlers.cjs.map +1 -0
  28. package/.dist/cjs/src/lib/handlers.d.ts +9 -0
  29. package/.dist/cjs/src/lib/headers.cjs +64 -0
  30. package/.dist/cjs/src/lib/headers.cjs.map +1 -0
  31. package/.dist/cjs/src/lib/headers.d.ts +2 -0
  32. package/.dist/cjs/src/lib/methodsCache.cjs +55 -0
  33. package/.dist/cjs/src/lib/methodsCache.cjs.map +1 -0
  34. package/.dist/cjs/src/lib/methodsCache.d.ts +11 -0
  35. package/.dist/cjs/src/lib/queryBody.cjs +34 -0
  36. package/.dist/cjs/src/lib/queryBody.cjs.map +1 -0
  37. package/.dist/cjs/src/lib/queryBody.d.ts +7 -0
  38. package/.dist/cjs/src/lib/reflection.cjs +342 -0
  39. package/.dist/cjs/src/lib/reflection.cjs.map +1 -0
  40. package/.dist/cjs/src/lib/reflection.d.ts +12 -0
  41. package/.dist/cjs/src/lib/remoteMethods.cjs +109 -0
  42. package/.dist/cjs/src/lib/remoteMethods.cjs.map +1 -0
  43. package/.dist/cjs/src/lib/remoteMethods.d.ts +10 -0
  44. package/.dist/cjs/src/lib/test/aotEmitter-test-router.cjs +24 -0
  45. package/.dist/cjs/src/lib/test/aotEmitter-test-router.cjs.map +1 -0
  46. package/.dist/cjs/src/lib/test/aotEmitter-test-router.d.ts +4 -0
  47. package/.dist/cjs/src/router.cjs +429 -0
  48. package/.dist/cjs/src/router.cjs.map +1 -0
  49. package/.dist/cjs/src/router.d.ts +30 -0
  50. package/.dist/cjs/src/routes/client.routes.cjs +76 -0
  51. package/.dist/cjs/src/routes/client.routes.cjs.map +1 -0
  52. package/.dist/cjs/src/routes/client.routes.d.ts +16 -0
  53. package/.dist/cjs/src/routes/errors.routes.cjs +49 -0
  54. package/.dist/cjs/src/routes/errors.routes.cjs.map +1 -0
  55. package/.dist/cjs/src/routes/errors.routes.d.ts +7 -0
  56. package/.dist/cjs/src/routes/mion.routes.cjs +13 -0
  57. package/.dist/cjs/src/routes/mion.routes.cjs.map +1 -0
  58. package/.dist/cjs/src/routes/mion.routes.d.ts +10 -0
  59. package/.dist/cjs/src/routes/serializer.routes.cjs +191 -0
  60. package/.dist/cjs/src/routes/serializer.routes.cjs.map +1 -0
  61. package/.dist/cjs/src/routes/serializer.routes.d.ts +9 -0
  62. package/.dist/cjs/src/routesFlow.cjs +227 -0
  63. package/.dist/cjs/src/routesFlow.cjs.map +1 -0
  64. package/.dist/cjs/src/routesFlow.d.ts +7 -0
  65. package/.dist/cjs/src/types/context.cjs +31 -0
  66. package/.dist/cjs/src/types/context.cjs.map +1 -0
  67. package/.dist/cjs/src/types/context.d.ts +57 -0
  68. package/.dist/cjs/src/types/definitions.cjs +15 -0
  69. package/.dist/cjs/src/types/definitions.cjs.map +1 -0
  70. package/.dist/cjs/src/types/definitions.d.ts +20 -0
  71. package/.dist/cjs/src/types/general.cjs +14 -0
  72. package/.dist/cjs/src/types/general.cjs.map +1 -0
  73. package/.dist/cjs/src/types/general.d.ts +27 -0
  74. package/.dist/cjs/src/types/guards.cjs +66 -0
  75. package/.dist/cjs/src/types/guards.cjs.map +1 -0
  76. package/.dist/cjs/src/types/guards.d.ts +17 -0
  77. package/.dist/cjs/src/types/handlers.cjs +13 -0
  78. package/.dist/cjs/src/types/handlers.cjs.map +1 -0
  79. package/.dist/cjs/src/types/handlers.d.ts +12 -0
  80. package/.dist/cjs/src/types/publicMethods.cjs +24 -0
  81. package/.dist/cjs/src/types/publicMethods.cjs.map +1 -0
  82. package/.dist/cjs/src/types/publicMethods.d.ts +45 -0
  83. package/.dist/cjs/src/types/remoteMethods.cjs +25 -0
  84. package/.dist/cjs/src/types/remoteMethods.cjs.map +1 -0
  85. package/.dist/cjs/src/types/remoteMethods.d.ts +44 -0
  86. package/.dist/esm/index.d.ts +19 -0
  87. package/.dist/esm/index.js +145 -0
  88. package/.dist/esm/index.js.map +1 -0
  89. package/.dist/esm/src/callContext.d.ts +10 -0
  90. package/.dist/esm/src/callContext.js +125 -0
  91. package/.dist/esm/src/callContext.js.map +1 -0
  92. package/.dist/esm/src/constants.d.ts +10 -0
  93. package/.dist/esm/src/constants.js +45 -0
  94. package/.dist/esm/src/constants.js.map +1 -0
  95. package/.dist/esm/src/defaultRoutes.d.ts +3 -0
  96. package/.dist/esm/src/defaultRoutes.js +16 -0
  97. package/.dist/esm/src/defaultRoutes.js.map +1 -0
  98. package/.dist/esm/src/dispatch.d.ts +3 -0
  99. package/.dist/esm/src/dispatch.js +141 -0
  100. package/.dist/esm/src/dispatch.js.map +1 -0
  101. package/.dist/esm/src/lib/aotCacheLoader.d.ts +1 -0
  102. package/.dist/esm/src/lib/aotCacheLoader.js +13 -0
  103. package/.dist/esm/src/lib/aotCacheLoader.js.map +1 -0
  104. package/.dist/esm/src/lib/aotEmitter.d.ts +17 -0
  105. package/.dist/esm/src/lib/aotEmitter.js +70 -0
  106. package/.dist/esm/src/lib/aotEmitter.js.map +1 -0
  107. package/.dist/esm/src/lib/dispatchError.d.ts +5 -0
  108. package/.dist/esm/src/lib/dispatchError.js +39 -0
  109. package/.dist/esm/src/lib/dispatchError.js.map +1 -0
  110. package/.dist/esm/src/lib/handlers.d.ts +9 -0
  111. package/.dist/esm/src/lib/handlers.js +52 -0
  112. package/.dist/esm/src/lib/handlers.js.map +1 -0
  113. package/.dist/esm/src/lib/headers.d.ts +2 -0
  114. package/.dist/esm/src/lib/headers.js +64 -0
  115. package/.dist/esm/src/lib/headers.js.map +1 -0
  116. package/.dist/esm/src/lib/methodsCache.d.ts +11 -0
  117. package/.dist/esm/src/lib/methodsCache.js +56 -0
  118. package/.dist/esm/src/lib/methodsCache.js.map +1 -0
  119. package/.dist/esm/src/lib/queryBody.d.ts +7 -0
  120. package/.dist/esm/src/lib/queryBody.js +34 -0
  121. package/.dist/esm/src/lib/queryBody.js.map +1 -0
  122. package/.dist/esm/src/lib/reflection.d.ts +12 -0
  123. package/.dist/esm/src/lib/reflection.js +320 -0
  124. package/.dist/esm/src/lib/reflection.js.map +1 -0
  125. package/.dist/esm/src/lib/remoteMethods.d.ts +10 -0
  126. package/.dist/esm/src/lib/remoteMethods.js +109 -0
  127. package/.dist/esm/src/lib/remoteMethods.js.map +1 -0
  128. package/.dist/esm/src/lib/test/aotEmitter-test-router.d.ts +4 -0
  129. package/.dist/esm/src/lib/test/aotEmitter-test-router.js +24 -0
  130. package/.dist/esm/src/lib/test/aotEmitter-test-router.js.map +1 -0
  131. package/.dist/esm/src/router.d.ts +30 -0
  132. package/.dist/esm/src/router.js +431 -0
  133. package/.dist/esm/src/router.js.map +1 -0
  134. package/.dist/esm/src/routes/client.routes.d.ts +16 -0
  135. package/.dist/esm/src/routes/client.routes.js +76 -0
  136. package/.dist/esm/src/routes/client.routes.js.map +1 -0
  137. package/.dist/esm/src/routes/errors.routes.d.ts +7 -0
  138. package/.dist/esm/src/routes/errors.routes.js +49 -0
  139. package/.dist/esm/src/routes/errors.routes.js.map +1 -0
  140. package/.dist/esm/src/routes/mion.routes.d.ts +10 -0
  141. package/.dist/esm/src/routes/mion.routes.js +13 -0
  142. package/.dist/esm/src/routes/mion.routes.js.map +1 -0
  143. package/.dist/esm/src/routes/serializer.routes.d.ts +9 -0
  144. package/.dist/esm/src/routes/serializer.routes.js +191 -0
  145. package/.dist/esm/src/routes/serializer.routes.js.map +1 -0
  146. package/.dist/esm/src/routesFlow.d.ts +7 -0
  147. package/.dist/esm/src/routesFlow.js +227 -0
  148. package/.dist/esm/src/routesFlow.js.map +1 -0
  149. package/.dist/esm/src/types/context.d.ts +57 -0
  150. package/.dist/esm/src/types/context.js +31 -0
  151. package/.dist/esm/src/types/context.js.map +1 -0
  152. package/.dist/esm/src/types/definitions.d.ts +20 -0
  153. package/.dist/esm/src/types/definitions.js +15 -0
  154. package/.dist/esm/src/types/definitions.js.map +1 -0
  155. package/.dist/esm/src/types/general.d.ts +27 -0
  156. package/.dist/esm/src/types/general.js +14 -0
  157. package/.dist/esm/src/types/general.js.map +1 -0
  158. package/.dist/esm/src/types/guards.d.ts +17 -0
  159. package/.dist/esm/src/types/guards.js +66 -0
  160. package/.dist/esm/src/types/guards.js.map +1 -0
  161. package/.dist/esm/src/types/handlers.d.ts +12 -0
  162. package/.dist/esm/src/types/handlers.js +13 -0
  163. package/.dist/esm/src/types/handlers.js.map +1 -0
  164. package/.dist/esm/src/types/publicMethods.d.ts +45 -0
  165. package/.dist/esm/src/types/publicMethods.js +24 -0
  166. package/.dist/esm/src/types/publicMethods.js.map +1 -0
  167. package/.dist/esm/src/types/remoteMethods.d.ts +44 -0
  168. package/.dist/esm/src/types/remoteMethods.js +25 -0
  169. package/.dist/esm/src/types/remoteMethods.js.map +1 -0
  170. package/LICENSE +21 -0
  171. package/README.md +34 -0
  172. package/package.json +67 -0
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const __ΩReadonly = ["T", "Readonly", 'l+e#!e"!fRb!Pde"!gN#%w"y'];
4
+ const __ΩOmit = ["T", "K", () => __ΩPick, () => __ΩExclude, "Omit", 'b!b"e!!e!!ge!"o$#o##w%y'];
5
+ const __ΩRecord = ["K", "T", "Record", `l'e#"Rb!b"Pde"!N#!w#y`];
6
+ const __ΩIterableIterator = ["T", "TReturn", "TNext", () => __ΩIterator, 0, () => Symbol.iterator, "IterableIterator", `b!"c""c#Pe"!e""e"#o$$Pe#!e#"e##o%$1&Mw'y`];
7
+ const __ΩPick = ["T", "K", "Pick", 'l+e#!e"!fRb!b"Pde""N#!w#y'];
8
+ const __ΩExclude = ["T", "U", "Exclude", 'l6!Re$!RPe#!e$"qk#%QRb!b"Pde"!p)w#y'];
9
+ const __ΩIterator = ["T", "TReturn", "TNext", "param0", () => __ΩIteratorResult, "next", "value", () => __ΩIteratorResult, "return", "e", () => __ΩIteratorResult, "throw", "Iterator", `b!"c""c#PPPPGPe%#GJ@2$e#!e#"o%#1&Pe#"2'8e#!e#"o(#1)8P"2*8e#!e#"o+#1,8Mw-y`];
10
+ const __ΩIteratorResult = ["T", "TReturn", () => __ΩIteratorYieldResult, () => __ΩIteratorReturnResult, "IteratorResult", 'b!"c"Pe"!o#"e""o$"Jw%y'];
11
+ const __ΩIteratorYieldResult = ["TYield", false, "done", "value", "IteratorYieldResult", 'b!P."4#8e"!4$Mw%y'];
12
+ const __ΩIteratorReturnResult = ["TReturn", true, "done", "value", "IteratorReturnResult", 'b!P."4#e"!4$Mw%y'];
13
+ const __ΩCallContext = ["ContextData", "path", () => __ΩMionRequest, "request", () => __ΩMionResponse, "response", "shared", "MethodsExecutionChain", "executionChain", "urlQuery", "routesFlowRouteIds", "CallContext", `"c!P&4"9n#4$9n%4&9e"!4'"w(4)9&4*89&F4+89Mw,y`];
14
+ const __ΩRawRequestBody = ["AnyObject", "RawRequestBody", 'P&_W"w!Jw"y'];
15
+ const __ΩRawResponseBody = ["AnyObject", "RawResponseBody", 'P&_W"w!Jw"y'];
16
+ const __ΩMionRequest = [() => __ΩReadonly, () => __ΩOmit, () => __ΩMionHeaders, "append", "set", "delete", "headers", () => __ΩRawRequestBody, "rawBody", "SerializerCode", "bodyType", () => __ΩReadonly, "AnyObject", "body", () => __ΩReadonly, () => __ΩRecord, "RpcError", "thrownErrors", "MionRequest", `Pn#P.$.%.&Jo"#o!"4'9n(4)9"w*4+9"w-o,"4.9&"w1o0#o/"4289Mw3y`];
17
+ const __ΩMionResponse = ["statusCode", () => __ΩReadonly, () => __ΩMionHeaders, "headers", () => __ΩRawResponseBody, "rawBody", "SerializerCode", "serializer", () => __ΩReadonly, () => __ΩResponseBody, "body", "hasErrors", "DataViewSerializer", "binSerializer", "MionResponse", `P'4!9n#o""4$9n%4&9"w'4(9n*o)"4+9)4,9P"w--J4.89Mw/y`];
18
+ const __ΩMionHeaders = ["name", "value", "append", "delete", "set", "get", "has", () => __ΩIterableIterator, "entries", () => __ΩIterableIterator, "keys", () => __ΩIterableIterator, "values", "MionHeaders", `PP&2!&2"$1#P&2!$1$P&2!&2"$1%P&2!P&-,J1&P&2!)1'PP&&Go("1)P&o*"1+P&o,"1-Mw.y`];
19
+ const __ΩContextDataFactory = ["ContextData", "", "ContextDataFactory", 'b!Pe"!/"w#y'];
20
+ const __ΩResponseBody = [() => __ΩRecord, () => __ΩRecord, "RpcError", "@thrownErrors", "ResponseBody", 'P&"o!#&"w#o"#4$8Mw%y'];
21
+ const __ΩRoutesFlowExecutionResult = ["MethodsExecutionChain", "executionChain", "routesFlowRouteIds", "RoutesFlowMapping", "mappings", "RoutesFlowExecutionResult", 'P"w!4"&F4#8"w$F4%8Mw&y'];
22
+ exports.__ΩCallContext = __ΩCallContext;
23
+ exports.__ΩContextDataFactory = __ΩContextDataFactory;
24
+ exports.__ΩMionHeaders = __ΩMionHeaders;
25
+ exports.__ΩMionRequest = __ΩMionRequest;
26
+ exports.__ΩMionResponse = __ΩMionResponse;
27
+ exports.__ΩRawRequestBody = __ΩRawRequestBody;
28
+ exports.__ΩRawResponseBody = __ΩRawResponseBody;
29
+ exports.__ΩResponseBody = __ΩResponseBody;
30
+ exports.__ΩRoutesFlowExecutionResult = __ΩRoutesFlowExecutionResult;
31
+ //# sourceMappingURL=context.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,57 @@
1
+ import { AnyObject, DataViewSerializer, SerializerCode, RpcError, RoutesFlowMapping } from '@mionjs/core';
2
+ import { MethodsExecutionChain } from './remoteMethods.ts';
3
+ export interface CallContext<ContextData extends Record<string, any> = any> {
4
+ readonly path: string;
5
+ readonly request: MionRequest;
6
+ readonly response: MionResponse;
7
+ shared: ContextData;
8
+ readonly executionChain: MethodsExecutionChain;
9
+ readonly urlQuery?: string;
10
+ readonly routesFlowRouteIds?: string[];
11
+ }
12
+ export type RawRequestBody = string | ArrayBuffer | Uint8Array | AnyObject;
13
+ export type RawResponseBody = string | ArrayBuffer | Uint8Array | AnyObject;
14
+ export interface MionRequest {
15
+ readonly headers: Readonly<Omit<MionHeaders, 'append' | 'set' | 'delete'>>;
16
+ readonly rawBody: RawRequestBody;
17
+ readonly bodyType: SerializerCode;
18
+ readonly body: Readonly<AnyObject>;
19
+ readonly thrownErrors?: Readonly<Record<string, RpcError<string>>>;
20
+ }
21
+ export interface MionResponse {
22
+ readonly statusCode: number;
23
+ readonly headers: Readonly<MionHeaders>;
24
+ readonly rawBody: RawResponseBody;
25
+ readonly serializer: SerializerCode;
26
+ readonly body: Readonly<ResponseBody>;
27
+ readonly hasErrors: boolean;
28
+ readonly binSerializer?: DataViewSerializer | undefined;
29
+ }
30
+ export interface MionHeaders {
31
+ append(name: string, value: string): void;
32
+ delete(name: string): void;
33
+ set(name: string, value: string): void;
34
+ get(name: string): string | undefined | null;
35
+ has(name: string): boolean;
36
+ entries(): IterableIterator<[string, string]>;
37
+ keys(): IterableIterator<string>;
38
+ values(): IterableIterator<string>;
39
+ }
40
+ export type ContextDataFactory<ContextData extends Record<string, any>> = () => ContextData;
41
+ export interface ResponseBody extends Record<string, any> {
42
+ '@thrownErrors'?: Record<string, RpcError<string>>;
43
+ }
44
+ export interface RoutesFlowExecutionResult {
45
+ executionChain: MethodsExecutionChain;
46
+ routesFlowRouteIds?: string[];
47
+ mappings?: RoutesFlowMapping[];
48
+ }
49
+ export declare type __ΩCallContext = any[];
50
+ export declare type __ΩRawRequestBody = any[];
51
+ export declare type __ΩRawResponseBody = any[];
52
+ export declare type __ΩMionRequest = any[];
53
+ export declare type __ΩMionResponse = any[];
54
+ export declare type __ΩMionHeaders = any[];
55
+ export declare type __ΩContextDataFactory = any[];
56
+ export declare type __ΩResponseBody = any[];
57
+ export declare type __ΩRoutesFlowExecutionResult = any[];
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const src_types_remoteMethods = require("./remoteMethods.cjs");
4
+ const __ΩPick = ["T", "K", "Pick", 'l+e#!e"!fRb!b"Pde""N#!w#y'];
5
+ const __ΩRouteDef = ["H", () => __ΩPick, () => src_types_remoteMethods.__ΩRouteMethod, "type", "handler", () => src_types_remoteMethods.__ΩRouteOptions, "options", "RouteDef", `"c!Pe"!o#"P.$.%Jo"#Pn&4'8MKw(y`];
6
+ const __ΩMiddleFnDef = ["H", () => __ΩPick, () => src_types_remoteMethods.__ΩMiddleFnMethod, "type", "handler", () => src_types_remoteMethods.__ΩMiddleFnOptions, "options", "MiddleFnDef", `"c!Pe"!o#"P.$.%Jo"#Pn&4'8MKw(y`];
7
+ const __ΩHeadersMiddleFnDef = ["H", () => __ΩPick, () => src_types_remoteMethods.__ΩHeadersMethod, "type", "handler", () => src_types_remoteMethods.__ΩHeadersMiddleFnOptions, "options", "HeadersMiddleFnDef", `"c!Pe"!o#"P.$.%Jo"#Pn&4'8MKw(y`];
8
+ const __ΩRawMiddleFnDef = ["H", () => __ΩPick, () => src_types_remoteMethods.__ΩRawMethod, "type", "handler", () => src_types_remoteMethods.__ΩRawMiddleFnOptions, "options", "RawMiddleFnDef", `"c!Pe"!o#"P.$.%Jo"#Pn&4'8MKw(y`];
9
+ const __ΩAnyHandlerDef = [() => __ΩRouteDef, () => __ΩMiddleFnDef, () => __ΩHeadersMiddleFnDef, () => __ΩRawMiddleFnDef, "AnyHandlerDef", 'Pn!n"n#n$Jw%y'];
10
+ exports.__ΩAnyHandlerDef = __ΩAnyHandlerDef;
11
+ exports.__ΩHeadersMiddleFnDef = __ΩHeadersMiddleFnDef;
12
+ exports.__ΩMiddleFnDef = __ΩMiddleFnDef;
13
+ exports.__ΩRawMiddleFnDef = __ΩRawMiddleFnDef;
14
+ exports.__ΩRouteDef = __ΩRouteDef;
15
+ //# sourceMappingURL=definitions.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -0,0 +1,20 @@
1
+ import { Handler, HeaderHandler, RawMiddleFnHandler } from './handlers.ts';
2
+ import { HeadersMiddleFnOptions, HeadersMethod, MiddleFnOptions, MiddleFnMethod, RawMiddleFnOptions, RawMethod, RouteOptions, RouteMethod } from './remoteMethods.ts';
3
+ export type RouteDef<H extends Handler = any> = Pick<RouteMethod<H>, 'type' | 'handler'> & {
4
+ options?: RouteOptions;
5
+ };
6
+ export type MiddleFnDef<H extends Handler = any> = Pick<MiddleFnMethod<H>, 'type' | 'handler'> & {
7
+ options?: MiddleFnOptions;
8
+ };
9
+ export type HeadersMiddleFnDef<H extends HeaderHandler = any> = Pick<HeadersMethod<H>, 'type' | 'handler'> & {
10
+ options?: HeadersMiddleFnOptions;
11
+ };
12
+ export type RawMiddleFnDef<H extends RawMiddleFnHandler = any> = Pick<RawMethod<H>, 'type' | 'handler'> & {
13
+ options?: RawMiddleFnOptions;
14
+ };
15
+ export type AnyHandlerDef = RouteDef | MiddleFnDef | HeadersMiddleFnDef | RawMiddleFnDef;
16
+ export declare type __ΩRouteDef = any[];
17
+ export declare type __ΩMiddleFnDef = any[];
18
+ export declare type __ΩHeadersMiddleFnDef = any[];
19
+ export declare type __ΩRawMiddleFnDef = any[];
20
+ export declare type __ΩAnyHandlerDef = any[];
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const core = require("@mionjs/core");
4
+ const src_types_context = require("./context.cjs");
5
+ const src_types_definitions = require("./definitions.cjs");
6
+ const __ΩRoute = [() => src_types_definitions.__ΩRouteDef, "Route", 'n!w"y'];
7
+ const __ΩRouterEntry = [() => __ΩRoutes, () => src_types_definitions.__ΩMiddleFnDef, () => src_types_definitions.__ΩRouteDef, () => src_types_definitions.__ΩRawMiddleFnDef, () => src_types_definitions.__ΩHeadersMiddleFnDef, "RouterEntry", 'Pn!n"n#n$n%Jw&y'];
8
+ const __ΩRoutes = [() => __ΩRouterEntry, "Routes", 'P&n!LMw"y'];
9
+ const __ΩRouterOptions = ["Req", "ContextData", () => core.__ΩCoreRouterOptions, "basePath", "suffix", "request", "path", "", "pathTransform", () => src_types_context.__ΩContextDataFactory, "contextDataFactory", () => core.__ΩSerializerMode, "serializer", "RunTypeOptions", "runTypeOptions", "getPublicRoutesData", "autoGenerateErrorId", "skipClientRoutes", "aot", "maxContextPoolSize", "maxRoutesFlowsCacheSize", "RouterOptions", `"c!"c"Pn#&4$&4%Pe#!2&&2'&/(4)8e""o*"4+8n,4-"w.4/)40)41)42)43'44'45Mw6y`];
10
+ exports.__ΩRoute = __ΩRoute;
11
+ exports.__ΩRouterEntry = __ΩRouterEntry;
12
+ exports.__ΩRouterOptions = __ΩRouterOptions;
13
+ exports.__ΩRoutes = __ΩRoutes;
14
+ //# sourceMappingURL=general.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -0,0 +1,27 @@
1
+ import { CoreRouterOptions, SerializerMode } from '@mionjs/core';
2
+ import { ContextDataFactory } from './context.ts';
3
+ import { HeadersMiddleFnDef, MiddleFnDef, RawMiddleFnDef, RouteDef } from './definitions.ts';
4
+ import { RunTypeOptions } from '@mionjs/run-types';
5
+ export type Route = RouteDef;
6
+ export type RouterEntry = Routes | MiddleFnDef | RouteDef | RawMiddleFnDef | HeadersMiddleFnDef;
7
+ export interface Routes {
8
+ [key: string]: RouterEntry;
9
+ }
10
+ export interface RouterOptions<Req = any, ContextData extends Record<string, any> = any> extends CoreRouterOptions {
11
+ basePath: string;
12
+ suffix: string;
13
+ pathTransform?: (request: Req, path: string) => string;
14
+ contextDataFactory?: ContextDataFactory<ContextData>;
15
+ serializer: SerializerMode;
16
+ runTypeOptions: RunTypeOptions;
17
+ getPublicRoutesData: boolean;
18
+ autoGenerateErrorId: boolean;
19
+ skipClientRoutes: boolean;
20
+ aot: boolean;
21
+ maxContextPoolSize: number;
22
+ maxRoutesFlowsCacheSize: number;
23
+ }
24
+ export declare type __ΩRoute = any[];
25
+ export declare type __ΩRouterEntry = any[];
26
+ export declare type __ΩRoutes = any[];
27
+ export declare type __ΩRouterOptions = any[];
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const src_types_general = require("./general.cjs");
4
+ const src_types_remoteMethods = require("./remoteMethods.cjs");
5
+ const core = require("@mionjs/core");
6
+ function isRouteDef(entry) {
7
+ return entry.type === core.HandlerType.route;
8
+ }
9
+ isRouteDef.__type = [() => src_types_general.__ΩRouterEntry, "entry", "isRouteDef", 'Pn!2"!/#'];
10
+ function isMiddleFnDef(entry) {
11
+ return entry.type === core.HandlerType.middleFn;
12
+ }
13
+ isMiddleFnDef.__type = [() => src_types_general.__ΩRouterEntry, "entry", "isMiddleFnDef", 'Pn!2"!/#'];
14
+ function isRawMiddleFnDef(entry) {
15
+ return entry.type === core.HandlerType.rawMiddleFn;
16
+ }
17
+ isRawMiddleFnDef.__type = [() => src_types_general.__ΩRouterEntry, "entry", "isRawMiddleFnDef", 'Pn!2"!/#'];
18
+ function isHeadersMiddleFnDef(entry) {
19
+ return entry.type === core.HandlerType.headersMiddleFn;
20
+ }
21
+ isHeadersMiddleFnDef.__type = [() => src_types_general.__ΩRouterEntry, "entry", "isHeadersMiddleFnDef", 'Pn!2"!/#'];
22
+ function isAnyMiddleFnDef(entry) {
23
+ return isMiddleFnDef(entry) || isRawMiddleFnDef(entry) || isHeadersMiddleFnDef(entry);
24
+ }
25
+ isAnyMiddleFnDef.__type = [() => src_types_general.__ΩRouterEntry, "entry", "isAnyMiddleFnDef", 'Pn!2"!/#'];
26
+ function isRoute(entry) {
27
+ return entry.type === core.HandlerType.route;
28
+ }
29
+ isRoute.__type = [() => src_types_general.__ΩRouterEntry, "entry", "isRoute", 'Pn!2"!/#'];
30
+ function isRoutes(entry) {
31
+ return typeof entry === "object";
32
+ }
33
+ isRoutes.__type = [() => src_types_general.__ΩRouterEntry, () => src_types_general.__ΩRoutes, "entry", "isRoutes", 'PPn!n"J2#!/$'];
34
+ function isExecutable(entry) {
35
+ return typeof entry?.id === "string" && (entry.routes === "undefined" || typeof entry.handler === "function");
36
+ }
37
+ isExecutable.__type = [() => src_types_remoteMethods.__ΩRemoteMethod, "pathPointer", "entry", "isExecutable", 'PPn!P&F4"MJ2#!/$'];
38
+ function isRawExecutable(entry) {
39
+ return entry.type === core.HandlerType.rawMiddleFn;
40
+ }
41
+ isRawExecutable.__type = [() => src_types_remoteMethods.__ΩRemoteMethod, "entry", "isRawExecutable", 'Pn!2"!/#'];
42
+ function isPublicExecutable(entry) {
43
+ return entry.hasReturnData || entry.type === core.HandlerType.route || !!entry.paramNames?.length || !!entry.headersParam?.headerNames?.length;
44
+ }
45
+ isPublicExecutable.__type = [() => src_types_remoteMethods.__ΩRemoteMethod, "entry", "isPublicExecutable", 'Pn!2"!/#'];
46
+ function isHeaderExecutable(entry) {
47
+ return entry.type === core.HandlerType.headersMiddleFn;
48
+ }
49
+ isHeaderExecutable.__type = [() => src_types_remoteMethods.__ΩRemoteMethod, "entry", "isHeaderExecutable", 'Pn!2"!/#'];
50
+ function isRouteExecutable(entry) {
51
+ return entry.type === core.HandlerType.route;
52
+ }
53
+ isRouteExecutable.__type = [() => src_types_remoteMethods.__ΩRemoteMethod, "entry", "isRouteExecutable", 'Pn!2"!/#'];
54
+ exports.isAnyMiddleFnDef = isAnyMiddleFnDef;
55
+ exports.isExecutable = isExecutable;
56
+ exports.isHeaderExecutable = isHeaderExecutable;
57
+ exports.isHeadersMiddleFnDef = isHeadersMiddleFnDef;
58
+ exports.isMiddleFnDef = isMiddleFnDef;
59
+ exports.isPublicExecutable = isPublicExecutable;
60
+ exports.isRawExecutable = isRawExecutable;
61
+ exports.isRawMiddleFnDef = isRawMiddleFnDef;
62
+ exports.isRoute = isRoute;
63
+ exports.isRouteDef = isRouteDef;
64
+ exports.isRouteExecutable = isRouteExecutable;
65
+ exports.isRoutes = isRoutes;
66
+ //# sourceMappingURL=guards.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.cjs","sources":["../../../../src/types/guards.ts"],"sourcesContent":["/* ########\n * 2023 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {HeadersMiddleFnDef, MiddleFnDef, RawMiddleFnDef, RouteDef} from './definitions.ts';\nimport {Route, RouterEntry, Routes} from './general.ts';\nimport {RawMethod} from './remoteMethods.ts';\nimport {HeadersMethod} from './remoteMethods.ts';\nimport {RouteMethod} from './remoteMethods.ts';\nimport {RemoteMethod} from './remoteMethods.ts';\nimport {HandlerType} from '@mionjs/core';\n\n// ####### type guards #######\n\nexport function isRouteDef(entry: RouterEntry): entry is RouteDef {\n return entry.type === HandlerType.route;\n}\n\nexport function isMiddleFnDef(entry: RouterEntry): entry is MiddleFnDef {\n return entry.type === HandlerType.middleFn;\n}\n\nexport function isRawMiddleFnDef(entry: RouterEntry): entry is RawMiddleFnDef {\n return entry.type === HandlerType.rawMiddleFn;\n}\n\nexport function isHeadersMiddleFnDef(entry: RouterEntry): entry is HeadersMiddleFnDef {\n return entry.type === HandlerType.headersMiddleFn;\n}\n\nexport function isAnyMiddleFnDef(entry: RouterEntry): entry is HeadersMiddleFnDef | MiddleFnDef | RawMiddleFnDef {\n return isMiddleFnDef(entry) || isRawMiddleFnDef(entry) || isHeadersMiddleFnDef(entry);\n}\n\nexport function isRoute(entry: RouterEntry): entry is Route {\n return entry.type === HandlerType.route;\n}\n\nexport function isRoutes(entry: RouterEntry | Routes): entry is Route {\n return typeof entry === 'object';\n}\n\nexport function isExecutable(entry: RemoteMethod | {pathPointer: string[]}): entry is RemoteMethod {\n return (\n typeof (entry as RemoteMethod)?.id === 'string' &&\n ((entry as any).routes === 'undefined' || typeof (entry as RemoteMethod).handler === 'function')\n );\n}\nexport function isRawExecutable(entry: RemoteMethod): entry is RawMethod {\n return entry.type === HandlerType.rawMiddleFn;\n}\n\nexport function isPublicExecutable(entry: RemoteMethod): entry is RemoteMethod {\n return (\n entry.hasReturnData ||\n entry.type === HandlerType.route ||\n !!entry.paramNames?.length ||\n !!(entry as HeadersMethod).headersParam?.headerNames?.length\n );\n}\n\nexport function isHeaderExecutable(entry: RemoteMethod): entry is HeadersMethod {\n return entry.type === HandlerType.headersMiddleFn;\n}\n\nexport function isRouteExecutable(entry: RemoteMethod): entry is RouteMethod {\n return entry.type === HandlerType.route;\n}\n"],"names":["HandlerType"],"mappings":";;;;;AAiBM,SAAU,WAAW,OAAkB;AACzC,SAAO,MAAM,SAASA,KAAAA,YAAY;AACtC;;AAEM,SAAU,cAAc,OAAkB;AAC5C,SAAO,MAAM,SAASA,KAAAA,YAAY;AACtC;;AAEM,SAAU,iBAAiB,OAAkB;AAC/C,SAAO,MAAM,SAASA,KAAAA,YAAY;AACtC;;AAEM,SAAU,qBAAqB,OAAkB;AACnD,SAAO,MAAM,SAASA,KAAAA,YAAY;AACtC;;AAEM,SAAU,iBAAiB,OAAkB;AAC/C,SAAO,cAAc,KAAK,KAAK,iBAAiB,KAAK,KAAK,qBAAqB,KAAK;AACxF;;AAEM,SAAU,QAAQ,OAAkB;AACtC,SAAO,MAAM,SAASA,KAAAA,YAAY;AACtC;;AAEM,SAAU,SAAS,OAA2B;AAChD,SAAO,OAAO,UAAU;AAC5B;;AAEM,SAAU,aAAa,OAA6C;AACtE,SACI,OAAQ,OAAwB,OAAO,aACrC,MAAc,WAAW,eAAe,OAAQ,MAAuB,YAAY;AAE7F;;AACM,SAAU,gBAAgB,OAAmB;AAC/C,SAAO,MAAM,SAASA,KAAAA,YAAY;AACtC;;AAEM,SAAU,mBAAmB,OAAmB;AAClD,SACI,MAAM,iBACN,MAAM,SAASA,KAAAA,YAAY,SAC3B,CAAC,CAAC,MAAM,YAAY,UACpB,CAAC,CAAE,MAAwB,cAAc,aAAa;AAE9D;;AAEM,SAAU,mBAAmB,OAAmB;AAClD,SAAO,MAAM,SAASA,KAAAA,YAAY;AACtC;;AAEM,SAAU,kBAAkB,OAAmB;AACjD,SAAO,MAAM,SAASA,KAAAA,YAAY;AACtC;;;;;;;;;;;;;;"}
@@ -0,0 +1,17 @@
1
+ import { HeadersMiddleFnDef, MiddleFnDef, RawMiddleFnDef, RouteDef } from './definitions.ts';
2
+ import { Route, RouterEntry, Routes } from './general.ts';
3
+ import { RawMethod, HeadersMethod, RouteMethod, RemoteMethod } from './remoteMethods.ts';
4
+ export declare function isRouteDef(entry: RouterEntry): entry is RouteDef;
5
+ export declare function isMiddleFnDef(entry: RouterEntry): entry is MiddleFnDef;
6
+ export declare function isRawMiddleFnDef(entry: RouterEntry): entry is RawMiddleFnDef;
7
+ export declare function isHeadersMiddleFnDef(entry: RouterEntry): entry is HeadersMiddleFnDef;
8
+ export declare function isAnyMiddleFnDef(entry: RouterEntry): entry is HeadersMiddleFnDef | MiddleFnDef | RawMiddleFnDef;
9
+ export declare function isRoute(entry: RouterEntry): entry is Route;
10
+ export declare function isRoutes(entry: RouterEntry | Routes): entry is Route;
11
+ export declare function isExecutable(entry: RemoteMethod | {
12
+ pathPointer: string[];
13
+ }): entry is RemoteMethod;
14
+ export declare function isRawExecutable(entry: RemoteMethod): entry is RawMethod;
15
+ export declare function isPublicExecutable(entry: RemoteMethod): entry is RemoteMethod;
16
+ export declare function isHeaderExecutable(entry: RemoteMethod): entry is HeadersMethod;
17
+ export declare function isRouteExecutable(entry: RemoteMethod): entry is RouteMethod;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const src_types_general = require("./general.cjs");
4
+ const src_types_publicMethods = require("./publicMethods.cjs");
5
+ const __ΩHandler = ["Context", "Params", "Ret", "context", "parameters", "", "Handler", '"c!"Fc""c#Pe"!2$e""@2%Pe##e##`J/&w\'y'];
6
+ const __ΩHeaderHandler = ["Context", "ExpectedHeaders", "Params", "Ret", "context", "headers", "parameters", "", "HeaderHandler", '"c!"c""Fc#"c$Pe"!2%e""2&e"#@2\'Pe#$e#$`J/(w)y'];
7
+ const __ΩRawMiddleFnHandler = ["Context", "RawReq", "RawResp", () => src_types_general.__ΩRouterOptions, "Opts", "ctx", "request", "response", "opts", () => src_types_publicMethods.__ΩMayReturnError, "", "RawMiddleFnHandler", `"c!"c""c#e!"o$"c%Pe"!2&e""2'e"#2(e"$2)n*/+w,y`];
8
+ const __ΩAnyHandler = ["Context", "Params", "Ret", () => __ΩHandler, "AnyHandler", '"c!"c""c#e!!e!"e!#o$$w%y'];
9
+ exports.__ΩAnyHandler = __ΩAnyHandler;
10
+ exports.__ΩHandler = __ΩHandler;
11
+ exports.__ΩHeaderHandler = __ΩHeaderHandler;
12
+ exports.__ΩRawMiddleFnHandler = __ΩRawMiddleFnHandler;
13
+ //# sourceMappingURL=handlers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -0,0 +1,12 @@
1
+ import { HeadersSubset } from '@mionjs/core';
2
+ import { CallContext } from './context.ts';
3
+ import { RouterOptions } from './general.ts';
4
+ import { MayReturnError } from './publicMethods.ts';
5
+ export type Handler<Context extends CallContext = any, Params extends any[] = any[], Ret = any> = (context: Context, ...parameters: Params) => Ret | Promise<Ret>;
6
+ export type HeaderHandler<Context extends CallContext = any, ExpectedHeaders extends HeadersSubset<any> = any, Params extends any[] = any[], Ret = any> = (context: Context, headers: ExpectedHeaders, ...parameters: Params) => Ret | Promise<Ret>;
7
+ export type RawMiddleFnHandler<Context extends CallContext = any, RawReq = any, RawResp = any, Opts extends RouterOptions<RawReq> = RouterOptions<RawReq>> = (ctx: Context, request: RawReq, response: RawResp, opts: Opts) => MayReturnError;
8
+ export type AnyHandler<Context extends CallContext = any, Params extends any[] = any, Ret = any> = Handler<Context, Params, Ret>;
9
+ export declare type __ΩHandler = any[];
10
+ export declare type __ΩHeaderHandler = any[];
11
+ export declare type __ΩRawMiddleFnHandler = any[];
12
+ export declare type __ΩAnyHandler = any[];
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const __ΩAwaited = ["T", "onfulfilled", "args", "then", "value", "", 0, "Awaited", `lŒe$!Re"!o'"R!RPde#!Ph"!2%h&"@2#"/&qk'.QRPde#!p0Re$!RPdde#!P%PPh$!2"h$"@2#"1$MKqkJRQRPde%!pVRPe#!P,-Jqk#vQRb!Pde"!p~w(y`];
4
+ const __ΩMayReturnError = ["RpcError", "MayReturnError", 'P$"w!P"w!$J`Jw"y'];
5
+ const __ΩMiddleFnsCollection = ["MiddleFnDef", "HeadersMiddleFnDef", "RawMiddleFnDef", "MiddleFnsCollection", 'P&P"w!"w""w#JLMw$y'];
6
+ const __ΩPrivateMiddleFnDef = ["MiddleFnDef", "ctx", "", "handler", "PrivateMiddleFnDef", 'P"w!P"2"8P$!-J/#4$Mw%y'];
7
+ const __ΩPrivateDef = [() => __ΩPrivateMiddleFnDef, "RawMiddleFnDef", "PrivateDef", 'Pn!"w"Jw#y'];
8
+ const __ΩPublicApi = ["Type", "Prettify", "PublicApi", 'b!"w"w#y'];
9
+ const __ΩRemoteApi = [() => __ΩPublicRoute, () => __ΩPublicMiddleFn, () => __ΩPublicHeadersFn, 0, "RemoteApi", 'P&Pn!n"n#n$JLMw%y'];
10
+ const __ΩPublicRoute = ["H", "MethodMetadata", () => HandlerType.route, "type", "middleFnIds", "headerNames", "handler", "PublicRoute", `"c!P"w"i#4$&F4%-4&e"!4'Mw(y`];
11
+ const __ΩPublicMiddleFn = ["H", "MethodMetadata", () => HandlerType.middleFn, "type", "handler", "PublicMiddleFn", '"c!P"w"i#4$e"!4%Mw&y'];
12
+ const __ΩPublicHeadersFn = ["H", "MethodMetadata", () => HandlerType.headersMiddleFn, "type", "headerNames", "handler", "PublicHeadersFn", `"c!P"w"i#4$&F4%e"!4&Mw'y`];
13
+ const __ΩPublicHandler = ["H", "CallContext", "ctx", "rest", "", () => __ΩAwaited, "PublicHandler", 'lSPe#!@2$e#"o&"`/%R!RPdde#!P"w"2#h"!@2$h""/%qk#4QRb!Pde"!p6w\'y'];
14
+ exports.__ΩMayReturnError = __ΩMayReturnError;
15
+ exports.__ΩMiddleFnsCollection = __ΩMiddleFnsCollection;
16
+ exports.__ΩPrivateDef = __ΩPrivateDef;
17
+ exports.__ΩPrivateMiddleFnDef = __ΩPrivateMiddleFnDef;
18
+ exports.__ΩPublicApi = __ΩPublicApi;
19
+ exports.__ΩPublicHandler = __ΩPublicHandler;
20
+ exports.__ΩPublicHeadersFn = __ΩPublicHeadersFn;
21
+ exports.__ΩPublicMiddleFn = __ΩPublicMiddleFn;
22
+ exports.__ΩPublicRoute = __ΩPublicRoute;
23
+ exports.__ΩRemoteApi = __ΩRemoteApi;
24
+ //# sourceMappingURL=publicMethods.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicMethods.cjs","sources":["../../../../src/types/publicMethods.ts"],"sourcesContent":["/* ########\n * 2023 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport type {Prettify, RpcError, MethodMetadata} from '@mionjs/core';\nimport type {CallContext} from './context.ts';\nimport type {Routes} from './general.ts';\nimport type {Handler} from './handlers.ts';\nimport type {HeadersMiddleFnDef, MiddleFnDef, RawMiddleFnDef, RouteDef} from './definitions.ts';\nimport {HandlerType} from '@mionjs/core'; // do not import type only\n\n// ####### Raw MiddleFns #######\n\nexport type MayReturnError = void | RpcError<string> | Promise<RpcError<string> | void>;\n\nexport type MiddleFnsCollection = {\n [key: string]: MiddleFnDef | HeadersMiddleFnDef | RawMiddleFnDef;\n};\n\n// ####### Private MiddleFns #######\n\nexport interface PrivateMiddleFnDef extends MiddleFnDef {\n handler: (ctx?: any) => void | never | undefined;\n}\n\nexport type PrivateDef = PrivateMiddleFnDef | RawMiddleFnDef;\n\n// ####### Remote Methods Metadata #######\n\n/** Data structure containing all public routes & middleFns.\n * is a Ts Mapped type the remove private middleFns and rawMiddleFns\n */\n// prettier-ignore\nexport type PublicApi<Type extends Routes> = Prettify<{\n [Property in keyof Type as Type[Property] extends PrivateDef ? never : Property]\n : Type[Property] extends MiddleFnDef\n ? PublicMiddleFn<PublicHandler<Type[Property]['handler']>>\n : Type[Property] extends HeadersMiddleFnDef\n ? PublicHeadersFn<PublicHandler<Type[Property]['handler']>>\n : Type[Property] extends RouteDef // Routes\n ? PublicRoute<PublicHandler<Type[Property]['handler']>>\n : Type[Property] extends Routes // Routes & PureRoutes (recursion)\n ? PublicApi<Type[Property]>\n : never;\n}>;\n\n// type-remote-api-start\n/** Same as Public Api but no type mapping, should be easier to use than PublicApi when non strong types are required. */\nexport type RemoteApi = {\n [key: string]: PublicRoute | PublicMiddleFn | PublicHeadersFn | RemoteApi;\n};\n// type-remote-api-end\n\n/** Public Routes, handler type is the same as RemoteRoute but does not include the context */\nexport interface PublicRoute<H extends Handler = any> extends MethodMetadata {\n type: typeof HandlerType.route;\n middleFnIds: string[];\n headerNames: undefined;\n handler: H;\n}\n\n/** Public MiddleFns, handler type is the same as RemoteMiddleFns but does not include the context */\nexport interface PublicMiddleFn<H extends Handler = any> extends MethodMetadata {\n type: typeof HandlerType.middleFn;\n handler: H;\n}\n\n/** Public HeadersFns, handler type is the same as HeadersFns but does not include the context */\nexport interface PublicHeadersFn<H extends Handler = any> extends MethodMetadata {\n type: typeof HandlerType.headersMiddleFn;\n headerNames: string[];\n handler: H;\n}\n\n/** Removes the context from handlers */\n// prettier-ignore\nexport type PublicHandler<H extends Handler> =\n H extends (ctx: CallContext, ...rest: infer Req) => infer Resp\n ? (...rest: Req) => Promise<Awaited<Resp>>\n : never;\n"],"names":[],"mappings":";;;;;;;;;iEA0D6B,OAAK,QAAA,eAAA,eAAA,WAAA,eAAA,6BAAA;oEAQL,UAAQ,QAAA,WAAA,kBAAA,sBAAA;qEAMR,iBAAe,QAAA,eAAA,WAAA,mBAAA,0BAAA;;;;;;;;;;;;"}
@@ -0,0 +1,45 @@
1
+ import { Prettify, RpcError, MethodMetadata, HandlerType } from '@mionjs/core';
2
+ import { CallContext } from './context.ts';
3
+ import { Routes } from './general.ts';
4
+ import { Handler } from './handlers.ts';
5
+ import { HeadersMiddleFnDef, MiddleFnDef, RawMiddleFnDef, RouteDef } from './definitions.ts';
6
+ export type MayReturnError = void | RpcError<string> | Promise<RpcError<string> | void>;
7
+ export type MiddleFnsCollection = {
8
+ [key: string]: MiddleFnDef | HeadersMiddleFnDef | RawMiddleFnDef;
9
+ };
10
+ export interface PrivateMiddleFnDef extends MiddleFnDef {
11
+ handler: (ctx?: any) => void | never | undefined;
12
+ }
13
+ export type PrivateDef = PrivateMiddleFnDef | RawMiddleFnDef;
14
+ export type PublicApi<Type extends Routes> = Prettify<{
15
+ [Property in keyof Type as Type[Property] extends PrivateDef ? never : Property]: Type[Property] extends MiddleFnDef ? PublicMiddleFn<PublicHandler<Type[Property]['handler']>> : Type[Property] extends HeadersMiddleFnDef ? PublicHeadersFn<PublicHandler<Type[Property]['handler']>> : Type[Property] extends RouteDef ? PublicRoute<PublicHandler<Type[Property]['handler']>> : Type[Property] extends Routes ? PublicApi<Type[Property]> : never;
16
+ }>;
17
+ export type RemoteApi = {
18
+ [key: string]: PublicRoute | PublicMiddleFn | PublicHeadersFn | RemoteApi;
19
+ };
20
+ export interface PublicRoute<H extends Handler = any> extends MethodMetadata {
21
+ type: typeof HandlerType.route;
22
+ middleFnIds: string[];
23
+ headerNames: undefined;
24
+ handler: H;
25
+ }
26
+ export interface PublicMiddleFn<H extends Handler = any> extends MethodMetadata {
27
+ type: typeof HandlerType.middleFn;
28
+ handler: H;
29
+ }
30
+ export interface PublicHeadersFn<H extends Handler = any> extends MethodMetadata {
31
+ type: typeof HandlerType.headersMiddleFn;
32
+ headerNames: string[];
33
+ handler: H;
34
+ }
35
+ export type PublicHandler<H extends Handler> = H extends (ctx: CallContext, ...rest: infer Req) => infer Resp ? (...rest: Req) => Promise<Awaited<Resp>> : never;
36
+ export declare type __ΩMayReturnError = any[];
37
+ export declare type __ΩMiddleFnsCollection = any[];
38
+ export declare type __ΩPrivateMiddleFnDef = any[];
39
+ export declare type __ΩPrivateDef = any[];
40
+ export declare type __ΩPublicApi = any[];
41
+ export declare type __ΩRemoteApi = any[];
42
+ export declare type __ΩPublicRoute = any[];
43
+ export declare type __ΩPublicMiddleFn = any[];
44
+ export declare type __ΩPublicHeadersFn = any[];
45
+ export declare type __ΩPublicHandler = any[];
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const __ΩPartial = ["T", "Partial", 'l+e#!e"!fRb!Pde"!gN#"w"y'];
4
+ const __ΩPick = ["T", "K", "Pick", 'l+e#!e"!fRb!b"Pde""N#!w#y'];
5
+ const __ΩRemoteMethod = ["AnyHandler", "H", "MethodWithJitFns", "RemoteMethodOpts", "options", "handler", "args", "", "methodCaller", "RemoteMethod", `"w!c"P"w#"w$4%e"!4&P"@2'"/(4)8Mw*y`];
6
+ const __ΩRouteMethod = ["H", () => __ΩRemoteMethod, () => HandlerType.route, "type", "RouteOnlyOptions", "options", "RouteMethod", `"c!Pe"!o""i#4$"w%4&Mw'y`];
7
+ const __ΩMiddleFnMethod = ["H", () => __ΩRemoteMethod, () => HandlerType.middleFn, "type", "MiddleFnMethod", '"c!Pe"!o""i#4$Mw%y'];
8
+ const __ΩHeadersMethod = ["H", () => __ΩRemoteMethod, () => HandlerType.headersMiddleFn, "type", "HeadersMethodWithJitFns", "headersParam", "HeadersMethod", `"c!Pe"!o""i#4$"w%4&Mw'y`];
9
+ const __ΩRawMethod = ["H", () => __ΩRemoteMethod, () => HandlerType.rawMiddleFn, "type", "RemoteMethodOpts", false, "validateParams", false, "validateReturn", "options", "RawMethod", `"c!Pe"!o""i#4$P"w%P.&4'.(4)8MK4*Mw+y`];
10
+ const __ΩRouteOptions = [() => __ΩPartial, () => __ΩPick, () => __ΩRouteMethod, "options", "description", "validateParams", "validateReturn", "serializer", "isMutation", "RouteOptions", `n#.$fP.%.&.'.(.)Jo"#o!"w*y`];
11
+ const __ΩMiddleFnOptions = [() => __ΩPartial, () => __ΩPick, () => __ΩMiddleFnMethod, "options", "description", "validateParams", "validateReturn", "runOnError", "MiddleFnOptions", `n#.$fP.%.&.'.(Jo"#o!"w)y`];
12
+ const __ΩHeadersMiddleFnOptions = [() => __ΩPartial, () => __ΩPick, () => __ΩHeadersMethod, "options", "description", "validateParams", "validateReturn", "runOnError", "HeadersMiddleFnOptions", `n#.$fP.%.&.'.(Jo"#o!"w)y`];
13
+ const __ΩRawMiddleFnOptions = [() => __ΩPartial, () => __ΩPick, () => __ΩRawMethod, "options", "description", "runOnError", "RawMiddleFnOptions", `n#.$fP.%.&Jo"#o!"w'y`];
14
+ const __ΩMethodsExecutionChain = ["routeIndex", () => __ΩRemoteMethod, "methods", "SerializerCode", "serializer", "MethodsExecutionChain", `P'4!n"F4#"w$4%Mw&y`];
15
+ exports.__ΩHeadersMethod = __ΩHeadersMethod;
16
+ exports.__ΩHeadersMiddleFnOptions = __ΩHeadersMiddleFnOptions;
17
+ exports.__ΩMethodsExecutionChain = __ΩMethodsExecutionChain;
18
+ exports.__ΩMiddleFnMethod = __ΩMiddleFnMethod;
19
+ exports.__ΩMiddleFnOptions = __ΩMiddleFnOptions;
20
+ exports.__ΩRawMethod = __ΩRawMethod;
21
+ exports.__ΩRawMiddleFnOptions = __ΩRawMiddleFnOptions;
22
+ exports.__ΩRemoteMethod = __ΩRemoteMethod;
23
+ exports.__ΩRouteMethod = __ΩRouteMethod;
24
+ exports.__ΩRouteOptions = __ΩRouteOptions;
25
+ //# sourceMappingURL=remoteMethods.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remoteMethods.cjs","sources":["../../../../src/types/remoteMethods.ts"],"sourcesContent":["// ####### Executables #######\n\nimport type {HeadersMethodWithJitFns, MethodWithJitFns, RemoteMethodOpts, RouteOnlyOptions, SerializerCode} from '@mionjs/core'; // do not import type only\nimport type {AnyHandler, Handler, HeaderHandler, RawMiddleFnHandler} from './handlers.ts'; // do not import type only\nimport {HandlerType} from '@mionjs/core'; // do not import type only\n\n/** Contains the handlers for middleFns and routes */\nexport interface RemoteMethod<H extends AnyHandler = AnyHandler> extends MethodWithJitFns {\n /** router options */\n options: RemoteMethodOpts;\n handler: H;\n methodCaller?: (...args: any[]) => any;\n}\n\nexport interface RouteMethod<H extends Handler = any> extends RemoteMethod<H> {\n type: typeof HandlerType.route;\n options: RouteOnlyOptions;\n}\nexport interface MiddleFnMethod<H extends Handler = any> extends RemoteMethod<H> {\n type: typeof HandlerType.middleFn;\n}\nexport interface HeadersMethod<H extends HeaderHandler = any> extends RemoteMethod<H> {\n type: typeof HandlerType.headersMiddleFn;\n headersParam: HeadersMethodWithJitFns;\n}\nexport interface RawMethod<H extends RawMiddleFnHandler = any> extends RemoteMethod<H> {\n type: typeof HandlerType.rawMiddleFn;\n options: RemoteMethodOpts & {\n validateParams: false;\n validateReturn?: false;\n };\n}\n\nexport type RouteOptions = Partial<\n Pick<RouteMethod['options'], 'description' | 'validateParams' | 'validateReturn' | 'serializer' | 'isMutation'>\n>;\nexport type MiddleFnOptions = Partial<\n Pick<MiddleFnMethod['options'], 'description' | 'validateParams' | 'validateReturn' | 'runOnError'>\n>;\nexport type HeadersMiddleFnOptions = Partial<\n Pick<HeadersMethod['options'], 'description' | 'validateParams' | 'validateReturn' | 'runOnError'>\n>;\n// RawMiddleFnOptions doesn't need encoding - raw middleFns handle their own serialization\nexport type RawMiddleFnOptions = Partial<Pick<RawMethod['options'], 'description' | 'runOnError'>>;\n\nexport interface MethodsExecutionChain {\n routeIndex: number;\n methods: RemoteMethod[];\n /** Precalculated serializer code for the route's response body type */\n serializer: SerializerCode;\n}\n"],"names":[],"mappings":";;;;;sEAe6B,OAAK,QAAA,oBAAA,WAAA,eAAA,yBAAA;yEAIL,UAAQ,QAAA,kBAAA,oBAAA;wEAGR,iBAAe,QAAA,2BAAA,gBAAA,iBAAA,yBAAA;oEAIf,aAAW,QAAA,oBAAA,OAAA,kBAAA,OAAA,kBAAA,WAAA,aAAA,sCAAA;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,44 @@
1
+ import { HeadersMethodWithJitFns, MethodWithJitFns, RemoteMethodOpts, RouteOnlyOptions, SerializerCode, HandlerType } from '@mionjs/core';
2
+ import { AnyHandler, Handler, HeaderHandler, RawMiddleFnHandler } from './handlers.ts';
3
+ export interface RemoteMethod<H extends AnyHandler = AnyHandler> extends MethodWithJitFns {
4
+ options: RemoteMethodOpts;
5
+ handler: H;
6
+ methodCaller?: (...args: any[]) => any;
7
+ }
8
+ export interface RouteMethod<H extends Handler = any> extends RemoteMethod<H> {
9
+ type: typeof HandlerType.route;
10
+ options: RouteOnlyOptions;
11
+ }
12
+ export interface MiddleFnMethod<H extends Handler = any> extends RemoteMethod<H> {
13
+ type: typeof HandlerType.middleFn;
14
+ }
15
+ export interface HeadersMethod<H extends HeaderHandler = any> extends RemoteMethod<H> {
16
+ type: typeof HandlerType.headersMiddleFn;
17
+ headersParam: HeadersMethodWithJitFns;
18
+ }
19
+ export interface RawMethod<H extends RawMiddleFnHandler = any> extends RemoteMethod<H> {
20
+ type: typeof HandlerType.rawMiddleFn;
21
+ options: RemoteMethodOpts & {
22
+ validateParams: false;
23
+ validateReturn?: false;
24
+ };
25
+ }
26
+ export type RouteOptions = Partial<Pick<RouteMethod['options'], 'description' | 'validateParams' | 'validateReturn' | 'serializer' | 'isMutation'>>;
27
+ export type MiddleFnOptions = Partial<Pick<MiddleFnMethod['options'], 'description' | 'validateParams' | 'validateReturn' | 'runOnError'>>;
28
+ export type HeadersMiddleFnOptions = Partial<Pick<HeadersMethod['options'], 'description' | 'validateParams' | 'validateReturn' | 'runOnError'>>;
29
+ export type RawMiddleFnOptions = Partial<Pick<RawMethod['options'], 'description' | 'runOnError'>>;
30
+ export interface MethodsExecutionChain {
31
+ routeIndex: number;
32
+ methods: RemoteMethod[];
33
+ serializer: SerializerCode;
34
+ }
35
+ export declare type __ΩRemoteMethod = any[];
36
+ export declare type __ΩRouteMethod = any[];
37
+ export declare type __ΩMiddleFnMethod = any[];
38
+ export declare type __ΩHeadersMethod = any[];
39
+ export declare type __ΩRawMethod = any[];
40
+ export declare type __ΩRouteOptions = any[];
41
+ export declare type __ΩMiddleFnOptions = any[];
42
+ export declare type __ΩHeadersMiddleFnOptions = any[];
43
+ export declare type __ΩRawMiddleFnOptions = any[];
44
+ export declare type __ΩMethodsExecutionChain = any[];
@@ -0,0 +1,19 @@
1
+ export * from './src/types/context.ts';
2
+ export * from './src/types/definitions.ts';
3
+ export * from './src/types/remoteMethods.ts';
4
+ export * from './src/types/general.ts';
5
+ export * from './src/types/guards.ts';
6
+ export * from './src/types/handlers.ts';
7
+ export * from './src/types/publicMethods.ts';
8
+ export * from './src/constants.ts';
9
+ export * from './src/router.ts';
10
+ export * from './src/dispatch.ts';
11
+ export * from './src/callContext.ts';
12
+ export * from './src/lib/dispatchError.ts';
13
+ export * from './src/lib/headers.ts';
14
+ export * from './src/lib/remoteMethods.ts';
15
+ export * from './src/lib/handlers.ts';
16
+ export * from './src/lib/queryBody.ts';
17
+ export * from './src/lib/methodsCache.ts';
18
+ export * from './src/routes/errors.routes.ts';
19
+ export * from './src/routes/mion.routes.ts';