@innet/server 2.0.0-alpha.9 → 2.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1041 -445
- package/_virtual/_rollup-plugin-process-env.es6.js +10 -0
- package/_virtual/_rollup-plugin-process-env.js +12 -0
- package/handler/handler.d.ts +25 -14
- package/handler/handler.es6.js +15 -11
- package/handler/handler.js +15 -11
- package/hooks/index.d.ts +6 -1
- package/hooks/index.es6.js +6 -1
- package/hooks/index.js +6 -1
- package/hooks/useAction/useAction.es6.js +1 -1
- package/hooks/useAction/useAction.js +1 -1
- package/hooks/useApi/useApi.d.ts +1 -3
- package/hooks/useClientIp/useClientIp.d.ts +1 -1
- package/hooks/useEndpoint/useEndpoint.d.ts +1 -1
- package/hooks/useEndpoint/useEndpoint.es6.js +3 -1
- package/hooks/useEndpoint/useEndpoint.js +3 -1
- package/hooks/useIsServerHttps/index.d.ts +1 -0
- package/hooks/useIsServerHttps/index.es6.js +1 -0
- package/hooks/useIsServerHttps/index.js +10 -0
- package/hooks/useIsServerHttps/useIsServerHttps.d.ts +3 -0
- package/hooks/useIsServerHttps/useIsServerHttps.es6.js +14 -0
- package/hooks/useIsServerHttps/useIsServerHttps.js +19 -0
- package/hooks/useNewSchema/useNewSchema.es6.js +1 -1
- package/hooks/useNewSchema/useNewSchema.js +1 -1
- package/hooks/useObjectSchemaContext/index.d.ts +1 -0
- package/hooks/useObjectSchemaContext/index.es6.js +1 -0
- package/hooks/useObjectSchemaContext/index.js +10 -0
- package/hooks/useObjectSchemaContext/useObjectSchemaContext.d.ts +3 -0
- package/hooks/useObjectSchemaContext/useObjectSchemaContext.es6.js +14 -0
- package/hooks/useObjectSchemaContext/useObjectSchemaContext.js +19 -0
- package/hooks/useRequest/index.es6.js +1 -1
- package/hooks/useRequest/index.js +0 -1
- package/hooks/useRequest/useRequest.d.ts +1 -4
- package/hooks/useRequest/useRequest.es6.js +4 -4
- package/hooks/useRequest/useRequest.js +3 -4
- package/hooks/useRequestHandler/index.d.ts +1 -0
- package/hooks/useRequestHandler/index.es6.js +1 -0
- package/hooks/useRequestHandler/index.js +10 -0
- package/hooks/useRequestHandler/useRequestHandler.d.ts +4 -0
- package/hooks/useRequestHandler/useRequestHandler.es6.js +14 -0
- package/hooks/useRequestHandler/useRequestHandler.js +19 -0
- package/hooks/useResponse/index.es6.js +1 -1
- package/hooks/useResponse/index.js +0 -1
- package/hooks/useResponse/useResponse.d.ts +1 -4
- package/hooks/useResponse/useResponse.es6.js +4 -4
- package/hooks/useResponse/useResponse.js +3 -4
- package/hooks/useSchemaType/useSchemaType.d.ts +3 -2
- package/hooks/useSchemaType/useSchemaType.es6.js +5 -6
- package/hooks/useSchemaType/useSchemaType.js +5 -6
- package/hooks/useServer/useServer.d.ts +2 -1
- package/hooks/useServer/useServer.es6.js +3 -1
- package/hooks/useServer/useServer.js +3 -1
- package/hooks/useServerPlugin/index.d.ts +1 -0
- package/hooks/useServerPlugin/index.es6.js +1 -0
- package/hooks/useServerPlugin/index.js +9 -0
- package/hooks/useServerPlugin/useServerPlugin.d.ts +2 -0
- package/hooks/useServerPlugin/useServerPlugin.es6.js +13 -0
- package/hooks/useServerPlugin/useServerPlugin.js +17 -0
- package/hooks/useServerPlugins/index.d.ts +1 -0
- package/hooks/useServerPlugins/index.es6.js +1 -0
- package/hooks/useServerPlugins/index.js +10 -0
- package/hooks/useServerPlugins/useServerPlugins.d.ts +4 -0
- package/hooks/useServerPlugins/useServerPlugins.es6.js +14 -0
- package/hooks/useServerPlugins/useServerPlugins.js +19 -0
- package/hooks/useServerPort/index.d.ts +1 -0
- package/hooks/useServerPort/index.es6.js +1 -0
- package/hooks/useServerPort/index.js +10 -0
- package/hooks/useServerPort/useServerPort.d.ts +3 -0
- package/hooks/useServerPort/useServerPort.es6.js +14 -0
- package/hooks/useServerPort/useServerPort.js +19 -0
- package/index.es6.js +16 -9
- package/index.js +31 -14
- package/package.json +2 -3
- package/plugins/main/api/api.d.ts +11 -8
- package/plugins/main/api/api.es6.js +55 -56
- package/plugins/main/api/api.js +54 -55
- package/plugins/main/body/body.d.ts +1 -0
- package/plugins/main/contact/contact.d.ts +2 -2
- package/plugins/main/endpoint/endpoint.d.ts +16 -15
- package/plugins/main/endpoint/endpoint.es6.js +8 -6
- package/plugins/main/endpoint/endpoint.js +7 -5
- package/plugins/main/host/host.d.ts +5 -5
- package/plugins/main/index.d.ts +2 -2
- package/plugins/main/index.es6.js +2 -2
- package/plugins/main/index.js +2 -2
- package/plugins/main/license/license.d.ts +5 -5
- package/plugins/main/param/param.d.ts +12 -11
- package/plugins/main/param/param.es6.js +6 -6
- package/plugins/main/param/param.js +5 -5
- package/plugins/main/preset/index.d.ts +1 -0
- package/plugins/main/preset/index.es6.js +1 -0
- package/plugins/{utils/prod → main/preset}/index.js +2 -2
- package/plugins/main/preset/preset.d.ts +3 -0
- package/plugins/main/preset/preset.es6.js +13 -0
- package/plugins/{utils/dev/dev.js → main/preset/preset.js} +9 -6
- package/plugins/main/response/index.es6.js +1 -1
- package/plugins/main/response/index.js +1 -0
- package/plugins/main/response/response.d.ts +6 -1
- package/plugins/main/response/response.es6.js +22 -13
- package/plugins/main/response/response.js +21 -11
- package/plugins/main/return/index.d.ts +1 -0
- package/plugins/main/return/index.es6.js +1 -0
- package/plugins/main/return/index.js +9 -0
- package/plugins/main/return/return.d.ts +4 -0
- package/plugins/main/return/return.es6.js +10 -0
- package/plugins/main/return/return.js +14 -0
- package/plugins/main/server/server.d.ts +6 -5
- package/plugins/main/server/server.es6.js +43 -16
- package/plugins/main/server/server.js +42 -15
- package/plugins/main/tag/tag.d.ts +3 -2
- package/plugins/main/tag/tag.es6.js +6 -4
- package/plugins/main/tag/tag.js +5 -3
- package/plugins/main/variable/variable.d.ts +5 -5
- package/plugins/main/variable/variable.es6.js +3 -1
- package/plugins/main/variable/variable.js +3 -1
- package/plugins/request/cms/cms.d.ts +1 -0
- package/plugins/request/cms/cms.es6.js +3 -4
- package/plugins/request/cms/cms.js +2 -3
- package/plugins/request/error/error.d.ts +41 -40
- package/plugins/request/error/error.es6.js +48 -45
- package/plugins/request/error/error.js +47 -44
- package/plugins/request/file/file.d.ts +1 -0
- package/plugins/request/file/file.es6.js +5 -6
- package/plugins/request/file/file.js +4 -5
- package/plugins/request/header/header.es6.js +1 -1
- package/plugins/request/header/header.js +1 -1
- package/plugins/request/proxy/proxy.d.ts +4 -1
- package/plugins/request/proxy/proxy.es6.js +5 -2
- package/plugins/request/proxy/proxy.js +5 -2
- package/plugins/request/redirect/redirect.d.ts +8 -7
- package/plugins/request/redirect/redirect.es6.js +7 -7
- package/plugins/request/redirect/redirect.js +7 -7
- package/plugins/request/success/success.d.ts +8 -6
- package/plugins/request/success/success.es6.js +21 -11
- package/plugins/request/success/success.js +20 -10
- package/plugins/schema/any/any.d.ts +5 -0
- package/plugins/schema/any/any.es6.js +27 -0
- package/plugins/schema/any/any.js +31 -0
- package/plugins/schema/array/array.d.ts +1 -0
- package/plugins/schema/array/array.es6.js +3 -3
- package/plugins/schema/array/array.js +2 -2
- package/plugins/schema/binary/binary.d.ts +3 -3
- package/plugins/schema/date/date.d.ts +1 -1
- package/plugins/schema/date/date.es6.js +3 -3
- package/plugins/schema/date/date.js +3 -3
- package/plugins/schema/field/field.d.ts +2 -0
- package/plugins/schema/field/field.es6.js +8 -8
- package/plugins/schema/field/field.js +6 -6
- package/plugins/schema/index.d.ts +1 -0
- package/plugins/schema/index.es6.js +1 -0
- package/plugins/schema/index.js +1 -0
- package/plugins/schema/integer/integer.d.ts +3 -3
- package/plugins/schema/integer/integer.es6.js +1 -1
- package/plugins/schema/integer/integer.js +1 -1
- package/plugins/schema/number/number.d.ts +2 -2
- package/plugins/schema/number/number.es6.js +1 -1
- package/plugins/schema/number/number.js +1 -1
- package/plugins/schema/object/object.d.ts +1 -0
- package/plugins/schema/object/object.es6.js +20 -7
- package/plugins/schema/object/object.js +19 -6
- package/plugins/schema/string/string.d.ts +2 -2
- package/plugins/schema/string/string.es6.js +44 -30
- package/plugins/schema/string/string.js +44 -30
- package/plugins/schema/tuple/tuple.d.ts +1 -0
- package/plugins/schema/tuple/tuple.es6.js +5 -5
- package/plugins/schema/tuple/tuple.js +4 -4
- package/plugins/schema/uuid/uuid.es6.js +1 -1
- package/plugins/schema/uuid/uuid.js +1 -1
- package/plugins/utils/blacklist/blacklist.d.ts +5 -0
- package/plugins/utils/blacklist/blacklist.es6.js +17 -0
- package/plugins/utils/blacklist/blacklist.js +21 -0
- package/plugins/utils/blacklist/index.d.ts +1 -0
- package/plugins/utils/blacklist/index.es6.js +1 -0
- package/plugins/utils/blacklist/index.js +9 -0
- package/plugins/utils/dts/dts.d.ts +2 -1
- package/plugins/utils/dts/dts.es6.js +2 -2
- package/plugins/utils/dts/dts.js +2 -2
- package/plugins/utils/env/env.d.ts +7 -0
- package/plugins/utils/env/env.es6.js +11 -0
- package/plugins/utils/{prod/prod.js → env/env.js} +5 -4
- package/plugins/utils/env/index.d.ts +1 -0
- package/plugins/utils/env/index.es6.js +1 -0
- package/plugins/utils/{dev → env}/index.js +2 -2
- package/plugins/utils/index.d.ts +3 -2
- package/plugins/utils/index.es6.js +3 -2
- package/plugins/utils/index.js +3 -2
- package/plugins/utils/protection/protection.d.ts +4 -4
- package/plugins/utils/protection/protection.es6.js +13 -16
- package/plugins/utils/protection/protection.js +13 -16
- package/plugins/utils/swagger/swagger.es6.js +7 -5
- package/plugins/utils/swagger/swagger.js +7 -5
- package/plugins/utils/whitelist/index.d.ts +1 -0
- package/plugins/utils/whitelist/index.es6.js +1 -0
- package/plugins/utils/whitelist/index.js +9 -0
- package/plugins/utils/whitelist/whitelist.d.ts +5 -0
- package/plugins/utils/whitelist/whitelist.es6.js +19 -0
- package/plugins/utils/whitelist/whitelist.js +23 -0
- package/types.d.ts +15 -22
- package/utils/FileData/Bin.d.ts +13 -13
- package/utils/FileData/Bin.es6.js +2 -2
- package/utils/FileData/Bin.js +2 -2
- package/utils/action/Action.d.ts +12 -12
- package/utils/action/Action.es6.js +84 -82
- package/utils/action/Action.js +83 -81
- package/utils/dateFormat/dateFormat.d.ts +1 -1
- package/utils/dateFormat/dateFormat.es6.js +1 -1
- package/utils/dateFormat/dateFormat.js +1 -1
- package/utils/decorators/once/once.es6.js +1 -1
- package/utils/decorators/once/once.js +1 -1
- package/utils/generateTypes/generateTypes.d.ts +2 -2
- package/utils/generateTypes/generateTypes.es6.js +85 -25
- package/utils/generateTypes/generateTypes.js +85 -25
- package/utils/getEndpoint/getEndpoint.es6.js +2 -2
- package/utils/getEndpoint/getEndpoint.js +2 -2
- package/utils/getOrAdd/getOrAdd.d.ts +1 -1
- package/utils/httpOnStart/httpOnStart.d.ts +1 -1
- package/utils/httpOnStart/httpOnStart.es6.js +1 -1
- package/utils/httpOnStart/httpOnStart.js +1 -1
- package/utils/rules/binaryAccept/binaryAccept.es6.js +2 -2
- package/utils/rules/binaryAccept/binaryAccept.js +2 -2
- package/utils/rules/dateTo/dateTo.d.ts +1 -1
- package/utils/rules/helpers.d.ts +1 -1
- package/utils/rules/index.d.ts +0 -1
- package/utils/rules/index.es6.js +0 -1
- package/utils/rules/index.js +0 -1
- package/utils/rules/int/int.es6.js +2 -2
- package/utils/rules/int/int.js +2 -2
- package/utils/rules/max/max.d.ts +1 -1
- package/utils/rules/max/max.es6.js +3 -3
- package/utils/rules/max/max.js +3 -3
- package/utils/rules/maxBin/maxBin.es6.js +2 -2
- package/utils/rules/maxBin/maxBin.js +2 -2
- package/utils/rules/maxDate/maxDate.es6.js +1 -1
- package/utils/rules/maxDate/maxDate.js +1 -1
- package/utils/rules/maxLength/maxLength.es6.js +2 -2
- package/utils/rules/maxLength/maxLength.js +2 -2
- package/utils/rules/min/min.d.ts +1 -1
- package/utils/rules/min/min.es6.js +3 -3
- package/utils/rules/min/min.js +3 -3
- package/utils/rules/minBin/minBin.es6.js +2 -2
- package/utils/rules/minBin/minBin.js +2 -2
- package/utils/rules/minDate/minDate.es6.js +1 -1
- package/utils/rules/minDate/minDate.js +1 -1
- package/utils/rules/minLength/minLength.es6.js +2 -2
- package/utils/rules/minLength/minLength.js +2 -2
- package/utils/rules/objectOf/objectOf.d.ts +1 -1
- package/utils/rules/objectOf/objectOf.es6.js +11 -1
- package/utils/rules/objectOf/objectOf.js +11 -1
- package/utils/rules/pattern/pattern.d.ts +1 -1
- package/utils/rules/pattern/pattern.es6.js +2 -1
- package/utils/rules/pattern/pattern.js +2 -1
- package/example/app/App/App.d.ts +0 -1
- package/example/app/App/index.d.ts +0 -1
- package/example/index.d.ts +0 -1
- package/example/requests/index.d.ts +0 -1
- package/example/requests/todo/AddTodo/AddTodo.d.ts +0 -1
- package/example/requests/todo/AddTodo/index.d.ts +0 -1
- package/example/requests/todo/DeleteTodo/DeleteTodo.d.ts +0 -1
- package/example/requests/todo/DeleteTodo/index.d.ts +0 -1
- package/example/requests/todo/EditTodo/EditTodo.d.ts +0 -1
- package/example/requests/todo/EditTodo/index.d.ts +0 -1
- package/example/requests/todo/GetTodo/GetTodo.d.ts +0 -1
- package/example/requests/todo/GetTodo/index.d.ts +0 -1
- package/example/requests/todo/GetTodos/GetTodos.d.ts +0 -1
- package/example/requests/todo/GetTodos/index.d.ts +0 -1
- package/example/requests/todo/index.d.ts +0 -5
- package/example/requests/todo/todos.d.ts +0 -1
- package/example/schemas/app/ListQueryParams/ListQueryParams.d.ts +0 -1
- package/example/schemas/app/ListQueryParams/index.d.ts +0 -1
- package/example/schemas/app/ListSchema/ListSchema.d.ts +0 -4
- package/example/schemas/app/ListSchema/index.d.ts +0 -1
- package/example/schemas/app/index.d.ts +0 -2
- package/example/schemas/index.d.ts +0 -2
- package/example/schemas/todo/TodoSchema/TodoSchema.d.ts +0 -4
- package/example/schemas/todo/TodoSchema/index.d.ts +0 -1
- package/example/schemas/todo/index.d.ts +0 -1
- package/example/tags/Todo/Todo.d.ts +0 -1
- package/example/tags/Todo/index.d.ts +0 -1
- package/example/tags/index.d.ts +0 -1
- package/hooks/useRequestPlugin/index.d.ts +0 -1
- package/hooks/useRequestPlugin/index.es6.js +0 -1
- package/hooks/useRequestPlugin/index.js +0 -9
- package/hooks/useRequestPlugin/useRequestPlugin.d.ts +0 -2
- package/hooks/useRequestPlugin/useRequestPlugin.es6.js +0 -13
- package/hooks/useRequestPlugin/useRequestPlugin.js +0 -17
- package/openApi.test.d.ts +0 -1
- package/plugins/main/fallback/fallback.d.ts +0 -4
- package/plugins/main/fallback/fallback.es6.js +0 -19
- package/plugins/main/fallback/fallback.js +0 -23
- package/plugins/main/fallback/index.d.ts +0 -1
- package/plugins/main/fallback/index.es6.js +0 -1
- package/plugins/main/fallback/index.js +0 -9
- package/plugins/main/request/index.d.ts +0 -1
- package/plugins/main/request/index.es6.js +0 -1
- package/plugins/main/request/index.js +0 -9
- package/plugins/main/request/request.d.ts +0 -4
- package/plugins/main/request/request.es6.js +0 -21
- package/plugins/main/request/request.js +0 -25
- package/plugins/utils/dev/dev.d.ts +0 -4
- package/plugins/utils/dev/dev.es6.js +0 -10
- package/plugins/utils/dev/index.d.ts +0 -1
- package/plugins/utils/dev/index.es6.js +0 -1
- package/plugins/utils/prod/index.d.ts +0 -1
- package/plugins/utils/prod/index.es6.js +0 -1
- package/plugins/utils/prod/prod.d.ts +0 -4
- package/plugins/utils/prod/prod.es6.js +0 -10
- package/utils/decorators/once/once.test.d.ts +0 -1
- package/utils/generateTypes/generateTypes.test.d.ts +0 -1
- package/utils/parseSearch/parseSearch.test.d.ts +0 -1
- package/utils/rules/any/any.d.ts +0 -1
- package/utils/rules/any/any.es6.js +0 -5
- package/utils/rules/any/any.js +0 -9
- /package/{utils/rules → plugins/schema}/any/index.d.ts +0 -0
- /package/{utils/rules → plugins/schema}/any/index.es6.js +0 -0
- /package/{utils/rules → plugins/schema}/any/index.js +0 -0
|
@@ -4,14 +4,14 @@ import { useResponse } from '../../../hooks/useResponse/useResponse.es6.js';
|
|
|
4
4
|
import { useHeaders } from '../../../hooks/useHeaders/useHeaders.es6.js';
|
|
5
5
|
|
|
6
6
|
const redirectStatuses = {
|
|
7
|
-
multipleChoices: 300,
|
|
8
|
-
movedPermanently: 301,
|
|
9
7
|
found: 302,
|
|
10
|
-
|
|
8
|
+
movedPermanently: 301,
|
|
9
|
+
multipleChoices: 300,
|
|
11
10
|
notModified: 304,
|
|
12
|
-
useProxy: 305,
|
|
13
|
-
temporaryRedirect: 307,
|
|
14
11
|
permanentRedirect: 308,
|
|
12
|
+
seeOther: 303,
|
|
13
|
+
temporaryRedirect: 307,
|
|
14
|
+
useProxy: 305,
|
|
15
15
|
};
|
|
16
16
|
function getStatus(status) {
|
|
17
17
|
if (typeof status === 'number')
|
|
@@ -30,10 +30,10 @@ const redirect = () => {
|
|
|
30
30
|
}
|
|
31
31
|
const headers = useHeaders();
|
|
32
32
|
const props = useProps();
|
|
33
|
-
const {
|
|
33
|
+
const { encode, status = 301, to, } = props;
|
|
34
34
|
res.writeHead(getStatus(status), {
|
|
35
|
-
location: encode ? customEncode(to) : to,
|
|
36
35
|
'Cache-Control': (_a = headers['Cache-Control']) !== null && _a !== void 0 ? _a : 'no-cache, no-store, must-revalidate',
|
|
36
|
+
location: encode ? customEncode(to) : to,
|
|
37
37
|
});
|
|
38
38
|
res.end();
|
|
39
39
|
};
|
|
@@ -8,14 +8,14 @@ var useResponse = require('../../../hooks/useResponse/useResponse.js');
|
|
|
8
8
|
var useHeaders = require('../../../hooks/useHeaders/useHeaders.js');
|
|
9
9
|
|
|
10
10
|
const redirectStatuses = {
|
|
11
|
-
multipleChoices: 300,
|
|
12
|
-
movedPermanently: 301,
|
|
13
11
|
found: 302,
|
|
14
|
-
|
|
12
|
+
movedPermanently: 301,
|
|
13
|
+
multipleChoices: 300,
|
|
15
14
|
notModified: 304,
|
|
16
|
-
useProxy: 305,
|
|
17
|
-
temporaryRedirect: 307,
|
|
18
15
|
permanentRedirect: 308,
|
|
16
|
+
seeOther: 303,
|
|
17
|
+
temporaryRedirect: 307,
|
|
18
|
+
useProxy: 305,
|
|
19
19
|
};
|
|
20
20
|
function getStatus(status) {
|
|
21
21
|
if (typeof status === 'number')
|
|
@@ -34,10 +34,10 @@ const redirect = () => {
|
|
|
34
34
|
}
|
|
35
35
|
const headers = useHeaders.useHeaders();
|
|
36
36
|
const props = jsx.useProps();
|
|
37
|
-
const {
|
|
37
|
+
const { encode, status = 301, to, } = props;
|
|
38
38
|
res.writeHead(getStatus(status), {
|
|
39
|
-
location: encode ? customEncode(to) : to,
|
|
40
39
|
'Cache-Control': (_a = headers['Cache-Control']) !== null && _a !== void 0 ? _a : 'no-cache, no-store, must-revalidate',
|
|
40
|
+
location: encode ? customEncode(to) : to,
|
|
41
41
|
});
|
|
42
42
|
res.end();
|
|
43
43
|
};
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { type HandlerPlugin } from 'innet';
|
|
2
2
|
export declare const successStatuses: {
|
|
3
|
-
readonly ok: 200;
|
|
4
|
-
readonly created: 201;
|
|
5
3
|
readonly accepted: 202;
|
|
6
|
-
readonly
|
|
4
|
+
readonly alreadyReported: 208;
|
|
5
|
+
readonly created: 201;
|
|
6
|
+
readonly multiStatus: 207;
|
|
7
7
|
readonly noContent: 204;
|
|
8
|
-
readonly
|
|
8
|
+
readonly ok: 200;
|
|
9
|
+
readonly outside: 203;
|
|
9
10
|
readonly partialContent: 206;
|
|
10
|
-
readonly
|
|
11
|
-
readonly alreadyReported: 208;
|
|
11
|
+
readonly resetContent: 205;
|
|
12
12
|
};
|
|
13
13
|
export type SuccessStatuses = keyof typeof successStatuses;
|
|
14
14
|
export interface SuccessProps {
|
|
15
|
+
children?: any;
|
|
15
16
|
status?: SuccessStatuses | number;
|
|
17
|
+
type?: string;
|
|
16
18
|
}
|
|
17
19
|
export declare const success: HandlerPlugin;
|
|
@@ -1,31 +1,41 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useProps } from '@innet/jsx';
|
|
2
2
|
import '../../../hooks/index.es6.js';
|
|
3
3
|
import '../../../utils/index.es6.js';
|
|
4
4
|
import { useResponse } from '../../../hooks/useResponse/useResponse.es6.js';
|
|
5
5
|
import { JSONString } from '../../../utils/JSONString/JSONString.es6.js';
|
|
6
6
|
|
|
7
7
|
const successStatuses = {
|
|
8
|
-
ok: 200,
|
|
9
|
-
created: 201,
|
|
10
8
|
accepted: 202,
|
|
11
|
-
|
|
9
|
+
alreadyReported: 208,
|
|
10
|
+
created: 201,
|
|
11
|
+
multiStatus: 207,
|
|
12
12
|
noContent: 204,
|
|
13
|
-
|
|
13
|
+
ok: 200,
|
|
14
|
+
outside: 203,
|
|
14
15
|
partialContent: 206,
|
|
15
|
-
|
|
16
|
-
alreadyReported: 208,
|
|
16
|
+
resetContent: 205,
|
|
17
17
|
};
|
|
18
18
|
const success = () => {
|
|
19
|
-
const children =
|
|
20
|
-
const props = useProps();
|
|
19
|
+
const { children, status, type, } = useProps();
|
|
21
20
|
const res = useResponse();
|
|
22
|
-
const status = props === null || props === void 0 ? void 0 : props.status;
|
|
23
21
|
if (!res) {
|
|
24
22
|
throw Error('<success> MUST be in <request>');
|
|
25
23
|
}
|
|
26
24
|
res.statusCode = typeof status === 'string' ? successStatuses[status] : status !== null && status !== void 0 ? status : ((children) ? 200 : 204);
|
|
27
25
|
if (children) {
|
|
28
|
-
|
|
26
|
+
const child = children;
|
|
27
|
+
const contentType = type || (['bigint', 'boolean', 'number', 'string'].includes(typeof child)
|
|
28
|
+
? 'text/plain'
|
|
29
|
+
: 'application/json');
|
|
30
|
+
const content = contentType === 'application/json' ? JSONString(child) : String(child);
|
|
31
|
+
res.setHeader('Content-Type', contentType);
|
|
32
|
+
res.setHeader('Content-Length', content.length);
|
|
33
|
+
if (contentType === 'application/json') {
|
|
34
|
+
res.write(JSONString(child));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
res.write(String(child));
|
|
38
|
+
}
|
|
29
39
|
}
|
|
30
40
|
res.end();
|
|
31
41
|
};
|
|
@@ -9,27 +9,37 @@ var useResponse = require('../../../hooks/useResponse/useResponse.js');
|
|
|
9
9
|
var JSONString = require('../../../utils/JSONString/JSONString.js');
|
|
10
10
|
|
|
11
11
|
const successStatuses = {
|
|
12
|
-
ok: 200,
|
|
13
|
-
created: 201,
|
|
14
12
|
accepted: 202,
|
|
15
|
-
|
|
13
|
+
alreadyReported: 208,
|
|
14
|
+
created: 201,
|
|
15
|
+
multiStatus: 207,
|
|
16
16
|
noContent: 204,
|
|
17
|
-
|
|
17
|
+
ok: 200,
|
|
18
|
+
outside: 203,
|
|
18
19
|
partialContent: 206,
|
|
19
|
-
|
|
20
|
-
alreadyReported: 208,
|
|
20
|
+
resetContent: 205,
|
|
21
21
|
};
|
|
22
22
|
const success = () => {
|
|
23
|
-
const children = jsx.
|
|
24
|
-
const props = jsx.useProps();
|
|
23
|
+
const { children, status, type, } = jsx.useProps();
|
|
25
24
|
const res = useResponse.useResponse();
|
|
26
|
-
const status = props === null || props === void 0 ? void 0 : props.status;
|
|
27
25
|
if (!res) {
|
|
28
26
|
throw Error('<success> MUST be in <request>');
|
|
29
27
|
}
|
|
30
28
|
res.statusCode = typeof status === 'string' ? successStatuses[status] : status !== null && status !== void 0 ? status : ((children) ? 200 : 204);
|
|
31
29
|
if (children) {
|
|
32
|
-
|
|
30
|
+
const child = children;
|
|
31
|
+
const contentType = type || (['bigint', 'boolean', 'number', 'string'].includes(typeof child)
|
|
32
|
+
? 'text/plain'
|
|
33
|
+
: 'application/json');
|
|
34
|
+
const content = contentType === 'application/json' ? JSONString.JSONString(child) : String(child);
|
|
35
|
+
res.setHeader('Content-Type', contentType);
|
|
36
|
+
res.setHeader('Content-Length', content.length);
|
|
37
|
+
if (contentType === 'application/json') {
|
|
38
|
+
res.write(JSONString.JSONString(child));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
res.write(String(child));
|
|
42
|
+
}
|
|
33
43
|
}
|
|
34
44
|
res.end();
|
|
35
45
|
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { useProps } from '@innet/jsx';
|
|
2
|
+
import '../../../hooks/index.es6.js';
|
|
3
|
+
import '../../../hooks/useParentRule/index.es6.js';
|
|
4
|
+
import '../../../utils/index.es6.js';
|
|
5
|
+
import { useSchemaType } from '../../../hooks/useSchemaType/useSchemaType.es6.js';
|
|
6
|
+
import { defaultTo } from '../../../utils/rules/defaultTo/defaultTo.es6.js';
|
|
7
|
+
import { useParentRule } from '../../../hooks/useParentRule/useParentRule.es6.js';
|
|
8
|
+
import { useRule } from '../../../hooks/useRule/useRule.es6.js';
|
|
9
|
+
import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
|
|
10
|
+
|
|
11
|
+
const any = () => {
|
|
12
|
+
const props = useProps();
|
|
13
|
+
useSchemaType('any', props);
|
|
14
|
+
const rules = [];
|
|
15
|
+
if ((props === null || props === void 0 ? void 0 : props.default) !== undefined) {
|
|
16
|
+
rules.push(defaultTo(props.default));
|
|
17
|
+
}
|
|
18
|
+
if ((props === null || props === void 0 ? void 0 : props.default) === undefined) {
|
|
19
|
+
const parentRule = useParentRule();
|
|
20
|
+
useRule(parentRule(pipe(...rules)));
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
useRule(pipe(...rules));
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export { any };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsx = require('@innet/jsx');
|
|
6
|
+
require('../../../hooks/index.js');
|
|
7
|
+
require('../../../hooks/useParentRule/index.js');
|
|
8
|
+
require('../../../utils/index.js');
|
|
9
|
+
var useSchemaType = require('../../../hooks/useSchemaType/useSchemaType.js');
|
|
10
|
+
var defaultTo = require('../../../utils/rules/defaultTo/defaultTo.js');
|
|
11
|
+
var useParentRule = require('../../../hooks/useParentRule/useParentRule.js');
|
|
12
|
+
var useRule = require('../../../hooks/useRule/useRule.js');
|
|
13
|
+
var pipe = require('../../../utils/rules/pipe/pipe.js');
|
|
14
|
+
|
|
15
|
+
const any = () => {
|
|
16
|
+
const props = jsx.useProps();
|
|
17
|
+
useSchemaType.useSchemaType('any', props);
|
|
18
|
+
const rules = [];
|
|
19
|
+
if ((props === null || props === void 0 ? void 0 : props.default) !== undefined) {
|
|
20
|
+
rules.push(defaultTo.defaultTo(props.default));
|
|
21
|
+
}
|
|
22
|
+
if ((props === null || props === void 0 ? void 0 : props.default) === undefined) {
|
|
23
|
+
const parentRule = useParentRule.useParentRule();
|
|
24
|
+
useRule.useRule(parentRule(pipe.pipe(...rules)));
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
useRule.useRule(pipe.pipe(...rules));
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
exports.any = any;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
1
2
|
import innet, { useNewHandler } from 'innet';
|
|
2
|
-
import { useContext, useProps
|
|
3
|
+
import { useContext, useProps } from '@innet/jsx';
|
|
3
4
|
import { callHandler } from '@innet/utils';
|
|
4
5
|
import '../../../hooks/index.es6.js';
|
|
5
6
|
import '../../../hooks/useParentRule/index.es6.js';
|
|
@@ -18,9 +19,8 @@ const array = () => {
|
|
|
18
19
|
useBlock('path');
|
|
19
20
|
const setRule = useContext(ruleContext);
|
|
20
21
|
const handler = useNewHandler();
|
|
21
|
-
const
|
|
22
|
+
const _a = useProps(), { children } = _a, props = __rest(_a, ["children"]);
|
|
22
23
|
const schema = useSchemaType('array', props);
|
|
23
|
-
const children = useChildren();
|
|
24
24
|
const fieldSchema = {};
|
|
25
25
|
handler[schemaContext.key] = fieldSchema;
|
|
26
26
|
schema.items = fieldSchema;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var tslib = require('tslib');
|
|
5
6
|
var innet = require('innet');
|
|
6
7
|
var jsx = require('@innet/jsx');
|
|
7
8
|
var utils = require('@innet/utils');
|
|
@@ -26,9 +27,8 @@ const array = () => {
|
|
|
26
27
|
useBlock.useBlock('path');
|
|
27
28
|
const setRule = jsx.useContext(useRule.ruleContext);
|
|
28
29
|
const handler = innet.useNewHandler();
|
|
29
|
-
const
|
|
30
|
+
const _a = jsx.useProps(), { children } = _a, props = tslib.__rest(_a, ["children"]);
|
|
30
31
|
const schema = useSchemaType.useSchemaType('array', props);
|
|
31
|
-
const children = jsx.useChildren();
|
|
32
32
|
const fieldSchema = {};
|
|
33
33
|
handler[useSchemaContext.schemaContext.key] = fieldSchema;
|
|
34
34
|
schema.items = fieldSchema;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type HandlerPlugin } from 'innet';
|
|
2
2
|
export interface BinaryProps {
|
|
3
|
-
ref?: string;
|
|
4
|
-
description?: string;
|
|
5
3
|
accept?: string;
|
|
6
|
-
|
|
4
|
+
description?: string;
|
|
7
5
|
max?: number;
|
|
6
|
+
min?: number;
|
|
7
|
+
ref?: string;
|
|
8
8
|
}
|
|
9
9
|
export declare const binary: HandlerPlugin;
|
|
@@ -2,7 +2,7 @@ import { type HandlerPlugin } from 'innet';
|
|
|
2
2
|
import { type ValuesSchemaProps } from '../../../types';
|
|
3
3
|
import { type DateFormat } from '../../../utils';
|
|
4
4
|
export interface DateProps extends ValuesSchemaProps<DateFormat> {
|
|
5
|
-
min?: DateFormat;
|
|
6
5
|
max?: DateFormat;
|
|
6
|
+
min?: DateFormat;
|
|
7
7
|
}
|
|
8
8
|
export declare const date: HandlerPlugin;
|
|
@@ -16,7 +16,7 @@ import { useRule } from '../../../hooks/useRule/useRule.es6.js';
|
|
|
16
16
|
import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
|
|
17
17
|
|
|
18
18
|
const date = () => {
|
|
19
|
-
const _a = useProps() || {}, {
|
|
19
|
+
const _a = useProps() || {}, { default: defaultValue, example, examples, max, min, values: values$1 } = _a, props = __rest(_a, ["default", "example", "examples", "max", "min", "values"]);
|
|
20
20
|
const normMin = dateFormat(min);
|
|
21
21
|
const normMax = dateFormat(max);
|
|
22
22
|
const normDefault = dateFormat(defaultValue);
|
|
@@ -25,9 +25,9 @@ const date = () => {
|
|
|
25
25
|
// @ts-expect-error: FIXME
|
|
26
26
|
const stringValues = normValues === null || normValues === void 0 ? void 0 : normValues.map(value => value.toISOString());
|
|
27
27
|
const normExamples = examples === null || examples === void 0 ? void 0 : examples.map(dateFormat);
|
|
28
|
-
const schema = useSchemaType('string', Object.assign(Object.assign({}, props), {
|
|
28
|
+
const schema = useSchemaType('string', Object.assign(Object.assign({}, props), { default: defaultValue === 'now' ? undefined : normDefault === null || normDefault === void 0 ? void 0 : normDefault.toISOString(), example: normExample === null || normExample === void 0 ? void 0 : normExample.toISOString(),
|
|
29
29
|
// @ts-expect-error: FIXME
|
|
30
|
-
examples: normExamples === null || normExamples === void 0 ? void 0 : normExamples.map(example => example.toISOString()),
|
|
30
|
+
examples: normExamples === null || normExamples === void 0 ? void 0 : normExamples.map(example => example.toISOString()), values: stringValues }));
|
|
31
31
|
const rules = [];
|
|
32
32
|
if (defaultValue !== undefined) {
|
|
33
33
|
rules.push(defaultTo(defaultValue === 'now' ? () => new Date(Date.now()) : normDefault));
|
|
@@ -20,7 +20,7 @@ var useRule = require('../../../hooks/useRule/useRule.js');
|
|
|
20
20
|
var pipe = require('../../../utils/rules/pipe/pipe.js');
|
|
21
21
|
|
|
22
22
|
const date = () => {
|
|
23
|
-
const _a = jsx.useProps() || {}, {
|
|
23
|
+
const _a = jsx.useProps() || {}, { default: defaultValue, example, examples, max, min, values: values$1 } = _a, props = tslib.__rest(_a, ["default", "example", "examples", "max", "min", "values"]);
|
|
24
24
|
const normMin = dateFormat.dateFormat(min);
|
|
25
25
|
const normMax = dateFormat.dateFormat(max);
|
|
26
26
|
const normDefault = dateFormat.dateFormat(defaultValue);
|
|
@@ -29,9 +29,9 @@ const date = () => {
|
|
|
29
29
|
// @ts-expect-error: FIXME
|
|
30
30
|
const stringValues = normValues === null || normValues === void 0 ? void 0 : normValues.map(value => value.toISOString());
|
|
31
31
|
const normExamples = examples === null || examples === void 0 ? void 0 : examples.map(dateFormat.dateFormat);
|
|
32
|
-
const schema = useSchemaType.useSchemaType('string', Object.assign(Object.assign({}, props), {
|
|
32
|
+
const schema = useSchemaType.useSchemaType('string', Object.assign(Object.assign({}, props), { default: defaultValue === 'now' ? undefined : normDefault === null || normDefault === void 0 ? void 0 : normDefault.toISOString(), example: normExample === null || normExample === void 0 ? void 0 : normExample.toISOString(),
|
|
33
33
|
// @ts-expect-error: FIXME
|
|
34
|
-
examples: normExamples === null || normExamples === void 0 ? void 0 : normExamples.map(example => example.toISOString()),
|
|
34
|
+
examples: normExamples === null || normExamples === void 0 ? void 0 : normExamples.map(example => example.toISOString()), values: stringValues }));
|
|
35
35
|
const rules = [];
|
|
36
36
|
if (defaultValue !== undefined) {
|
|
37
37
|
rules.push(defaultTo.defaultTo(defaultValue === 'now' ? () => new Date(Date.now()) : normDefault));
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import innet, { useNewHandler } from 'innet';
|
|
2
|
-
import { useProps
|
|
2
|
+
import { useProps } from '@innet/jsx';
|
|
3
3
|
import '../../../hooks/index.es6.js';
|
|
4
4
|
import '../../../utils/index.es6.js';
|
|
5
|
-
import {
|
|
5
|
+
import { useObjectSchemaContext } from '../../../hooks/useObjectSchemaContext/useObjectSchemaContext.es6.js';
|
|
6
|
+
import { schemaContext } from '../../../hooks/useSchemaContext/useSchemaContext.es6.js';
|
|
6
7
|
import { useObjectRule, objectRuleContext } from '../../../hooks/useObjectRule/useObjectRule.es6.js';
|
|
7
8
|
import { ruleContext } from '../../../hooks/useRule/useRule.es6.js';
|
|
8
9
|
import { required } from '../../../utils/rules/required/required.es6.js';
|
|
9
10
|
|
|
10
11
|
const field = () => {
|
|
11
12
|
const handler = useNewHandler();
|
|
12
|
-
const { key, optional } = useProps();
|
|
13
|
-
const schema =
|
|
14
|
-
const children = useChildren();
|
|
15
|
-
if (Array.isArray(schema) || (schema === null || schema === void 0 ? void 0 : schema.type) !== 'object') {
|
|
16
|
-
throw Error('Use <field> inside <object>');
|
|
17
|
-
}
|
|
13
|
+
const { children, deprecated, key, optional, } = useProps();
|
|
14
|
+
const schema = useObjectSchemaContext();
|
|
18
15
|
if (!schema.properties) {
|
|
19
16
|
schema.properties = {};
|
|
20
17
|
}
|
|
@@ -23,6 +20,9 @@ const field = () => {
|
|
|
23
20
|
}
|
|
24
21
|
const fieldSchema = {};
|
|
25
22
|
schemaContext.set(handler, fieldSchema);
|
|
23
|
+
if (deprecated) {
|
|
24
|
+
fieldSchema.deprecated = true;
|
|
25
|
+
}
|
|
26
26
|
schema.properties[key] = fieldSchema;
|
|
27
27
|
if (!optional) {
|
|
28
28
|
if (!schema.required) {
|
|
@@ -6,6 +6,7 @@ var innet = require('innet');
|
|
|
6
6
|
var jsx = require('@innet/jsx');
|
|
7
7
|
require('../../../hooks/index.js');
|
|
8
8
|
require('../../../utils/index.js');
|
|
9
|
+
var useObjectSchemaContext = require('../../../hooks/useObjectSchemaContext/useObjectSchemaContext.js');
|
|
9
10
|
var useSchemaContext = require('../../../hooks/useSchemaContext/useSchemaContext.js');
|
|
10
11
|
var useObjectRule = require('../../../hooks/useObjectRule/useObjectRule.js');
|
|
11
12
|
var useRule = require('../../../hooks/useRule/useRule.js');
|
|
@@ -17,12 +18,8 @@ var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
|
|
|
17
18
|
|
|
18
19
|
const field = () => {
|
|
19
20
|
const handler = innet.useNewHandler();
|
|
20
|
-
const { key, optional } = jsx.useProps();
|
|
21
|
-
const schema =
|
|
22
|
-
const children = jsx.useChildren();
|
|
23
|
-
if (Array.isArray(schema) || (schema === null || schema === void 0 ? void 0 : schema.type) !== 'object') {
|
|
24
|
-
throw Error('Use <field> inside <object>');
|
|
25
|
-
}
|
|
21
|
+
const { children, deprecated, key, optional, } = jsx.useProps();
|
|
22
|
+
const schema = useObjectSchemaContext.useObjectSchemaContext();
|
|
26
23
|
if (!schema.properties) {
|
|
27
24
|
schema.properties = {};
|
|
28
25
|
}
|
|
@@ -31,6 +28,9 @@ const field = () => {
|
|
|
31
28
|
}
|
|
32
29
|
const fieldSchema = {};
|
|
33
30
|
useSchemaContext.schemaContext.set(handler, fieldSchema);
|
|
31
|
+
if (deprecated) {
|
|
32
|
+
fieldSchema.deprecated = true;
|
|
33
|
+
}
|
|
34
34
|
schema.properties[key] = fieldSchema;
|
|
35
35
|
if (!optional) {
|
|
36
36
|
if (!schema.required) {
|
package/plugins/schema/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type HandlerPlugin } from 'innet';
|
|
2
2
|
import { type IntegerFormats, type ValuesSchemaProps } from '../../../types';
|
|
3
|
-
export interface IntegerProps extends ValuesSchemaProps<
|
|
3
|
+
export interface IntegerProps extends ValuesSchemaProps<bigint | number> {
|
|
4
4
|
format?: IntegerFormats;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
max?: bigint | number;
|
|
6
|
+
min?: bigint | number;
|
|
7
7
|
}
|
|
8
8
|
export declare const integer: HandlerPlugin;
|
|
@@ -13,7 +13,7 @@ import { optional } from '../../../utils/rules/optional/optional.es6.js';
|
|
|
13
13
|
import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
|
|
14
14
|
|
|
15
15
|
const integer = () => {
|
|
16
|
-
const _a = useProps() || {}, { format = 'int32',
|
|
16
|
+
const _a = useProps() || {}, { default: defaultValue, example, examples, format = 'int32', max: max$1, min: min$1, values: values$1 } = _a, props = __rest(_a, ["default", "example", "examples", "format", "max", "min", "values"]);
|
|
17
17
|
const schema = useSchemaType('integer', Object.assign(Object.assign({}, props), { default: defaultValue !== undefined ? Number(defaultValue) : undefined, example: example !== undefined ? Number(example) : undefined, examples: examples === null || examples === void 0 ? void 0 : examples.map(Number), values: values$1 === null || values$1 === void 0 ? void 0 : values$1.map(Number) }));
|
|
18
18
|
// @ts-expect-error: FIXME
|
|
19
19
|
schema.format = format;
|
|
@@ -17,7 +17,7 @@ var optional = require('../../../utils/rules/optional/optional.js');
|
|
|
17
17
|
var pipe = require('../../../utils/rules/pipe/pipe.js');
|
|
18
18
|
|
|
19
19
|
const integer = () => {
|
|
20
|
-
const _a = jsx.useProps() || {}, { format = 'int32',
|
|
20
|
+
const _a = jsx.useProps() || {}, { default: defaultValue, example, examples, format = 'int32', max: max$1, min: min$1, values: values$1 } = _a, props = tslib.__rest(_a, ["default", "example", "examples", "format", "max", "min", "values"]);
|
|
21
21
|
const schema = useSchemaType.useSchemaType('integer', Object.assign(Object.assign({}, props), { default: defaultValue !== undefined ? Number(defaultValue) : undefined, example: example !== undefined ? Number(example) : undefined, examples: examples === null || examples === void 0 ? void 0 : examples.map(Number), values: values$1 === null || values$1 === void 0 ? void 0 : values$1.map(Number) }));
|
|
22
22
|
// @ts-expect-error: FIXME
|
|
23
23
|
schema.format = format;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type HandlerPlugin } from 'innet';
|
|
2
2
|
import { type ValuesSchemaProps } from '../../../types';
|
|
3
3
|
export interface NumberProps extends ValuesSchemaProps<number> {
|
|
4
|
-
/** Validate the number value by minimum. */
|
|
5
|
-
min?: number;
|
|
6
4
|
/** Validate the number value by maximum. */
|
|
7
5
|
max?: number;
|
|
6
|
+
/** Validate the number value by minimum. */
|
|
7
|
+
min?: number;
|
|
8
8
|
}
|
|
9
9
|
export declare const number: HandlerPlugin;
|
|
@@ -14,7 +14,7 @@ import { useRule } from '../../../hooks/useRule/useRule.es6.js';
|
|
|
14
14
|
import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
|
|
15
15
|
|
|
16
16
|
const number = () => {
|
|
17
|
-
const _a = useProps() || {}, {
|
|
17
|
+
const _a = useProps() || {}, { max: max$1, min: min$1 } = _a, props = __rest(_a, ["max", "min"]);
|
|
18
18
|
const schema = useSchemaType('number', props);
|
|
19
19
|
// @ts-expect-error: FIXME
|
|
20
20
|
schema.minimum = min$1;
|
|
@@ -18,7 +18,7 @@ var useRule = require('../../../hooks/useRule/useRule.js');
|
|
|
18
18
|
var pipe = require('../../../utils/rules/pipe/pipe.js');
|
|
19
19
|
|
|
20
20
|
const number = () => {
|
|
21
|
-
const _a = jsx.useProps() || {}, {
|
|
21
|
+
const _a = jsx.useProps() || {}, { max: max$1, min: min$1 } = _a, props = tslib.__rest(_a, ["max", "min"]);
|
|
22
22
|
const schema = useSchemaType.useSchemaType('number', props);
|
|
23
23
|
// @ts-expect-error: FIXME
|
|
24
24
|
schema.minimum = min$1;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
1
2
|
import innet, { useNewHandler } from 'innet';
|
|
2
|
-
import {
|
|
3
|
+
import { useProps } from '@innet/jsx';
|
|
4
|
+
import { callHandler } from '@innet/utils';
|
|
3
5
|
import '../../../hooks/index.es6.js';
|
|
4
6
|
import '../../../hooks/useParentRule/index.es6.js';
|
|
5
7
|
import '../../../utils/index.es6.js';
|
|
6
8
|
import { useBlock } from '../../../hooks/useBlock/useBlock.es6.js';
|
|
7
9
|
import { useApi } from '../../../hooks/useApi/useApi.es6.js';
|
|
8
10
|
import { useSchemaType } from '../../../hooks/useSchemaType/useSchemaType.es6.js';
|
|
11
|
+
import { objectSchemaContext } from '../../../hooks/useObjectSchemaContext/useObjectSchemaContext.es6.js';
|
|
9
12
|
import { schemaContext } from '../../../hooks/useSchemaContext/useSchemaContext.es6.js';
|
|
10
13
|
import { parentRuleContext, useParentRule } from '../../../hooks/useParentRule/useParentRule.es6.js';
|
|
11
14
|
import { defaultTo } from '../../../utils/rules/defaultTo/defaultTo.es6.js';
|
|
@@ -16,25 +19,28 @@ import { objectRuleContext } from '../../../hooks/useObjectRule/useObjectRule.es
|
|
|
16
19
|
|
|
17
20
|
const object = () => {
|
|
18
21
|
useBlock('path');
|
|
19
|
-
const children =
|
|
20
|
-
const props = useProps() || {};
|
|
22
|
+
const _a = useProps(), { children } = _a, props = __rest(_a, ["children"]);
|
|
21
23
|
const { refRules } = useApi();
|
|
22
24
|
const schema = useSchemaType('object', props);
|
|
23
25
|
const handler = useNewHandler();
|
|
24
26
|
if (schema) {
|
|
25
|
-
|
|
27
|
+
schema.additionalProperties = {};
|
|
28
|
+
objectSchemaContext.set(handler, schema);
|
|
29
|
+
schemaContext.set(handler, schema.additionalProperties);
|
|
26
30
|
parentRuleContext.reset(handler);
|
|
27
31
|
const rules = [];
|
|
28
32
|
const rulesMap = {};
|
|
29
33
|
if ((props === null || props === void 0 ? void 0 : props.default) !== undefined) {
|
|
30
34
|
rules.push(defaultTo(props.default));
|
|
31
35
|
}
|
|
36
|
+
let childRule = v => v;
|
|
37
|
+
const restRule = (value, data) => childRule(value, data);
|
|
32
38
|
if ((props === null || props === void 0 ? void 0 : props.default) !== undefined) {
|
|
33
|
-
rules.push(objectOf(rulesMap));
|
|
39
|
+
rules.push(objectOf(rulesMap, restRule));
|
|
34
40
|
}
|
|
35
41
|
else {
|
|
36
42
|
const parentRule = useParentRule();
|
|
37
|
-
rules.push(parentRule(objectOf(rulesMap)));
|
|
43
|
+
rules.push(parentRule(objectOf(rulesMap, restRule)));
|
|
38
44
|
}
|
|
39
45
|
const rule = pipe(...rules);
|
|
40
46
|
if (props.ref) {
|
|
@@ -42,9 +48,16 @@ const object = () => {
|
|
|
42
48
|
}
|
|
43
49
|
useRule(rule);
|
|
44
50
|
objectRuleContext.set(handler, rulesMap);
|
|
45
|
-
ruleContext.set(handler,
|
|
51
|
+
ruleContext.set(handler, rule => {
|
|
52
|
+
childRule = rule;
|
|
53
|
+
});
|
|
46
54
|
parentRuleContext.reset(handler);
|
|
47
55
|
innet(children, handler);
|
|
56
|
+
innet(() => {
|
|
57
|
+
if (!Object.keys(schema.additionalProperties).length) {
|
|
58
|
+
delete schema.additionalProperties;
|
|
59
|
+
}
|
|
60
|
+
}, callHandler);
|
|
48
61
|
}
|
|
49
62
|
else if (props.ref) {
|
|
50
63
|
useRule(refRules[props.ref]);
|