@innet/server 2.0.0-alpha.1 → 2.0.0-alpha.11

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 (114) hide show
  1. package/README.md +417 -29
  2. package/example/requests/index.d.ts +1 -1
  3. package/example/requests/todo/AddTodo/AddTodo.d.ts +1 -0
  4. package/example/requests/todo/AddTodo/index.d.ts +1 -0
  5. package/example/requests/todo/DeleteTodo/DeleteTodo.d.ts +1 -0
  6. package/example/requests/todo/DeleteTodo/index.d.ts +1 -0
  7. package/example/requests/todo/EditTodo/EditTodo.d.ts +1 -0
  8. package/example/requests/todo/EditTodo/index.d.ts +1 -0
  9. package/example/requests/todo/GetTodo/GetTodo.d.ts +1 -0
  10. package/example/requests/todo/GetTodo/index.d.ts +1 -0
  11. package/example/requests/todo/GetTodos/GetTodos.d.ts +1 -0
  12. package/example/requests/todo/GetTodos/index.d.ts +1 -0
  13. package/example/requests/todo/index.d.ts +5 -0
  14. package/example/requests/todo/todos.d.ts +1 -0
  15. package/example/schemas/app/ListQueryParams/ListQueryParams.d.ts +1 -0
  16. package/example/schemas/app/ListQueryParams/index.d.ts +1 -0
  17. package/example/schemas/app/ListSchema/ListSchema.d.ts +4 -1
  18. package/example/schemas/app/index.d.ts +1 -0
  19. package/example/schemas/index.d.ts +1 -3
  20. package/example/schemas/todo/TodoSchema/TodoSchema.d.ts +4 -0
  21. package/example/schemas/todo/TodoSchema/index.d.ts +1 -0
  22. package/example/schemas/todo/index.d.ts +1 -0
  23. package/example/tags/Todo/Todo.d.ts +1 -0
  24. package/example/tags/Todo/index.d.ts +1 -0
  25. package/example/tags/index.d.ts +1 -1
  26. package/handler/handler.d.ts +3 -1
  27. package/handler/handler.es6.js +2 -0
  28. package/handler/handler.js +2 -0
  29. package/hooks/index.d.ts +2 -0
  30. package/hooks/index.es6.js +2 -0
  31. package/hooks/index.js +2 -0
  32. package/hooks/useClientIp/index.d.ts +1 -0
  33. package/hooks/useClientIp/index.es6.js +1 -0
  34. package/hooks/useClientIp/index.js +9 -0
  35. package/hooks/useClientIp/useClientIp.d.ts +1 -0
  36. package/hooks/useClientIp/useClientIp.es6.js +9 -0
  37. package/hooks/useClientIp/useClientIp.js +13 -0
  38. package/hooks/useComponentName/useComponentName.d.ts +1 -1
  39. package/hooks/useRequestPlugin/index.d.ts +1 -0
  40. package/hooks/useRequestPlugin/index.es6.js +1 -0
  41. package/hooks/useRequestPlugin/index.js +9 -0
  42. package/hooks/useRequestPlugin/useRequestPlugin.d.ts +2 -0
  43. package/hooks/useRequestPlugin/useRequestPlugin.es6.js +13 -0
  44. package/hooks/useRequestPlugin/useRequestPlugin.js +17 -0
  45. package/index.es6.js +5 -1
  46. package/index.js +10 -0
  47. package/package.json +2 -2
  48. package/plugins/main/api/api.es6.js +18 -11
  49. package/plugins/main/api/api.js +18 -11
  50. package/plugins/main/response/index.es6.js +1 -1
  51. package/plugins/main/response/index.js +1 -0
  52. package/plugins/main/response/response.d.ts +5 -2
  53. package/plugins/main/response/response.es6.js +10 -2
  54. package/plugins/main/response/response.js +10 -1
  55. package/plugins/main/server/server.es6.js +4 -1
  56. package/plugins/main/server/server.js +4 -1
  57. package/plugins/request/cookie/cookie.es6.js +3 -19
  58. package/plugins/request/cookie/cookie.js +3 -23
  59. package/plugins/request/redirect/redirect.d.ts +2 -1
  60. package/plugins/request/success/success.d.ts +1 -0
  61. package/plugins/request/success/success.es6.js +13 -4
  62. package/plugins/request/success/success.js +13 -4
  63. package/plugins/schema/boolean/boolean.es6.js +2 -4
  64. package/plugins/schema/boolean/boolean.js +1 -3
  65. package/plugins/utils/dts/dts.d.ts +1 -2
  66. package/plugins/utils/dts/dts.es6.js +6 -25
  67. package/plugins/utils/dts/dts.js +5 -29
  68. package/plugins/utils/index.d.ts +1 -0
  69. package/plugins/utils/index.es6.js +1 -0
  70. package/plugins/utils/index.js +1 -0
  71. package/plugins/utils/protection/index.d.ts +1 -0
  72. package/plugins/utils/protection/index.es6.js +1 -0
  73. package/plugins/utils/protection/index.js +9 -0
  74. package/plugins/utils/protection/protection.d.ts +8 -0
  75. package/plugins/utils/protection/protection.es6.js +34 -0
  76. package/plugins/utils/protection/protection.js +38 -0
  77. package/plugins/utils/swagger/swagger.es6.js +7 -11
  78. package/plugins/utils/swagger/swagger.js +7 -11
  79. package/types.d.ts +2 -3
  80. package/utils/action/Action.d.ts +7 -4
  81. package/utils/action/Action.es6.js +25 -3
  82. package/utils/action/Action.js +26 -4
  83. package/utils/generateTypes/generateTypes.d.ts +3 -0
  84. package/utils/generateTypes/generateTypes.es6.js +102 -0
  85. package/utils/generateTypes/generateTypes.js +107 -0
  86. package/utils/generateTypes/generateTypes.test.d.ts +1 -0
  87. package/utils/generateTypes/index.d.ts +1 -0
  88. package/utils/generateTypes/index.es6.js +1 -0
  89. package/utils/generateTypes/index.js +10 -0
  90. package/utils/index.d.ts +1 -0
  91. package/utils/index.es6.js +1 -0
  92. package/utils/index.js +1 -0
  93. package/utils/rules/objectOf/objectOf.es6.js +4 -1
  94. package/utils/rules/objectOf/objectOf.js +4 -1
  95. package/example/requests/partners/EditPartner/EditPartner.d.ts +0 -1
  96. package/example/requests/partners/EditPartner/index.d.ts +0 -1
  97. package/example/requests/partners/GetPartner/GetPartner.d.ts +0 -1
  98. package/example/requests/partners/GetPartner/index.d.ts +0 -1
  99. package/example/requests/partners/GetPartners/GetPartners.d.ts +0 -1
  100. package/example/requests/partners/GetPartners/index.d.ts +0 -1
  101. package/example/requests/partners/index.d.ts +0 -3
  102. package/example/schemas/address/AddressSchema/AddressSchema.d.ts +0 -1
  103. package/example/schemas/address/AddressSchema/index.d.ts +0 -1
  104. package/example/schemas/address/index.d.ts +0 -1
  105. package/example/schemas/location/LocationSchema/LocationSchema.d.ts +0 -1
  106. package/example/schemas/location/LocationSchema/index.d.ts +0 -1
  107. package/example/schemas/location/index.d.ts +0 -1
  108. package/example/schemas/partner/EditPartnerSchema/EditPartnerSchema.d.ts +0 -1
  109. package/example/schemas/partner/EditPartnerSchema/index.d.ts +0 -1
  110. package/example/schemas/partner/PartnerSchema/PartnerSchema.d.ts +0 -1
  111. package/example/schemas/partner/PartnerSchema/index.d.ts +0 -1
  112. package/example/schemas/partner/index.d.ts +0 -2
  113. package/example/tags/Partner/Partner.d.ts +0 -1
  114. package/example/tags/Partner/index.d.ts +0 -1
