@innet/server 2.0.0-beta.2 → 2.0.0-beta.21

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 (154) hide show
  1. package/README.md +1869 -3651
  2. package/handler/handler.d.ts +5 -2
  3. package/handler/handler.es6.js +2 -0
  4. package/handler/handler.js +2 -0
  5. package/hooks/index.d.ts +25 -23
  6. package/hooks/index.es6.js +25 -23
  7. package/hooks/index.js +25 -23
  8. package/hooks/useAction/useAction.es6.js +1 -1
  9. package/hooks/useAction/useAction.js +1 -1
  10. package/hooks/useApi/useApi.d.ts +2 -0
  11. package/hooks/useData/index.d.ts +1 -0
  12. package/hooks/useData/index.es6.js +1 -0
  13. package/hooks/useData/index.js +9 -0
  14. package/hooks/useData/useData.d.ts +6 -0
  15. package/hooks/useData/useData.es6.js +29 -0
  16. package/hooks/useData/useData.js +33 -0
  17. package/hooks/useEffect/index.d.ts +1 -0
  18. package/hooks/useEffect/index.es6.js +1 -0
  19. package/hooks/useEffect/index.js +9 -0
  20. package/hooks/useEffect/useEffect.d.ts +2 -0
  21. package/hooks/useEffect/useEffect.es6.js +8 -0
  22. package/hooks/useEffect/useEffect.js +12 -0
  23. package/hooks/useSchemaType/useSchemaType.d.ts +2 -2
  24. package/hooks/useSchemaType/useSchemaType.es6.js +13 -4
  25. package/hooks/useSchemaType/useSchemaType.js +13 -4
  26. package/hooks/useSearch/useSearch.es6.js +1 -1
  27. package/hooks/useSearch/useSearch.js +1 -1
  28. package/hooks/useServer/useServer.d.ts +2 -0
  29. package/index.d.ts +2 -2
  30. package/index.es6.js +90 -86
  31. package/index.js +204 -193
  32. package/package.json +5 -4
  33. package/plugins/handler/serverFn/serverFn.es6.js +1 -1
  34. package/plugins/handler/serverFn/serverFn.js +1 -5
  35. package/plugins/index.d.ts +2 -2
  36. package/plugins/index.es6.js +2 -2
  37. package/plugins/index.js +2 -2
  38. package/plugins/main/api/api.es6.js +6 -5
  39. package/plugins/main/api/api.js +8 -11
  40. package/plugins/main/body/body.es6.js +4 -4
  41. package/plugins/main/body/body.js +4 -8
  42. package/plugins/main/endpoint/endpoint.es6.js +4 -4
  43. package/plugins/main/endpoint/endpoint.js +4 -8
  44. package/plugins/main/host/host.es6.js +1 -1
  45. package/plugins/main/host/host.js +1 -5
  46. package/plugins/main/index.d.ts +8 -8
  47. package/plugins/main/index.es6.js +8 -8
  48. package/plugins/main/index.js +8 -8
  49. package/plugins/main/param/param.es6.js +1 -1
  50. package/plugins/main/param/param.js +1 -5
  51. package/plugins/main/preset/preset.es6.js +1 -1
  52. package/plugins/main/preset/preset.js +1 -5
  53. package/plugins/main/response/response.d.ts +2 -1
  54. package/plugins/main/response/response.es6.js +1 -1
  55. package/plugins/main/response/response.js +1 -5
  56. package/plugins/main/server/server.d.ts +4 -0
  57. package/plugins/main/server/server.es6.js +5 -3
  58. package/plugins/main/server/server.js +6 -5
  59. package/plugins/main/tag/index.es6.js +1 -1
  60. package/plugins/main/tag/index.js +1 -0
  61. package/plugins/main/tag/tag.d.ts +8 -1
  62. package/plugins/main/tag/tag.es6.js +20 -3
  63. package/plugins/main/tag/tag.js +20 -6
  64. package/plugins/request/cms/cms.es6.js +1 -1
  65. package/plugins/request/cms/cms.js +2 -3
  66. package/plugins/request/error/error.es6.js +7 -3
  67. package/plugins/request/error/error.js +7 -3
  68. package/plugins/request/file/file.es6.js +2 -2
  69. package/plugins/request/file/file.js +2 -3
  70. package/plugins/request/header/header.es6.js +1 -1
  71. package/plugins/request/header/header.js +1 -1
  72. package/plugins/request/index.d.ts +5 -5
  73. package/plugins/request/index.es6.js +5 -5
  74. package/plugins/request/index.js +5 -5
  75. package/plugins/request/success/success.es6.js +6 -4
  76. package/plugins/request/success/success.js +6 -4
  77. package/plugins/schema/any/any.d.ts +2 -2
  78. package/plugins/schema/array/array.d.ts +5 -2
  79. package/plugins/schema/array/array.es6.js +14 -5
  80. package/plugins/schema/array/array.js +15 -10
  81. package/plugins/schema/binary/binary.d.ts +4 -0
  82. package/plugins/schema/boolean/boolean.d.ts +3 -2
  83. package/plugins/schema/date/date.d.ts +3 -2
  84. package/plugins/schema/date/date.es6.js +2 -2
  85. package/plugins/schema/date/date.js +2 -2
  86. package/plugins/schema/field/field.d.ts +4 -0
  87. package/plugins/schema/field/field.es6.js +16 -3
  88. package/plugins/schema/field/field.js +16 -7
  89. package/plugins/schema/index.d.ts +8 -8
  90. package/plugins/schema/index.es6.js +8 -8
  91. package/plugins/schema/index.js +8 -8
  92. package/plugins/schema/integer/integer.d.ts +39 -2
  93. package/plugins/schema/integer/integer.es6.js +25 -10
  94. package/plugins/schema/integer/integer.js +25 -10
  95. package/plugins/schema/null/null.d.ts +2 -2
  96. package/plugins/schema/number/number.d.ts +34 -2
  97. package/plugins/schema/number/number.es6.js +23 -7
  98. package/plugins/schema/number/number.js +22 -6
  99. package/plugins/schema/object/object.d.ts +2 -2
  100. package/plugins/schema/object/object.es6.js +8 -6
  101. package/plugins/schema/object/object.js +8 -10
  102. package/plugins/schema/string/string.d.ts +29 -2
  103. package/plugins/schema/string/string.es6.js +11 -5
  104. package/plugins/schema/string/string.js +10 -4
  105. package/plugins/schema/tuple/tuple.d.ts +2 -2
  106. package/plugins/schema/tuple/tuple.es6.js +4 -4
  107. package/plugins/schema/tuple/tuple.js +4 -8
  108. package/plugins/schema/uuid/uuid.d.ts +2 -2
  109. package/plugins/schema/uuid/uuid.es6.js +2 -2
  110. package/plugins/schema/uuid/uuid.js +1 -1
  111. package/plugins/utils/dts/dts.es6.js +5 -2
  112. package/plugins/utils/dts/dts.js +5 -2
  113. package/plugins/utils/env/env.es6.js +1 -1
  114. package/plugins/utils/env/env.js +1 -5
  115. package/plugins/utils/index.d.ts +3 -2
  116. package/plugins/utils/index.es6.js +3 -2
  117. package/plugins/utils/index.js +3 -2
  118. package/plugins/utils/swagger/swagger.d.ts +1 -0
  119. package/plugins/utils/swagger/swagger.es6.js +1 -0
  120. package/plugins/utils/swagger/swagger.js +1 -0
  121. package/plugins/utils/ui/index.d.ts +1 -0
  122. package/plugins/utils/ui/index.es6.js +1 -0
  123. package/plugins/utils/ui/index.js +10 -0
  124. package/plugins/utils/ui/rapidoc.html.es6.js +3 -0
  125. package/plugins/utils/ui/rapidoc.html.js +7 -0
  126. package/plugins/utils/ui/redoc.html.es6.js +3 -0
  127. package/plugins/utils/ui/redoc.html.js +7 -0
  128. package/plugins/utils/ui/scalar.html.es6.js +3 -0
  129. package/plugins/utils/ui/scalar.html.js +7 -0
  130. package/plugins/utils/ui/swagger.html.es6.js +3 -0
  131. package/plugins/utils/ui/swagger.html.js +7 -0
  132. package/plugins/utils/ui/ui.d.ts +13 -0
  133. package/plugins/utils/ui/ui.es6.js +45 -0
  134. package/plugins/utils/ui/ui.js +50 -0
  135. package/types.d.ts +23 -3
  136. package/utils/generateTypes/generateTypes.es6.js +105 -76
  137. package/utils/generateTypes/generateTypes.js +105 -76
  138. package/utils/getSafeSchema/getSafeSchema.d.ts +2 -0
  139. package/utils/getSafeSchema/getSafeSchema.es6.js +5 -0
  140. package/utils/getSafeSchema/getSafeSchema.js +9 -0
  141. package/utils/getSafeSchema/index.d.ts +1 -0
  142. package/utils/getSafeSchema/index.es6.js +1 -0
  143. package/utils/getSafeSchema/index.js +9 -0
  144. package/utils/index.d.ts +9 -8
  145. package/utils/index.es6.js +9 -8
  146. package/utils/index.js +9 -8
  147. package/utils/rules/index.d.ts +17 -17
  148. package/utils/rules/index.es6.js +17 -17
  149. package/utils/rules/index.js +18 -18
  150. package/utils/rules/values/index.es6.js +1 -1
  151. package/utils/rules/values/index.js +1 -0
  152. package/utils/rules/values/values.d.ts +3 -1
  153. package/utils/rules/values/values.es6.js +4 -1
  154. package/utils/rules/values/values.js +4 -0
