@innet/server 2.0.0-alpha.9 → 2.0.0-beta.10
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 +1771 -799
- package/handler/handler.d.ts +26 -18
- package/handler/handler.es6.js +17 -14
- package/handler/handler.js +16 -13
- package/hooks/index.d.ts +26 -20
- package/hooks/index.es6.js +26 -20
- package/hooks/index.js +26 -20
- 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/useEffect/index.d.ts +1 -0
- package/hooks/useEffect/index.es6.js +1 -0
- package/hooks/useEffect/index.js +9 -0
- package/hooks/useEffect/useEffect.d.ts +2 -0
- package/hooks/useEffect/useEffect.es6.js +8 -0
- package/hooks/useEffect/useEffect.js +12 -0
- 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/useHeaders/useHeaders.d.ts +0 -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 +2 -2
- package/hooks/useNewSchema/useNewSchema.js +2 -2
- 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 -5
- 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 -5
- 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 +16 -9
- package/hooks/useSchemaType/useSchemaType.js +16 -9
- package/hooks/useServer/useServer.d.ts +2 -3
- 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.d.ts +2 -2
- package/index.es6.js +91 -82
- package/index.js +208 -184
- package/package.json +16 -16
- package/plugins/handler/serverFn/serverFn.es6.js +2 -2
- package/plugins/handler/serverFn/serverFn.js +2 -6
- package/plugins/index.d.ts +2 -2
- package/plugins/index.es6.js +2 -2
- package/plugins/index.js +2 -2
- package/plugins/main/api/api.d.ts +11 -8
- package/plugins/main/api/api.es6.js +112 -113
- package/plugins/main/api/api.js +112 -117
- package/plugins/main/body/body.d.ts +1 -0
- package/plugins/main/body/body.es6.js +4 -4
- package/plugins/main/body/body.js +4 -8
- package/plugins/main/contact/contact.d.ts +2 -2
- package/plugins/main/endpoint/endpoint.d.ts +21 -15
- package/plugins/main/endpoint/endpoint.es6.js +12 -10
- package/plugins/main/endpoint/endpoint.js +11 -13
- package/plugins/main/host/host.d.ts +5 -5
- package/plugins/main/host/host.es6.js +4 -2
- package/plugins/main/host/host.js +4 -6
- package/plugins/main/index.d.ts +9 -9
- package/plugins/main/index.es6.js +9 -9
- package/plugins/main/index.js +9 -9
- 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 +7 -8
- package/plugins/main/param/param.js +6 -11
- 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/main/preset/preset.js +17 -0
- 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 +29 -13
- package/plugins/main/response/response.js +28 -15
- 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 -6
- package/plugins/main/server/server.es6.js +40 -16
- package/plugins/main/server/server.js +39 -16
- package/plugins/main/tag/index.es6.js +1 -1
- package/plugins/main/tag/index.js +1 -0
- package/plugins/main/tag/tag.d.ts +10 -2
- package/plugins/main/tag/tag.es6.js +25 -6
- package/plugins/main/tag/tag.js +24 -8
- package/plugins/main/variable/variable.d.ts +5 -5
- package/plugins/main/variable/variable.es6.js +4 -3
- package/plugins/main/variable/variable.js +4 -3
- package/plugins/request/cms/cms.d.ts +1 -0
- package/plugins/request/cms/cms.es6.js +4 -5
- package/plugins/request/cms/cms.js +3 -5
- package/plugins/request/cookie/cookie.d.ts +2 -2
- package/plugins/request/cookie/cookie.es6.js +1 -2
- package/plugins/request/cookie/cookie.js +1 -2
- package/plugins/request/error/error.d.ts +41 -40
- package/plugins/request/error/error.es6.js +47 -45
- package/plugins/request/error/error.js +46 -44
- package/plugins/request/file/file.d.ts +1 -0
- package/plugins/request/file/file.es6.js +5 -7
- package/plugins/request/file/file.js +3 -6
- package/plugins/request/header/header.es6.js +1 -1
- package/plugins/request/header/header.js +1 -1
- package/plugins/request/index.d.ts +5 -5
- package/plugins/request/index.es6.js +5 -5
- package/plugins/request/index.js +5 -5
- package/plugins/request/proxy/proxy.d.ts +3 -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 +4 -0
- package/plugins/schema/array/array.es6.js +15 -7
- package/plugins/schema/array/array.js +15 -11
- package/plugins/schema/binary/binary.d.ts +7 -3
- package/plugins/schema/boolean/boolean.d.ts +1 -0
- package/plugins/schema/date/date.d.ts +3 -2
- package/plugins/schema/date/date.es6.js +8 -4
- package/plugins/schema/date/date.js +8 -4
- package/plugins/schema/field/field.d.ts +6 -0
- package/plugins/schema/field/field.es6.js +22 -9
- package/plugins/schema/field/field.js +20 -11
- package/plugins/schema/index.d.ts +8 -7
- package/plugins/schema/index.es6.js +8 -7
- package/plugins/schema/index.js +8 -7
- package/plugins/schema/integer/integer.d.ts +40 -3
- package/plugins/schema/integer/integer.es6.js +29 -9
- package/plugins/schema/integer/integer.js +29 -9
- package/plugins/schema/number/number.d.ts +34 -2
- package/plugins/schema/number/number.es6.js +21 -6
- package/plugins/schema/number/number.js +21 -6
- package/plugins/schema/object/object.d.ts +1 -0
- package/plugins/schema/object/object.es6.js +22 -8
- package/plugins/schema/object/object.js +21 -11
- package/plugins/schema/string/string.d.ts +29 -2
- package/plugins/schema/string/string.es6.js +50 -31
- package/plugins/schema/string/string.js +50 -31
- package/plugins/schema/tuple/tuple.d.ts +1 -0
- package/plugins/schema/tuple/tuple.es6.js +8 -9
- package/plugins/schema/tuple/tuple.js +7 -12
- package/plugins/schema/uuid/uuid.es6.js +5 -3
- package/plugins/schema/uuid/uuid.js +5 -3
- 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 +6 -3
- package/plugins/utils/dts/dts.js +6 -3
- package/plugins/utils/env/env.d.ts +7 -0
- package/plugins/utils/env/env.es6.js +11 -0
- package/plugins/utils/env/env.js +15 -0
- 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 +5 -3
- package/plugins/utils/index.es6.js +5 -3
- package/plugins/utils/index.js +5 -3
- 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.d.ts +1 -0
- package/plugins/utils/swagger/swagger.es6.js +8 -5
- package/plugins/utils/swagger/swagger.js +8 -5
- package/plugins/utils/ui/index.d.ts +1 -0
- package/plugins/utils/ui/index.es6.js +1 -0
- package/plugins/utils/ui/index.js +10 -0
- package/plugins/utils/ui/rapidoc.html.es6.js +3 -0
- package/plugins/utils/ui/rapidoc.html.js +7 -0
- package/plugins/utils/ui/redoc.html.es6.js +3 -0
- package/plugins/utils/ui/redoc.html.js +7 -0
- package/plugins/utils/ui/scalar.html.es6.js +3 -0
- package/plugins/utils/ui/scalar.html.js +7 -0
- package/plugins/utils/ui/swagger.html.es6.js +3 -0
- package/plugins/utils/ui/swagger.html.js +7 -0
- package/plugins/utils/ui/ui.d.ts +13 -0
- package/plugins/utils/ui/ui.es6.js +45 -0
- package/plugins/utils/ui/ui.js +50 -0
- 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 +21 -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 +13 -14
- package/utils/action/Action.es6.js +92 -92
- package/utils/action/Action.js +91 -91
- 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/getSafeSchema/getSafeSchema.d.ts +2 -0
- package/utils/getSafeSchema/getSafeSchema.es6.js +5 -0
- package/utils/getSafeSchema/getSafeSchema.js +9 -0
- package/utils/getSafeSchema/index.d.ts +1 -0
- package/utils/getSafeSchema/index.es6.js +1 -0
- package/utils/getSafeSchema/index.js +9 -0
- 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/index.d.ts +9 -8
- package/utils/index.es6.js +9 -8
- package/utils/index.js +9 -8
- package/utils/parseBody/parseBody.d.ts +0 -1
- package/utils/parseBody/parseBody.es6.js +13 -16
- package/utils/parseBody/parseBody.js +13 -16
- package/utils/parseFormBody/parseFormBody.d.ts +0 -1
- package/utils/parseFormBody/parseFormBody.es6.js +41 -41
- package/utils/parseFormBody/parseFormBody.js +41 -41
- package/utils/parseSearch/parseSearch.es6.js +4 -1
- package/utils/parseSearch/parseSearch.js +4 -1
- package/utils/rules/arrayOf/arrayOf.es6.js +1 -1
- package/utils/rules/arrayOf/arrayOf.js +1 -1
- package/utils/rules/bin/bin.es6.js +4 -1
- package/utils/rules/bin/bin.js +4 -1
- package/utils/rules/binaryAccept/binaryAccept.es6.js +5 -2
- package/utils/rules/binaryAccept/binaryAccept.js +5 -2
- package/utils/rules/dateTo/dateTo.d.ts +1 -1
- package/utils/rules/dateTo/dateTo.es6.js +4 -1
- package/utils/rules/dateTo/dateTo.js +4 -1
- package/utils/rules/helpers.d.ts +1 -1
- package/utils/rules/helpers.es6.js +4 -1
- package/utils/rules/helpers.js +4 -1
- package/utils/rules/index.d.ts +17 -18
- package/utils/rules/index.es6.js +17 -18
- package/utils/rules/index.js +18 -19
- package/utils/rules/int/int.es6.js +17 -4
- package/utils/rules/int/int.js +17 -4
- package/utils/rules/max/max.d.ts +1 -1
- package/utils/rules/max/max.es6.js +10 -4
- package/utils/rules/max/max.js +10 -4
- package/utils/rules/maxBin/maxBin.es6.js +5 -2
- package/utils/rules/maxBin/maxBin.js +5 -2
- package/utils/rules/maxDate/maxDate.es6.js +5 -1
- package/utils/rules/maxDate/maxDate.js +5 -1
- package/utils/rules/maxLength/maxLength.es6.js +5 -2
- package/utils/rules/maxLength/maxLength.js +5 -2
- package/utils/rules/min/min.d.ts +1 -1
- package/utils/rules/min/min.es6.js +10 -4
- package/utils/rules/min/min.js +10 -4
- package/utils/rules/minBin/minBin.es6.js +5 -2
- package/utils/rules/minBin/minBin.js +5 -2
- package/utils/rules/minDate/minDate.es6.js +5 -1
- package/utils/rules/minDate/minDate.js +5 -1
- package/utils/rules/minLength/minLength.es6.js +5 -2
- package/utils/rules/minLength/minLength.js +5 -2
- package/utils/rules/num/num.es6.js +4 -1
- package/utils/rules/num/num.js +4 -1
- package/utils/rules/objectOf/objectOf.d.ts +1 -1
- package/utils/rules/objectOf/objectOf.es6.js +16 -3
- package/utils/rules/objectOf/objectOf.js +16 -3
- package/utils/rules/pattern/pattern.d.ts +1 -1
- package/utils/rules/pattern/pattern.es6.js +6 -1
- package/utils/rules/pattern/pattern.js +6 -1
- package/utils/rules/tupleOf/tupleOf.es6.js +1 -1
- package/utils/rules/tupleOf/tupleOf.js +1 -1
- package/utils/rules/values/values.es6.js +5 -2
- package/utils/rules/values/values.js +5 -2
- package/utils/stringifySearch/stringifySearch.es6.js +4 -1
- package/utils/stringifySearch/stringifySearch.js +4 -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/dev.js +0 -18
- 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/plugins/utils/prod/prod.js +0 -18
- 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
|
@@ -1,37 +1,53 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useProps,
|
|
1
|
+
import { useNewHandler, innet } from 'innet';
|
|
2
|
+
import { useProps, useContext } from '@innet/jsx';
|
|
3
3
|
import '../../../hooks/index.es6.js';
|
|
4
4
|
import '../../../utils/index.es6.js';
|
|
5
|
+
import '../../request/index.es6.js';
|
|
6
|
+
import { errorStatuses } from '../../request/error/error.es6.js';
|
|
7
|
+
import { redirectStatuses } from '../../request/redirect/redirect.es6.js';
|
|
8
|
+
import { successStatuses } from '../../request/success/success.es6.js';
|
|
5
9
|
import { useEndpoint, endpointContext } from '../../../hooks/useEndpoint/useEndpoint.es6.js';
|
|
6
10
|
import { useThrow } from '../../../hooks/useThrow/useThrow.es6.js';
|
|
7
11
|
import { schemaContext } from '../../../hooks/useSchemaContext/useSchemaContext.es6.js';
|
|
8
12
|
import { getOrAdd } from '../../../utils/getOrAdd/getOrAdd.es6.js';
|
|
9
13
|
import { ruleContext } from '../../../hooks/useRule/useRule.es6.js';
|
|
10
14
|
|
|
15
|
+
const statuses = {
|
|
16
|
+
...errorStatuses,
|
|
17
|
+
...redirectStatuses,
|
|
18
|
+
...successStatuses,
|
|
19
|
+
};
|
|
11
20
|
const response = () => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const
|
|
21
|
+
var _a;
|
|
22
|
+
let { children, description = '', status = 'default', type = 'application/json', } = useProps() || {};
|
|
23
|
+
const { operation, props: { path }, } = useEndpoint();
|
|
15
24
|
const handler = useNewHandler();
|
|
16
25
|
const endpoint = useContext(endpointContext);
|
|
26
|
+
if (status in statuses) {
|
|
27
|
+
status = statuses[status];
|
|
28
|
+
}
|
|
17
29
|
if (!endpoint) {
|
|
18
30
|
useThrow('<{type}> MUST be placed in <endpoint> element');
|
|
19
31
|
}
|
|
20
32
|
if (!operation.responses) {
|
|
21
33
|
operation.responses = {};
|
|
22
34
|
}
|
|
23
|
-
|
|
24
|
-
|
|
35
|
+
const defaultResponse = operation.responses[status];
|
|
36
|
+
if ((_a = defaultResponse === null || defaultResponse === void 0 ? void 0 : defaultResponse.content) === null || _a === void 0 ? void 0 : _a[type]) {
|
|
37
|
+
throw Error(`status ${status} and type ${type} for '${path}' already used`);
|
|
25
38
|
}
|
|
26
|
-
const schema = {};
|
|
39
|
+
const schema = status === 204 || !children ? undefined : {};
|
|
27
40
|
const response = {
|
|
28
41
|
description,
|
|
29
|
-
|
|
30
|
-
|
|
42
|
+
};
|
|
43
|
+
if (schema) {
|
|
44
|
+
response.content = {
|
|
45
|
+
...defaultResponse === null || defaultResponse === void 0 ? void 0 : defaultResponse.content,
|
|
46
|
+
[type]: {
|
|
31
47
|
schema,
|
|
32
48
|
},
|
|
33
|
-
}
|
|
34
|
-
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
35
51
|
operation.responses[status] = response;
|
|
36
52
|
schemaContext.set(handler, schema);
|
|
37
53
|
const rules = getOrAdd(endpoint, 'endpoint.rules', [{}, {}]);
|
|
@@ -41,4 +57,4 @@ const response = () => {
|
|
|
41
57
|
innet(children, handler);
|
|
42
58
|
};
|
|
43
59
|
|
|
44
|
-
export { response };
|
|
60
|
+
export { response, statuses };
|
|
@@ -6,47 +6,60 @@ var innet = require('innet');
|
|
|
6
6
|
var jsx = require('@innet/jsx');
|
|
7
7
|
require('../../../hooks/index.js');
|
|
8
8
|
require('../../../utils/index.js');
|
|
9
|
+
require('../../request/index.js');
|
|
10
|
+
var error = require('../../request/error/error.js');
|
|
11
|
+
var redirect = require('../../request/redirect/redirect.js');
|
|
12
|
+
var success = require('../../request/success/success.js');
|
|
9
13
|
var useEndpoint = require('../../../hooks/useEndpoint/useEndpoint.js');
|
|
10
14
|
var useThrow = require('../../../hooks/useThrow/useThrow.js');
|
|
11
15
|
var useSchemaContext = require('../../../hooks/useSchemaContext/useSchemaContext.js');
|
|
12
16
|
var getOrAdd = require('../../../utils/getOrAdd/getOrAdd.js');
|
|
13
17
|
var useRule = require('../../../hooks/useRule/useRule.js');
|
|
14
18
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
const statuses = {
|
|
20
|
+
...error.errorStatuses,
|
|
21
|
+
...redirect.redirectStatuses,
|
|
22
|
+
...success.successStatuses,
|
|
23
|
+
};
|
|
19
24
|
const response = () => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
25
|
+
var _a;
|
|
26
|
+
let { children, description = '', status = 'default', type = 'application/json', } = jsx.useProps() || {};
|
|
27
|
+
const { operation, props: { path }, } = useEndpoint.useEndpoint();
|
|
23
28
|
const handler = innet.useNewHandler();
|
|
24
29
|
const endpoint = jsx.useContext(useEndpoint.endpointContext);
|
|
30
|
+
if (status in statuses) {
|
|
31
|
+
status = statuses[status];
|
|
32
|
+
}
|
|
25
33
|
if (!endpoint) {
|
|
26
34
|
useThrow.useThrow('<{type}> MUST be placed in <endpoint> element');
|
|
27
35
|
}
|
|
28
36
|
if (!operation.responses) {
|
|
29
37
|
operation.responses = {};
|
|
30
38
|
}
|
|
31
|
-
|
|
32
|
-
|
|
39
|
+
const defaultResponse = operation.responses[status];
|
|
40
|
+
if ((_a = defaultResponse === null || defaultResponse === void 0 ? void 0 : defaultResponse.content) === null || _a === void 0 ? void 0 : _a[type]) {
|
|
41
|
+
throw Error(`status ${status} and type ${type} for '${path}' already used`);
|
|
33
42
|
}
|
|
34
|
-
const schema = {};
|
|
43
|
+
const schema = status === 204 || !children ? undefined : {};
|
|
35
44
|
const response = {
|
|
36
45
|
description,
|
|
37
|
-
|
|
38
|
-
|
|
46
|
+
};
|
|
47
|
+
if (schema) {
|
|
48
|
+
response.content = {
|
|
49
|
+
...defaultResponse === null || defaultResponse === void 0 ? void 0 : defaultResponse.content,
|
|
50
|
+
[type]: {
|
|
39
51
|
schema,
|
|
40
52
|
},
|
|
41
|
-
}
|
|
42
|
-
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
43
55
|
operation.responses[status] = response;
|
|
44
56
|
useSchemaContext.schemaContext.set(handler, schema);
|
|
45
57
|
const rules = getOrAdd.getOrAdd(endpoint, 'endpoint.rules', [{}, {}]);
|
|
46
58
|
useRule.ruleContext.set(handler, rule => {
|
|
47
59
|
rules.response = rule;
|
|
48
60
|
});
|
|
49
|
-
|
|
61
|
+
innet.innet(children, handler);
|
|
50
62
|
};
|
|
51
63
|
|
|
52
64
|
exports.response = response;
|
|
65
|
+
exports.statuses = statuses;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './return';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { returnPlugin } from './return.es6.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useChildren } from '@innet/jsx';
|
|
2
|
+
import '../../../hooks/index.es6.js';
|
|
3
|
+
import { useServerPlugin } from '../../../hooks/useServerPlugin/useServerPlugin.es6.js';
|
|
4
|
+
|
|
5
|
+
const returnPlugin = () => {
|
|
6
|
+
const children = useChildren();
|
|
7
|
+
useServerPlugin(() => children);
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { returnPlugin };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsx = require('@innet/jsx');
|
|
6
|
+
require('../../../hooks/index.js');
|
|
7
|
+
var useServerPlugin = require('../../../hooks/useServerPlugin/useServerPlugin.js');
|
|
8
|
+
|
|
9
|
+
const returnPlugin = () => {
|
|
10
|
+
const children = jsx.useChildren();
|
|
11
|
+
useServerPlugin.useServerPlugin(() => children);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
exports.returnPlugin = returnPlugin;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { type HandlerPlugin } from 'innet';
|
|
3
|
-
import { type ServerResponse } from 'http';
|
|
2
|
+
import { type IncomingMessage, type ServerResponse } from 'http';
|
|
4
3
|
import { type ServerStartParams, type SSL } from '../../../types';
|
|
5
4
|
export interface ServerProps {
|
|
5
|
+
children?: any;
|
|
6
|
+
onClose?: () => any;
|
|
7
|
+
onError?: (e: Error) => any;
|
|
8
|
+
onRequest?: (req: IncomingMessage, res: ServerResponse) => any;
|
|
9
|
+
onStart?: (params: ServerStartParams) => any;
|
|
6
10
|
port?: number;
|
|
7
11
|
ssl?: SSL;
|
|
8
|
-
onStart?: (params: ServerStartParams) => any;
|
|
9
|
-
onRequest?: (req: Request, res: ServerResponse) => any;
|
|
10
|
-
onError?: (e: Error) => any;
|
|
11
|
-
onDestroy?: () => any;
|
|
12
12
|
}
|
|
13
13
|
export declare const server: HandlerPlugin;
|
|
@@ -1,24 +1,30 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useNewHandler, innet } from 'innet';
|
|
2
|
+
import { useProps } from '@innet/jsx';
|
|
2
3
|
import fs from 'node:fs';
|
|
3
4
|
import http from 'node:http';
|
|
4
5
|
import http2 from 'node:https';
|
|
5
6
|
import { onDestroy } from 'watch-state';
|
|
6
7
|
import '../../../hooks/index.es6.js';
|
|
8
|
+
import '../../../utils/index.es6.js';
|
|
7
9
|
import { serverContext } from '../../../hooks/useServer/useServer.es6.js';
|
|
10
|
+
import { serverPlugins } from '../../../hooks/useServerPlugins/useServerPlugins.es6.js';
|
|
11
|
+
import { serverPortContext } from '../../../hooks/useServerPort/useServerPort.es6.js';
|
|
12
|
+
import { serverHttpsContext } from '../../../hooks/useIsServerHttps/useIsServerHttps.es6.js';
|
|
13
|
+
import { Action } from '../../../utils/action/Action.es6.js';
|
|
14
|
+
import { actionContext } from '../../../hooks/useAction/useAction.es6.js';
|
|
15
|
+
import { requestHandlerContext } from '../../../hooks/useRequestHandler/useRequestHandler.es6.js';
|
|
8
16
|
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
10
|
-
const isInvalidPath = require('is-invalid-path');
|
|
11
17
|
const server = () => {
|
|
12
18
|
var _a, _b, _c;
|
|
13
19
|
const handler = useNewHandler();
|
|
14
|
-
const
|
|
20
|
+
const props = useProps();
|
|
15
21
|
const { env } = process;
|
|
16
|
-
let { ssl: {
|
|
22
|
+
let { ssl: { cert = (_a = env.INNET_SSL_CRT) !== null && _a !== void 0 ? _a : 'localhost.crt', key = (_b = env.INNET_SSL_KEY) !== null && _b !== void 0 ? _b : 'localhost.key', } = {}, } = props;
|
|
17
23
|
try {
|
|
18
|
-
if (!
|
|
24
|
+
if (!key.startsWith('-----BEGIN PRIVATE KEY-----')) {
|
|
19
25
|
key = fs.readFileSync(key).toString();
|
|
20
26
|
}
|
|
21
|
-
if (!
|
|
27
|
+
if (!cert.startsWith('-----BEGIN CERTIFICATE-----')) {
|
|
22
28
|
cert = fs.readFileSync(cert).toString();
|
|
23
29
|
}
|
|
24
30
|
}
|
|
@@ -27,23 +33,41 @@ const server = () => {
|
|
|
27
33
|
cert = '';
|
|
28
34
|
}
|
|
29
35
|
const https = Boolean(key && cert);
|
|
30
|
-
const { port = Number((_c = env.
|
|
31
|
-
const
|
|
32
|
-
|
|
36
|
+
const { onClose, onError, onRequest, onStart, port = Number((_c = env.INNET_PORT) !== null && _c !== void 0 ? _c : (https ? 443 : 80)), } = props;
|
|
37
|
+
const plugins = new Set();
|
|
38
|
+
const server = https ? http2.createServer({ cert, key }) : http.createServer();
|
|
39
|
+
serverContext.set(handler, { port, server });
|
|
40
|
+
serverPlugins.set(handler, plugins);
|
|
41
|
+
serverPortContext.set(handler, port);
|
|
42
|
+
serverHttpsContext.set(handler, https);
|
|
33
43
|
onDestroy(() => {
|
|
34
|
-
var _a;
|
|
35
|
-
(_a = props.onDestroy) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
36
44
|
server.close();
|
|
37
45
|
});
|
|
38
46
|
if (onError) {
|
|
39
47
|
server.on('error', onError);
|
|
40
48
|
}
|
|
41
|
-
if (
|
|
42
|
-
server.
|
|
49
|
+
if (onClose) {
|
|
50
|
+
server.addListener('close', onClose);
|
|
43
51
|
}
|
|
44
|
-
|
|
52
|
+
server.on('request', (req, res) => {
|
|
53
|
+
onRequest === null || onRequest === void 0 ? void 0 : onRequest(req, res);
|
|
54
|
+
const action = new Action(req, res);
|
|
55
|
+
const requestHandler = Object.create(handler);
|
|
56
|
+
actionContext.set(requestHandler, action);
|
|
57
|
+
requestHandlerContext.set(requestHandler, requestHandler);
|
|
58
|
+
async function server() {
|
|
59
|
+
for (const plugin of plugins) {
|
|
60
|
+
const result = await plugin();
|
|
61
|
+
if (result !== undefined) {
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
innet({ props, type: server }, requestHandler);
|
|
67
|
+
});
|
|
68
|
+
innet(props.children, handler);
|
|
45
69
|
server.listen(port, () => {
|
|
46
|
-
onStart === null || onStart === void 0 ? void 0 : onStart({
|
|
70
|
+
onStart === null || onStart === void 0 ? void 0 : onStart({ https, port });
|
|
47
71
|
});
|
|
48
72
|
};
|
|
49
73
|
|
|
@@ -3,33 +3,38 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var innet = require('innet');
|
|
6
|
+
var jsx = require('@innet/jsx');
|
|
6
7
|
var fs = require('node:fs');
|
|
7
8
|
var http = require('node:http');
|
|
8
9
|
var http2 = require('node:https');
|
|
9
10
|
var watchState = require('watch-state');
|
|
10
11
|
require('../../../hooks/index.js');
|
|
12
|
+
require('../../../utils/index.js');
|
|
11
13
|
var useServer = require('../../../hooks/useServer/useServer.js');
|
|
14
|
+
var useServerPlugins = require('../../../hooks/useServerPlugins/useServerPlugins.js');
|
|
15
|
+
var useServerPort = require('../../../hooks/useServerPort/useServerPort.js');
|
|
16
|
+
var useIsServerHttps = require('../../../hooks/useIsServerHttps/useIsServerHttps.js');
|
|
17
|
+
var Action = require('../../../utils/action/Action.js');
|
|
18
|
+
var useAction = require('../../../hooks/useAction/useAction.js');
|
|
19
|
+
var useRequestHandler = require('../../../hooks/useRequestHandler/useRequestHandler.js');
|
|
12
20
|
|
|
13
21
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
22
|
|
|
15
|
-
var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
|
|
16
23
|
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
|
|
17
24
|
var http__default = /*#__PURE__*/_interopDefaultLegacy(http);
|
|
18
25
|
var http2__default = /*#__PURE__*/_interopDefaultLegacy(http2);
|
|
19
26
|
|
|
20
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
21
|
-
const isInvalidPath = require('is-invalid-path');
|
|
22
27
|
const server = () => {
|
|
23
28
|
var _a, _b, _c;
|
|
24
29
|
const handler = innet.useNewHandler();
|
|
25
|
-
const
|
|
30
|
+
const props = jsx.useProps();
|
|
26
31
|
const { env } = process;
|
|
27
|
-
let { ssl: {
|
|
32
|
+
let { ssl: { cert = (_a = env.INNET_SSL_CRT) !== null && _a !== void 0 ? _a : 'localhost.crt', key = (_b = env.INNET_SSL_KEY) !== null && _b !== void 0 ? _b : 'localhost.key', } = {}, } = props;
|
|
28
33
|
try {
|
|
29
|
-
if (!
|
|
34
|
+
if (!key.startsWith('-----BEGIN PRIVATE KEY-----')) {
|
|
30
35
|
key = fs__default["default"].readFileSync(key).toString();
|
|
31
36
|
}
|
|
32
|
-
if (!
|
|
37
|
+
if (!cert.startsWith('-----BEGIN CERTIFICATE-----')) {
|
|
33
38
|
cert = fs__default["default"].readFileSync(cert).toString();
|
|
34
39
|
}
|
|
35
40
|
}
|
|
@@ -38,23 +43,41 @@ const server = () => {
|
|
|
38
43
|
cert = '';
|
|
39
44
|
}
|
|
40
45
|
const https = Boolean(key && cert);
|
|
41
|
-
const { port = Number((_c = env.
|
|
42
|
-
const
|
|
43
|
-
|
|
46
|
+
const { onClose, onError, onRequest, onStart, port = Number((_c = env.INNET_PORT) !== null && _c !== void 0 ? _c : (https ? 443 : 80)), } = props;
|
|
47
|
+
const plugins = new Set();
|
|
48
|
+
const server = https ? http2__default["default"].createServer({ cert, key }) : http__default["default"].createServer();
|
|
49
|
+
useServer.serverContext.set(handler, { port, server });
|
|
50
|
+
useServerPlugins.serverPlugins.set(handler, plugins);
|
|
51
|
+
useServerPort.serverPortContext.set(handler, port);
|
|
52
|
+
useIsServerHttps.serverHttpsContext.set(handler, https);
|
|
44
53
|
watchState.onDestroy(() => {
|
|
45
|
-
var _a;
|
|
46
|
-
(_a = props.onDestroy) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
47
54
|
server.close();
|
|
48
55
|
});
|
|
49
56
|
if (onError) {
|
|
50
57
|
server.on('error', onError);
|
|
51
58
|
}
|
|
52
|
-
if (
|
|
53
|
-
server.
|
|
59
|
+
if (onClose) {
|
|
60
|
+
server.addListener('close', onClose);
|
|
54
61
|
}
|
|
55
|
-
|
|
62
|
+
server.on('request', (req, res) => {
|
|
63
|
+
onRequest === null || onRequest === void 0 ? void 0 : onRequest(req, res);
|
|
64
|
+
const action = new Action.Action(req, res);
|
|
65
|
+
const requestHandler = Object.create(handler);
|
|
66
|
+
useAction.actionContext.set(requestHandler, action);
|
|
67
|
+
useRequestHandler.requestHandlerContext.set(requestHandler, requestHandler);
|
|
68
|
+
async function server() {
|
|
69
|
+
for (const plugin of plugins) {
|
|
70
|
+
const result = await plugin();
|
|
71
|
+
if (result !== undefined) {
|
|
72
|
+
return result;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
innet.innet({ props, type: server }, requestHandler);
|
|
77
|
+
});
|
|
78
|
+
innet.innet(props.children, handler);
|
|
56
79
|
server.listen(port, () => {
|
|
57
|
-
onStart === null || onStart === void 0 ? void 0 : onStart({
|
|
80
|
+
onStart === null || onStart === void 0 ? void 0 : onStart({ https, port });
|
|
58
81
|
});
|
|
59
82
|
};
|
|
60
83
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { tag } from './tag.es6.js';
|
|
1
|
+
export { TAG_GROUP_NAME, tag } from './tag.es6.js';
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import { type HandlerPlugin } from 'innet';
|
|
2
|
-
export interface
|
|
3
|
-
/** The name of the tag. */
|
|
2
|
+
export interface TagGroup {
|
|
4
3
|
name: string;
|
|
4
|
+
tags: string[];
|
|
5
|
+
}
|
|
6
|
+
export declare const TAG_GROUP_NAME = "x-tagGroups";
|
|
7
|
+
export interface TagProps {
|
|
8
|
+
children?: any;
|
|
5
9
|
/**
|
|
6
10
|
* A description for the tag.
|
|
7
11
|
* [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
|
|
8
12
|
* */
|
|
9
13
|
description?: string;
|
|
14
|
+
/** A name of the tag group. */
|
|
15
|
+
group?: string;
|
|
16
|
+
/** A name of the tag. */
|
|
17
|
+
name: string;
|
|
10
18
|
}
|
|
11
19
|
export declare const tag: HandlerPlugin;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useContext, useProps
|
|
1
|
+
import { useNewHandler, innet } from 'innet';
|
|
2
|
+
import { useContext, useProps } from '@innet/jsx';
|
|
3
3
|
import '../../../hooks/index.es6.js';
|
|
4
4
|
import { tagContext } from '../../../hooks/useTag/useTag.es6.js';
|
|
5
5
|
import { useApi } from '../../../hooks/useApi/useApi.es6.js';
|
|
6
6
|
|
|
7
|
+
const TAG_GROUP_NAME = 'x-tagGroups';
|
|
7
8
|
const tag = () => {
|
|
8
9
|
if (useContext(tagContext)) {
|
|
9
10
|
throw Error('You cannot use a <tag> inside another one');
|
|
10
11
|
}
|
|
11
|
-
const {
|
|
12
|
-
const children = useChildren();
|
|
12
|
+
const { children, description, group, name, } = useProps();
|
|
13
13
|
const { docs } = useApi();
|
|
14
|
-
const tag =
|
|
14
|
+
const tag = { name };
|
|
15
|
+
if (description) {
|
|
16
|
+
tag.description = description;
|
|
17
|
+
}
|
|
15
18
|
if (!docs.tags) {
|
|
16
19
|
docs.tags = [tag];
|
|
17
20
|
}
|
|
@@ -21,9 +24,25 @@ const tag = () => {
|
|
|
21
24
|
else {
|
|
22
25
|
throw Error(`You cannot use two tags with the same name (${name})`);
|
|
23
26
|
}
|
|
27
|
+
if (group) {
|
|
28
|
+
if (docs[TAG_GROUP_NAME]) {
|
|
29
|
+
const groups = docs[TAG_GROUP_NAME];
|
|
30
|
+
const tagGroup = groups.find(({ name }) => name === group);
|
|
31
|
+
if (tagGroup) {
|
|
32
|
+
tagGroup.tags.push(name);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
groups.push({ name: group, tags: [name] });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
// @ts-expect-error Custom field
|
|
40
|
+
docs[TAG_GROUP_NAME] = [{ name: group, tags: [name] }];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
24
43
|
const handler = useNewHandler();
|
|
25
44
|
handler[tagContext.key] = tag;
|
|
26
45
|
innet(children, handler);
|
|
27
46
|
};
|
|
28
47
|
|
|
29
|
-
export { tag };
|
|
48
|
+
export { TAG_GROUP_NAME, tag };
|
package/plugins/main/tag/tag.js
CHANGED
|
@@ -8,18 +8,17 @@ require('../../../hooks/index.js');
|
|
|
8
8
|
var useTag = require('../../../hooks/useTag/useTag.js');
|
|
9
9
|
var useApi = require('../../../hooks/useApi/useApi.js');
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var innet__default = /*#__PURE__*/_interopDefaultLegacy(innet);
|
|
14
|
-
|
|
11
|
+
const TAG_GROUP_NAME = 'x-tagGroups';
|
|
15
12
|
const tag = () => {
|
|
16
13
|
if (jsx.useContext(useTag.tagContext)) {
|
|
17
14
|
throw Error('You cannot use a <tag> inside another one');
|
|
18
15
|
}
|
|
19
|
-
const {
|
|
20
|
-
const children = jsx.useChildren();
|
|
16
|
+
const { children, description, group, name, } = jsx.useProps();
|
|
21
17
|
const { docs } = useApi.useApi();
|
|
22
|
-
const tag =
|
|
18
|
+
const tag = { name };
|
|
19
|
+
if (description) {
|
|
20
|
+
tag.description = description;
|
|
21
|
+
}
|
|
23
22
|
if (!docs.tags) {
|
|
24
23
|
docs.tags = [tag];
|
|
25
24
|
}
|
|
@@ -29,9 +28,26 @@ const tag = () => {
|
|
|
29
28
|
else {
|
|
30
29
|
throw Error(`You cannot use two tags with the same name (${name})`);
|
|
31
30
|
}
|
|
31
|
+
if (group) {
|
|
32
|
+
if (docs[TAG_GROUP_NAME]) {
|
|
33
|
+
const groups = docs[TAG_GROUP_NAME];
|
|
34
|
+
const tagGroup = groups.find(({ name }) => name === group);
|
|
35
|
+
if (tagGroup) {
|
|
36
|
+
tagGroup.tags.push(name);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
groups.push({ name: group, tags: [name] });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// @ts-expect-error Custom field
|
|
44
|
+
docs[TAG_GROUP_NAME] = [{ name: group, tags: [name] }];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
32
47
|
const handler = innet.useNewHandler();
|
|
33
48
|
handler[useTag.tagContext.key] = tag;
|
|
34
|
-
|
|
49
|
+
innet.innet(children, handler);
|
|
35
50
|
};
|
|
36
51
|
|
|
52
|
+
exports.TAG_GROUP_NAME = TAG_GROUP_NAME;
|
|
37
53
|
exports.tag = tag;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { type HandlerPlugin } from 'innet';
|
|
2
2
|
export interface VariableProps {
|
|
3
|
+
/**
|
|
4
|
+
* An optional description for the server variable.
|
|
5
|
+
* [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
|
|
6
|
+
* */
|
|
7
|
+
description?: string;
|
|
3
8
|
/**
|
|
4
9
|
* A server url parameter
|
|
5
10
|
* */
|
|
@@ -15,10 +20,5 @@ export interface VariableProps {
|
|
|
15
20
|
* The array MUST NOT be empty.
|
|
16
21
|
* */
|
|
17
22
|
values?: [string, string, ...string[]];
|
|
18
|
-
/**
|
|
19
|
-
* An optional description for the server variable.
|
|
20
|
-
* [CommonMark syntax](https://spec.commonmark.org) MAY be used for rich text representation.
|
|
21
|
-
* */
|
|
22
|
-
description?: string;
|
|
23
23
|
}
|
|
24
24
|
export declare const variable: HandlerPlugin;
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { __rest } from 'tslib';
|
|
2
1
|
import { useProps } from '@innet/jsx';
|
|
3
2
|
import '../../../hooks/index.es6.js';
|
|
4
3
|
import { useHost } from '../../../hooks/useHost/useHost.es6.js';
|
|
5
4
|
|
|
6
5
|
const variable = () => {
|
|
7
6
|
const { server } = useHost();
|
|
8
|
-
const
|
|
7
|
+
const { key, values,
|
|
8
|
+
// predefine
|
|
9
|
+
value = values === null || values === void 0 ? void 0 : values[0], ...rest } = useProps();
|
|
9
10
|
if (!server.variables) {
|
|
10
11
|
server.variables = {};
|
|
11
12
|
}
|
|
12
13
|
// @ts-expect-error: FIXME
|
|
13
|
-
server.variables[key] =
|
|
14
|
+
server.variables[key] = { ...rest, default: value, enum: values };
|
|
14
15
|
};
|
|
15
16
|
|
|
16
17
|
export { variable };
|
|
@@ -2,19 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib = require('tslib');
|
|
6
5
|
var jsx = require('@innet/jsx');
|
|
7
6
|
require('../../../hooks/index.js');
|
|
8
7
|
var useHost = require('../../../hooks/useHost/useHost.js');
|
|
9
8
|
|
|
10
9
|
const variable = () => {
|
|
11
10
|
const { server } = useHost.useHost();
|
|
12
|
-
const
|
|
11
|
+
const { key, values,
|
|
12
|
+
// predefine
|
|
13
|
+
value = values === null || values === void 0 ? void 0 : values[0], ...rest } = jsx.useProps();
|
|
13
14
|
if (!server.variables) {
|
|
14
15
|
server.variables = {};
|
|
15
16
|
}
|
|
16
17
|
// @ts-expect-error: FIXME
|
|
17
|
-
server.variables[key] =
|
|
18
|
+
server.variables[key] = { ...rest, default: value, enum: values };
|
|
18
19
|
};
|
|
19
20
|
|
|
20
21
|
exports.variable = variable;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useProps
|
|
1
|
+
import { useHandler, innet } from 'innet';
|
|
2
|
+
import { useProps } from '@innet/jsx';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import '../file/index.es6.js';
|
|
5
5
|
import '../../../hooks/index.es6.js';
|
|
@@ -7,8 +7,7 @@ import { usePath } from '../../../hooks/usePath/usePath.es6.js';
|
|
|
7
7
|
import { file } from '../file/file.es6.js';
|
|
8
8
|
|
|
9
9
|
function cms() {
|
|
10
|
-
const {
|
|
11
|
-
const children = useChildren();
|
|
10
|
+
const { children, dir = process.env.INNET_CMS_DIR || '.', prefix = process.env.INNET_CMS_PREFIX || '/', } = useProps();
|
|
12
11
|
const handler = useHandler();
|
|
13
12
|
let url = usePath();
|
|
14
13
|
if (url.startsWith(prefix)) {
|
|
@@ -18,7 +17,7 @@ function cms() {
|
|
|
18
17
|
return innet(children, handler);
|
|
19
18
|
}
|
|
20
19
|
const filePath = path.join(dir, url);
|
|
21
|
-
innet({
|
|
20
|
+
innet({ children, props: { path: filePath }, type: file }, handler);
|
|
22
21
|
}
|
|
23
22
|
|
|
24
23
|
export { cms };
|