@@ -0,0 +1,107 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function hasDefault(target) {
6
+ return Boolean(target && ('default' in target || 'x-default' in target));
7
+ }
8
+ function generateSchemaTypes(schema, spaces = 2) {
9
+ const space = [...new Array(spaces)].map(() => ' ').join('');
10
+ if ('$ref' in schema) {
11
+ return `Schemas.${schema.$ref.slice(21)}\n`;
12
+ }
13
+ if (schema.type === 'integer') {
14
+ return `${schema.format === 'int64' ? 'bigint' : 'number'}\n`;
15
+ }
16
+ if (schema.type === 'string') {
17
+ if (schema.format === 'date-time') {
18
+ return 'Date\n';
19
+ }
20
+ if (schema.format === 'binary') {
21
+ return 'Bin\n';
22
+ }
23
+ return 'string\n';
24
+ }
25
+ if (['boolean', 'number', 'null'].includes(schema.type)) {
26
+ return `${schema.type}\n`;
27
+ }
28
+ if (schema.type === 'array') {
29
+ if (!schema.items)
30
+ return 'any[]\n';
31
+ return `(${generateSchemaTypes(schema.items, spaces + 2).slice(0, -1)})[]\n`;
32
+ }
33
+ if (schema.type !== 'object') {
34
+ console.error('unknown type', schema);
35
+ return 'any\n';
36
+ }
37
+ let result = '{\n';
38
+ const required = schema.required || [];
39
+ for (const key in schema.properties) {
40
+ const prop = schema.properties[key];
41
+ const splitter = required.includes(key) || hasDefault(prop)
42
+ ? ':'
43
+ : '?:';
44
+ result += `${space}${key}${splitter} ${generateSchemaTypes(prop, spaces + 2)}`;
45
+ }
46
+ return `${result}${space.slice(0, -2)}}\n`;
47
+ }
48
+ function generateTypes(docs) {
49
+ var _a;
50
+ let result = 'declare namespace Api {\n export interface Bin {\n filename: string\n fieldName: string\n originalFilename: string\n path: string\n type: string\n disposition: string\n size: number\n extension?: string\n }\n';
51
+ const schemas = (_a = docs.components) === null || _a === void 0 ? void 0 : _a.schemas;
52
+ const paths = docs.paths;
53
+ if (schemas) {
54
+ result += ' namespace Schemas {\n';
55
+ for (const name in schemas) {
56
+ result += ` export type ${name} = ${generateSchemaTypes(schemas[name], 6)}`;
57
+ }
58
+ result += ' }\n';
59
+ }
60
+ result += ' export interface Endpoints {\n';
61
+ for (const path in paths) {
62
+ const pathObject = paths[path];
63
+ for (const method in pathObject) {
64
+ // @ts-expect-error: FIXME
65
+ const endpoint = pathObject[method];
66
+ const parameters = endpoint.parameters;
67
+ const requestBody = endpoint.requestBody;
68
+ const responses = endpoint.responses;
69
+ result += ` ['${method.toUpperCase()}:${path}']: {\n`;
70
+ if (parameters) {
71
+ const params = {
72
+ query: '',
73
+ header: '',
74
+ path: '',
75
+ cookie: '',
76
+ };
77
+ for (const param of parameters) {
78
+ const splitter = param.in === 'path' || hasDefault(param.schema) ? ':' : '?:';
79
+ params[param.in] += ` ${param.name}${splitter} ${generateSchemaTypes(param.schema)}`;
80
+ }
81
+ if (params.path) {
82
+ result += ` Params: {\n${params.path} }\n`;
83
+ }
84
+ if (params.query) {
85
+ result += ` Search: {\n${params.query} }\n`;
86
+ }
87
+ if (params.header) {
88
+ result += ` Headers: {\n${params.header} }\n`;
89
+ }
90
+ if (params.cookie) {
91
+ result += ` Cookies: {\n${params.cookie} }\n`;
92
+ }
93
+ }
94
+ if (requestBody) {
95
+ result += ` Body: ${generateSchemaTypes(requestBody.content['multipart/form-data'].schema, 8)}`;
96
+ }
97
+ if (responses === null || responses === void 0 ? void 0 : responses.default) {
98
+ result += ` Response: ${generateSchemaTypes(responses.default.content['application/json'].schema, 8)}`;
99
+ }
100
+ result += ' }\n';
101
+ }
102
+ }
103
+ return result + ' }\n}';
104
+ }
105
+
106
+ exports.generateSchemaTypes = generateSchemaTypes;
107
+ exports.generateTypes = generateTypes;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export * from './generateTypes';
@@ -0,0 +1 @@
1
+ export { generateSchemaTypes, generateTypes } from './generateTypes.es6.js';
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var generateTypes = require('./generateTypes.js');
6
+
7
+
8
+
9
+ exports.generateSchemaTypes = generateTypes.generateSchemaTypes;
10
+ exports.generateTypes = generateTypes.generateTypes;
package/utils/index.d.ts CHANGED
@@ -10,3 +10,4 @@ export * from './parseFormBody';
10
10
  export * from './rules';