@@ -1,6 +1,6 @@
1
1
  import { type JSXElement } from '@innet/jsx';
2
2
  import { arraySync, async } from '@innet/utils';
3
- import { type AnyProps, type ApiProps, type ArrayProps, type BinaryProps, blacklist, type BlacklistProps, type BodyProps, type BooleanProps, cms, type CmsProps, type ContactProps, type CookieProps, type DateProps, type DtsProps, type EndpointProps, type EnvProps, type ErrorProps, type FieldProps, file, type FileProps, type HeaderProps, type HostProps, type IntegerProps, type LicenseProps, type NullProps, type NumberProps, type ObjectProps, type ParamProps, preset, type PresetProps, protection, type ProtectionProps, type ProxyProps, type RedirectProps, type ResponseProps, type ReturnProps, type ServerProps, type StringProps, type SuccessProps, type SwaggerProps, type TagProps, type TupleProps, type UuidProps, type VariableProps, whitelist, type WhitelistProps } from '../plugins';
3
+ import { type AnyProps, type ApiProps, type ArrayProps, type BinaryProps, blacklist, type BlacklistProps, type BodyProps, type BooleanProps, cms, type CmsProps, type ContactProps, type CookieProps, type DateProps, type DtsProps, type EndpointProps, type EnvProps, type ErrorProps, type FieldProps, file, type FileProps, type HeaderProps, type HostProps, type IntegerProps, type LicenseProps, type NullProps, type NumberProps, type ObjectProps, type ParamProps, preset, type PresetProps, protection, type ProtectionProps, type ProxyProps, type RedirectProps, type ResponseProps, type ReturnProps, type ServerProps, type StringProps, type SuccessProps, type SwaggerProps, type TagProps, type TupleProps, type UiProps, type UuidProps, type VariableProps, whitelist, type WhitelistProps } from '../plugins';
4
4
  export declare const arrayPlugins: (typeof arraySync)[];
