@redocly/openapi-docs 3.24.1 → 3.25.0-next.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/dist/{redocly-openapi-docs.min.AiChatProvider-j-VDfFJ9.js → redocly-openapi-docs.min.AiChatProvider-CDMc3dS6.js} +1 -1
- package/dist/{redocly-openapi-docs.min.AiChatSqliteDBStorage-BBRBmffc.js → redocly-openapi-docs.min.AiChatSqliteDBStorage-BopXqcPv.js} +1 -1
- package/dist/{redocly-openapi-docs.min.AiPanel-DTzHqAiI.js → redocly-openapi-docs.min.AiPanel-DkXOeLs5.js} +1 -1
- package/dist/redocly-openapi-docs.min.FileWatcher-DMjNW66W.js +1 -0
- package/dist/{redocly-openapi-docs.min.SemanticSearchService-DNFOPBZK.js → redocly-openapi-docs.min.SemanticSearchService-DbpnWseN.js} +1 -1
- package/dist/{redocly-openapi-docs.min.SqliteDBStorage-Dy40Vq04.js → redocly-openapi-docs.min.SqliteDBStorage-ak3Zqgtw.js} +1 -1
- package/dist/{redocly-openapi-docs.min.TauriFileSystemAdapter-CpViFqJQ.js → redocly-openapi-docs.min.TauriFileSystemAdapter-Dl2fY3am.js} +1 -1
- package/dist/{redocly-openapi-docs.min.TauriRootStorage-TCUrp2uB.js → redocly-openapi-docs.min.TauriRootStorage-m4plsfqx.js} +1 -1
- package/dist/{redocly-openapi-docs.min.ai-chat-mappers-CmX-8902.js → redocly-openapi-docs.min.ai-chat-mappers-Dg8U8w8r.js} +1 -1
- package/dist/{redocly-openapi-docs.min.external-resolver-BkceRyB4.js → redocly-openapi-docs.min.external-resolver-Db7hewsm.js} +1 -1
- package/dist/{redocly-openapi-docs.min.index-BCcol5vU.js → redocly-openapi-docs.min.index-B5-R6EGY.js} +1 -1
- package/dist/{redocly-openapi-docs.min.index-CmXZfuiZ.js → redocly-openapi-docs.min.index-D9U4Tk7n.js} +1320 -1213
- package/dist/{redocly-openapi-docs.min.index-DVWw0ICA.js → redocly-openapi-docs.min.index-DeHk4n2z.js} +1 -1
- package/dist/{redocly-openapi-docs.min.index-C6uU_v-b.js → redocly-openapi-docs.min.index-EVRmC_IQ.js} +1 -1
- package/dist/redocly-openapi-docs.min.js +1 -1
- package/dist/{redocly-openapi-docs.min.lint-2YpbCz3r.js → redocly-openapi-docs.min.lint-PvmGrAK3.js} +2 -2
- package/dist/{redocly-openapi-docs.min.lint-graphql-Bgfcu2tP.js → redocly-openapi-docs.min.lint-graphql-CMMhYVr_.js} +1 -1
- package/dist/{redocly-openapi-docs.min.respect-run-Ct8taisL.js → redocly-openapi-docs.min.respect-run-DgsYdmxw.js} +1 -1
- package/dist/{redocly-openapi-docs.min.standalone-BPCdJgtH.js → redocly-openapi-docs.min.standalone-D9becCWS.js} +708 -673
- package/dist/redocly-openapi-docs.min.tauri-path-Bv9A5DVf.js +1 -0
- package/dist/{redocly-openapi-docs.min.useAiChatQueries-t8oy8jik.js → redocly-openapi-docs.min.useAiChatQueries-Cb-1pa0w.js} +2 -2
- package/lib/telemetry/RedocTelemetry.js +1 -31
- package/package.json +5 -5
- package/dist/redocly-openapi-docs.min.FileWatcher-DDoyaS7A.js +0 -1
- package/dist/redocly-openapi-docs.min.tauri-path-CmqBCxGb.js +0 -1
- package/lib/components/ApiInfo/__tests__/ApiInfo.test.d.ts +0 -1
- package/lib/components/ApiInfo/__tests__/ApiInfo.test.js +0 -46
- package/lib/components/Callbacks/__tests__/Callbacks.test.d.ts +0 -1
- package/lib/components/Callbacks/__tests__/Callbacks.test.js +0 -46
- package/lib/components/Content/__tests__/useAutoScroll.test.d.ts +0 -1
- package/lib/components/Content/__tests__/useAutoScroll.test.js +0 -88
- package/lib/components/ContentItem/__tests__/useIsExpanded.test.d.ts +0 -1
- package/lib/components/ContentItem/__tests__/useIsExpanded.test.js +0 -123
- package/lib/components/ContentItems/__tests__/Items.test.d.ts +0 -1
- package/lib/components/ContentItems/__tests__/Items.test.js +0 -66
- package/lib/components/ContentItems/__tests__/VirtualList.test.d.ts +0 -1
- package/lib/components/ContentItems/__tests__/VirtualList.test.js +0 -135
- package/lib/components/Discriminator/__tests__/DiscriminatorDropdown.test.d.ts +0 -1
- package/lib/components/Discriminator/__tests__/DiscriminatorDropdown.test.js +0 -63
- package/lib/components/Download/__tests__/DownloadSpecification.test.d.ts +0 -1
- package/lib/components/Download/__tests__/DownloadSpecification.test.js +0 -52
- package/lib/components/ExpandAllButton/__tests__/ExpandAllButton.test.d.ts +0 -1
- package/lib/components/ExpandAllButton/__tests__/ExpandAllButton.test.js +0 -60
- package/lib/components/ExpandAllButton/__tests__/helpers.test.d.ts +0 -1
- package/lib/components/ExpandAllButton/__tests__/helpers.test.js +0 -133
- package/lib/components/Language/__tests__/LanguageDropdown.test.d.ts +0 -1
- package/lib/components/Language/__tests__/LanguageDropdown.test.js +0 -23
- package/lib/components/Markdown/__tests__/Markdown.test.d.ts +0 -1
- package/lib/components/Markdown/__tests__/Markdown.test.js +0 -34
- package/lib/components/McpOverview/__tests__/McpOverview.test.d.ts +0 -1
- package/lib/components/McpOverview/__tests__/McpOverview.test.js +0 -66
- package/lib/components/McpTool/__tests__/McpPrompt.test.d.ts +0 -1
- package/lib/components/McpTool/__tests__/McpPrompt.test.js +0 -57
- package/lib/components/McpTool/__tests__/McpResource.test.d.ts +0 -1
- package/lib/components/McpTool/__tests__/McpResource.test.js +0 -81
- package/lib/components/McpTool/__tests__/McpTool.test.d.ts +0 -1
- package/lib/components/McpTool/__tests__/McpTool.test.js +0 -82
- package/lib/components/MediaTypeSwitch/__tests__/MediaTypesSwitch.test.d.ts +0 -1
- package/lib/components/MediaTypeSwitch/__tests__/MediaTypesSwitch.test.js +0 -79
- package/lib/components/OperationItem/__tests__/OperationItem.test.d.ts +0 -1
- package/lib/components/OperationItem/__tests__/OperationItem.test.js +0 -70
- package/lib/components/OperationItem/__tests__/__mocks__/mock-intersection-observer.d.ts +0 -16
- package/lib/components/OperationItem/__tests__/__mocks__/mock-intersection-observer.js +0 -42
- package/lib/components/Overview/__tests__/Overview.test.d.ts +0 -1
- package/lib/components/Overview/__tests__/Overview.test.js +0 -59
- package/lib/components/PayloadSamples/__tests__/Example.test.d.ts +0 -1
- package/lib/components/PayloadSamples/__tests__/Example.test.js +0 -36
- package/lib/components/PayloadSamples/__tests__/ExampleValue.test.d.ts +0 -1
- package/lib/components/PayloadSamples/__tests__/ExampleValue.test.js +0 -197
- package/lib/components/PayloadSamples/__tests__/PayloadSamples.test.d.ts +0 -1
- package/lib/components/PayloadSamples/__tests__/PayloadSamples.test.js +0 -38
- package/lib/components/PropertyDetails/__tests__/Extensions.test.d.ts +0 -1
- package/lib/components/PropertyDetails/__tests__/Extensions.test.js +0 -21
- package/lib/components/PropertyDetails/__tests__/FieldDetail.test.d.ts +0 -1
- package/lib/components/PropertyDetails/__tests__/FieldDetail.test.js +0 -52
- package/lib/components/PropertyDetails/__tests__/FieldDetails.test.d.ts +0 -1
- package/lib/components/PropertyDetails/__tests__/FieldDetails.test.js +0 -191
- package/lib/components/PropertyDetails/__tests__/PropertyDetails.test.d.ts +0 -1
- package/lib/components/PropertyDetails/__tests__/PropertyDetails.test.js +0 -365
- package/lib/components/PropertyDetails/__tests__/cycleColorsByLevel.test.d.ts +0 -1
- package/lib/components/PropertyDetails/__tests__/cycleColorsByLevel.test.js +0 -23
- package/lib/components/RedoclyOpenAPIDocs/__tests__/AppProvider.test.d.ts +0 -1
- package/lib/components/RedoclyOpenAPIDocs/__tests__/AppProvider.test.js +0 -16
- package/lib/components/RedoclyOpenAPIDocs/__tests__/RedoclyOpenAPIDocs.test.d.ts +0 -1
- package/lib/components/RedoclyOpenAPIDocs/__tests__/RedoclyOpenAPIDocs.test.js +0 -104
- package/lib/components/RenderHook/__tests__/RenderHook.test.d.ts +0 -1
- package/lib/components/RenderHook/__tests__/RenderHook.test.js +0 -15
- package/lib/components/Replay/__tests__/utils.test.d.ts +0 -1
- package/lib/components/Replay/__tests__/utils.test.js +0 -526
- package/lib/components/Request/__tests__/RequestDetails.test.d.ts +0 -1
- package/lib/components/Request/__tests__/RequestDetails.test.js +0 -98
- package/lib/components/RequestSamples/__tests__/Example.test.d.ts +0 -1
- package/lib/components/RequestSamples/__tests__/Example.test.js +0 -384
- package/lib/components/RequestSamples/__tests__/RequestSamples.test.d.ts +0 -1
- package/lib/components/RequestSamples/__tests__/RequestSamples.test.js +0 -226
- package/lib/components/RequestSamples/__tests__/useCodeSamples.test.d.ts +0 -1
- package/lib/components/RequestSamples/__tests__/useCodeSamples.test.js +0 -64
- package/lib/components/ResponseSamples/__tests__/ResponseSamples.test.d.ts +0 -1
- package/lib/components/ResponseSamples/__tests__/ResponseSamples.test.js +0 -29
- package/lib/components/Responses/__tests__/OperationResponseList.test.d.ts +0 -1
- package/lib/components/Responses/__tests__/OperationResponseList.test.js +0 -89
- package/lib/components/Responses/__tests__/ResponseDetails.test.d.ts +0 -1
- package/lib/components/Responses/__tests__/ResponseDetails.test.js +0 -111
- package/lib/components/Responses/__tests__/ResponsesHeaders.test.d.ts +0 -1
- package/lib/components/Responses/__tests__/ResponsesHeaders.test.js +0 -26
- package/lib/components/Schema/__tests__/ArraySchema.test.d.ts +0 -1
- package/lib/components/Schema/__tests__/ArraySchema.test.js +0 -93
- package/lib/components/Schema/__tests__/ObjectSchema.test.d.ts +0 -1
- package/lib/components/Schema/__tests__/ObjectSchema.test.js +0 -115
- package/lib/components/Schema/__tests__/OneOfSchema.test.d.ts +0 -1
- package/lib/components/Schema/__tests__/OneOfSchema.test.js +0 -33
- package/lib/components/Schema/__tests__/Schema.test.d.ts +0 -1
- package/lib/components/Schema/__tests__/Schema.test.js +0 -67
- package/lib/components/Schema/__tests__/useOneOfLocationIdx.test.d.ts +0 -1
- package/lib/components/Schema/__tests__/useOneOfLocationIdx.test.js +0 -22
- package/lib/components/SchemaCatalogLink/__tests__/SchemaCatalogLink.test.d.ts +0 -1
- package/lib/components/SchemaCatalogLink/__tests__/SchemaCatalogLink.test.js +0 -95
- package/lib/components/Security/__tests__/Security.test.d.ts +0 -1
- package/lib/components/Security/__tests__/Security.test.js +0 -38
- package/lib/components/Security/__tests__/SecurityButton.test.d.ts +0 -1
- package/lib/components/Security/__tests__/SecurityButton.test.js +0 -92
- package/lib/components/Security/__tests__/SecurityModal.test.d.ts +0 -1
- package/lib/components/Security/__tests__/SecurityModal.test.js +0 -172
- package/lib/components/ServerList/__tests__/ServerList.test.d.ts +0 -1
- package/lib/components/ServerList/__tests__/ServerList.test.js +0 -83
- package/lib/components/Tabs/__tests__/Tabs.test.d.ts +0 -1
- package/lib/components/Tabs/__tests__/Tabs.test.js +0 -27
- package/lib/components/ViewNested/__tests__/ViewNested.test.d.ts +0 -1
- package/lib/components/ViewNested/__tests__/ViewNested.test.js +0 -42
- package/lib/components/__tests__/Samples/ExampleSwitch.test.d.ts +0 -1
- package/lib/components/__tests__/Samples/ExampleSwitch.test.js +0 -45
- package/lib/components/__tests__/Samples/use-example-key.test.d.ts +0 -1
- package/lib/components/__tests__/Samples/use-example-key.test.js +0 -28
- package/lib/components/__tests__/common/ClearButton.test.d.ts +0 -1
- package/lib/components/__tests__/common/ClearButton.test.js +0 -18
- package/lib/components/__tests__/common/Dropdown.test.d.ts +0 -1
- package/lib/components/__tests__/common/Dropdown.test.js +0 -52
- package/lib/components/__tests__/mocks/examples.d.ts +0 -4
- package/lib/components/__tests__/mocks/examples.js +0 -115
- package/lib/components/common/__tests__/Dropdown.test.d.ts +0 -1
- package/lib/components/common/__tests__/Dropdown.test.js +0 -129
- package/lib/components/common/__tests__/LinkToField.test.d.ts +0 -1
- package/lib/components/common/__tests__/LinkToField.test.js +0 -39
- package/lib/jotai/__tests__/app.test.d.ts +0 -1
- package/lib/jotai/__tests__/app.test.js +0 -53
- package/lib/models/__tests__/Callback.test.d.ts +0 -1
- package/lib/models/__tests__/Callback.test.js +0 -15
- package/lib/models/__tests__/FieldModel.test.d.ts +0 -1
- package/lib/models/__tests__/FieldModel.test.js +0 -117
- package/lib/models/__tests__/MediaContent.test.d.ts +0 -1
- package/lib/models/__tests__/MediaContent.test.js +0 -105
- package/lib/models/__tests__/Operation.test.d.ts +0 -1
- package/lib/models/__tests__/Operation.test.js +0 -459
- package/lib/models/__tests__/Response.test.d.ts +0 -1
- package/lib/models/__tests__/Response.test.js +0 -221
- package/lib/models/__tests__/Schema.circular.test.d.ts +0 -1
- package/lib/models/__tests__/Schema.circular.test.js +0 -694
- package/lib/models/__tests__/Schema.test.d.ts +0 -1
- package/lib/models/__tests__/Schema.test.js +0 -1395
- package/lib/models/__tests__/example.test.d.ts +0 -1
- package/lib/models/__tests__/example.test.js +0 -90
- package/lib/models/__tests__/group.test.d.ts +0 -1
- package/lib/models/__tests__/group.test.js +0 -52
- package/lib/models/__tests__/helpers.d.ts +0 -5
- package/lib/models/__tests__/helpers.js +0 -62
- package/lib/models/__tests__/request.test.d.ts +0 -1
- package/lib/models/__tests__/request.test.js +0 -119
- package/lib/services/__tests__/OpenAPIParser.test.d.ts +0 -1
- package/lib/services/__tests__/OpenAPIParser.test.js +0 -80
- package/lib/services/__tests__/check.test.d.ts +0 -1
- package/lib/services/__tests__/check.test.js +0 -22
- package/lib/services/__tests__/utils.test.d.ts +0 -1
- package/lib/services/__tests__/utils.test.js +0 -42
- package/lib/services/code-samples/__tests__/apply-environments.test.d.ts +0 -1
- package/lib/services/code-samples/__tests__/apply-environments.test.js +0 -64
- package/lib/services/code-samples/__tests__/build-code-samples.test.d.ts +0 -1
- package/lib/services/code-samples/__tests__/build-code-samples.test.js +0 -70
- package/lib/services/code-samples/__tests__/convertSampleToString.test.d.ts +0 -1
- package/lib/services/code-samples/__tests__/convertSampleToString.test.js +0 -116
- package/lib/services/code-samples/__tests__/generator-data-value.test.d.ts +0 -1
- package/lib/services/code-samples/__tests__/generator-data-value.test.js +0 -277
- package/lib/services/code-samples/__tests__/generator-serialized-value.test.d.ts +0 -1
- package/lib/services/code-samples/__tests__/generator-serialized-value.test.js +0 -258
- package/lib/services/code-samples/__tests__/generator-value.test.d.ts +0 -1
- package/lib/services/code-samples/__tests__/generator-value.test.js +0 -273
- package/lib/services/code-samples/__tests__/generator.test.d.ts +0 -249
- package/lib/services/code-samples/__tests__/generator.test.js +0 -1201
- package/lib/services/code-samples/__tests__/get-example-value-by-mime-type.test.d.ts +0 -1
- package/lib/services/code-samples/__tests__/get-example-value-by-mime-type.test.js +0 -31
- package/lib/services/code-samples/httpsnippet/__tests__/device-authorization.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/__tests__/device-authorization.test.js +0 -222
- package/lib/services/code-samples/httpsnippet/helpers/__tests__/code-helpers.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/helpers/__tests__/code-helpers.test.js +0 -129
- package/lib/services/code-samples/httpsnippet/helpers/__tests__/string-utility.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/helpers/__tests__/string-utility.test.js +0 -49
- package/lib/services/code-samples/httpsnippet/targets/csharp/__tests__/httpclient.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/csharp/__tests__/httpclient.test.js +0 -172
- package/lib/services/code-samples/httpsnippet/targets/csharpNewtonsoft/__tests__/httpclient.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/csharpNewtonsoft/__tests__/httpclient.test.js +0 -172
- package/lib/services/code-samples/httpsnippet/targets/go/__tests__/native.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/go/__tests__/native.test.js +0 -130
- package/lib/services/code-samples/httpsnippet/targets/java/__tests__/httpclient.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/java/__tests__/httpclient.test.js +0 -191
- package/lib/services/code-samples/httpsnippet/targets/java8/__tests__/apachehttp.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/java8/__tests__/apachehttp.test.js +0 -172
- package/lib/services/code-samples/httpsnippet/targets/javascript/__tests__/fetch.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/javascript/__tests__/fetch.test.js +0 -85
- package/lib/services/code-samples/httpsnippet/targets/node/__tests__/fetch.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/node/__tests__/fetch.test.js +0 -85
- package/lib/services/code-samples/httpsnippet/targets/php/__tests__/curl.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/php/__tests__/curl.test.js +0 -126
- package/lib/services/code-samples/httpsnippet/targets/python/__tests__/requests.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/python/__tests__/requests.test.js +0 -105
- package/lib/services/code-samples/httpsnippet/targets/r/__tests__/httr.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/r/__tests__/httr.test.js +0 -126
- package/lib/services/code-samples/httpsnippet/targets/ruby/__tests__/native.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/ruby/__tests__/native.test.js +0 -129
- package/lib/services/code-samples/httpsnippet/targets/shell/__tests__/curl.test.d.ts +0 -1
- package/lib/services/code-samples/httpsnippet/targets/shell/__tests__/curl.test.js +0 -129
- package/lib/services/config-options/__tests__/helpers.test.d.ts +0 -1
- package/lib/services/config-options/__tests__/helpers.test.js +0 -234
- package/lib/services/history/__tests__/helpers.test.d.ts +0 -1
- package/lib/services/history/__tests__/helpers.test.js +0 -19
- package/lib/services/menu/__tests__/buildNestedTagsItems.test.d.ts +0 -1
- package/lib/services/menu/__tests__/buildNestedTagsItems.test.js +0 -109
- package/lib/services/menu/__tests__/builder.test.d.ts +0 -1
- package/lib/services/menu/__tests__/builder.test.js +0 -307
- package/lib/services/menu/__tests__/operation.test.d.ts +0 -1
- package/lib/services/menu/__tests__/operation.test.js +0 -240
- package/lib/services/menu/__tests__/tags.test.d.ts +0 -1
- package/lib/services/menu/__tests__/tags.test.js +0 -71
- package/lib/telemetry/__tests__/RedocTelemetry.test.d.ts +0 -1
- package/lib/telemetry/__tests__/RedocTelemetry.test.js +0 -107
- package/lib/testProviders.d.ts +0 -6
- package/lib/testProviders.js +0 -14
- package/lib/utils/__tests__/areArraysEqual.test.d.ts +0 -1
- package/lib/utils/__tests__/areArraysEqual.test.js +0 -33
- package/lib/utils/__tests__/argValuesHelpers.d.ts +0 -1
- package/lib/utils/__tests__/argValuesHelpers.js +0 -56
- package/lib/utils/__tests__/calculateMaxLength.test.d.ts +0 -1
- package/lib/utils/__tests__/calculateMaxLength.test.js +0 -119
- package/lib/utils/__tests__/configure-helpers.test.d.ts +0 -1
- package/lib/utils/__tests__/configure-helpers.test.js +0 -356
- package/lib/utils/__tests__/convertSwagger2OpenAPI.test.d.ts +0 -1
- package/lib/utils/__tests__/convertSwagger2OpenAPI.test.js +0 -392
- package/lib/utils/__tests__/debounce.test.d.ts +0 -1
- package/lib/utils/__tests__/debounce.test.js +0 -54
- package/lib/utils/__tests__/debug.test.d.ts +0 -1
- package/lib/utils/__tests__/debug.test.js +0 -23
- package/lib/utils/__tests__/dom.test.d.ts +0 -1
- package/lib/utils/__tests__/dom.test.js +0 -108
- package/lib/utils/__tests__/getBreadcrumbs.test.d.ts +0 -1
- package/lib/utils/__tests__/getBreadcrumbs.test.js +0 -98
- package/lib/utils/__tests__/hasNestedFields.test.d.ts +0 -1
- package/lib/utils/__tests__/hasNestedFields.test.js +0 -147
- package/lib/utils/__tests__/helpers.test.d.ts +0 -1
- package/lib/utils/__tests__/helpers.test.js +0 -174
- package/lib/utils/__tests__/isMobile.test.d.ts +0 -1
- package/lib/utils/__tests__/isMobile.test.js +0 -28
- package/lib/utils/__tests__/loadAndBundleSpec.test.d.ts +0 -1
- package/lib/utils/__tests__/loadAndBundleSpec.test.js +0 -22
- package/lib/utils/__tests__/local-storage.test.d.ts +0 -1
- package/lib/utils/__tests__/local-storage.test.js +0 -48
- package/lib/utils/__tests__/object.test.d.ts +0 -1
- package/lib/utils/__tests__/object.test.js +0 -45
- package/lib/utils/__tests__/openapi.test.d.ts +0 -1
- package/lib/utils/__tests__/openapi.test.js +0 -1378
- package/lib/utils/__tests__/path.test.d.ts +0 -1
- package/lib/utils/__tests__/path.test.js +0 -16
- package/lib/utils/__tests__/queryString.test.d.ts +0 -1
- package/lib/utils/__tests__/queryString.test.js +0 -60
- package/lib/utils/__tests__/replaceVariables.test.d.ts +0 -1
- package/lib/utils/__tests__/replaceVariables.test.js +0 -46
- package/lib/utils/__tests__/simplifyAstStructure.test.d.ts +0 -1
- package/lib/utils/__tests__/simplifyAstStructure.test.js +0 -26
- package/lib/utils/__tests__/sort.test.d.ts +0 -1
- package/lib/utils/__tests__/sort.test.js +0 -16
- package/lib/utils/__tests__/string.test.d.ts +0 -1
- package/lib/utils/__tests__/string.test.js +0 -16
- package/lib/utils/__tests__/theme-helpers.test.d.ts +0 -1
- package/lib/utils/__tests__/theme-helpers.test.js +0 -24
- package/lib/utils/__tests__/url.test.d.ts +0 -1
- package/lib/utils/__tests__/url.test.js +0 -134
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { hasNestedFields } from '../hasNestedFields.js';
|
|
2
|
-
const createMockField = (isPrimitive, isCircular = false) => ({
|
|
3
|
-
schema: {
|
|
4
|
-
isPrimitive,
|
|
5
|
-
isCircular,
|
|
6
|
-
},
|
|
7
|
-
name: 'mockField',
|
|
8
|
-
required: false,
|
|
9
|
-
description: 'Mock field',
|
|
10
|
-
deprecated: false,
|
|
11
|
-
kind: 'field',
|
|
12
|
-
explode: false,
|
|
13
|
-
deps: {},
|
|
14
|
-
});
|
|
15
|
-
const createMockSchema = (fields, oneOf) => ({
|
|
16
|
-
fields,
|
|
17
|
-
oneOf,
|
|
18
|
-
isPrimitive: false,
|
|
19
|
-
isCircular: false,
|
|
20
|
-
});
|
|
21
|
-
describe('hasNestedFields', () => {
|
|
22
|
-
describe('when schema is undefined or null', () => {
|
|
23
|
-
it('should return false for undefined schema', () => {
|
|
24
|
-
expect(hasNestedFields(undefined)).toBe(false);
|
|
25
|
-
});
|
|
26
|
-
it('should return false for null schema', () => {
|
|
27
|
-
expect(hasNestedFields(null)).toBe(false);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
describe('when schema has no fields', () => {
|
|
31
|
-
it('should return false for schema with undefined fields', () => {
|
|
32
|
-
const schema = createMockSchema();
|
|
33
|
-
expect(hasNestedFields(schema)).toBe(false);
|
|
34
|
-
});
|
|
35
|
-
it('should return false for schema with empty fields array', () => {
|
|
36
|
-
const schema = createMockSchema([]);
|
|
37
|
-
expect(hasNestedFields(schema)).toBe(false);
|
|
38
|
-
});
|
|
39
|
-
});
|
|
40
|
-
describe('when schema has only primitive fields', () => {
|
|
41
|
-
it('should return false for schema with only primitive fields', () => {
|
|
42
|
-
const primitiveField1 = createMockField(true);
|
|
43
|
-
const primitiveField2 = createMockField(true);
|
|
44
|
-
const schema = createMockSchema([primitiveField1, primitiveField2]);
|
|
45
|
-
expect(hasNestedFields(schema)).toBe(false);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
describe('when schema has circular fields', () => {
|
|
49
|
-
it('should return false for schema with only circular fields', () => {
|
|
50
|
-
const circularField = createMockField(false, true);
|
|
51
|
-
const schema = createMockSchema([circularField]);
|
|
52
|
-
expect(hasNestedFields(schema)).toBe(false);
|
|
53
|
-
});
|
|
54
|
-
it('should return false for schema with primitive and circular fields', () => {
|
|
55
|
-
const primitiveField = createMockField(true);
|
|
56
|
-
const circularField = createMockField(false, true);
|
|
57
|
-
const schema = createMockSchema([primitiveField, circularField]);
|
|
58
|
-
expect(hasNestedFields(schema)).toBe(false);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
describe('when schema has non-primitive, non-circular fields', () => {
|
|
62
|
-
it('should return true for schema with one non-primitive, non-circular field', () => {
|
|
63
|
-
const nestedField = createMockField(false, false);
|
|
64
|
-
const schema = createMockSchema([nestedField]);
|
|
65
|
-
expect(hasNestedFields(schema)).toBe(true);
|
|
66
|
-
});
|
|
67
|
-
it('should return true for schema with mixed field types including nested', () => {
|
|
68
|
-
const primitiveField = createMockField(true);
|
|
69
|
-
const circularField = createMockField(false, true);
|
|
70
|
-
const nestedField = createMockField(false, false);
|
|
71
|
-
const schema = createMockSchema([primitiveField, circularField, nestedField]);
|
|
72
|
-
expect(hasNestedFields(schema)).toBe(true);
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
describe('when schema has oneOf variants', () => {
|
|
76
|
-
it('should return false for oneOf variants with only primitive fields', () => {
|
|
77
|
-
const primitiveField = createMockField(true);
|
|
78
|
-
const variant1 = createMockSchema([primitiveField]);
|
|
79
|
-
const variant2 = createMockSchema([primitiveField]);
|
|
80
|
-
const schema = createMockSchema([], [variant1, variant2]);
|
|
81
|
-
expect(hasNestedFields(schema)).toBe(false);
|
|
82
|
-
});
|
|
83
|
-
it('should return false for oneOf variants with only circular fields', () => {
|
|
84
|
-
const circularField = createMockField(false, true);
|
|
85
|
-
const variant1 = createMockSchema([circularField]);
|
|
86
|
-
const variant2 = createMockSchema([circularField]);
|
|
87
|
-
const schema = createMockSchema([], [variant1, variant2]);
|
|
88
|
-
expect(hasNestedFields(schema)).toBe(false);
|
|
89
|
-
});
|
|
90
|
-
it('should return true for oneOf variants with nested fields', () => {
|
|
91
|
-
const nestedField = createMockField(false, false);
|
|
92
|
-
const variant1 = createMockSchema([nestedField]);
|
|
93
|
-
const schema = createMockSchema([], [variant1]);
|
|
94
|
-
expect(hasNestedFields(schema)).toBe(true);
|
|
95
|
-
});
|
|
96
|
-
it('should return true when one oneOf variant has nested fields', () => {
|
|
97
|
-
const primitiveField = createMockField(true);
|
|
98
|
-
const nestedField = createMockField(false, false);
|
|
99
|
-
const variant1 = createMockSchema([primitiveField]);
|
|
100
|
-
const variant2 = createMockSchema([nestedField]);
|
|
101
|
-
const schema = createMockSchema([], [variant1, variant2]);
|
|
102
|
-
expect(hasNestedFields(schema)).toBe(true);
|
|
103
|
-
});
|
|
104
|
-
it('should return false for oneOf variants with no fields', () => {
|
|
105
|
-
const variant1 = createMockSchema([]);
|
|
106
|
-
const variant2 = createMockSchema();
|
|
107
|
-
const schema = createMockSchema([], [variant1, variant2]);
|
|
108
|
-
expect(hasNestedFields(schema)).toBe(false);
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
describe('when schema has both direct fields and oneOf variants', () => {
|
|
112
|
-
it('should return true when direct fields have nested fields', () => {
|
|
113
|
-
const nestedField = createMockField(false, false);
|
|
114
|
-
const primitiveField = createMockField(true);
|
|
115
|
-
const variant = createMockSchema([primitiveField]);
|
|
116
|
-
const schema = createMockSchema([nestedField], [variant]);
|
|
117
|
-
expect(hasNestedFields(schema)).toBe(true);
|
|
118
|
-
});
|
|
119
|
-
it('should return true when oneOf variants have nested fields', () => {
|
|
120
|
-
const primitiveField = createMockField(true);
|
|
121
|
-
const nestedField = createMockField(false, false);
|
|
122
|
-
const variant = createMockSchema([nestedField]);
|
|
123
|
-
const schema = createMockSchema([primitiveField], [variant]);
|
|
124
|
-
expect(hasNestedFields(schema)).toBe(true);
|
|
125
|
-
});
|
|
126
|
-
it('should return false when both direct fields and oneOf variants have only primitive/circular fields', () => {
|
|
127
|
-
const primitiveField = createMockField(true);
|
|
128
|
-
const circularField = createMockField(false, true);
|
|
129
|
-
const variant = createMockSchema([primitiveField]);
|
|
130
|
-
const schema = createMockSchema([circularField], [variant]);
|
|
131
|
-
expect(hasNestedFields(schema)).toBe(false);
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
describe('edge cases', () => {
|
|
135
|
-
it('should handle empty oneOf array', () => {
|
|
136
|
-
const primitiveField = createMockField(true);
|
|
137
|
-
const schema = createMockSchema([primitiveField], []);
|
|
138
|
-
expect(hasNestedFields(schema)).toBe(false);
|
|
139
|
-
});
|
|
140
|
-
it('should handle oneOf variants with undefined fields', () => {
|
|
141
|
-
const variant = createMockSchema();
|
|
142
|
-
const schema = createMockSchema([], [variant]);
|
|
143
|
-
expect(hasNestedFields(schema)).toBe(false);
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
|
-
//# sourceMappingURL=hasNestedFields.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { appendToMdHeading, deleteEmptyArrayItem, useSchemaTitle, isArrayOfObjects, mapWithLast, titleize, isLastInArray, isLastProperty, getValueFromMdParsedExtension, } from '../helpers.js';
|
|
2
|
-
describe('Utils', () => {
|
|
3
|
-
describe('helpers', () => {
|
|
4
|
-
test('mapWithLast', () => {
|
|
5
|
-
const arr = [1, 2, 3];
|
|
6
|
-
const fn = (...args) => args;
|
|
7
|
-
const actual = mapWithLast(arr, fn);
|
|
8
|
-
const expected = [
|
|
9
|
-
[1, false],
|
|
10
|
-
[2, false],
|
|
11
|
-
[3, true],
|
|
12
|
-
];
|
|
13
|
-
expect(actual).toEqual(expected);
|
|
14
|
-
});
|
|
15
|
-
test('mapWithLast for empty array', () => {
|
|
16
|
-
const arr = [];
|
|
17
|
-
const fn = (...args) => args;
|
|
18
|
-
const actual = mapWithLast(arr, fn);
|
|
19
|
-
const expected = [];
|
|
20
|
-
expect(actual).toEqual(expected);
|
|
21
|
-
});
|
|
22
|
-
test('appendToMdHeading heading exists not last', () => {
|
|
23
|
-
const val = appendToMdHeading('# Authentication\n Hello\n# Next heading', 'Authentication', '<test>');
|
|
24
|
-
expect(val).toEqual('# Authentication\n Hello\n\n<test>\n\n# Next heading');
|
|
25
|
-
});
|
|
26
|
-
test('appendToMdHeading heading exists last', () => {
|
|
27
|
-
const val = appendToMdHeading('# Authentication\n Hello', 'Authentication', '<test>');
|
|
28
|
-
expect(val).toEqual('# Authentication\n Hello\n\n<test>\n');
|
|
29
|
-
});
|
|
30
|
-
test('appendToMdHeading empty string', () => {
|
|
31
|
-
const val = appendToMdHeading('', 'Authentication', '<test>');
|
|
32
|
-
expect(val).toEqual('# Authentication\n\n<test>');
|
|
33
|
-
});
|
|
34
|
-
describe('titleize', () => {
|
|
35
|
-
test('should return the string with the first letter capitalized', () => {
|
|
36
|
-
expect(titleize('my title')).toEqual('My title');
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
describe('isArrayOfObjects', () => {
|
|
40
|
-
test('should return true if the array contains object', () => {
|
|
41
|
-
expect(isArrayOfObjects([{ test: 'string' }])).toEqual(true);
|
|
42
|
-
});
|
|
43
|
-
test('should return false if the array does not include object', () => {
|
|
44
|
-
expect(isArrayOfObjects(['string'])).toEqual(false);
|
|
45
|
-
});
|
|
46
|
-
test('should return false if the array with only null', () => {
|
|
47
|
-
expect(isArrayOfObjects([null])).toEqual(false);
|
|
48
|
-
});
|
|
49
|
-
test('should return false if props is string', () => {
|
|
50
|
-
expect(isArrayOfObjects('[null]')).toEqual(false);
|
|
51
|
-
});
|
|
52
|
-
test('should return true if the array contains at least one object', () => {
|
|
53
|
-
expect(isArrayOfObjects([null, 'string', { test: 'string' }])).toEqual(true);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
describe('deleteEmptyArrayItem', () => {
|
|
57
|
-
test('should delete null and undefined items', () => {
|
|
58
|
-
expect(deleteEmptyArrayItem([null, undefined, 'string'])).toEqual(['string']);
|
|
59
|
-
});
|
|
60
|
-
test('should delete empty items', () => {
|
|
61
|
-
const array = new Array(3);
|
|
62
|
-
array.push('string');
|
|
63
|
-
expect(deleteEmptyArrayItem(array)).toEqual(['string']);
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
describe('isLastInArray', () => {
|
|
67
|
-
const array = [1, 2, 3];
|
|
68
|
-
test('should return true for last index', () => {
|
|
69
|
-
expect(isLastInArray(array, array.length - 1)).toEqual(true);
|
|
70
|
-
});
|
|
71
|
-
test('should return false for not last index', () => {
|
|
72
|
-
expect(isLastInArray(array, array.length - 2)).toEqual(false);
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
describe('isLastProperty', () => {
|
|
76
|
-
const object = {
|
|
77
|
-
a: 'a',
|
|
78
|
-
b: 'b',
|
|
79
|
-
c: 'c',
|
|
80
|
-
};
|
|
81
|
-
test('should return true for last key', () => {
|
|
82
|
-
expect(isLastProperty(object, 'c')).toEqual(true);
|
|
83
|
-
});
|
|
84
|
-
test('should return false for not last key', () => {
|
|
85
|
-
expect(isLastProperty(object, 'b')).toEqual(false);
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
describe('useSchemaTitle', () => {
|
|
90
|
-
test('should return the title if it is defined', () => {
|
|
91
|
-
expect(useSchemaTitle('#/components/schemas/Call', 'Pet')).toEqual('Pet');
|
|
92
|
-
});
|
|
93
|
-
test('should return the def name if title is undefined', () => {
|
|
94
|
-
expect(useSchemaTitle('#/components/schemas/Call')).toEqual('Call');
|
|
95
|
-
});
|
|
96
|
-
test('should return the empty string', () => {
|
|
97
|
-
expect(useSchemaTitle('#/test/path/Call')).toEqual('');
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
describe('getValueFromMdParsedExtension', () => {
|
|
101
|
-
it('should return undefined when no value exists', () => {
|
|
102
|
-
const item = {};
|
|
103
|
-
expect(getValueFromMdParsedExtension(item, 'description')).toBeUndefined();
|
|
104
|
-
});
|
|
105
|
-
it('should return regular value when no parsed markdown exists', () => {
|
|
106
|
-
const item = {
|
|
107
|
-
description: 'regular text',
|
|
108
|
-
};
|
|
109
|
-
expect(getValueFromMdParsedExtension(item, 'description')).toBe('regular text');
|
|
110
|
-
});
|
|
111
|
-
it('should return parsed markdown value when available', () => {
|
|
112
|
-
const item = {
|
|
113
|
-
description: 'original text',
|
|
114
|
-
'x-parsed-md-description': {
|
|
115
|
-
result: 'parsed text',
|
|
116
|
-
},
|
|
117
|
-
};
|
|
118
|
-
expect(getValueFromMdParsedExtension(item, 'description')).toEqual({
|
|
119
|
-
result: 'parsed text',
|
|
120
|
-
raw: 'original text',
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
it('should handle x-enumDescriptions specially', () => {
|
|
124
|
-
const item = {
|
|
125
|
-
'x-enumDescriptions': {
|
|
126
|
-
value1: 'desc 1',
|
|
127
|
-
value2: 'desc 2',
|
|
128
|
-
'x-parsed-md-value1': 'desc 1',
|
|
129
|
-
'x-parsed-md-value2': 'desc 2',
|
|
130
|
-
},
|
|
131
|
-
};
|
|
132
|
-
expect(getValueFromMdParsedExtension(item, 'x-enumDescriptions')).toEqual({
|
|
133
|
-
value1: 'desc 1',
|
|
134
|
-
value2: 'desc 2',
|
|
135
|
-
});
|
|
136
|
-
});
|
|
137
|
-
it('should return original x-enumDescriptions if no parsed values exist', () => {
|
|
138
|
-
const originalEnum = {
|
|
139
|
-
value1: 'desc 1',
|
|
140
|
-
value2: 'desc 2',
|
|
141
|
-
};
|
|
142
|
-
const item = {
|
|
143
|
-
'x-enumDescriptions': originalEnum,
|
|
144
|
-
};
|
|
145
|
-
expect(getValueFromMdParsedExtension(item, 'x-enumDescriptions')).toEqual(originalEnum);
|
|
146
|
-
});
|
|
147
|
-
it('should handle summary field', () => {
|
|
148
|
-
const item = {
|
|
149
|
-
summary: 'original summary',
|
|
150
|
-
'x-parsed-md-summary': {
|
|
151
|
-
result: 'parsed summary',
|
|
152
|
-
raw: 'original summary',
|
|
153
|
-
},
|
|
154
|
-
};
|
|
155
|
-
expect(getValueFromMdParsedExtension(item, 'summary')).toEqual({
|
|
156
|
-
result: 'parsed summary',
|
|
157
|
-
raw: 'original summary',
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
it('should normalize markdown value with only result property', () => {
|
|
161
|
-
const item = {
|
|
162
|
-
'x-parsed-md-description': {
|
|
163
|
-
result: 'parsed text',
|
|
164
|
-
},
|
|
165
|
-
description: 'original text',
|
|
166
|
-
};
|
|
167
|
-
expect(getValueFromMdParsedExtension(item, 'description')).toEqual({
|
|
168
|
-
result: 'parsed text',
|
|
169
|
-
raw: 'original text',
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
});
|
|
173
|
-
});
|
|
174
|
-
//# sourceMappingURL=helpers.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { isMobile } from '../isMobile.js';
|
|
2
|
-
describe('isMobile', () => {
|
|
3
|
-
it('should return true for mobile user agent', () => {
|
|
4
|
-
const userAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1';
|
|
5
|
-
Object.defineProperty(window.navigator, 'userAgent', {
|
|
6
|
-
value: userAgent,
|
|
7
|
-
configurable: true,
|
|
8
|
-
});
|
|
9
|
-
expect(isMobile()).toBe(true);
|
|
10
|
-
});
|
|
11
|
-
it('should return true for tablet user agent when tablet option is provided', () => {
|
|
12
|
-
const userAgent = 'Mozilla/5.0 (iPad; CPU OS 15_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1';
|
|
13
|
-
Object.defineProperty(window.navigator, 'userAgent', {
|
|
14
|
-
value: userAgent,
|
|
15
|
-
configurable: true,
|
|
16
|
-
});
|
|
17
|
-
expect(isMobile({ tablet: true })).toBe(true);
|
|
18
|
-
});
|
|
19
|
-
it('should return false for tablet user agent when tablet option is not provided', () => {
|
|
20
|
-
const userAgent = 'Mozilla/5.0 (iPad; CPU OS 15_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1';
|
|
21
|
-
Object.defineProperty(window.navigator, 'userAgent', {
|
|
22
|
-
value: userAgent,
|
|
23
|
-
configurable: true,
|
|
24
|
-
});
|
|
25
|
-
expect(isMobile()).toBe(false);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
//# sourceMappingURL=isMobile.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import * as yaml from 'js-yaml';
|
|
2
|
-
import { readFileSync } from 'fs';
|
|
3
|
-
import { resolve } from 'path';
|
|
4
|
-
import { loadAndBundleDefinition } from '../loadAndBundleSpec.js';
|
|
5
|
-
describe('#loadAndBundleDefinition', () => {
|
|
6
|
-
it('should load and bundle spec petstore.yaml', async () => {
|
|
7
|
-
const spec = yaml.load(readFileSync(resolve(__dirname, '../../../playground/openapi/petstore.yaml'), 'utf-8'));
|
|
8
|
-
const bundledSpec = await loadAndBundleDefinition(spec);
|
|
9
|
-
expect(bundledSpec).toMatchSnapshot();
|
|
10
|
-
});
|
|
11
|
-
it('should load and bundle spec rebilly.yaml', async () => {
|
|
12
|
-
const spec = yaml.load(readFileSync(resolve(__dirname, '../../../playground/openapi/rebilly.yaml'), 'utf-8'));
|
|
13
|
-
const bundledSpec = await loadAndBundleDefinition(spec);
|
|
14
|
-
expect(bundledSpec).toMatchSnapshot();
|
|
15
|
-
});
|
|
16
|
-
it('should load And Bundle Spec openapi-3-1.yaml', async () => {
|
|
17
|
-
const spec = yaml.load(readFileSync(resolve(__dirname, '../../../playground/openapi/openapi-3-1.yaml'), 'utf-8'));
|
|
18
|
-
const bundledSpec = await loadAndBundleDefinition(spec);
|
|
19
|
-
expect(bundledSpec).toMatchSnapshot();
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
//# sourceMappingURL=loadAndBundleSpec.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { toLocalStorage, fromLocalStorage } from '../local-storage.js';
|
|
2
|
-
vi.mock('@redocly/theme/core/openapi', () => ({
|
|
3
|
-
IS_BROWSER: true,
|
|
4
|
-
}));
|
|
5
|
-
describe('local-storage', () => {
|
|
6
|
-
let mockLocalStorage;
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
mockLocalStorage = {};
|
|
9
|
-
Object.defineProperty(window, 'localStorage', {
|
|
10
|
-
value: {
|
|
11
|
-
setItem: vi.fn((key, value) => {
|
|
12
|
-
mockLocalStorage[key] = value;
|
|
13
|
-
}),
|
|
14
|
-
getItem: vi.fn((key) => {
|
|
15
|
-
return mockLocalStorage[key] || null;
|
|
16
|
-
}),
|
|
17
|
-
},
|
|
18
|
-
writable: true,
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
afterEach(() => {
|
|
22
|
-
vi.clearAllMocks();
|
|
23
|
-
});
|
|
24
|
-
describe('toLocalStorage', () => {
|
|
25
|
-
it('should store value with redoc prefix', () => {
|
|
26
|
-
toLocalStorage('test-key', 'test-value');
|
|
27
|
-
expect(window.localStorage.setItem).toHaveBeenCalledWith('redoc.test-key', 'test-value');
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
describe('fromLocalStorage', () => {
|
|
31
|
-
it('should retrieve value with redoc prefix', () => {
|
|
32
|
-
mockLocalStorage['redoc.test-key'] = 'test-value';
|
|
33
|
-
const result = fromLocalStorage('test-key');
|
|
34
|
-
expect(window.localStorage.getItem).toHaveBeenCalledWith('redoc.test-key');
|
|
35
|
-
expect(result).toBe('test-value');
|
|
36
|
-
});
|
|
37
|
-
it('should return empty string when key does not exist', () => {
|
|
38
|
-
const result = fromLocalStorage('non-existent-key');
|
|
39
|
-
expect(result).toBe('');
|
|
40
|
-
});
|
|
41
|
-
it('should return empty string when value is null', () => {
|
|
42
|
-
mockLocalStorage['redoc.test-key'] = null;
|
|
43
|
-
const result = fromLocalStorage('test-key');
|
|
44
|
-
expect(result).toBe('');
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
//# sourceMappingURL=local-storage.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { objectHas, objectSet } from '../object.js';
|
|
2
|
-
describe('object utils', () => {
|
|
3
|
-
let obj;
|
|
4
|
-
beforeEach(() => {
|
|
5
|
-
obj = {
|
|
6
|
-
a: {
|
|
7
|
-
b: {
|
|
8
|
-
c: {
|
|
9
|
-
d: 'd',
|
|
10
|
-
},
|
|
11
|
-
c1: 'c1',
|
|
12
|
-
},
|
|
13
|
-
b1: 'b1',
|
|
14
|
-
},
|
|
15
|
-
a1: 'a1',
|
|
16
|
-
};
|
|
17
|
-
});
|
|
18
|
-
describe('objectHas function', () => {
|
|
19
|
-
it('should check if the obj has path as string', () => {
|
|
20
|
-
expect(objectHas(obj, 'a.b.c')).toBeTruthy();
|
|
21
|
-
expect(objectHas(obj, 'a.b.c1')).toBeTruthy();
|
|
22
|
-
expect(objectHas(obj, 'a.b.c.d')).toBeTruthy();
|
|
23
|
-
expect(objectHas(obj, 'a.b.c1.d')).toBeFalsy();
|
|
24
|
-
});
|
|
25
|
-
it('should check if the obj has path as array', () => {
|
|
26
|
-
expect(objectHas(obj, ['a', 'b', 'c'])).toBeTruthy();
|
|
27
|
-
expect(objectHas(obj, ['a', 'b', 'c1'])).toBeTruthy();
|
|
28
|
-
expect(objectHas(obj, ['a', 'b', 'c', 'd'])).toBeTruthy();
|
|
29
|
-
expect(objectHas(obj, ['a', 'b', 'c1', 'd'])).toBeFalsy();
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
describe('objectSet function', () => {
|
|
33
|
-
it('should set value by path as string', () => {
|
|
34
|
-
expect(objectHas(obj, 'a.b.c1.d')).toBeFalsy();
|
|
35
|
-
objectSet(obj, 'a.b.c1', { d: 'd' });
|
|
36
|
-
expect(objectHas(obj, 'a.b.c1.d')).toBeTruthy();
|
|
37
|
-
});
|
|
38
|
-
it('should set value by path as array', () => {
|
|
39
|
-
expect(objectHas(obj, ['a', 'b', 'c1', 'd'])).toBeFalsy();
|
|
40
|
-
objectSet(obj, ['a', 'b', 'c1'], { d: 'd' });
|
|
41
|
-
expect(objectHas(obj, ['a', 'b', 'c1', 'd'])).toBeTruthy();
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
//# sourceMappingURL=object.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|