11
11
  export * from './JSONString';
12
12
  export * from './FileData';
13
+ export * from './generateTypes';
@@ -10,3 +10,4 @@ import './parseFormBody/index.es6.js';
10
10
  import './rules/index.es6.js';
11
11
  import './JSONString/index.es6.js';
12
12
  import './FileData/index.es6.js';
13
+ import './generateTypes/index.es6.js';
package/utils/index.js CHANGED
@@ -12,4 +12,5 @@ require('./parseFormBody/index.js');
12
12
  require('./rules/index.js');
13
13
  require('./JSONString/index.js');
14
14
  require('./FileData/index.js');
15
+ require('./generateTypes/index.js');
15
16
 
@@ -7,7 +7,10 @@ function objectOf(map) {
7
7
  }
8
8
  const result = {};
9
9
  for (const key in map) {
10
- result[key] = map[key](value[key], Object.assign(Object.assign({}, data), { key: addKey(key, data) }));
10
+ const val = map[key](value[key], Object.assign(Object.assign({}, data), { key: addKey(key, data) }));
11
+ if (val !== undefined) {
12
+ result[key] = val;
13
+ }
11
14
  }
12
15
  return result;
13
16
  };
@@ -11,7 +11,10 @@ function objectOf(map) {
11
11
  }