5
5
  export declare const JSXPlugins: {
6
6
  any: import("innet").HandlerPlugin;
@@ -40,6 +40,7 @@ export declare const JSXPlugins: {
40
40
  swagger: import("innet").HandlerPlugin;
41
41
  tag: import("innet").HandlerPlugin;
42
42
  tuple: import("innet").HandlerPlugin;
43
+ ui: import("innet").HandlerPlugin;
43
44
  uuid: import("innet").HandlerPlugin;
44
45
  variable: import("innet").HandlerPlugin;
45
46
  whitelist: typeof whitelist;
@@ -50,7 +51,7 @@ export declare const promisePlugins: (typeof async)[];
50
51
  export declare const handler: import("innet").Handler;
51
52
  declare global {
52
53
  namespace JSX {
53
- type Element = ArrayElement | FunctionElement | JSXElement | boolean | null | number | (string & {}) | undefined;
54
+ type Element = ({} & string) | ArrayElement | FunctionElement | JSXElement | boolean | null | number | undefined;
54
55
  interface ArrayElement extends Array<Element> {
55
56
  }
56
57
  type FunctionElement = () => Element;
@@ -92,9 +93,11 @@ declare global {
92
93
  server: ServerProps;
93
94
  string: StringProps;
94
95
  success: SuccessProps;
96
+ /** @deprecated Use <ui> */
95
97
  swagger: SwaggerProps;
96
98
  tag: TagProps;
97
99
  tuple: TupleProps;
100
+ ui: UiProps;
98
101
  uuid: UuidProps;
99
102
  variable: VariableProps;
100
103
  whitelist: WhitelistProps;
@@ -39,6 +39,7 @@ import { success } from '../plugins/request/success/success.es6.js';
39
39
  import { swagger } from '../plugins/utils/swagger/swagger.es6.js';
40
40
  import { tag } from '../plugins/main/tag/tag.es6.js';
41
41
  import { tuple } from '../plugins/schema/tuple/tuple.es6.js';
42
+ import { ui } from '../plugins/utils/ui/ui.es6.js';
42
43
  import { uuid } from '../plugins/schema/uuid/uuid.es6.js';
43
44
  import { variable } from '../plugins/main/variable/variable.es6.js';
44
45
  import { whitelist } from '../plugins/utils/whitelist/whitelist.es6.js';
@@ -85,6 +86,7 @@ const JSXPlugins = {
85
86
  swagger,
86
87
  tag,
87
88
  tuple,
89
+ ui,
88
90
  uuid,
89
91
  variable,
90
92
  whitelist,
@@ -43,6 +43,7 @@ var success = require('../plugins/request/success/success.js');
43
43
  var swagger = require('../plugins/utils/swagger/swagger.js');
44
44
  var tag = require('../plugins/main/tag/tag.js');
45
45
  var tuple = require('../plugins/schema/tuple/tuple.js');
46
+ var ui = require('../plugins/utils/ui/ui.js');
46
47
  var uuid = require('../plugins/schema/uuid/uuid.js');
47
48
  var variable = require('../plugins/main/variable/variable.js');
48
49
  var whitelist = require('../plugins/utils/whitelist/whitelist.js');
@@ -89,6 +90,7 @@ const JSXPlugins = {
89
90
  swagger: swagger.swagger,
90
91
  tag: tag.tag,
91
92
  tuple: tuple.tuple,
93
+ ui: ui.ui,
92
94
  uuid: uuid.uuid,
93
95
  variable: variable.variable,
94
96
  whitelist: whitelist.whitelist,
package/hooks/index.d.ts CHANGED
@@ -1,32 +1,34 @@
1
- export * from './useServer';
1
+ export * from './useAction';
2
2
  export * from './useApi';
3
- export * from './useHost';
4
- export * from './useTag';
5
- export * from './useComponentName';
6
- export * from './useOneElementError';
7
- export * from './useSchemaContext';
8
- export * from './useSchemaType';
9
- export * from './useNewSchema';
10
- export * from './useRequest';
11
- export * from './useResponse';
12
- export * from './useParams';
3
+ export * from './useBlock';
13
4
  export * from './useBody';
14
- export * from './useSearch';
15
- export * from './useParam';
5
+ export * from './useBodyFile';
6
+ export * from './useClientIp';
7
+ export * from './useComponentName';
8
+ export * from './useCookies';
9
+ export * from './useData';
10
+ export * from './useEffect';
16
11
  export * from './useEndpoint';
17
- export * from './useBlock';
18
12
  export * from './useHeaders';
19
- export * from './useCookies';
20
- export * from './useAction';
21
- export * from './useThrow';
22
- export * from './useRule';
13
+ export * from './useHost';
14
+ export * from './useIsServerHttps';
15
+ export * from './useNewSchema';
23
16
  export * from './useObjectRule';
24
- export * from './useBodyFile';
17
+ export * from './useObjectSchemaContext';
18
+ export * from './useOneElementError';
19
+ export * from './useParam';
20
+ export * from './useParams';
25
21
  export * from './usePath';
22
+ export * from './useRequest';
23
+ export * from './useRequestHandler';
24
+ export * from './useResponse';
25
+ export * from './useRule';
26
+ export * from './useSchemaContext';
27
+ export * from './useSchemaType';
28
+ export * from './useSearch';
29
+ export * from './useServer';
26
30
  export * from './useServerPlugin';
27
- export * from './useClientIp';
28
31
  export * from './useServerPlugins';
29
- export * from './useObjectSchemaContext';
30
32
  export * from './useServerPort';
31
- export * from './useIsServerHttps';
32
- export * from './useRequestHandler';
33
+ export * from './useTag';
34
+ export * from './useThrow';
@@ -1,32 +1,34 @@
1
- import './useServer/index.es6.js';
1
+ import './useAction/index.es6.js';
2
2
  import './useApi/index.es6.js';
3
- import './useHost/index.es6.js';
4
- import './useTag/index.es6.js';
5
- import './useComponentName/index.es6.js';
6
- import './useOneElementError/index.es6.js';
7
- import './useSchemaContext/index.es6.js';
8
- import './useSchemaType/index.es6.js';
9
- import './useNewSchema/index.es6.js';
10
- import './useRequest/index.es6.js';
11
- import './useResponse/index.es6.js';
12
- import './useParams/index.es6.js';
3
+ import './useBlock/index.es6.js';
13
4
  import './useBody/index.es6.js';
14
- import './useSearch/index.es6.js';
15
- import './useParam/index.es6.js';
5
+ import './useBodyFile/index.es6.js';
6
+ import './useClientIp/index.es6.js';
7
+ import './useComponentName/index.es6.js';
8
+ import './useCookies/index.es6.js';
9
+ import './useData/index.es6.js';
10
+ import './useEffect/index.es6.js';
16
11
  import './useEndpoint/index.es6.js';
17
- import './useBlock/index.es6.js';
18
12
  import './useHeaders/index.es6.js';
19
- import './useCookies/index.es6.js';
20
- import './useAction/index.es6.js';
21
- import './useThrow/index.es6.js';
22
- import './useRule/index.es6.js';
13
+ import './useHost/index.es6.js';
14
+ import './useIsServerHttps/index.es6.js';
15
+ import './useNewSchema/index.es6.js';
23
16
  import './useObjectRule/index.es6.js';
24
- import './useBodyFile/index.es6.js';
17
+ import './useObjectSchemaContext/index.es6.js';
18
+ import './useOneElementError/index.es6.js';
19
+ import './useParam/index.es6.js';
20
+ import './useParams/index.es6.js';
25
21
  import './usePath/index.es6.js';
22
+ import './useRequest/index.es6.js';
23
+ import './useRequestHandler/index.es6.js';
24
+ import './useResponse/index.es6.js';
25
+ import './useRule/index.es6.js';
26
+ import './useSchemaContext/index.es6.js';
27
+ import './useSchemaType/index.es6.js';
28
+ import './useSearch/index.es6.js';
29
+ import './useServer/index.es6.js';
26
30
  import './useServerPlugin/index.es6.js';
27
- import './useClientIp/index.es6.js';
28
31
  import './useServerPlugins/index.es6.js';
29
- import './useObjectSchemaContext/index.es6.js';
30
32
  import './useServerPort/index.es6.js';
31
- import './useIsServerHttps/index.es6.js';
32
- import './useRequestHandler/index.es6.js';
33
+ import './useTag/index.es6.js';
34
+ import './useThrow/index.es6.js';
package/hooks/index.js CHANGED
@@ -1,35 +1,37 @@
1
1
  'use strict';
2
2
 
3
- require('./useServer/index.js');
3
+ require('./useAction/index.js');
4
4
  require('./useApi/index.js');
5
- require('./useHost/index.js');
6
- require('./useTag/index.js');
7
- require('./useComponentName/index.js');
8
- require('./useOneElementError/index.js');
9
- require('./useSchemaContext/index.js');
10
- require('./useSchemaType/index.js');
11
- require('./useNewSchema/index.js');
12
- require('./useRequest/index.js');
13
- require('./useResponse/index.js');
14
- require('./useParams/index.js');
5
+ require('./useBlock/index.js');
15
6
  require('./useBody/index.js');
16
- require('./useSearch/index.js');
17
- require('./useParam/index.js');
7
+ require('./useBodyFile/index.js');
8
+ require('./useClientIp/index.js');
9
+ require('./useComponentName/index.js');
10
+ require('./useCookies/index.js');
11
+ require('./useData/index.js');
12
+ require('./useEffect/index.js');
18
13
  require('./useEndpoint/index.js');
19
- require('./useBlock/index.js');
20
14
  require('./useHeaders/index.js');
21
- require('./useCookies/index.js');
22
- require('./useAction/index.js');
23
- require('./useThrow/index.js');
24
- require('./useRule/index.js');
15
+ require('./useHost/index.js');
16
+ require('./useIsServerHttps/index.js');
17
+ require('./useNewSchema/index.js');
25
18
  require('./useObjectRule/index.js');
26
- require('./useBodyFile/index.js');
19
+ require('./useObjectSchemaContext/index.js');
20
+ require('./useOneElementError/index.js');
21
+ require('./useParam/index.js');
22
+ require('./useParams/index.js');
27
23
  require('./usePath/index.js');
24
+ require('./useRequest/index.js');
25
+ require('./useRequestHandler/index.js');
26
+ require('./useResponse/index.js');
27
+ require('./useRule/index.js');
28
+ require('./useSchemaContext/index.js');
29
+ require('./useSchemaType/index.js');
30
+ require('./useSearch/index.js');
31
+ require('./useServer/index.js');
28
32
  require('./useServerPlugin/index.js');
29
- require('./useClientIp/index.js');
30
33
  require('./useServerPlugins/index.js');
31
- require('./useObjectSchemaContext/index.js');
32
34
  require('./useServerPort/index.js');
33
- require('./useIsServerHttps/index.js');
34
- require('./useRequestHandler/index.js');
35
+ require('./useTag/index.js');
36
+ require('./useThrow/index.js');
35
37
 
@@ -6,7 +6,7 @@ const actionContext = new Context();
6
6
  function useAction() {
7
7
  const action = useContext(actionContext);
8
8
  if (!action) {
9
- useThrow('<{type}> MUST be in <request>, <preset> or <fallback>');
9
+ useThrow('<{type}> MUST be in <return> or <preset>');
10
10
  }
11
11
  return action;
12
12
  }
@@ -10,7 +10,7 @@ const actionContext = new jsx.Context();
10
10
  function useAction() {
11
11
  const action = jsx.useContext(actionContext);
12
12
  if (!action) {
13
- useThrow.useThrow('<{type}> MUST be in <request>, <preset> or <fallback>');
13
+ useThrow.useThrow('<{type}> MUST be in <return> or <preset>');
14
14
  }
15
15
  return action;
16
16
  }
@@ -1,10 +1,12 @@
1
1
  import { Context } from '@innet/jsx';
2
+ import { type ApiProps } from '../../plugins';
2
3
  import { type Document, type Endpoints } from '../../types';
3
4
  import { type Rule } from '../../utils';
4
5
  export interface ApiContext {
5
6
  docs: Document;
6
7
  endpoints: Endpoints;
7
8
  prefix: string;
9
+ props: ApiProps;
8
10
  refRules: Record<string, Rule>;
9
11
  }
10
12
  export declare const apiContext: Context<ApiContext, ApiContext | undefined>;
@@ -0,0 +1 @@
1
+ export * from './useData';
@@ -0,0 +1 @@
1
+ export { useData } from './useData.es6.js';
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var useData = require('./useData.js');
6
+
7
+
8
+
9
+ exports.useData = useData.useData;
@@ -0,0 +1,6 @@
1
+ import { type ApiEndpoints, type TEndpoint } from '../../types';
2
+ type KeysWithField<F extends string> = {
3
+ [K in keyof ApiEndpoints]: F extends keyof ApiEndpoints[K] ? K : never;
4
+ }[keyof ApiEndpoints];
5
+ export declare function useData<F extends Exclude<keyof TEndpoint, 'response'>, K extends KeysWithField<F> = KeysWithField<F>>(from: F, path?: K): ApiEndpoints[K][F];
6
+ export {};
@@ -0,0 +1,29 @@
1
+ import { useContext } from '@innet/jsx';
2
+ import '../useAction/index.es6.js';
3
+ import '../useEndpoint/index.es6.js';
4
+ import '../useParams/index.es6.js';
5
+ import '../useThrow/index.es6.js';
6
+ import { useEndpoint } from '../useEndpoint/useEndpoint.es6.js';
7
+ import { useThrow } from '../useThrow/useThrow.es6.js';
8
+ import { useAction } from '../useAction/useAction.es6.js';
9
+ import { paramsContext } from '../useParams/useParams.es6.js';
10
+
11
+ function useData(from, path) {
12
+ if (path) {
13
+ const endpoint = useEndpoint();
14
+ const endpointKey = `${endpoint.props.method.toUpperCase()}:${endpoint.props.path}`;
15
+ if (endpointKey !== path) {
16
+ useThrow(`<{type}> MUST be in <endpoint> of ${path}`);
17
+ }
18
+ }
19
+ const action = useAction();
20
+ if (!action) {
21
+ useThrow('<{type}> MUST be in <return> or <preset>');
22
+ }
23
+ if (from === 'params') {
24
+ return useContext(paramsContext);
25
+ }
26
+ return action[from];
27
+ }
28
+
29
+ export { useData };
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsx = require('@innet/jsx');
6
+ require('../useAction/index.js');
7
+ require('../useEndpoint/index.js');
8
+ require('../useParams/index.js');
9
+ require('../useThrow/index.js');
10
+ var useEndpoint = require('../useEndpoint/useEndpoint.js');
11
+ var useThrow = require('../useThrow/useThrow.js');
12
+ var useAction = require('../useAction/useAction.js');
13
+ var useParams = require('../useParams/useParams.js');
14
+
15
+ function useData(from, path) {
16
+ if (path) {
17
+ const endpoint = useEndpoint.useEndpoint();
18
+ const endpointKey = `${endpoint.props.method.toUpperCase()}:${endpoint.props.path}`;
19
+ if (endpointKey !== path) {
20
+ useThrow.useThrow(`<{type}> MUST be in <endpoint> of ${path}`);
21
+ }
22
+ }
23
+ const action = useAction.useAction();
24
+ if (!action) {
25
+ useThrow.useThrow('<{type}> MUST be in <return> or <preset>');
26
+ }
27
+ if (from === 'params') {
28
+ return jsx.useContext(useParams.paramsContext);
29
+ }
30
+ return action[from];
31
+ }
32
+
33
+ exports.useData = useData;
@@ -0,0 +1 @@
1
+ export * from './useEffect';
@@ -0,0 +1 @@
1
+ export { useEffect } from './useEffect.es6.js';
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var useEffect = require('./useEffect.js');
6
+
7
+
8
+
9
+ exports.useEffect = useEffect.useEffect;
@@ -0,0 +1,2 @@
1
+ import { type Effect } from '../../types';
2
+ export declare function useEffect(effect: Effect): void;
@@ -0,0 +1,8 @@
1
+ import { innet } from 'innet';
2
+ import { callHandler } from '@innet/utils';
3
+
4
+ function useEffect(effect) {
5
+ innet(effect, callHandler, 1, true);
6
+ }
7
+
8
+ export { useEffect };
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var innet = require('innet');
6
+ var utils = require('@innet/utils');
7
+
8
+ function useEffect(effect) {
9
+ innet.innet(effect, utils.callHandler, 1, true);
10
+ }
11
+
12
+ exports.useEffect = useEffect;
@@ -1,5 +1,5 @@
1
- import { type ObjectType, type SchemaObject, type ValuesSchemaProps } from '../../types';
1
+ import { type ObjectType, type SchemaObject, type SchemaProps } from '../../types';
2
2
  export type SchemaType = 'any' | ObjectType;
3
3
  type TypeMap<T extends SchemaType> = T extends 'integer' | 'number' ? number : T extends 'string' ? string : T extends 'object' ? object : T extends 'array' ? any[] : T extends 'boolean' ? boolean : T extends 'null' ? null : T extends 'any' ? any : unknown;
4
- export declare function useSchemaType<T extends SchemaType>(type: T, { example, examples, ref, values, ...options }?: ValuesSchemaProps<TypeMap<T>> | undefined): SchemaObject | undefined;
4
+ export declare function useSchemaType<T extends SchemaType>(type: T, { example, examples, nullable, ref, value, values, ...options }?: SchemaProps<TypeMap<T>> | undefined): SchemaObject | undefined;
5
5
  export {};
@@ -3,7 +3,7 @@ import '../useNewSchema/index.es6.js';
3
3
  import { useApi } from '../useApi/useApi.es6.js';
4
4
  import { useNewSchema } from '../useNewSchema/useNewSchema.es6.js';
5
5
 
6
- function useSchemaType(type, { example, examples, ref, values, ...options } = {}) {
6
+ function useSchemaType(type, { example, examples, nullable, ref, value, values, ...options } = {}) {
7
7
  var _a;
8
8
  if (ref) {
9
9
  const { docs } = useApi();
@@ -21,18 +21,27 @@ function useSchemaType(type, { example, examples, ref, values, ...options } = {}
21
21
  }
22
22
  return (docs.components.schemas[ref] = {
23
23
  ...options,
24
+ const: value,
24
25
  enum: values,
25
26
  example,
26
27
  examples,
27
- type: type === 'any' ? undefined : type,
28
+ type: type === 'any' ? undefined : nullable ? [type, 'null'] : type,
28
29
  });
29
30
  }
31
+ const arrayValues = values ? Array.isArray(values) ? values : Object.keys(values) : values;
32
+ const enumDescription = values && !Array.isArray(values)
33
+ ? {
34
+ [process.env.INNET_API_ENUM_DESCRIPTION_KEY || 'x-enumNames']: values,
35
+ }
36
+ : {};
30
37
  return useNewSchema({
31
38
  ...options,
32
- enum: values,
39
+ ...enumDescription,
40
+ const: value,
41
+ enum: arrayValues,
33
42
  example,
34
43
  examples,
35
- type: type === 'any' ? undefined : type,
44
+ type: type === 'any' ? undefined : nullable ? [type, 'null'] : type,
36
45
  });
37
46
  }
38
47
 
@@ -7,7 +7,7 @@ require('../useNewSchema/index.js');
7
7
  var useApi = require('../useApi/useApi.js');
8
8
  var useNewSchema = require('../useNewSchema/useNewSchema.js');
9
9
 
10
- function useSchemaType(type, { example, examples, ref, values, ...options } = {}) {
10
+ function useSchemaType(type, { example, examples, nullable, ref, value, values, ...options } = {}) {
11
11
  var _a;
12
12
  if (ref) {
13
13
  const { docs } = useApi.useApi();
@@ -25,18 +25,27 @@ function useSchemaType(type, { example, examples, ref, values, ...options } = {}
25
25
  }
26
26
  return (docs.components.schemas[ref] = {
27
27
  ...options,
28
+ const: value,
28
29
  enum: values,
29
30
  example,
30
31
  examples,
31
- type: type === 'any' ? undefined : type,
32
+ type: type === 'any' ? undefined : nullable ? [type, 'null'] : type,
32
33
  });
33
34
  }
35
+ const arrayValues = values ? Array.isArray(values) ? values : Object.keys(values) : values;
36
+ const enumDescription = values && !Array.isArray(values)
37
+ ? {
38
+ [process.env.INNET_API_ENUM_DESCRIPTION_KEY || 'x-enumNames']: values,
39
+ }
40
+ : {};
34
41
  return useNewSchema.useNewSchema({
35
42
  ...options,
36
- enum: values,
43
+ ...enumDescription,
44
+ const: value,
45
+ enum: arrayValues,
37
46
  example,
38
47
  examples,
39
- type: type === 'any' ? undefined : type,
48
+ type: type === 'any' ? undefined : nullable ? [type, 'null'] : type,
40
49
  });
41
50
  }
42
51
 
@@ -6,7 +6,7 @@ import { useThrow } from '../useThrow/useThrow.es6.js';
6
6
  function useSearch() {
7
7
  const action = useAction();
8
8
  if (!action) {
9
- useThrow('<{type}> MUST be in <request> or <fallback>');
9
+ useThrow('<{type}> MUST be in <return> or <preset>');
10
10
  }
11
11
  return action.search;
12
12
  }
@@ -10,7 +10,7 @@ var useThrow = require('../useThrow/useThrow.js');
10
10
  function useSearch() {
11
11
  const action = useAction.useAction();
12
12
  if (!action) {
13
- useThrow.useThrow('<{type}> MUST be in <request> or <fallback>');
13
+ useThrow.useThrow('<{type}> MUST be in <return> or <preset>');
14
14
  }
15
15
  return action.search;
16
16
  }
@@ -1,9 +1,11 @@
1
1
  import { Context } from '@innet/jsx';
2
2
  import { type Server as HttpServer } from 'http';
3
3
  import { type Server as HttpsServer } from 'https';
4
+ import { type ServerProps } from '../../plugins';
4
5
  export type ServerPlugin = () => any;
5
6
  export interface ServerContext {
6
7
  port: number;
8
+ props: ServerProps;
7
9
  server: HttpServer | HttpsServer;
8
10
  }
9
11
  export declare const serverContext: Context<ServerContext, ServerContext | undefined>;
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { handler as default } from './handler';
2
- export * from './plugins';
3
2
  export * from './handler';
4
- export * from './utils';
5
3
  export * from './hooks';
4
+ export * from './plugins';
6
5
  export * from './types';
6
+ export * from './utils';