12
12
  const result = {};
13
13
  for (const key in map) {
14
- result[key] = map[key](value[key], Object.assign(Object.assign({}, data), { key: helpers.addKey(key, data) }));
14
+ const val = map[key](value[key], Object.assign(Object.assign({}, data), { key: helpers.addKey(key, data) }));
15
+ if (val !== undefined) {
16
+ result[key] = val;
17
+ }
15
18
  }
16
19
  return result;
17
20
  };
@@ -1 +0,0 @@
1
- export declare function EditPartner(): any;
@@ -1 +0,0 @@
1
- export * from './EditPartner';
@@ -1 +0,0 @@
1
- export declare function GetPartner(): any;
@@ -1 +0,0 @@
1
- export * from './GetPartner';
@@ -1 +0,0 @@
1
- export declare function GetPartners(): any;
@@ -1 +0,0 @@
1
- export * from './GetPartners';
@@ -1,3 +0,0 @@
1
- export * from './GetPartner';
2
- export * from './GetPartners';
3
- export * from './EditPartner';
@@ -1 +0,0 @@
1
- export declare function AddressSchema(): any;
@@ -1 +0,0 @@
1
- export * from './AddressSchema';
@@ -1 +0,0 @@
1
- export * from './AddressSchema';
@@ -1 +0,0 @@
1
- export declare function LocationSchema(): any;
@@ -1 +0,0 @@
1
- export * from './LocationSchema';
@@ -1 +0,0 @@
1
- export * from './LocationSchema';
@@ -1 +0,0 @@
1
- export declare function EditPartnerSchema(): any;
@@ -1 +0,0 @@
1
- export * from './EditPartnerSchema';
@@ -1 +0,0 @@
1
- export declare function PartnerSchema(): any;
@@ -1 +0,0 @@
1
- export * from './PartnerSchema';
@@ -1,2 +0,0 @@
1
- export * from './PartnerSchema';
2
- export * from './EditPartnerSchema';
@@ -1 +0,0 @@
1
- export declare function Partner(): any;
@@ -1 +0,0 @@
1
- export * from './Partner';