From b9b24c2cedf7cc77e0eddd9a17ae80417dceb058 Mon Sep 17 00:00:00 2001 From: Elizabeth Paige Harper Date: Mon, 19 Aug 2024 12:53:50 -0400 Subject: [PATCH 1/6] split to kotlin and java compatible libs --- .gitignore | 6 + build.gradle.kts | 180 +- docs/dokka/images/theme-toggle.svg | 4 - docs/dokka/index.html | 52 - docs/dokka/navigation.html | 22 - docs/dokka/scripts/pages.json | 1 - docs/dokka/scripts/prism.js | 13 - docs/dokka/scripts/sourceset_dependencies.js | 1 - docs/dokka/styles/jetbrains-mono.css | 17 - docs/dokka/styles/logo-styles.css | 15 - docs/dokka/styles/prism.css | 103 - .../-s3-workspace-factory.html | 37 - .../-s3-workspace-factory/create.html | 37 - .../-s3-workspace-factory/get.html | 37 - .../-s3-workspace-factory/index.html | 112 - .../-s3-workspace/contains.html | 37 - .../-s3-workspace/copy.html | 37 - .../-s3-workspace/create-sub-workspace.html | 37 - .../-s3-workspace/delete.html | 37 - .../-s3-workspace/exists.html | 37 - .../-s3-workspace/files.html | 37 - .../-s3-workspace/get.html | 37 - .../-s3-workspace/has-sub-workspace.html | 37 - .../-s3-workspace/id.html | 37 - .../-s3-workspace/index.html | 269 - .../-s3-workspace/open-sub-workspace.html | 37 - .../-s3-workspace/open.html | 37 - .../-s3-workspace/path.html | 37 - .../-s3-workspace/touch.html | 37 - .../-s3-workspace/write.html | 37 - .../-sub-s3-workspace/index.html | 271 - .../-sub-s3-workspace/parent.html | 37 - .../-sub-workspace/index.html | 241 - .../-sub-workspace/parent.html | 37 - .../-workspace-already-exists-error.html | 37 - .../-workspace-already-exists-error/id.html | 37 - .../index.html | 273 - .../-workspace-factory.html | 37 - .../-workspace-factory/create.html | 37 - .../-workspace-factory/get.html | 37 - .../-workspace-factory/index.html | 112 - .../-workspace-file/absolute-path.html | 37 - .../-workspace-file/delete.html | 37 - .../-workspace-file/download.html | 37 - .../-workspace-file/index.html | 166 - .../-workspace-file/last-modified.html | 37 - .../-workspace-file/name.html | 37 - .../-workspace-file/open.html | 37 - .../-workspace-file/path.html | 37 - .../-workspace-file/relative-path.html | 37 - .../-workspace-file/size.html | 37 - .../-workspace/contains.html | 37 - .../-workspace/copy.html | 37 - .../-workspace/create-sub-workspace.html | 37 - .../-workspace/delete.html | 37 - .../-workspace/exists.html | 37 - .../-workspace/files.html | 37 - .../-workspace/has-sub-workspace.html | 37 - .../-workspace/id.html | 37 - .../-workspace/index.html | 239 - .../-workspace/open-sub-workspace.html | 37 - .../-workspace/open.html | 37 - .../-workspace/touch.html | 37 - .../-workspace/write.html | 37 - .../index.html | 118 - docs/dokka/workspaces/package-list | 44 - .../dokka/images/anchor-copy-button.svg | 6 +- docs/{ => java}/dokka/images/arrow_down.svg | 6 +- docs/java/dokka/images/burger.svg | 9 + docs/{ => java}/dokka/images/copy-icon.svg | 6 +- .../dokka/images/copy-successful-icon.svg | 6 +- .../dokka/images/footer-go-to-link.svg | 6 +- .../dokka/images/go-to-top-icon.svg | 6 +- docs/java/dokka/images/homepage.svg | 3 + docs/{ => java}/dokka/images/logo-icon.svg | 6 +- .../nav-icons/abstract-class-kotlin.svg | 26 + .../dokka/images/nav-icons/abstract-class.svg | 20 + .../images/nav-icons/annotation-kotlin.svg | 13 + .../dokka/images/nav-icons/annotation.svg | 7 + .../dokka/images/nav-icons/class-kotlin.svg | 13 + docs/java/dokka/images/nav-icons/class.svg | 7 + .../dokka/images/nav-icons/enum-kotlin.svg | 13 + docs/java/dokka/images/nav-icons/enum.svg | 7 + .../images/nav-icons/exception-class.svg | 7 + .../dokka/images/nav-icons/field-value.svg | 10 + .../dokka/images/nav-icons/field-variable.svg | 10 + docs/java/dokka/images/nav-icons/function.svg | 7 + .../images/nav-icons/interface-kotlin.svg | 13 + .../java/dokka/images/nav-icons/interface.svg | 7 + docs/java/dokka/images/nav-icons/object.svg | 13 + .../images/nav-icons/typealias-kotlin.svg | 13 + docs/java/dokka/images/theme-toggle.svg | 7 + docs/java/dokka/index.html | 99 + docs/java/dokka/navigation.html | 22 + docs/{ => java}/dokka/scripts/clipboard.js | 4 + docs/{ => java}/dokka/scripts/main.js | 10 +- .../dokka/scripts/navigation-loader.js | 33 +- docs/java/dokka/scripts/pages.json | 1 + .../dokka/scripts/platform-content-handler.js | 120 +- docs/java/dokka/scripts/prism.js | 22 + .../dokka/scripts/sourceset_dependencies.js | 1 + .../symbol-parameters-wrapper_deferred.js | 64 + docs/java/dokka/styles/font-jb-sans-auto.css | 36 + docs/java/dokka/styles/logo-styles.css | 9 + docs/{ => java}/dokka/styles/main.css | 10 +- docs/java/dokka/styles/prism.css | 217 + docs/{ => java}/dokka/styles/style.css | 1173 +- .../-s3-workspace-factory.html | 80 + .../-s3-workspace-factory/create.html | 80 + .../-s3-workspace-factory/get.html | 80 + .../-s3-workspace-factory/index.html | 138 + .../-s3-workspace/contains.html | 80 + .../-s3-workspace/copy.html | 80 + .../-s3-workspace/create-sub-workspace.html | 80 + .../-s3-workspace/delete.html | 80 + .../-s3-workspace/exists.html | 80 + .../-s3-workspace/files.html | 80 + .../-s3-workspace/get.html | 80 + .../-s3-workspace/has-sub-workspace.html | 80 + .../-s3-workspace/id.html | 80 + .../-s3-workspace/index.html | 303 + .../-s3-workspace/open-sub-workspace.html | 80 + .../-s3-workspace/open.html | 80 + .../-s3-workspace/path.html | 80 + .../-s3-workspace/touch.html | 80 + .../-s3-workspace/write.html | 80 + .../-sub-s3-workspace/index.html | 318 + .../-sub-s3-workspace/parent.html | 80 + .../-workspace-already-exists-error.html | 80 + .../-workspace-already-exists-error/id.html | 80 + .../index.html | 277 + .../-workspace-file/absolute-path.html | 80 + .../-workspace-file/delete.html | 80 + .../-workspace-file/download.html | 80 + .../-workspace-file/index.html | 213 + .../-workspace-file/last-modified.html | 80 + .../-workspace-file/name.html | 80 + .../-workspace-file/open.html | 80 + .../-workspace-file/relative-path.html | 80 + .../-workspace-file/size.html | 80 + .../index.html | 163 + docs/java/dokka/workspaces-java/package-list | 45 + docs/java/javadoc/allclasses.html | 36 + docs/{ => java}/javadoc/deprecated.html | 4 +- .../javadoc/dokka-javadoc-stylesheet.css | 6 +- docs/java/javadoc/element-list | 5 + .../javadoc/index-files/index-1.html | 8 +- docs/java/javadoc/index-files/index-10.html | 255 + docs/java/javadoc/index-files/index-11.html | 281 + docs/java/javadoc/index-files/index-12.html | 242 + docs/java/javadoc/index-files/index-13.html | 268 + docs/java/javadoc/index-files/index-2.html | 333 + docs/java/javadoc/index-files/index-3.html | 294 + docs/java/javadoc/index-files/index-4.html | 242 + docs/java/javadoc/index-files/index-5.html | 255 + docs/java/javadoc/index-files/index-6.html | 450 + docs/java/javadoc/index-files/index-7.html | 242 + .../javadoc/index-files/index-8.html | 8 +- docs/java/javadoc/index-files/index-9.html | 292 + docs/java/javadoc/index.html | 172 + .../javadoc/jquery/external/jquery/jquery.js | 1951 +- .../jquery/images/ui-icons_444444_256x240.png | Bin 0 -> 7090 bytes .../jquery/images/ui-icons_555555_256x240.png | Bin 0 -> 7074 bytes .../jquery/images/ui-icons_777620_256x240.png | Bin 0 -> 4618 bytes .../jquery/images/ui-icons_777777_256x240.png | Bin 0 -> 7111 bytes .../jquery/images/ui-icons_cc0000_256x240.png | Bin 0 -> 4618 bytes .../jquery/images/ui-icons_ffffff_256x240.png | Bin 0 -> 6487 bytes docs/java/javadoc/jquery/jquery-3.6.0.min.js | 2 + .../jquery/jquery-migrate-3.4.0.min.js | 2 + docs/java/javadoc/jquery/jquery-ui.css | 1315 ++ docs/java/javadoc/jquery/jquery-ui.js | 19057 ++++++++++++++++ docs/java/javadoc/jquery/jquery-ui.min.css | 7 + docs/java/javadoc/jquery/jquery-ui.min.js | 6 + .../javadoc/jquery/jquery-ui.structure.css | 886 + .../jquery/jquery-ui.structure.min.css | 5 + docs/java/javadoc/member-search-index.js | 1 + docs/java/javadoc/module-search-index.js | 1 + .../lib/s3/workspaces/java/S3Workspace.html} | 491 +- .../workspaces/java/S3WorkspaceFactory.html} | 151 +- .../s3/workspaces/java}/SubS3Workspace.html | 128 +- .../java/WorkspaceAlreadyExistsError.html | 477 + .../lib/s3/workspaces/java/WorkspaceFile.html | 620 + .../s3/workspaces/java/package-summary.html | 214 + docs/java/javadoc/package-list | 5 + docs/java/javadoc/package-search-index.js | 1 + docs/{ => java}/javadoc/resources/glass.png | Bin docs/{ => java}/javadoc/resources/x.png | Bin docs/{ => java}/javadoc/search.js | 4 + docs/{ => java}/javadoc/stylesheet.css | 16 +- docs/{ => java}/javadoc/tag-search-index.js | 0 docs/java/javadoc/type-search-index.js | 1 + .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 335 -> 0 bytes .../images/ui-bg_glass_65_dadada_1x400.png | Bin 262 -> 0 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 262 -> 0 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 262 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 332 -> 0 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 280 -> 0 bytes .../jquery/images/ui-icons_222222_256x240.png | Bin 6922 -> 0 bytes .../jquery/images/ui-icons_2e83ff_256x240.png | Bin 4549 -> 0 bytes .../jquery/images/ui-icons_454545_256x240.png | Bin 6992 -> 0 bytes .../jquery/images/ui-icons_888888_256x240.png | Bin 6999 -> 0 bytes .../jquery/images/ui-icons_cd0a0a_256x240.png | Bin 4549 -> 0 bytes docs/javadoc/jquery/jquery-migrate-3.0.1.js | 628 - docs/javadoc/jquery/jquery-ui.css | 582 - docs/javadoc/jquery/jquery-ui.js | 2659 --- docs/javadoc/jquery/jquery-ui.min.css | 7 - docs/javadoc/jquery/jquery-ui.min.js | 6 - docs/javadoc/jquery/jquery-ui.structure.css | 156 - .../jquery/jquery-ui.structure.min.css | 5 - docs/javadoc/member-search-index.js | 1 - docs/javadoc/module-search-index.js | 1 - .../dokka/images/anchor-copy-button.svg | 8 + docs/kotlin/dokka/images/arrow_down.svg | 7 + docs/kotlin/dokka/images/burger.svg | 9 + docs/kotlin/dokka/images/copy-icon.svg | 7 + .../dokka/images/copy-successful-icon.svg | 7 + .../kotlin/dokka/images/footer-go-to-link.svg | 7 + docs/kotlin/dokka/images/go-to-top-icon.svg | 8 + docs/kotlin/dokka/images/homepage.svg | 3 + docs/kotlin/dokka/images/logo-icon.svg | 14 + .../nav-icons/abstract-class-kotlin.svg | 26 + .../dokka/images/nav-icons/abstract-class.svg | 20 + .../images/nav-icons/annotation-kotlin.svg | 13 + .../dokka/images/nav-icons/annotation.svg | 7 + .../dokka/images/nav-icons/class-kotlin.svg | 13 + docs/kotlin/dokka/images/nav-icons/class.svg | 7 + .../dokka/images/nav-icons/enum-kotlin.svg | 13 + docs/kotlin/dokka/images/nav-icons/enum.svg | 7 + .../images/nav-icons/exception-class.svg | 7 + .../dokka/images/nav-icons/field-value.svg | 10 + .../dokka/images/nav-icons/field-variable.svg | 10 + .../dokka/images/nav-icons/function.svg | 7 + .../images/nav-icons/interface-kotlin.svg | 13 + .../dokka/images/nav-icons/interface.svg | 7 + docs/kotlin/dokka/images/nav-icons/object.svg | 13 + .../images/nav-icons/typealias-kotlin.svg | 13 + docs/kotlin/dokka/images/theme-toggle.svg | 7 + docs/kotlin/dokka/index.html | 99 + docs/kotlin/dokka/navigation.html | 22 + docs/kotlin/dokka/scripts/clipboard.js | 56 + docs/kotlin/dokka/scripts/main.js | 44 + .../kotlin/dokka/scripts/navigation-loader.js | 95 + docs/kotlin/dokka/scripts/pages.json | 1 + .../dokka/scripts/platform-content-handler.js | 400 + docs/kotlin/dokka/scripts/prism.js | 22 + .../dokka/scripts/sourceset_dependencies.js | 1 + .../symbol-parameters-wrapper_deferred.js | 64 + .../kotlin/dokka/styles/font-jb-sans-auto.css | 36 + docs/kotlin/dokka/styles/logo-styles.css | 9 + docs/kotlin/dokka/styles/main.css | 124 + docs/kotlin/dokka/styles/prism.css | 217 + docs/kotlin/dokka/styles/style.css | 1509 ++ .../-s3-workspace-factory.html | 80 + .../-s3-workspace-factory/create.html | 80 + .../-s3-workspace-factory/get.html | 80 + .../-s3-workspace-factory/index.html | 138 + .../-s3-workspace/contains.html | 80 + .../-s3-workspace/copy.html | 80 + .../-s3-workspace/create-sub-workspace.html | 80 + .../-s3-workspace/delete.html | 80 + .../-s3-workspace/exists.html | 80 + .../-s3-workspace/files.html | 80 + .../-s3-workspace/get.html | 80 + .../-s3-workspace/has-sub-workspace.html | 80 + .../-s3-workspace/id.html | 80 + .../-s3-workspace/index.html | 303 + .../-s3-workspace/open-sub-workspace.html | 80 + .../-s3-workspace/open.html | 80 + .../-s3-workspace/path.html | 80 + .../-s3-workspace/touch.html | 80 + .../-s3-workspace/write.html | 80 + .../-sub-s3-workspace/index.html | 318 + .../-sub-s3-workspace/parent.html | 80 + .../-workspace-already-exists-error.html | 80 + .../-workspace-already-exists-error/id.html | 80 + .../index.html | 277 + .../-workspace-file/absolute-path.html | 80 + .../-workspace-file/delete.html | 80 + .../-workspace-file/download.html | 80 + .../-workspace-file/index.html | 213 + .../-workspace-file/last-modified.html | 80 + .../-workspace-file/name.html | 80 + .../-workspace-file/open.html | 80 + .../-workspace-file/relative-path.html | 80 + .../-workspace-file/size.html | 80 + .../index.html | 163 + docs/kotlin/dokka/workspaces-kt/package-list | 44 + docs/{ => kotlin}/javadoc/allclasses.html | 4 +- docs/kotlin/javadoc/deprecated.html | 154 + .../javadoc/dokka-javadoc-stylesheet.css | 10 + docs/{ => kotlin}/javadoc/element-list | 0 docs/kotlin/javadoc/index-files/index-1.html | 229 + .../javadoc/index-files/index-10.html | 14 +- .../javadoc/index-files/index-11.html | 21 +- .../javadoc/index-files/index-12.html | 12 +- .../javadoc/index-files/index-13.html | 12 +- .../javadoc/index-files/index-2.html | 34 +- .../javadoc/index-files/index-3.html | 10 +- .../javadoc/index-files/index-4.html | 4 +- .../javadoc/index-files/index-5.html | 6 +- .../javadoc/index-files/index-6.html | 33 +- .../javadoc/index-files/index-7.html | 8 +- docs/kotlin/javadoc/index-files/index-8.html | 229 + .../javadoc/index-files/index-9.html | 16 +- docs/{ => kotlin}/javadoc/index.html | 8 +- .../javadoc/jquery/external/jquery/jquery.js} | 1951 +- .../jquery/images/ui-icons_444444_256x240.png | Bin 0 -> 7090 bytes .../jquery/images/ui-icons_555555_256x240.png | Bin 0 -> 7074 bytes .../jquery/images/ui-icons_777620_256x240.png | Bin 0 -> 4618 bytes .../jquery/images/ui-icons_777777_256x240.png | Bin 0 -> 7111 bytes .../jquery/images/ui-icons_cc0000_256x240.png | Bin 0 -> 4618 bytes .../jquery/images/ui-icons_ffffff_256x240.png | Bin 0 -> 6487 bytes .../kotlin/javadoc/jquery/jquery-3.6.0.min.js | 2 + .../jquery/jquery-migrate-3.4.0.min.js | 2 + docs/kotlin/javadoc/jquery/jquery-ui.css | 1315 ++ docs/kotlin/javadoc/jquery/jquery-ui.js | 19057 ++++++++++++++++ docs/kotlin/javadoc/jquery/jquery-ui.min.css | 7 + docs/kotlin/javadoc/jquery/jquery-ui.min.js | 6 + .../javadoc/jquery/jquery-ui.structure.css | 886 + .../jquery/jquery-ui.structure.min.css | 5 + docs/kotlin/javadoc/member-search-index.js | 1 + docs/kotlin/javadoc/module-search-index.js | 1 + .../lib/s3/workspaces/S3Workspace.html | 331 +- .../lib/s3/workspaces/S3WorkspaceFactory.html | 76 +- .../lib/s3/workspaces/SubS3Workspace.html} | 81 +- .../WorkspaceAlreadyExistsError.html | 92 +- .../lib/s3/workspaces/WorkspaceFile.html | 160 +- .../lib/s3/workspaces/package-summary.html | 4 +- docs/{ => kotlin}/javadoc/package-list | 0 .../javadoc/package-search-index.js | 0 docs/kotlin/javadoc/resources/glass.png | Bin 0 -> 499 bytes docs/kotlin/javadoc/resources/x.png | Bin 0 -> 394 bytes docs/kotlin/javadoc/search.js | 212 + docs/kotlin/javadoc/stylesheet.css | 889 + docs/kotlin/javadoc/tag-search-index.js | 1 + .../{ => kotlin}/javadoc/type-search-index.js | 0 gradle.properties | 1 - gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 257 +- lib/java/build.gradle.kts | 13 + .../lib/s3/workspaces/java}/S3Workspace.kt | 7 +- .../s3/workspaces/java/S3WorkspaceFactory.kt | 126 + .../lib/s3/workspaces/java/SubS3Workspace.kt | 23 + .../java/WorkspaceAlreadyExistsError.kt | 37 + .../lib/s3/workspaces/java}/WorkspaceFile.kt | 24 +- .../workspaces/java/impl/S3WorkspaceImpl.kt | 60 + .../java/impl/SubS3WorkspaceImpl.kt | 10 + .../workspaces/java/impl/WorkspaceFileImpl.kt | 31 + .../java/src}/main/resources/log4j2.xml | 0 .../s3/workspaces/S3WorkspaceFactoryTest.kt | 0 .../lib/s3/workspaces/util/StringKtTest.kt | 0 .../java/src}/test/resources/log4j2.xml | 0 lib/kotlin/build.gradle.kts | 20 + .../lib/s3/workspaces/S3Workspace.kt | 280 + .../lib/s3/workspaces/S3WorkspaceFactory.kt | 4 +- .../lib/s3/workspaces/SubS3Workspace.kt | 0 .../workspaces/WorkspaceAlreadyExistsError.kt | 0 .../lib/s3/workspaces/WorkspaceFile.kt | 90 + .../lib/s3/workspaces/impl/S3WorkspaceImpl.kt | 28 +- .../s3/workspaces/impl/SubS3WorkspaceImpl.kt | 0 .../s3/workspaces/impl/WorkspaceFileImpl.kt | 20 +- .../lib/s3/workspaces/impl/consts.kt | 0 .../lib/s3/workspaces/util/string.kt | 0 lib/kotlin/src/main/resources/log4j2.xml | 19 + .../s3/workspaces/S3WorkspaceFactoryTest.kt | 172 + .../lib/s3/workspaces/util/StringKtTest.kt | 154 + lib/kotlin/src/test/resources/log4j2.xml | 19 + settings.gradle.kts | 32 + src/main/kotlin/module-info.java | 12 - 369 files changed, 65910 insertions(+), 10540 deletions(-) delete mode 100644 docs/dokka/images/theme-toggle.svg delete mode 100644 docs/dokka/index.html delete mode 100644 docs/dokka/navigation.html delete mode 100644 docs/dokka/scripts/pages.json delete mode 100644 docs/dokka/scripts/prism.js delete mode 100644 docs/dokka/scripts/sourceset_dependencies.js delete mode 100644 docs/dokka/styles/jetbrains-mono.css delete mode 100644 docs/dokka/styles/logo-styles.css delete mode 100644 docs/dokka/styles/prism.css delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/-s3-workspace-factory.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/create.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/get.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/index.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/contains.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/copy.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/create-sub-workspace.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/delete.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/exists.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/files.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/get.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/has-sub-workspace.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/id.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/index.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/open-sub-workspace.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/open.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/path.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/touch.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/write.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/index.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/parent.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-workspace/index.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-workspace/parent.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/id.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/index.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/-workspace-factory.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/create.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/get.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/index.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/absolute-path.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/delete.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/download.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/index.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/last-modified.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/name.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/open.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/path.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/relative-path.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/size.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/contains.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/copy.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/create-sub-workspace.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/delete.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/exists.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/files.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/has-sub-workspace.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/id.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/index.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/open-sub-workspace.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/open.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/touch.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/write.html delete mode 100644 docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/index.html delete mode 100644 docs/dokka/workspaces/package-list rename docs/{ => java}/dokka/images/anchor-copy-button.svg (85%) rename docs/{ => java}/dokka/images/arrow_down.svg (55%) create mode 100644 docs/java/dokka/images/burger.svg rename docs/{ => java}/dokka/images/copy-icon.svg (62%) rename docs/{ => java}/dokka/images/copy-successful-icon.svg (67%) rename docs/{ => java}/dokka/images/footer-go-to-link.svg (61%) rename docs/{ => java}/dokka/images/go-to-top-icon.svg (68%) create mode 100644 docs/java/dokka/images/homepage.svg rename docs/{ => java}/dokka/images/logo-icon.svg (81%) create mode 100644 docs/java/dokka/images/nav-icons/abstract-class-kotlin.svg create mode 100644 docs/java/dokka/images/nav-icons/abstract-class.svg create mode 100644 docs/java/dokka/images/nav-icons/annotation-kotlin.svg create mode 100644 docs/java/dokka/images/nav-icons/annotation.svg create mode 100644 docs/java/dokka/images/nav-icons/class-kotlin.svg create mode 100644 docs/java/dokka/images/nav-icons/class.svg create mode 100644 docs/java/dokka/images/nav-icons/enum-kotlin.svg create mode 100644 docs/java/dokka/images/nav-icons/enum.svg create mode 100644 docs/java/dokka/images/nav-icons/exception-class.svg create mode 100644 docs/java/dokka/images/nav-icons/field-value.svg create mode 100644 docs/java/dokka/images/nav-icons/field-variable.svg create mode 100644 docs/java/dokka/images/nav-icons/function.svg create mode 100644 docs/java/dokka/images/nav-icons/interface-kotlin.svg create mode 100644 docs/java/dokka/images/nav-icons/interface.svg create mode 100644 docs/java/dokka/images/nav-icons/object.svg create mode 100644 docs/java/dokka/images/nav-icons/typealias-kotlin.svg create mode 100644 docs/java/dokka/images/theme-toggle.svg create mode 100644 docs/java/dokka/index.html create mode 100644 docs/java/dokka/navigation.html rename docs/{ => java}/dokka/scripts/clipboard.js (93%) rename docs/{ => java}/dokka/scripts/main.js (60%) rename docs/{ => java}/dokka/scripts/navigation-loader.js (65%) create mode 100644 docs/java/dokka/scripts/pages.json rename docs/{ => java}/dokka/scripts/platform-content-handler.js (76%) create mode 100644 docs/java/dokka/scripts/prism.js create mode 100644 docs/java/dokka/scripts/sourceset_dependencies.js create mode 100644 docs/java/dokka/scripts/symbol-parameters-wrapper_deferred.js create mode 100644 docs/java/dokka/styles/font-jb-sans-auto.css create mode 100644 docs/java/dokka/styles/logo-styles.css rename docs/{ => java}/dokka/styles/main.css (63%) create mode 100644 docs/java/dokka/styles/prism.css rename docs/{ => java}/dokka/styles/style.css (54%) create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/-s3-workspace-factory.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/create.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/get.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/index.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/contains.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/copy.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/create-sub-workspace.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/delete.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/exists.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/files.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/get.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/has-sub-workspace.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/id.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/index.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/open-sub-workspace.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/open.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/path.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/touch.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/write.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-sub-s3-workspace/index.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-sub-s3-workspace/parent.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/-workspace-already-exists-error.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/id.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/index.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/absolute-path.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/delete.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/download.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/index.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/last-modified.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/name.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/open.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/relative-path.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/size.html create mode 100644 docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/index.html create mode 100644 docs/java/dokka/workspaces-java/package-list create mode 100644 docs/java/javadoc/allclasses.html rename docs/{ => java}/javadoc/deprecated.html (98%) rename docs/{ => java}/javadoc/dokka-javadoc-stylesheet.css (53%) create mode 100644 docs/java/javadoc/element-list rename docs/{ => java}/javadoc/index-files/index-1.html (95%) create mode 100644 docs/java/javadoc/index-files/index-10.html create mode 100644 docs/java/javadoc/index-files/index-11.html create mode 100644 docs/java/javadoc/index-files/index-12.html create mode 100644 docs/java/javadoc/index-files/index-13.html create mode 100644 docs/java/javadoc/index-files/index-2.html create mode 100644 docs/java/javadoc/index-files/index-3.html create mode 100644 docs/java/javadoc/index-files/index-4.html create mode 100644 docs/java/javadoc/index-files/index-5.html create mode 100644 docs/java/javadoc/index-files/index-6.html create mode 100644 docs/java/javadoc/index-files/index-7.html rename docs/{ => java}/javadoc/index-files/index-8.html (96%) create mode 100644 docs/java/javadoc/index-files/index-9.html create mode 100644 docs/java/javadoc/index.html rename docs/{ => java}/javadoc/jquery/external/jquery/jquery.js (85%) create mode 100644 docs/java/javadoc/jquery/images/ui-icons_444444_256x240.png create mode 100644 docs/java/javadoc/jquery/images/ui-icons_555555_256x240.png create mode 100644 docs/java/javadoc/jquery/images/ui-icons_777620_256x240.png create mode 100644 docs/java/javadoc/jquery/images/ui-icons_777777_256x240.png create mode 100644 docs/java/javadoc/jquery/images/ui-icons_cc0000_256x240.png create mode 100644 docs/java/javadoc/jquery/images/ui-icons_ffffff_256x240.png create mode 100644 docs/java/javadoc/jquery/jquery-3.6.0.min.js create mode 100644 docs/java/javadoc/jquery/jquery-migrate-3.4.0.min.js create mode 100644 docs/java/javadoc/jquery/jquery-ui.css create mode 100644 docs/java/javadoc/jquery/jquery-ui.js create mode 100644 docs/java/javadoc/jquery/jquery-ui.min.css create mode 100644 docs/java/javadoc/jquery/jquery-ui.min.js create mode 100644 docs/java/javadoc/jquery/jquery-ui.structure.css create mode 100644 docs/java/javadoc/jquery/jquery-ui.structure.min.css create mode 100644 docs/java/javadoc/member-search-index.js create mode 100644 docs/java/javadoc/module-search-index.js rename docs/{javadoc/org/veupathdb/lib/s3/workspaces/Workspace.html => java/javadoc/org/veupathdb/lib/s3/workspaces/java/S3Workspace.html} (62%) rename docs/{javadoc/org/veupathdb/lib/s3/workspaces/WorkspaceFactory.html => java/javadoc/org/veupathdb/lib/s3/workspaces/java/S3WorkspaceFactory.html} (72%) rename docs/{javadoc/org/veupathdb/lib/s3/workspaces => java/javadoc/org/veupathdb/lib/s3/workspaces/java}/SubS3Workspace.html (75%) create mode 100644 docs/java/javadoc/org/veupathdb/lib/s3/workspaces/java/WorkspaceAlreadyExistsError.html create mode 100644 docs/java/javadoc/org/veupathdb/lib/s3/workspaces/java/WorkspaceFile.html create mode 100644 docs/java/javadoc/org/veupathdb/lib/s3/workspaces/java/package-summary.html create mode 100644 docs/java/javadoc/package-list create mode 100644 docs/java/javadoc/package-search-index.js rename docs/{ => java}/javadoc/resources/glass.png (100%) rename docs/{ => java}/javadoc/resources/x.png (100%) rename docs/{ => java}/javadoc/search.js (98%) rename docs/{ => java}/javadoc/stylesheet.css (97%) rename docs/{ => java}/javadoc/tag-search-index.js (100%) create mode 100644 docs/java/javadoc/type-search-index.js delete mode 100644 docs/javadoc/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png delete mode 100644 docs/javadoc/jquery/images/ui-bg_glass_65_dadada_1x400.png delete mode 100644 docs/javadoc/jquery/images/ui-bg_glass_75_dadada_1x400.png delete mode 100644 docs/javadoc/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png delete mode 100644 docs/javadoc/jquery/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100644 docs/javadoc/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png delete mode 100644 docs/javadoc/jquery/images/ui-icons_222222_256x240.png delete mode 100644 docs/javadoc/jquery/images/ui-icons_2e83ff_256x240.png delete mode 100644 docs/javadoc/jquery/images/ui-icons_454545_256x240.png delete mode 100644 docs/javadoc/jquery/images/ui-icons_888888_256x240.png delete mode 100644 docs/javadoc/jquery/images/ui-icons_cd0a0a_256x240.png delete mode 100644 docs/javadoc/jquery/jquery-migrate-3.0.1.js delete mode 100644 docs/javadoc/jquery/jquery-ui.css delete mode 100644 docs/javadoc/jquery/jquery-ui.js delete mode 100644 docs/javadoc/jquery/jquery-ui.min.css delete mode 100644 docs/javadoc/jquery/jquery-ui.min.js delete mode 100644 docs/javadoc/jquery/jquery-ui.structure.css delete mode 100644 docs/javadoc/jquery/jquery-ui.structure.min.css delete mode 100644 docs/javadoc/member-search-index.js delete mode 100644 docs/javadoc/module-search-index.js create mode 100644 docs/kotlin/dokka/images/anchor-copy-button.svg create mode 100644 docs/kotlin/dokka/images/arrow_down.svg create mode 100644 docs/kotlin/dokka/images/burger.svg create mode 100644 docs/kotlin/dokka/images/copy-icon.svg create mode 100644 docs/kotlin/dokka/images/copy-successful-icon.svg create mode 100644 docs/kotlin/dokka/images/footer-go-to-link.svg create mode 100644 docs/kotlin/dokka/images/go-to-top-icon.svg create mode 100644 docs/kotlin/dokka/images/homepage.svg create mode 100644 docs/kotlin/dokka/images/logo-icon.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/abstract-class-kotlin.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/abstract-class.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/annotation-kotlin.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/annotation.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/class-kotlin.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/class.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/enum-kotlin.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/enum.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/exception-class.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/field-value.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/field-variable.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/function.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/interface-kotlin.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/interface.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/object.svg create mode 100644 docs/kotlin/dokka/images/nav-icons/typealias-kotlin.svg create mode 100644 docs/kotlin/dokka/images/theme-toggle.svg create mode 100644 docs/kotlin/dokka/index.html create mode 100644 docs/kotlin/dokka/navigation.html create mode 100644 docs/kotlin/dokka/scripts/clipboard.js create mode 100644 docs/kotlin/dokka/scripts/main.js create mode 100644 docs/kotlin/dokka/scripts/navigation-loader.js create mode 100644 docs/kotlin/dokka/scripts/pages.json create mode 100644 docs/kotlin/dokka/scripts/platform-content-handler.js create mode 100644 docs/kotlin/dokka/scripts/prism.js create mode 100644 docs/kotlin/dokka/scripts/sourceset_dependencies.js create mode 100644 docs/kotlin/dokka/scripts/symbol-parameters-wrapper_deferred.js create mode 100644 docs/kotlin/dokka/styles/font-jb-sans-auto.css create mode 100644 docs/kotlin/dokka/styles/logo-styles.css create mode 100644 docs/kotlin/dokka/styles/main.css create mode 100644 docs/kotlin/dokka/styles/prism.css create mode 100644 docs/kotlin/dokka/styles/style.css create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/-s3-workspace-factory.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/create.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/get.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/index.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/contains.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/copy.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/create-sub-workspace.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/delete.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/exists.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/files.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/get.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/has-sub-workspace.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/id.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/index.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/open-sub-workspace.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/open.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/path.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/touch.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-s3-workspace/write.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/index.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/parent.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/id.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/index.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-workspace-file/absolute-path.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-workspace-file/delete.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-workspace-file/download.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-workspace-file/index.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-workspace-file/last-modified.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-workspace-file/name.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-workspace-file/open.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-workspace-file/relative-path.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/-workspace-file/size.html create mode 100644 docs/kotlin/dokka/workspaces-kt/org.veupathdb.lib.s3.workspaces/index.html create mode 100644 docs/kotlin/dokka/workspaces-kt/package-list rename docs/{ => kotlin}/javadoc/allclasses.html (94%) create mode 100644 docs/kotlin/javadoc/deprecated.html create mode 100644 docs/kotlin/javadoc/dokka-javadoc-stylesheet.css rename docs/{ => kotlin}/javadoc/element-list (100%) create mode 100644 docs/kotlin/javadoc/index-files/index-1.html rename docs/{ => kotlin}/javadoc/index-files/index-10.html (92%) rename docs/{ => kotlin}/javadoc/index-files/index-11.html (92%) rename docs/{ => kotlin}/javadoc/index-files/index-12.html (95%) rename docs/{ => kotlin}/javadoc/index-files/index-13.html (94%) rename docs/{ => kotlin}/javadoc/index-files/index-2.html (86%) rename docs/{ => kotlin}/javadoc/index-files/index-3.html (96%) rename docs/{ => kotlin}/javadoc/index-files/index-4.html (98%) rename docs/{ => kotlin}/javadoc/index-files/index-5.html (97%) rename docs/{ => kotlin}/javadoc/index-files/index-6.html (92%) rename docs/{ => kotlin}/javadoc/index-files/index-7.html (95%) create mode 100644 docs/kotlin/javadoc/index-files/index-8.html rename docs/{ => kotlin}/javadoc/index-files/index-9.html (93%) rename docs/{ => kotlin}/javadoc/index.html (96%) rename docs/{javadoc/jquery/jquery-3.3.1.js => kotlin/javadoc/jquery/external/jquery/jquery.js} (85%) create mode 100644 docs/kotlin/javadoc/jquery/images/ui-icons_444444_256x240.png create mode 100644 docs/kotlin/javadoc/jquery/images/ui-icons_555555_256x240.png create mode 100644 docs/kotlin/javadoc/jquery/images/ui-icons_777620_256x240.png create mode 100644 docs/kotlin/javadoc/jquery/images/ui-icons_777777_256x240.png create mode 100644 docs/kotlin/javadoc/jquery/images/ui-icons_cc0000_256x240.png create mode 100644 docs/kotlin/javadoc/jquery/images/ui-icons_ffffff_256x240.png create mode 100644 docs/kotlin/javadoc/jquery/jquery-3.6.0.min.js create mode 100644 docs/kotlin/javadoc/jquery/jquery-migrate-3.4.0.min.js create mode 100644 docs/kotlin/javadoc/jquery/jquery-ui.css create mode 100644 docs/kotlin/javadoc/jquery/jquery-ui.js create mode 100644 docs/kotlin/javadoc/jquery/jquery-ui.min.css create mode 100644 docs/kotlin/javadoc/jquery/jquery-ui.min.js create mode 100644 docs/kotlin/javadoc/jquery/jquery-ui.structure.css create mode 100644 docs/kotlin/javadoc/jquery/jquery-ui.structure.min.css create mode 100644 docs/kotlin/javadoc/member-search-index.js create mode 100644 docs/kotlin/javadoc/module-search-index.js rename docs/{ => kotlin}/javadoc/org/veupathdb/lib/s3/workspaces/S3Workspace.html (78%) rename docs/{ => kotlin}/javadoc/org/veupathdb/lib/s3/workspaces/S3WorkspaceFactory.html (89%) rename docs/{javadoc/org/veupathdb/lib/s3/workspaces/SubWorkspace.html => kotlin/javadoc/org/veupathdb/lib/s3/workspaces/SubS3Workspace.html} (86%) rename docs/{ => kotlin}/javadoc/org/veupathdb/lib/s3/workspaces/WorkspaceAlreadyExistsError.html (83%) rename docs/{ => kotlin}/javadoc/org/veupathdb/lib/s3/workspaces/WorkspaceFile.html (91%) rename docs/{ => kotlin}/javadoc/org/veupathdb/lib/s3/workspaces/package-summary.html (99%) rename docs/{ => kotlin}/javadoc/package-list (100%) rename docs/{ => kotlin}/javadoc/package-search-index.js (100%) create mode 100644 docs/kotlin/javadoc/resources/glass.png create mode 100644 docs/kotlin/javadoc/resources/x.png create mode 100644 docs/kotlin/javadoc/search.js create mode 100644 docs/kotlin/javadoc/stylesheet.css create mode 100644 docs/kotlin/javadoc/tag-search-index.js rename docs/{ => kotlin}/javadoc/type-search-index.js (100%) delete mode 100644 gradle.properties create mode 100644 lib/java/build.gradle.kts rename {src/main/kotlin/org/veupathdb/lib/s3/workspaces => lib/java/src/main/kotlin/org/veupathdb/lib/s3/workspaces/java}/S3Workspace.kt (99%) create mode 100644 lib/java/src/main/kotlin/org/veupathdb/lib/s3/workspaces/java/S3WorkspaceFactory.kt create mode 100644 lib/java/src/main/kotlin/org/veupathdb/lib/s3/workspaces/java/SubS3Workspace.kt create mode 100644 lib/java/src/main/kotlin/org/veupathdb/lib/s3/workspaces/java/WorkspaceAlreadyExistsError.kt rename {src/main/kotlin/org/veupathdb/lib/s3/workspaces => lib/java/src/main/kotlin/org/veupathdb/lib/s3/workspaces/java}/WorkspaceFile.kt (96%) create mode 100644 lib/java/src/main/kotlin/org/veupathdb/lib/s3/workspaces/java/impl/S3WorkspaceImpl.kt create mode 100644 lib/java/src/main/kotlin/org/veupathdb/lib/s3/workspaces/java/impl/SubS3WorkspaceImpl.kt create mode 100644 lib/java/src/main/kotlin/org/veupathdb/lib/s3/workspaces/java/impl/WorkspaceFileImpl.kt rename {src => lib/java/src}/main/resources/log4j2.xml (100%) rename {src => lib/java/src}/test/kotlin/org/veupathdb/lib/s3/workspaces/S3WorkspaceFactoryTest.kt (100%) rename {src => lib/java/src}/test/kotlin/org/veupathdb/lib/s3/workspaces/util/StringKtTest.kt (100%) rename {src => lib/java/src}/test/resources/log4j2.xml (100%) create mode 100644 lib/kotlin/build.gradle.kts create mode 100644 lib/kotlin/src/main/kotlin/org/veupathdb/lib/s3/workspaces/S3Workspace.kt rename {src => lib/kotlin/src}/main/kotlin/org/veupathdb/lib/s3/workspaces/S3WorkspaceFactory.kt (98%) rename {src => lib/kotlin/src}/main/kotlin/org/veupathdb/lib/s3/workspaces/SubS3Workspace.kt (100%) rename {src => lib/kotlin/src}/main/kotlin/org/veupathdb/lib/s3/workspaces/WorkspaceAlreadyExistsError.kt (100%) create mode 100644 lib/kotlin/src/main/kotlin/org/veupathdb/lib/s3/workspaces/WorkspaceFile.kt rename {src => lib/kotlin/src}/main/kotlin/org/veupathdb/lib/s3/workspaces/impl/S3WorkspaceImpl.kt (74%) rename {src => lib/kotlin/src}/main/kotlin/org/veupathdb/lib/s3/workspaces/impl/SubS3WorkspaceImpl.kt (100%) rename {src => lib/kotlin/src}/main/kotlin/org/veupathdb/lib/s3/workspaces/impl/WorkspaceFileImpl.kt (65%) rename {src => lib/kotlin/src}/main/kotlin/org/veupathdb/lib/s3/workspaces/impl/consts.kt (100%) rename {src => lib/kotlin/src}/main/kotlin/org/veupathdb/lib/s3/workspaces/util/string.kt (100%) create mode 100644 lib/kotlin/src/main/resources/log4j2.xml create mode 100644 lib/kotlin/src/test/kotlin/org/veupathdb/lib/s3/workspaces/S3WorkspaceFactoryTest.kt create mode 100644 lib/kotlin/src/test/kotlin/org/veupathdb/lib/s3/workspaces/util/StringKtTest.kt create mode 100644 lib/kotlin/src/test/resources/log4j2.xml delete mode 100644 src/main/kotlin/module-info.java diff --git a/.gitignore b/.gitignore index 3199345..b904f50 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,9 @@ /test/.gradle/ /out/ /test/out/ + +/lib/java/docs/ +/lib/java/build/ + +/lib/kotlin/build/ +/lib/kotlin/docs/ diff --git a/build.gradle.kts b/build.gradle.kts index 1ab71e0..a57458d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,111 +1,119 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.internal.ensureParentDirsCreated plugins { - kotlin("jvm") version "1.8.0" - id("org.jetbrains.dokka") version "1.7.20" + kotlin("jvm") version "2.0.10" + id("org.jetbrains.dokka") version "1.9.20" java `maven-publish` } group = "org.veupathdb.lib.s3" -version = "4.1.2" - -repositories { - mavenLocal() - mavenCentral() - - maven { - name = "GitHubPackages" - url = uri("https://maven.pkg.github.com/veupathdb/packages") - credentials { - username = project.findProperty("gpr.user") as String? ?: System.getenv("GITHUB_USERNAME") - password = project.findProperty("gpr.key") as String? ?: System.getenv("GITHUB_TOKEN") - } - } -} - -kotlin { - jvmToolchain(16) -} - -dependencies { - implementation(kotlin("stdlib")) - implementation(kotlin("stdlib-jdk8")) +version = "5.0.0" - implementation("org.veupathdb.lib.s3:s34k-minio:0.7.2+s34k-0.11.0") - - implementation("org.veupathdb.lib:hash-id:1.0.2") - - implementation("org.slf4j:slf4j-api:1.7.36") - - implementation("org.apache.logging.log4j:log4j-api:2.17.2") - implementation("org.apache.logging.log4j:log4j-core:2.17.2") - implementation("org.apache.logging.log4j:log4j-slf4j-impl:2.17.2") - - testImplementation("org.mockito:mockito-core:4.5.1") - testImplementation("org.junit.jupiter:junit-jupiter:5.8.2") - testImplementation(kotlin("test")) -} +allprojects { + repositories { + mavenLocal() + mavenCentral() -java { - withJavadocJar() - withSourcesJar() + maven { + name = "GitHubPackages" + url = uri("https://maven.pkg.github.com/veupathdb/packages") + credentials { + username = project.findProperty("gpr.user") as String? ?: System.getenv("GITHUB_USERNAME") + password = project.findProperty("gpr.key") as String? ?: System.getenv("GITHUB_TOKEN") + } + } + } } -tasks.javadoc { - exclude("module-info.java") -} +subprojects { + apply(plugin = "java") + apply(plugin = "maven-publish") + apply(plugin = "org.jetbrains.dokka") -tasks.dokkaHtml { - outputDirectory.set(file("docs/dokka")) -} + java { + withJavadocJar() + withSourcesJar() + } -tasks.dokkaJavadoc { - outputDirectory.set(file("docs/javadoc")) -} + tasks.dokkaHtml { + outputDirectory.set(file("docs/dokka")) + } -task("docs") { - dependsOn("dokkaHtml", "dokkaJavadoc") -} + tasks.dokkaJavadoc { + outputDirectory.set(file("docs/javadoc")) + } -tasks.test { - useJUnitPlatform() -} + tasks.test { + useJUnitPlatform() + } -publishing { - repositories { - maven { - name = "GitHub" - url = uri("https://maven.pkg.github.com/VEuPathDB/lib-s3-workspace") - credentials { - username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME") - password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN") + publishing { + repositories { + maven { + name = "GitHub" + url = uri("https://maven.pkg.github.com/VEuPathDB/lib-s3-workspace") + credentials { + username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME") + password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN") + } } } - } - publications { - create("gpr") { - from(components["java"]) - pom { - name.set("S3 Workspaces") - description.set("Workspaces backed by an S3 object store.") - url.set("https://github.com/VEuPathDB/lib-s3-workspace") - developers { - developer { - id.set("epharper") - name.set("Elizabeth Paige Harper") - email.set("epharper@upenn.edu") - url.set("https://github.com/foxcapades") - organization.set("VEuPathDB") - } - } - scm { - connection.set("scm:git:git://github.com/VEuPathDB/lib-s3-workspace.git") - developerConnection.set("scm:git:ssh://github.com/VEuPathDB/lib-s3-workspace.git") + publications { + create("gpr") { + from(components["java"]) + pom { + name.set("S3 Workspaces") + description.set("Workspaces backed by an S3 object store.") url.set("https://github.com/VEuPathDB/lib-s3-workspace") + developers { + developer { + id.set("epharper") + name.set("Elizabeth Paige Harper") + email.set("epharper@upenn.edu") + url.set("https://github.com/foxcapades") + organization.set("VEuPathDB") + } + } + scm { + connection.set("scm:git:git://github.com/VEuPathDB/lib-s3-workspace.git") + developerConnection.set("scm:git:ssh://github.com/VEuPathDB/lib-s3-workspace.git") + url.set("https://github.com/VEuPathDB/lib-s3-workspace") + } } } } } } + + +task("docs") { + dependsOn( + ":lib:workspaces-java:dokkaHtml", + ":lib:workspaces-java:dokkaJavadoc", + ":lib:workspaces-kt:dokkaHtml", + ":lib:workspaces-kt:dokkaJavadoc", + ) + + doLast { + val docDirs = mapOf( + file("lib/java/docs/dokka") to file("docs/java/dokka"), + file("lib/java/docs/javadoc") to file("docs/java/javadoc"), + file("lib/kotlin/docs/dokka") to file("docs/kotlin/dokka"), + file("lib/kotlin/docs/javadoc") to file("docs/kotlin/javadoc"), + ) + + for ((from, to) in docDirs) { + if (!from.exists()) + throw Exception("expected path $from to exist but it didn't") + + if (to.exists()) + to.deleteRecursively() + else + to.ensureParentDirsCreated() + + from.copyRecursively(to) + } + } +} diff --git a/docs/dokka/images/theme-toggle.svg b/docs/dokka/images/theme-toggle.svg deleted file mode 100644 index 2a8d750..0000000 --- a/docs/dokka/images/theme-toggle.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/docs/dokka/index.html b/docs/dokka/index.html deleted file mode 100644 index 1df73c9..0000000 --- a/docs/dokka/index.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - workspaces - - - - -
-
-
-
-
-
- -
-

workspaces

-
-

Packages

-
-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
-
-
-
-
- -
-
- - - diff --git a/docs/dokka/navigation.html b/docs/dokka/navigation.html deleted file mode 100644 index 5ca4f9e..0000000 --- a/docs/dokka/navigation.html +++ /dev/null @@ -1,22 +0,0 @@ - - diff --git a/docs/dokka/scripts/pages.json b/docs/dokka/scripts/pages.json deleted file mode 100644 index e060124..0000000 --- a/docs/dokka/scripts/pages.json +++ /dev/null @@ -1 +0,0 @@ -[{"name":"abstract fun copy(from: File, to: String): WorkspaceFile","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.copy","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/copy.html","searchKeys":["copy","abstract fun copy(from: File, to: String): WorkspaceFile","org.veupathdb.lib.s3.workspaces.S3Workspace.copy"]},{"name":"abstract fun copy(from: String, to: File)","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.copy","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/copy.html","searchKeys":["copy","abstract fun copy(from: String, to: File)","org.veupathdb.lib.s3.workspaces.S3Workspace.copy"]},{"name":"abstract fun createSubWorkspace(id: HashID): SubS3Workspace","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.createSubWorkspace","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/create-sub-workspace.html","searchKeys":["createSubWorkspace","abstract fun createSubWorkspace(id: HashID): SubS3Workspace","org.veupathdb.lib.s3.workspaces.S3Workspace.createSubWorkspace"]},{"name":"abstract fun delete()","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.delete","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/delete.html","searchKeys":["delete","abstract fun delete()","org.veupathdb.lib.s3.workspaces.S3Workspace.delete"]},{"name":"abstract fun delete()","description":"org.veupathdb.lib.s3.workspaces.WorkspaceFile.delete","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/delete.html","searchKeys":["delete","abstract fun delete()","org.veupathdb.lib.s3.workspaces.WorkspaceFile.delete"]},{"name":"abstract fun delete(path: String)","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.delete","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/delete.html","searchKeys":["delete","abstract fun delete(path: String)","org.veupathdb.lib.s3.workspaces.S3Workspace.delete"]},{"name":"abstract fun download(localFile: File): File","description":"org.veupathdb.lib.s3.workspaces.WorkspaceFile.download","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/download.html","searchKeys":["download","abstract fun download(localFile: File): File","org.veupathdb.lib.s3.workspaces.WorkspaceFile.download"]},{"name":"abstract fun exists(): Boolean","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.exists","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/exists.html","searchKeys":["exists","abstract fun exists(): Boolean","org.veupathdb.lib.s3.workspaces.S3Workspace.exists"]},{"name":"abstract fun files(): List","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.files","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/files.html","searchKeys":["files","abstract fun files(): List","org.veupathdb.lib.s3.workspaces.S3Workspace.files"]},{"name":"abstract fun hasSubWorkspace(id: HashID): Boolean","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.hasSubWorkspace","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/has-sub-workspace.html","searchKeys":["hasSubWorkspace","abstract fun hasSubWorkspace(id: HashID): Boolean","org.veupathdb.lib.s3.workspaces.S3Workspace.hasSubWorkspace"]},{"name":"abstract fun open(): InputStream","description":"org.veupathdb.lib.s3.workspaces.WorkspaceFile.open","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/open.html","searchKeys":["open","abstract fun open(): InputStream","org.veupathdb.lib.s3.workspaces.WorkspaceFile.open"]},{"name":"abstract fun open(path: String): InputStream","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.open","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/open.html","searchKeys":["open","abstract fun open(path: String): InputStream","org.veupathdb.lib.s3.workspaces.S3Workspace.open"]},{"name":"abstract fun openSubWorkspace(id: HashID): SubS3Workspace?","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.openSubWorkspace","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/open-sub-workspace.html","searchKeys":["openSubWorkspace","abstract fun openSubWorkspace(id: HashID): SubS3Workspace?","org.veupathdb.lib.s3.workspaces.S3Workspace.openSubWorkspace"]},{"name":"abstract fun touch(path: String): WorkspaceFile","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.touch","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/touch.html","searchKeys":["touch","abstract fun touch(path: String): WorkspaceFile","org.veupathdb.lib.s3.workspaces.S3Workspace.touch"]},{"name":"abstract fun write(path: String, stream: InputStream): WorkspaceFile","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.write","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/write.html","searchKeys":["write","abstract fun write(path: String, stream: InputStream): WorkspaceFile","org.veupathdb.lib.s3.workspaces.S3Workspace.write"]},{"name":"abstract operator fun contains(path: String): Boolean","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.contains","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/contains.html","searchKeys":["contains","abstract operator fun contains(path: String): Boolean","org.veupathdb.lib.s3.workspaces.S3Workspace.contains"]},{"name":"abstract operator fun get(path: String): WorkspaceFile?","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.get","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/get.html","searchKeys":["get","abstract operator fun get(path: String): WorkspaceFile?","org.veupathdb.lib.s3.workspaces.S3Workspace.get"]},{"name":"abstract val absolutePath: String","description":"org.veupathdb.lib.s3.workspaces.WorkspaceFile.absolutePath","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/absolute-path.html","searchKeys":["absolutePath","abstract val absolutePath: String","org.veupathdb.lib.s3.workspaces.WorkspaceFile.absolutePath"]},{"name":"abstract val id: HashID","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.id","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/id.html","searchKeys":["id","abstract val id: HashID","org.veupathdb.lib.s3.workspaces.S3Workspace.id"]},{"name":"abstract val lastModified: OffsetDateTime?","description":"org.veupathdb.lib.s3.workspaces.WorkspaceFile.lastModified","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/last-modified.html","searchKeys":["lastModified","abstract val lastModified: OffsetDateTime?","org.veupathdb.lib.s3.workspaces.WorkspaceFile.lastModified"]},{"name":"abstract val name: String","description":"org.veupathdb.lib.s3.workspaces.WorkspaceFile.name","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/name.html","searchKeys":["name","abstract val name: String","org.veupathdb.lib.s3.workspaces.WorkspaceFile.name"]},{"name":"abstract val parent: S3Workspace","description":"org.veupathdb.lib.s3.workspaces.SubS3Workspace.parent","location":"workspaces/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/parent.html","searchKeys":["parent","abstract val parent: S3Workspace","org.veupathdb.lib.s3.workspaces.SubS3Workspace.parent"]},{"name":"abstract val path: String","description":"org.veupathdb.lib.s3.workspaces.S3Workspace.path","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/path.html","searchKeys":["path","abstract val path: String","org.veupathdb.lib.s3.workspaces.S3Workspace.path"]},{"name":"abstract val relativePath: String","description":"org.veupathdb.lib.s3.workspaces.WorkspaceFile.relativePath","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/relative-path.html","searchKeys":["relativePath","abstract val relativePath: String","org.veupathdb.lib.s3.workspaces.WorkspaceFile.relativePath"]},{"name":"abstract val size: Long","description":"org.veupathdb.lib.s3.workspaces.WorkspaceFile.size","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/size.html","searchKeys":["size","abstract val size: Long","org.veupathdb.lib.s3.workspaces.WorkspaceFile.size"]},{"name":"class S3WorkspaceFactory(s3: S3Client, bucket: String, rootDir: String)","description":"org.veupathdb.lib.s3.workspaces.S3WorkspaceFactory","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/index.html","searchKeys":["S3WorkspaceFactory","class S3WorkspaceFactory(s3: S3Client, bucket: String, rootDir: String)","org.veupathdb.lib.s3.workspaces.S3WorkspaceFactory"]},{"name":"class WorkspaceAlreadyExistsError : Exception","description":"org.veupathdb.lib.s3.workspaces.WorkspaceAlreadyExistsError","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/index.html","searchKeys":["WorkspaceAlreadyExistsError","class WorkspaceAlreadyExistsError : Exception","org.veupathdb.lib.s3.workspaces.WorkspaceAlreadyExistsError"]},{"name":"fun S3WorkspaceFactory(s3: S3Client, bucket: String)","description":"org.veupathdb.lib.s3.workspaces.S3WorkspaceFactory.S3WorkspaceFactory","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/-s3-workspace-factory.html","searchKeys":["S3WorkspaceFactory","fun S3WorkspaceFactory(s3: S3Client, bucket: String)","org.veupathdb.lib.s3.workspaces.S3WorkspaceFactory.S3WorkspaceFactory"]},{"name":"fun S3WorkspaceFactory(s3: S3Client, bucket: String, rootDir: String)","description":"org.veupathdb.lib.s3.workspaces.S3WorkspaceFactory.S3WorkspaceFactory","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/-s3-workspace-factory.html","searchKeys":["S3WorkspaceFactory","fun S3WorkspaceFactory(s3: S3Client, bucket: String, rootDir: String)","org.veupathdb.lib.s3.workspaces.S3WorkspaceFactory.S3WorkspaceFactory"]},{"name":"fun WorkspaceAlreadyExistsError(id: HashID)","description":"org.veupathdb.lib.s3.workspaces.WorkspaceAlreadyExistsError.WorkspaceAlreadyExistsError","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html","searchKeys":["WorkspaceAlreadyExistsError","fun WorkspaceAlreadyExistsError(id: HashID)","org.veupathdb.lib.s3.workspaces.WorkspaceAlreadyExistsError.WorkspaceAlreadyExistsError"]},{"name":"fun WorkspaceAlreadyExistsError(id: HashID, cause: Throwable)","description":"org.veupathdb.lib.s3.workspaces.WorkspaceAlreadyExistsError.WorkspaceAlreadyExistsError","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html","searchKeys":["WorkspaceAlreadyExistsError","fun WorkspaceAlreadyExistsError(id: HashID, cause: Throwable)","org.veupathdb.lib.s3.workspaces.WorkspaceAlreadyExistsError.WorkspaceAlreadyExistsError"]},{"name":"fun WorkspaceAlreadyExistsError(id: HashID, msg: String)","description":"org.veupathdb.lib.s3.workspaces.WorkspaceAlreadyExistsError.WorkspaceAlreadyExistsError","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html","searchKeys":["WorkspaceAlreadyExistsError","fun WorkspaceAlreadyExistsError(id: HashID, msg: String)","org.veupathdb.lib.s3.workspaces.WorkspaceAlreadyExistsError.WorkspaceAlreadyExistsError"]},{"name":"fun WorkspaceAlreadyExistsError(id: HashID, msg: String, cause: Throwable)","description":"org.veupathdb.lib.s3.workspaces.WorkspaceAlreadyExistsError.WorkspaceAlreadyExistsError","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html","searchKeys":["WorkspaceAlreadyExistsError","fun WorkspaceAlreadyExistsError(id: HashID, msg: String, cause: Throwable)","org.veupathdb.lib.s3.workspaces.WorkspaceAlreadyExistsError.WorkspaceAlreadyExistsError"]},{"name":"fun create(id: HashID): S3Workspace","description":"org.veupathdb.lib.s3.workspaces.S3WorkspaceFactory.create","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/create.html","searchKeys":["create","fun create(id: HashID): S3Workspace","org.veupathdb.lib.s3.workspaces.S3WorkspaceFactory.create"]},{"name":"interface S3Workspace","description":"org.veupathdb.lib.s3.workspaces.S3Workspace","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/index.html","searchKeys":["S3Workspace","interface S3Workspace","org.veupathdb.lib.s3.workspaces.S3Workspace"]},{"name":"interface SubS3Workspace : S3Workspace","description":"org.veupathdb.lib.s3.workspaces.SubS3Workspace","location":"workspaces/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/index.html","searchKeys":["SubS3Workspace","interface SubS3Workspace : S3Workspace","org.veupathdb.lib.s3.workspaces.SubS3Workspace"]},{"name":"interface WorkspaceFile","description":"org.veupathdb.lib.s3.workspaces.WorkspaceFile","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/index.html","searchKeys":["WorkspaceFile","interface WorkspaceFile","org.veupathdb.lib.s3.workspaces.WorkspaceFile"]},{"name":"operator fun get(id: HashID): S3Workspace?","description":"org.veupathdb.lib.s3.workspaces.S3WorkspaceFactory.get","location":"workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/get.html","searchKeys":["get","operator fun get(id: HashID): S3Workspace?","org.veupathdb.lib.s3.workspaces.S3WorkspaceFactory.get"]},{"name":"val id: HashID","description":"org.veupathdb.lib.s3.workspaces.WorkspaceAlreadyExistsError.id","location":"workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/id.html","searchKeys":["id","val id: HashID","org.veupathdb.lib.s3.workspaces.WorkspaceAlreadyExistsError.id"]}] diff --git a/docs/dokka/scripts/prism.js b/docs/dokka/scripts/prism.js deleted file mode 100644 index 88fee76..0000000 --- a/docs/dokka/scripts/prism.js +++ /dev/null @@ -1,13 +0,0 @@ -/* PrismJS 1.24.1 -https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+java+javadoc+javadoclike+kotlin&plugins=keep-markup */ -var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,n=0,e={},M={manual:u.Prism&&u.Prism.manual,disableWorkerMessageHandler:u.Prism&&u.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof W?new W(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/=l.reach);y+=m.value.length,m=m.next){var b=m.value;if(t.length>n.length)return;if(!(b instanceof W)){var k,x=1;if(h){if(!(k=z(v,y,n,f)))break;var w=k.index,A=k.index+k[0].length,P=y;for(P+=m.value.length;P<=w;)m=m.next,P+=m.value.length;if(P-=m.value.length,y=P,m.value instanceof W)continue;for(var E=m;E!==t.tail&&(Pl.reach&&(l.reach=N);var j=m.prev;O&&(j=I(t,j,O),y+=O.length),q(t,j,x);var C=new W(o,g?M.tokenize(S,g):S,d,S);if(m=I(t,j,C),L&&I(t,m,L),1l.reach&&(l.reach=_.reach)}}}}}}(e,a,n,a.head,0),function(e){var n=[],t=e.head.next;for(;t!==e.tail;)n.push(t.value),t=t.next;return n}(a)},hooks:{all:{},add:function(e,n){var t=M.hooks.all;t[e]=t[e]||[],t[e].push(n)},run:function(e,n){var t=M.hooks.all[e];if(t&&t.length)for(var r,a=0;r=t[a++];)r(n)}},Token:W};function W(e,n,t,r){this.type=e,this.content=n,this.alias=t,this.length=0|(r||"").length}function z(e,n,t,r){e.lastIndex=n;var a=e.exec(t);if(a&&r&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function i(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function I(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function q(e,n,t){for(var r=n.next,a=0;a"+a.content+""},!u.document)return u.addEventListener&&(M.disableWorkerMessageHandler||u.addEventListener("message",function(e){var n=JSON.parse(e.data),t=n.language,r=n.code,a=n.immediateClose;u.postMessage(M.highlight(r,M.languages[t],t)),a&&u.close()},!1)),M;var t=M.util.currentScript();function r(){M.manual||M.highlightAll()}if(t&&(M.filename=t.src,t.hasAttribute("data-manual")&&(M.manual=!0)),!M.manual){var a=document.readyState;"loading"===a||"interactive"===a&&t&&t.defer?document.addEventListener("DOMContentLoaded",r):window.requestAnimationFrame?window.requestAnimationFrame(r):window.setTimeout(r,16)}return M}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); -Prism.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var t={"included-cdata":{pattern://i,inside:s}};t["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var n={};n[a]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,function(){return a}),"i"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore("markup","cdata",n)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml; -!function(s){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(Prism); -Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; -Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute("on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)","javascript")),Prism.languages.js=Prism.languages.javascript; -!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n="(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",a={pattern:RegExp(n+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{"class-name":[a,{pattern:RegExp(n+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])"),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},namespace:{pattern:RegExp("(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?".replace(//g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism); -!function(p){var a=p.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:param|arg|arguments)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(a,"addSupport",{value:function(a,e){"string"==typeof a&&(a=[a]),a.forEach(function(a){!function(a,e){var n="doc-comment",t=p.languages[a];if(t){var r=t[n];if(!r){var o={"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}};r=(t=p.languages.insertBefore(a,"comment",o))[n]}if(r instanceof RegExp&&(r=t[n]={pattern:r}),Array.isArray(r))for(var i=0,s=r.length;i/g,function(){return"#\\s*\\w+(?:\\s*\\([^()]*\\))?"});a.languages.javadoc=a.languages.extend("javadoclike",{}),a.languages.insertBefore("javadoc","keyword",{reference:{pattern:RegExp("(@(?:exception|throws|see|link|linkplain|value)\\s+(?:\\*\\s*)?)(?:"+n+")"),lookbehind:!0,inside:{function:{pattern:/(#\s*)\w+(?=\s*\()/,lookbehind:!0},field:{pattern:/(#\s*)\w+/,lookbehind:!0},namespace:{pattern:/\b(?:[a-z]\w*\s*\.\s*)+/,inside:{punctuation:/\./}},"class-name":/\b[A-Z]\w*/,keyword:a.languages.java.keyword,punctuation:/[#()[\],.]/}},"class-name":{pattern:/(@param\s+)<[A-Z]\w*>/,lookbehind:!0,inside:{punctuation:/[.<>]/}},"code-section":[{pattern:/(\{@code\s+(?!\s))(?:[^\s{}]|\s+(?![\s}])|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+(?=\s*\})/,lookbehind:!0,inside:{code:{pattern:e,lookbehind:!0,inside:a.languages.java,alias:"language-java"}}},{pattern:/(<(code|pre|tt)>(?!)\s*)\S(?:\S|\s+\S)*?(?=\s*<\/\2>)/,lookbehind:!0,inside:{line:{pattern:e,lookbehind:!0,inside:{tag:a.languages.markup.tag,entity:a.languages.markup.entity,code:{pattern:/.+/,inside:a.languages.java,alias:"language-java"}}}}}],tag:a.languages.markup.tag,entity:a.languages.markup.entity}),a.languages.javadoclike.addSupport("java",a.languages.javadoc)}(Prism); -!function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"],e.languages.insertBefore("kotlin","string",{"raw-string":{pattern:/("""|''')[\s\S]*?\1/,alias:"string"}}),e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}});var n=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:"variable"},rest:e.languages.kotlin}},{pattern:/\$\w+/,alias:"variable"}];e.languages.kotlin.string.inside=e.languages.kotlin["raw-string"].inside={interpolation:n},e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(Prism); -"undefined"!=typeof Prism&&"undefined"!=typeof document&&document.createRange&&(Prism.plugins.KeepMarkup=!0,Prism.hooks.add("before-highlight",function(e){if(e.element.children.length&&Prism.util.isActive(e.element,"keep-markup",!0)){var a=0,s=[],p=function(e,n){var o={};n||(o.clone=e.cloneNode(!1),o.posOpen=a,s.push(o));for(var t=0,d=e.childNodes.length;tn.node.posOpen&&(n.nodeStart=d,n.nodeStartPos=n.node.posOpen-n.pos),n.nodeStart&&n.pos+d.data.length>=n.node.posClose&&(n.nodeEnd=d,n.nodeEndPos=n.node.posClose-n.pos),n.pos+=d.data.length);if(n.nodeStart&&n.nodeEnd){var r=document.createRange();return r.setStart(n.nodeStart,n.nodeStartPos),r.setEnd(n.nodeEnd,n.nodeEndPos),n.node.clone.appendChild(r.extractContents()),r.insertNode(n.node.clone),r.detach(),!1}}return!0};n.keepMarkup.forEach(function(e){a(n.element,{node:e,pos:0})}),n.highlightedCode=n.element.innerHTML}})); -Prism.hooks.add('before-sanity-check', function (env){env.element.innerHTML = env.element.innerHTML.replace(/
/g, '\n');env.code = env.element.textContent;}); diff --git a/docs/dokka/scripts/sourceset_dependencies.js b/docs/dokka/scripts/sourceset_dependencies.js deleted file mode 100644 index b3aa738..0000000 --- a/docs/dokka/scripts/sourceset_dependencies.js +++ /dev/null @@ -1 +0,0 @@ -sourceset_dependencies='{":dokkaHtml/main":[]}' diff --git a/docs/dokka/styles/jetbrains-mono.css b/docs/dokka/styles/jetbrains-mono.css deleted file mode 100644 index 9a0f06f..0000000 --- a/docs/dokka/styles/jetbrains-mono.css +++ /dev/null @@ -1,17 +0,0 @@ -@font-face{ - font-family: 'JetBrains Mono'; - src: url('https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/fonts/web/JetBrainsMono-Regular.eot') format('embedded-opentype'), - url('https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/fonts/webfonts/JetBrainsMono-Regular.woff2') format('woff2'), - url('https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/fonts/ttf/JetBrainsMono-Regular.ttf') format('truetype'); - font-weight: normal; - font-style: normal; -} - -@font-face{ - font-family: 'JetBrains Mono'; - src: url('https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/fonts/web/JetBrainsMono-Bold.eot') format('embedded-opentype'), - url('https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/fonts/webfonts/JetBrainsMono-Bold.woff2') format('woff2'), - url('https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/fonts/ttf/JetBrainsMono-Bold.ttf') format('truetype'); - font-weight: bold; - font-style: bold; -} \ No newline at end of file diff --git a/docs/dokka/styles/logo-styles.css b/docs/dokka/styles/logo-styles.css deleted file mode 100644 index 25de3f6..0000000 --- a/docs/dokka/styles/logo-styles.css +++ /dev/null @@ -1,15 +0,0 @@ -.library-name a { - position: relative; - margin-left: 55px; -} - -.library-name a::before { - content: ''; - background: url("../images/logo-icon.svg") center no-repeat; - background-size: contain; - position: absolute; - width: 50px; - height: 50px; - top: -18px; - left: -55px; -} \ No newline at end of file diff --git a/docs/dokka/styles/prism.css b/docs/dokka/styles/prism.css deleted file mode 100644 index 0ab2baf..0000000 --- a/docs/dokka/styles/prism.css +++ /dev/null @@ -1,103 +0,0 @@ -:root { - --keyword-color: #07a; - --property-color: #905; - --function-color: #DD4A68; -} - -:root.theme-dark { - --keyword-color: #cc7832; - --property-color: #9876aa; - --function-color: #ffc66d; -} - -code .token { - white-space: pre; -} - -/* PrismJS 1.24.1 -https://prismjs.com/download.html#themes=prism&languages=clike+java+javadoclike+kotlin&plugins=keep-markup */ -/** - * prism.js default theme for JavaScript, CSS and HTML - * Based on dabblet (http://dabblet.com) - * @author Lea Verou - */ - -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: slategray; -} - -.token.punctuation { - color: #999; -} - -.token.namespace { - opacity: .7; -} - -.token.property, -.token.tag, -.token.boolean, -.token.number, -.token.constant, -.token.symbol, -.token.deleted { - color: var(--property-color); -} - -.token.selector, -.token.attr-name, -.token.string, -.token.char, -.token.builtin, -.token.annotation, -.token.inserted { - color: #690; -} - -.token.operator, -.token.entity, -.token.url, -.language-css .token.string, -.style .token.string { - color: #9a6e3a; - /* This background color was intended by the author of this theme. */ - /*background: hsla(0, 0%, 100%, .5);*/ -} - -.token.atrule, -.token.attr-value, -.token.keyword { - color: var(--keyword-color); - font-size: inherit; /* to override .keyword */ -} - -.token.function, -.token.class-name { - color: var(--function-color); -} - -.token.regex, -.token.important, -.token.variable { - color: #e90; -} - -.token.important, -.token.bold { - font-weight: bold; -} -.token.italic { - font-style: italic; -} - -.token.entity { - cursor: help; -} - -.annotation,.control,.field,.filename,.keyword,.menupath,.property,.string,.value { - color: #27282c; - font-weight: 700; -} \ No newline at end of file diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/-s3-workspace-factory.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/-s3-workspace-factory.html deleted file mode 100644 index 0740e33..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/-s3-workspace-factory.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - S3WorkspaceFactory - - - - -
-
-
-
-
-
- -
-

S3WorkspaceFactory

-
-
fun S3WorkspaceFactory(s3: S3Client, bucket: String)

Constructs a new S3WorkspaceFactory instance with an empty default root directory.

Parameters

s3

Initialized S3Client instance that will be used for all 'file operations'.

bucket

Name of the bucket that this factory and the workspaces it opens/creates reside in. If this bucket does not exist, an IllegalStateException will be thrown on initialization of this type.

Throws

If the target bucket for this workspace root does not exist.

If the given bucket name is not a valid S3 bucket name. For additional rules on what a valid bucket name looks like, see BucketName.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.


fun S3WorkspaceFactory(s3: S3Client, bucket: String, rootDir: String)

Constructs a new S3WorkspaceFactory instance.

Parameters

s3

Initialized S3Client instance that will be used for all 'file operations'.

bucket

Name of the bucket that this factory and the workspaces it opens/creates reside in. If this bucket does not exist, an IllegalStateException will be thrown on initialization of this type.

rootDir

Root directory that all workspaces reside in. All operations on this type will be relative to this root directory. If the workspace root is the root of the bucket, set this value to an empty string.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/create.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/create.html deleted file mode 100644 index 4e46762..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/create.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - create - - - - -
-
-
-
-
-
- -
-

create

-
-
fun create(id: HashID): S3Workspace

Creates a new workspace.

If rootDir was set when constructing this S3WorkspaceFactory instance, the created workspace will reside under that root directory.

If a workspace already exists with the given ID, this method will fail with a WorkspaceAlreadyExistsError.

As S3 has no concept of directories, a workspace is marked using an empty file named '.workspace' in the workspace root. This file will not be listed when attempting to fetch a list of files in the workspace.

Return

A S3Workspace instance wrapping the created workspace.

Parameters

id

ID of the workspace to create.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/get.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/get.html deleted file mode 100644 index 63c0614..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/get.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - get - - - - -
-
-
-
-
-
- -
-

get

-
-
operator fun get(id: HashID): S3Workspace?

Looks up and returns the workspace for the given HashID.

If no such workspace directory exists, this method returns null.

Return

A workspace instance, if the target workspace exists, otherwise null.

Parameters

id

ID of the workspace to return.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/index.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/index.html deleted file mode 100644 index 9dc9eda..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/index.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - S3WorkspaceFactory - - - - -
-
-
-
-
-
- -
-

S3WorkspaceFactory

-
class S3WorkspaceFactory(s3: S3Client, bucket: String, rootDir: String)

S3 Workspace Factory

Creates workspace instances backed by S3 files/directories.

Author

Elizabeth Paige Harper https://github.com/Foxcapades

Since

v2.0.0

-
-
-
-
-

Parameters

-
-
s3

Initialized S3Client instance that will be used for all 'file operations'.

bucket

Name of the bucket that this factory and the workspaces it opens/creates reside in. If this bucket does not exist, an IllegalStateException will be thrown on initialization of this type.

rootDir

Root directory that all workspaces reside in. All operations on this type will be relative to this root directory. If the workspace root is the root of the bucket, set this value to an empty string.

-
-

Throws

-

If the target bucket for this workspace root does not exist.

If the given rootDir value is not a valid path segment.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun S3WorkspaceFactory(s3: S3Client, bucket: String)

Constructs a new S3WorkspaceFactory instance with an empty default root directory.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
fun S3WorkspaceFactory(s3: S3Client, bucket: String, rootDir: String)

Constructs a new S3WorkspaceFactory instance.

-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun create(id: HashID): S3Workspace

Creates a new workspace.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
operator fun get(id: HashID): S3Workspace?

Looks up and returns the workspace for the given HashID.

-
-
-
-
-
-
-
-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/contains.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/contains.html deleted file mode 100644 index 0cb9ee4..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/contains.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - contains - - - - -
-
-
-
-
-
- -
-

contains

-
-
abstract operator fun contains(path: String): Boolean

Tests whether this workspace contains the target file.

Return

true if the target path exists, otherwise false.

Parameters

path

Relative path to the file to test for.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/copy.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/copy.html deleted file mode 100644 index 6fdcb78..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/copy.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - copy - - - - -
-
-
-
-
-
- -
-

copy

-
-
abstract fun copy(from: File, to: String): WorkspaceFile

Copies the given File (from) to a new file in the remote workspace under the given path (to).

If a file already exists with the target path, it will be overwritten.

Return

A WorkspaceFile wrapping the uploaded file.

Parameters

from

File that will be uploaded to the remote store.

to

Relative path to the empty file to create.

Throws

If either to or from is null.

If the given to is blank.

If the given from does not exist.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.


abstract fun copy(from: String, to: File)

Copies a file from the remote store to the specified local file (to).

Parameters

from

Relative path to the remote file to copy.

to

Local file into which the remote file's contents will be copied.

Throws

If either from or to is null.

If from was not found in this workspace.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/create-sub-workspace.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/create-sub-workspace.html deleted file mode 100644 index 3f9802f..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/create-sub-workspace.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - createSubWorkspace - - - - -
-
-
-
-
-
- -
-

createSubWorkspace

-
-
abstract fun createSubWorkspace(id: HashID): SubS3Workspace

Creates a sub-workspace under this workspace with the given id.

Return

A SubS3Workspace instance wrapping the newly created sub-workspace.

Parameters

id

ID of the sub-workspace to create.

Throws

If the target sub-workspace already exists.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/delete.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/delete.html deleted file mode 100644 index 4b81823..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/delete.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - delete - - - - -
-
-
-
-
-
- -
-

delete

-
-
abstract fun delete()

Recursively deletes this workspace and all of its contents.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.


abstract fun delete(path: String)

Deletes the target path from this workspace.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/exists.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/exists.html deleted file mode 100644 index 54b80f8..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/exists.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - exists - - - - -
-
-
-
-
-
- -
-

exists

-
-
abstract fun exists(): Boolean

Tests whether this workspace still exists.

Return

true if this workspace still exists, otherwise false.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/files.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/files.html deleted file mode 100644 index 0458503..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/files.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - files - - - - -
-
-
-
-
-
- -
-

files

-
-
abstract fun files(): List<WorkspaceFile>

Recursively lists all the files in the remote 'directory'.

The workspace marker file .workspace will not be included in this list.

Return

A list of WorkspaceFile instances representing the files in this workspace.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/get.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/get.html deleted file mode 100644 index 752b965..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/get.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - get - - - - -
-
-
-
-
-
- -
-

get

-
-
abstract operator fun get(path: String): WorkspaceFile?

Returns a WorkspaceFile wrapping the target file in the remote workspace, if such a file exists.

Return

A WorkspaceFile wrapping the target file, if it exists, otherwise null.

Parameters

path

Relative path to the remote file.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/has-sub-workspace.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/has-sub-workspace.html deleted file mode 100644 index a859700..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/has-sub-workspace.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - hasSubWorkspace - - - - -
-
-
-
-
-
- -
-

hasSubWorkspace

-
-
abstract fun hasSubWorkspace(id: HashID): Boolean

Tests whether this workspace contains a sub-workspace with the given ID.

Return

true if the target sub-workspace exists, otherwise false

Parameters

id

ID of the sub-workspace to test for.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/id.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/id.html deleted file mode 100644 index 21773c7..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/id.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - id - - - - -
-
-
-
-
-
- -
-

id

-
-
abstract val id: HashID

ID of this workspace.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/index.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/index.html deleted file mode 100644 index 7a9e5a6..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/index.html +++ /dev/null @@ -1,269 +0,0 @@ - - - - S3Workspace - - - - -
-
-
-
-
-
- -
-

S3Workspace

-
interface S3Workspace

Workspace

Represents a workspace for a job in which workspace specific files and directories reside.

A workspace may have sub-workspaces contained inside it which are accessible via the openSubWorkspace method.

Author

Elizabeth Paige Harper https://github.com/Foxcapades

Since

v2.0.0

-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract operator fun contains(path: String): Boolean

Tests whether this workspace contains the target file.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun copy(from: File, to: String): WorkspaceFile

Copies the given File (from) to a new file in the remote workspace under the given path (to).

abstract fun copy(from: String, to: File)

Copies a file from the remote store to the specified local file (to).

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun createSubWorkspace(id: HashID): SubS3Workspace

Creates a sub-workspace under this workspace with the given id.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun delete()

Recursively deletes this workspace and all of its contents.

abstract fun delete(path: String)

Deletes the target path from this workspace.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun exists(): Boolean

Tests whether this workspace still exists.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun files(): List<WorkspaceFile>

Recursively lists all the files in the remote 'directory'.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract operator fun get(path: String): WorkspaceFile?

Returns a WorkspaceFile wrapping the target file in the remote workspace, if such a file exists.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun hasSubWorkspace(id: HashID): Boolean

Tests whether this workspace contains a sub-workspace with the given ID.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun open(path: String): InputStream

Opens a stream over the contents of the target file in the S3 store.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun openSubWorkspace(id: HashID): SubS3Workspace?

Attempts to open the target workspace with the given id.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun touch(path: String): WorkspaceFile

Creates an empty file in this workspace with the given path if no such file already exists.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun write(path: String, stream: InputStream): WorkspaceFile

Writes the given InputStream to a file at the given path.

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val id: HashID

ID of this workspace.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val path: String

Absolute path to this workspace (including the workspace ID)

-
-
-
-
-
-

Inheritors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
-
-
-
-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/open-sub-workspace.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/open-sub-workspace.html deleted file mode 100644 index a7b7448..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/open-sub-workspace.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - openSubWorkspace - - - - -
-
-
-
-
-
- -
-

openSubWorkspace

-
-
abstract fun openSubWorkspace(id: HashID): SubS3Workspace?

Attempts to open the target workspace with the given id.

If no such workspace exists, this method returns null.

Return

Either the target sub-workspace, or null.

Parameters

id

ID of the sub-workspace to attempt to open.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/open.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/open.html deleted file mode 100644 index 4f200be..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/open.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - open - - - - -
-
-
-
-
-
- -
-

open

-
-
abstract fun open(path: String): InputStream

Opens a stream over the contents of the target file in the S3 store.

Return

An InputStream over the contents of the remote file.

Parameters

path

Relative path to the remote file to open.

Throws

If path was not found in this workspace.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/path.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/path.html deleted file mode 100644 index 51251f6..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/path.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - path - - - - -
-
-
-
-
-
- -
-

path

-
-
abstract val path: String

Absolute path to this workspace (including the workspace ID)

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/touch.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/touch.html deleted file mode 100644 index acf0a87..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/touch.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - touch - - - - -
-
-
-
-
-
- -
-

touch

-
-
abstract fun touch(path: String): WorkspaceFile

Creates an empty file in this workspace with the given path if no such file already exists.

Return

A WorkspaceFile wrapping the target file (the empty file if the file did not already exist, or the existing file if it did already exist).

Parameters

path

Relative path to the empty file to create.

Throws

If the given path value is null.

If the given path value is blank.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/write.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/write.html deleted file mode 100644 index 177a5dd..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/write.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - write - - - - -
-
-
-
-
-
- -
-

write

-
-
abstract fun write(path: String, stream: InputStream): WorkspaceFile

Writes the given InputStream to a file at the given path.

If a file already exists with the target path, it will be overwritten.

Return

A WorkspaceFile instance wrapping the created file.

Parameters

path

Relative path to the empty file to create.

stream

InputStream over the contents to be written to the remote file.

Throws

If the given path value is blank.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/index.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/index.html deleted file mode 100644 index 5d09fc0..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/index.html +++ /dev/null @@ -1,271 +0,0 @@ - - - - SubS3Workspace - - - - -
-
-
-
-
-
- -
-

SubS3Workspace

-
interface SubS3Workspace : S3Workspace

Sub-Workspace

Represents a nested workspace for a job in which workspace specific files and directories reside.

A sub-workspace, like a S3Workspace, may have sub-workspaces contained inside it which are accessible via the openSubWorkspace method.

Author

Elizabeth Paige Harper https://github.com/Foxcapades

Since

v2.0.0

-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract operator fun contains(path: String): Boolean

Tests whether this workspace contains the target file.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun copy(from: File, to: String): WorkspaceFile

Copies the given File (from) to a new file in the remote workspace under the given path (to).

abstract fun copy(from: String, to: File)

Copies a file from the remote store to the specified local file (to).

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun createSubWorkspace(id: HashID): SubS3Workspace

Creates a sub-workspace under this workspace with the given id.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun delete()

Recursively deletes this workspace and all of its contents.

abstract fun delete(path: String)

Deletes the target path from this workspace.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun exists(): Boolean

Tests whether this workspace still exists.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun files(): List<WorkspaceFile>

Recursively lists all the files in the remote 'directory'.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract operator fun get(path: String): WorkspaceFile?

Returns a WorkspaceFile wrapping the target file in the remote workspace, if such a file exists.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun hasSubWorkspace(id: HashID): Boolean

Tests whether this workspace contains a sub-workspace with the given ID.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun open(path: String): InputStream

Opens a stream over the contents of the target file in the S3 store.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun openSubWorkspace(id: HashID): SubS3Workspace?

Attempts to open the target workspace with the given id.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun touch(path: String): WorkspaceFile

Creates an empty file in this workspace with the given path if no such file already exists.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun write(path: String, stream: InputStream): WorkspaceFile

Writes the given InputStream to a file at the given path.

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val id: HashID

ID of this workspace.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val parent: S3Workspace

Parent workspace of this sub-workspace.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val path: String

Absolute path to this workspace (including the workspace ID)

-
-
-
-
-
-
-
-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/parent.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/parent.html deleted file mode 100644 index 8651584..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/parent.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - parent - - - - -
-
-
-
-
-
- -
-

parent

-
-
abstract val parent: S3Workspace

Parent workspace of this sub-workspace.

The parent workspace may be a sub-workspace itself.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-workspace/index.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-workspace/index.html deleted file mode 100644 index 8c35f7a..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-workspace/index.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - SubWorkspace - - - - -
-
-
-
-
-
- -
-

SubWorkspace

-
interface SubWorkspace : Workspace

Sub-Workspace

Represents a nested workspace for a job in which workspace specific files and directories reside.

A sub-workspace, like a Workspace, may have sub-workspaces contained inside it which are accessible via the openSubWorkspace method.

Author

Elizabeth Paige Harper https://github.com/Foxcapades

Since

v1.0.0

-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract operator fun contains(path: String): Boolean

Tests whether this workspace contains the target file.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun copy(source: String, target: File)

Copies a file from the remote store to the specified local target file.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun createSubWorkspace(id: HashID): SubWorkspace

Creates a sub-workspace under this workspace with the given id.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun delete()

Recursively deletes this workspace and all of its contents.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun exists(): Boolean

Tests whether this workspace still exists.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun files(): List<String>

Recursively lists all the files in the remote 'directory'.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun hasSubWorkspace(id: HashID): Boolean

Tests whether this workspace contains a sub-workspace with the given ID.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun open(path: String): InputStream

Opens a stream over the contents of the target file in the S3 store.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun openSubWorkspace(id: HashID): SubWorkspace?

Attempts to open the target workspace with the given id.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun touch(path: String): WorkspaceFile

Creates an empty file in this workspace with the given path if no such file already exists.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun write(path: String, localFile: File): WorkspaceFile

Uploads the given File to a new file in the remote workspace under the given path.

abstract fun write(path: String, stream: InputStream): WorkspaceFile

Writes the given InputStream to a file at the given path.

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val id: HashID

ID of this workspace.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val parent: Workspace

Parent workspace of this sub-workspace.

-
-
-
-
-
-
-
-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-workspace/parent.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-workspace/parent.html deleted file mode 100644 index ca5f5bf..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-sub-workspace/parent.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - parent - - - - -
-
-
-
-
-
- -
-

parent

-
-
abstract val parent: Workspace

Parent workspace of this sub-workspace.

The parent workspace may be a sub-workspace itself.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html deleted file mode 100644 index 5978926..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - WorkspaceAlreadyExistsError - - - - -
-
-
-
-
-
- -
-

WorkspaceAlreadyExistsError

-
-
fun WorkspaceAlreadyExistsError(id: HashID)
fun WorkspaceAlreadyExistsError(id: HashID, msg: String)
fun WorkspaceAlreadyExistsError(id: HashID, cause: Throwable)
fun WorkspaceAlreadyExistsError(id: HashID, msg: String, cause: Throwable)
-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/id.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/id.html deleted file mode 100644 index 4b9d6bf..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/id.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - id - - - - -
-
-
-
-
-
- -
-

id

-
-
val id: HashID

ID of the workspace whose creation was attempted.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/index.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/index.html deleted file mode 100644 index 1d9e6cc..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/index.html +++ /dev/null @@ -1,273 +0,0 @@ - - - - WorkspaceAlreadyExistsError - - - - -
-
-
-
-
-
- -
-

WorkspaceAlreadyExistsError

-
class WorkspaceAlreadyExistsError : Exception

Workspace Already Exists Error

Exception thrown when attempting to create a workspace when that workspace already exists in the S3 store.

-
-
-
-
-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun WorkspaceAlreadyExistsError(id: HashID)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
fun WorkspaceAlreadyExistsError(id: HashID, msg: String)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
fun WorkspaceAlreadyExistsError(id: HashID, cause: Throwable)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
fun WorkspaceAlreadyExistsError(id: HashID, msg: String, cause: Throwable)
-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun addSuppressed(p0: Throwable)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open fun fillInStackTrace(): Throwable
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open fun getLocalizedMessage(): String
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open fun getStackTrace(): Array<StackTraceElement>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
fun getSuppressed(): Array<Throwable>
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open fun initCause(p0: Throwable): Throwable
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open fun printStackTrace()
open fun printStackTrace(p0: PrintStream)
open fun printStackTrace(p0: PrintWriter)
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open fun setStackTrace(p0: Array<StackTraceElement>)
-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
open val cause: Throwable?
-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
val id: HashID

ID of the workspace whose creation was attempted.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
open val message: String?
-
-
-
-
-
-
-
-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/-workspace-factory.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/-workspace-factory.html deleted file mode 100644 index b42eb20..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/-workspace-factory.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - WorkspaceFactory - - - - -
-
-
-
-
-
- -
-

WorkspaceFactory

-
-
fun WorkspaceFactory(s3: S3Client, bucket: String)

Constructs a new WorkspaceFactory instance with an empty default root directory.

Parameters

s3

Initialized S3Client instance that will be used for all 'file operations'.

bucket

Name of the bucket that this factory and the workspaces it opens/creates reside in. If this bucket does not exist, an IllegalStateException will be thrown on initialization of this type.

Throws

If the target bucket for this workspace root does not exist.

If the given bucket name is not a valid S3 bucket name. For additional rules on what a valid bucket name looks like, see BucketName.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.


fun WorkspaceFactory(s3: S3Client, bucket: String, rootDir: String)

Constructs a new WorkspaceFactory instance.

Parameters

s3

Initialized S3Client instance that will be used for all 'file operations'.

bucket

Name of the bucket that this factory and the workspaces it opens/creates reside in. If this bucket does not exist, an IllegalStateException will be thrown on initialization of this type.

rootDir

Root directory that all workspaces reside in. All operations on this type will be relative to this root directory. If the workspace root is the root of the bucket, set this value to an empty string.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/create.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/create.html deleted file mode 100644 index 2d01031..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/create.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - create - - - - -
-
-
-
-
-
- -
-

create

-
-
fun create(id: HashID): Workspace

Creates a new workspace.

If rootDir was set when constructing this WorkspaceFactory instance, the created workspace will reside under that root directory.

If a workspace already exists with the given ID, this method will fail with a WorkspaceAlreadyExistsError.

As S3 has no concept of directories, a workspace is marked using an empty file named '.workspace' in the workspace root. This file will not be listed when attempting to fetch a list of files in the workspace.

Return

A Workspace instance wrapping the created workspace.

Parameters

id

ID of the workspace to create.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/get.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/get.html deleted file mode 100644 index 82c95cb..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/get.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - get - - - - -
-
-
-
-
-
- -
-

get

-
-
operator fun get(id: HashID): Workspace?

Looks up and returns the workspace for the given HashID.

If no such workspace directory exists, this method returns null.

Return

A workspace instance, if the target workspace exists, otherwise null.

Parameters

id

ID of the workspace to return.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/index.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/index.html deleted file mode 100644 index 5db26fe..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-factory/index.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - WorkspaceFactory - - - - -
-
-
-
-
-
- -
-

WorkspaceFactory

-
class WorkspaceFactory(s3: S3Client, bucket: String, rootDir: String)

S3 Workspace Factory

Creates workspace instances backed by S3 files/directories.

Author

Elizabeth Paige Harper https://github.com/Foxcapades

Since

v1.0.0

-
-
-
-
-

Parameters

-
-
s3

Initialized S3Client instance that will be used for all 'file operations'.

bucket

Name of the bucket that this factory and the workspaces it opens/creates reside in. If this bucket does not exist, an IllegalStateException will be thrown on initialization of this type.

rootDir

Root directory that all workspaces reside in. All operations on this type will be relative to this root directory. If the workspace root is the root of the bucket, set this value to an empty string.

-
-

Throws

-

If the target bucket for this workspace root does not exist.

If the given rootDir value is not a valid path segment.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

-

Constructors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun WorkspaceFactory(s3: S3Client, bucket: String)

Constructs a new WorkspaceFactory instance with an empty default root directory.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
fun WorkspaceFactory(s3: S3Client, bucket: String, rootDir: String)

Constructs a new WorkspaceFactory instance.

-
-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
fun create(id: HashID): Workspace

Creates a new workspace.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
operator fun get(id: HashID): Workspace?

Looks up and returns the workspace for the given HashID.

-
-
-
-
-
-
-
-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/absolute-path.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/absolute-path.html deleted file mode 100644 index 7b31999..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/absolute-path.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - absolutePath - - - - -
-
-
-
-
-
- -
-

absolutePath

-
-
abstract val absolutePath: String

Absolute path to this file in the S3 bucket.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/delete.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/delete.html deleted file mode 100644 index df141d2..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/delete.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - delete - - - - -
-
-
-
-
-
- -
-

delete

-
-
abstract fun delete()

Deletes this file from the remote workspace.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/download.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/download.html deleted file mode 100644 index bc59ff5..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/download.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - download - - - - -
-
-
-
-
-
- -
-

download

-
-
abstract fun download(localFile: File): File

Copies the contents of the file in the remote store to the given local file.

The local file will be truncated before writing.

Parameters

localFile

Local file into which the remote file's contents will be copied.

Throws

If this file no longer exists in the remote workspace.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/index.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/index.html deleted file mode 100644 index 9f18a84..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/index.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - WorkspaceFile - - - - -
-
-
-
-
-
- -
-

WorkspaceFile

-
interface WorkspaceFile

Workspace File

Represents a file in a workspace in the configured S3 store.

Author

Elizabeth Paige Harper https://github.com/Foxcapades

Since

v1.0.0

-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun delete()

Deletes this file from the remote workspace.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun download(localFile: File): File

Copies the contents of the file in the remote store to the given local file.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun open(): InputStream

Opens an input stream over the contents of this file.

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val absolutePath: String

Absolute path to this file in the S3 bucket.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val lastModified: OffsetDateTime?

Last modified/created timestamp.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val name: String

Base name of this file.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val relativePath: String

Path to this file relative to the parent workspace.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val size: Long

Size of this file.

-
-
-
-
-
-
-
-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/last-modified.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/last-modified.html deleted file mode 100644 index ffe41a3..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/last-modified.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - lastModified - - - - -
-
-
-
-
-
- -
-

lastModified

-
-
abstract val lastModified: OffsetDateTime?

Last modified/created timestamp.

This property will not be present on file put results.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/name.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/name.html deleted file mode 100644 index 8ceb1e0..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/name.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - name - - - - -
-
-
-
-
-
- -
-

name

-
-
abstract val name: String

Base name of this file.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/open.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/open.html deleted file mode 100644 index a8c821c..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/open.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - open - - - - -
-
-
-
-
-
- -
-

open

-
-
abstract fun open(): InputStream

Opens an input stream over the contents of this file.

Throws

If this file no longer exists in the remote workspace.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/path.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/path.html deleted file mode 100644 index 0d6839a..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/path.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - path - - - - -
-
-
-
-
-
- -
-

path

-
-
abstract val path: String

Absolute path to this file in the S3 bucket.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/relative-path.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/relative-path.html deleted file mode 100644 index 488b655..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/relative-path.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - relativePath - - - - -
-
-
-
-
-
- -
-

relativePath

-
-
abstract val relativePath: String

Path to this file relative to the parent workspace.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/size.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/size.html deleted file mode 100644 index b4b0bd6..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/size.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - size - - - - -
-
-
-
-
-
- -
-

size

-
-
abstract val size: Long

Size of this file.

This field is lazily populated by a call to the S3 store.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/contains.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/contains.html deleted file mode 100644 index 89b2b86..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/contains.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - contains - - - - -
-
-
-
-
-
- -
-

contains

-
-
abstract operator fun contains(path: String): Boolean

Tests whether this workspace contains the target file.

Return

true if the target path exists, otherwise false.

Parameters

path

Relative path to the file to test for.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/copy.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/copy.html deleted file mode 100644 index 8985c12..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/copy.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - copy - - - - -
-
-
-
-
-
- -
-

copy

-
-
abstract fun copy(source: String, target: File)

Copies a file from the remote store to the specified local target file.

Parameters

source

Relative path to the remote file to copy.

target

Local file into which the remote file's contents will be copied.

Throws

If source was not found in this workspace.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/create-sub-workspace.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/create-sub-workspace.html deleted file mode 100644 index 70905ec..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/create-sub-workspace.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - createSubWorkspace - - - - -
-
-
-
-
-
- -
-

createSubWorkspace

-
-
abstract fun createSubWorkspace(id: HashID): SubWorkspace

Creates a sub-workspace under this workspace with the given id.

Return

A SubWorkspace instance wrapping the newly created sub-workspace.

Parameters

id

ID of the sub-workspace to create.

Throws

If the target sub-workspace already exists.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/delete.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/delete.html deleted file mode 100644 index b48f217..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/delete.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - delete - - - - -
-
-
-
-
-
- -
-

delete

-
-
abstract fun delete()

Recursively deletes this workspace and all of its contents.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/exists.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/exists.html deleted file mode 100644 index ede1809..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/exists.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - exists - - - - -
-
-
-
-
-
- -
-

exists

-
-
abstract fun exists(): Boolean

Tests whether this workspace still exists.

Return

true if this workspace still exists, otherwise false.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/files.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/files.html deleted file mode 100644 index eb3a7c1..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/files.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - files - - - - -
-
-
-
-
-
- -
-

files

-
-
abstract fun files(): List<String>

Recursively lists all the files in the remote 'directory'.

The workspace marker file .workspace will not be included in this list.

Return

A list of absolute paths to files contained in this workspace.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/has-sub-workspace.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/has-sub-workspace.html deleted file mode 100644 index 602ae0a..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/has-sub-workspace.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - hasSubWorkspace - - - - -
-
-
-
-
-
- -
-

hasSubWorkspace

-
-
abstract fun hasSubWorkspace(id: HashID): Boolean

Tests whether this workspace contains a sub-workspace with the given ID.

Return

true if the target sub-workspace exists, otherwise false

Parameters

id

ID of the sub-workspace to test for.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/id.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/id.html deleted file mode 100644 index 5aa2f55..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/id.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - id - - - - -
-
-
-
-
-
- -
-

id

-
-
abstract val id: HashID

ID of this workspace.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/index.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/index.html deleted file mode 100644 index 1e7760d..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/index.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - Workspace - - - - -
-
-
-
-
-
- -
-

Workspace

-
interface Workspace

Workspace

Represents a workspace for a job in which workspace specific files and directories reside.

A workspace may have sub-workspaces contained inside it which are accessible via the openSubWorkspace method.

Author

Elizabeth Paige Harper https://github.com/Foxcapades

Since

v1.0.0

-
-
-
-
-

Functions

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract operator fun contains(path: String): Boolean

Tests whether this workspace contains the target file.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun copy(source: String, target: File)

Copies a file from the remote store to the specified local target file.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun createSubWorkspace(id: HashID): SubWorkspace

Creates a sub-workspace under this workspace with the given id.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun delete()

Recursively deletes this workspace and all of its contents.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun exists(): Boolean

Tests whether this workspace still exists.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun files(): List<String>

Recursively lists all the files in the remote 'directory'.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun hasSubWorkspace(id: HashID): Boolean

Tests whether this workspace contains a sub-workspace with the given ID.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun open(path: String): InputStream

Opens a stream over the contents of the target file in the S3 store.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun openSubWorkspace(id: HashID): SubWorkspace?

Attempts to open the target workspace with the given id.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun touch(path: String): WorkspaceFile

Creates an empty file in this workspace with the given path if no such file already exists.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract fun write(path: String, localFile: File): WorkspaceFile

Uploads the given File to a new file in the remote workspace under the given path.

abstract fun write(path: String, stream: InputStream): WorkspaceFile

Writes the given InputStream to a file at the given path.

-
-
-
-
-
-

Properties

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
abstract val id: HashID

ID of this workspace.

-
-
-
-
-
-

Inheritors

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
-
-
-
-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/open-sub-workspace.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/open-sub-workspace.html deleted file mode 100644 index 15f76fa..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/open-sub-workspace.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - openSubWorkspace - - - - -
-
-
-
-
-
- -
-

openSubWorkspace

-
-
abstract fun openSubWorkspace(id: HashID): SubWorkspace?

Attempts to open the target workspace with the given id.

If no such workspace exists, this method returns null.

Return

Either the target sub-workspace, or null.

Parameters

id

ID of the sub-workspace to attempt to open.

Throws

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/open.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/open.html deleted file mode 100644 index edb62e1..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/open.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - open - - - - -
-
-
-
-
-
- -
-

open

-
-
abstract fun open(path: String): InputStream

Opens a stream over the contents of the target file in the S3 store.

Return

An InputStream over the contents of the remote file.

Parameters

path

Relative path to the remote file to open.

Throws

If path was not found in this workspace.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/touch.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/touch.html deleted file mode 100644 index 35bdc12..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/touch.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - touch - - - - -
-
-
-
-
-
- -
-

touch

-
-
abstract fun touch(path: String): WorkspaceFile

Creates an empty file in this workspace with the given path if no such file already exists.

Return

A WorkspaceFile wrapping the target file (the empty file if the file did not already exist, or the existing file if it did already exist).

Parameters

path

Relative path to the empty file to create.

Throws

If the given path value is null.

If the given path value is blank.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/write.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/write.html deleted file mode 100644 index a0fdb3b..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/-workspace/write.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - write - - - - -
-
-
-
-
-
- -
-

write

-
-
abstract fun write(path: String, stream: InputStream): WorkspaceFile

Writes the given InputStream to a file at the given path.

If a file already exists with the target path, it will be overwritten.

Return

A WorkspaceFile instance wrapping the created file.

Parameters

path

Relative path to the empty file to create.

stream

InputStream over the contents to be written to the remote file.

Throws

If the given path value is blank.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.


abstract fun write(path: String, localFile: File): WorkspaceFile

Uploads the given File to a new file in the remote workspace under the given path.

If a file already exists with the target path, it will be overwritten.

Return

A WorkspaceFile wrapping the uploaded file.

Parameters

path

Relative path to the empty file to create.

localFile

File that will be uploaded to the remote store.

Throws

If the given localFile does not exist.

org.veupathdb.lib.s3.s34k.errors.S34KError

If an error occurs in the underlying library while communicating with the S3 server.

-
- -
-
- - - diff --git a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/index.html b/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/index.html deleted file mode 100644 index 51a829a..0000000 --- a/docs/dokka/workspaces/org.veupathdb.lib.s3.workspaces/index.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - org.veupathdb.lib.s3.workspaces - - - - -
-
-
-
-
-
- -
-

Package org.veupathdb.lib.s3.workspaces

-
-
-
-
-

Types

-
-
-
-
- - -
Link copied to clipboard
-
-
-
-
interface S3Workspace

Represents a workspace for a job in which workspace specific files and directories reside.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
class S3WorkspaceFactory(s3: S3Client, bucket: String, rootDir: String)

Creates workspace instances backed by S3 files/directories.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
interface SubS3Workspace : S3Workspace

Represents a nested workspace for a job in which workspace specific files and directories reside.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
class WorkspaceAlreadyExistsError : Exception

Exception thrown when attempting to create a workspace when that workspace already exists in the S3 store.

-
-
-
-
- -
-
-
- - -
Link copied to clipboard
-
-
-
-
interface WorkspaceFile

Represents a file in a workspace in the configured S3 store.

-
-
-
-
-
-
-
-
- -
-
- - - diff --git a/docs/dokka/workspaces/package-list b/docs/dokka/workspaces/package-list deleted file mode 100644 index 768e1da..0000000 --- a/docs/dokka/workspaces/package-list +++ /dev/null @@ -1,44 +0,0 @@ -$dokka.format:html-v1 -$dokka.linkExtension:html -$dokka.location:org.veupathdb.lib.s3.workspaces////PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/index.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace///PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/index.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/contains/#kotlin.String/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/contains.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/copy/#java.io.File#kotlin.String/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/copy.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/copy/#kotlin.String#java.io.File/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/copy.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/createSubWorkspace/#org.veupathdb.lib.hash_id.HashID/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/create-sub-workspace.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/delete/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/delete.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/delete/#kotlin.String/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/delete.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/exists/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/exists.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/files/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/files.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/get/#kotlin.String/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/get.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/hasSubWorkspace/#org.veupathdb.lib.hash_id.HashID/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/has-sub-workspace.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/id/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/id.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/open/#kotlin.String/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/open.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/openSubWorkspace/#org.veupathdb.lib.hash_id.HashID/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/open-sub-workspace.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/path/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/path.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/touch/#kotlin.String/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/touch.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3Workspace/write/#kotlin.String#java.io.InputStream/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace/write.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3WorkspaceFactory///PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/index.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3WorkspaceFactory/S3WorkspaceFactory/#org.veupathdb.lib.s3.s34k.S3Client#kotlin.String#kotlin.String/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/-s3-workspace-factory.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3WorkspaceFactory/S3WorkspaceFactory/#org.veupathdb.lib.s3.s34k.S3Client#kotlin.String/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/-s3-workspace-factory.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3WorkspaceFactory/create/#org.veupathdb.lib.hash_id.HashID/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/create.html -$dokka.location:org.veupathdb.lib.s3.workspaces/S3WorkspaceFactory/get/#org.veupathdb.lib.hash_id.HashID/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-s3-workspace-factory/get.html -$dokka.location:org.veupathdb.lib.s3.workspaces/SubS3Workspace///PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/index.html -$dokka.location:org.veupathdb.lib.s3.workspaces/SubS3Workspace/parent/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-sub-s3-workspace/parent.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceAlreadyExistsError///PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/index.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceAlreadyExistsError/WorkspaceAlreadyExistsError/#org.veupathdb.lib.hash_id.HashID#kotlin.String#kotlin.Throwable/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceAlreadyExistsError/WorkspaceAlreadyExistsError/#org.veupathdb.lib.hash_id.HashID#kotlin.String/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceAlreadyExistsError/WorkspaceAlreadyExistsError/#org.veupathdb.lib.hash_id.HashID#kotlin.Throwable/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceAlreadyExistsError/WorkspaceAlreadyExistsError/#org.veupathdb.lib.hash_id.HashID/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/-workspace-already-exists-error.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceAlreadyExistsError/id/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-already-exists-error/id.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceFile///PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/index.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceFile/absolutePath/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/absolute-path.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceFile/delete/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/delete.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceFile/download/#java.io.File/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/download.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceFile/lastModified/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/last-modified.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceFile/name/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/name.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceFile/open/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/open.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceFile/relativePath/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/relative-path.html -$dokka.location:org.veupathdb.lib.s3.workspaces/WorkspaceFile/size/#/PointingToDeclaration/workspaces/org.veupathdb.lib.s3.workspaces/-workspace-file/size.html -org.veupathdb.lib.s3.workspaces - diff --git a/docs/dokka/images/anchor-copy-button.svg b/docs/java/dokka/images/anchor-copy-button.svg similarity index 85% rename from docs/dokka/images/anchor-copy-button.svg rename to docs/java/dokka/images/anchor-copy-button.svg index bab9d74..19c1fa3 100644 --- a/docs/dokka/images/anchor-copy-button.svg +++ b/docs/java/dokka/images/anchor-copy-button.svg @@ -1,4 +1,8 @@ + + - \ No newline at end of file + diff --git a/docs/dokka/images/arrow_down.svg b/docs/java/dokka/images/arrow_down.svg similarity index 55% rename from docs/dokka/images/arrow_down.svg rename to docs/java/dokka/images/arrow_down.svg index c0388de..639aaf1 100644 --- a/docs/dokka/images/arrow_down.svg +++ b/docs/java/dokka/images/arrow_down.svg @@ -1,3 +1,7 @@ + + - \ No newline at end of file + diff --git a/docs/java/dokka/images/burger.svg b/docs/java/dokka/images/burger.svg new file mode 100644 index 0000000..fcca732 --- /dev/null +++ b/docs/java/dokka/images/burger.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/docs/dokka/images/copy-icon.svg b/docs/java/dokka/images/copy-icon.svg similarity index 62% rename from docs/dokka/images/copy-icon.svg rename to docs/java/dokka/images/copy-icon.svg index 61440f0..2cb02ec 100644 --- a/docs/dokka/images/copy-icon.svg +++ b/docs/java/dokka/images/copy-icon.svg @@ -1,3 +1,7 @@ + + - \ No newline at end of file + diff --git a/docs/dokka/images/copy-successful-icon.svg b/docs/java/dokka/images/copy-successful-icon.svg similarity index 67% rename from docs/dokka/images/copy-successful-icon.svg rename to docs/java/dokka/images/copy-successful-icon.svg index 1865f73..c4b9538 100644 --- a/docs/dokka/images/copy-successful-icon.svg +++ b/docs/java/dokka/images/copy-successful-icon.svg @@ -1,3 +1,7 @@ + + - \ No newline at end of file + diff --git a/docs/dokka/images/footer-go-to-link.svg b/docs/java/dokka/images/footer-go-to-link.svg similarity index 61% rename from docs/dokka/images/footer-go-to-link.svg rename to docs/java/dokka/images/footer-go-to-link.svg index 0137e22..a87add7 100644 --- a/docs/dokka/images/footer-go-to-link.svg +++ b/docs/java/dokka/images/footer-go-to-link.svg @@ -1,3 +1,7 @@ + + - \ No newline at end of file + diff --git a/docs/dokka/images/go-to-top-icon.svg b/docs/java/dokka/images/go-to-top-icon.svg similarity index 68% rename from docs/dokka/images/go-to-top-icon.svg rename to docs/java/dokka/images/go-to-top-icon.svg index d987f3e..abc3d1c 100644 --- a/docs/dokka/images/go-to-top-icon.svg +++ b/docs/java/dokka/images/go-to-top-icon.svg @@ -1,4 +1,8 @@ + + - \ No newline at end of file + diff --git a/docs/java/dokka/images/homepage.svg b/docs/java/dokka/images/homepage.svg new file mode 100644 index 0000000..e3c83b1 --- /dev/null +++ b/docs/java/dokka/images/homepage.svg @@ -0,0 +1,3 @@ + + + diff --git a/docs/dokka/images/logo-icon.svg b/docs/java/dokka/images/logo-icon.svg similarity index 81% rename from docs/dokka/images/logo-icon.svg rename to docs/java/dokka/images/logo-icon.svg index 1fea087..e42f957 100644 --- a/docs/dokka/images/logo-icon.svg +++ b/docs/java/dokka/images/logo-icon.svg @@ -1,3 +1,7 @@ + + @@ -7,4 +11,4 @@ - \ No newline at end of file + diff --git a/docs/java/dokka/images/nav-icons/abstract-class-kotlin.svg b/docs/java/dokka/images/nav-icons/abstract-class-kotlin.svg new file mode 100644 index 0000000..19d6148 --- /dev/null +++ b/docs/java/dokka/images/nav-icons/abstract-class-kotlin.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/abstract-class.svg b/docs/java/dokka/images/nav-icons/abstract-class.svg new file mode 100644 index 0000000..6018203 --- /dev/null +++ b/docs/java/dokka/images/nav-icons/abstract-class.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/annotation-kotlin.svg b/docs/java/dokka/images/nav-icons/annotation-kotlin.svg new file mode 100644 index 0000000..b90f508 --- /dev/null +++ b/docs/java/dokka/images/nav-icons/annotation-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/annotation.svg b/docs/java/dokka/images/nav-icons/annotation.svg new file mode 100644 index 0000000..b80c54b --- /dev/null +++ b/docs/java/dokka/images/nav-icons/annotation.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/class-kotlin.svg b/docs/java/dokka/images/nav-icons/class-kotlin.svg new file mode 100644 index 0000000..797a242 --- /dev/null +++ b/docs/java/dokka/images/nav-icons/class-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/class.svg b/docs/java/dokka/images/nav-icons/class.svg new file mode 100644 index 0000000..3f1ad16 --- /dev/null +++ b/docs/java/dokka/images/nav-icons/class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/enum-kotlin.svg b/docs/java/dokka/images/nav-icons/enum-kotlin.svg new file mode 100644 index 0000000..775a7cc --- /dev/null +++ b/docs/java/dokka/images/nav-icons/enum-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/enum.svg b/docs/java/dokka/images/nav-icons/enum.svg new file mode 100644 index 0000000..fa7f247 --- /dev/null +++ b/docs/java/dokka/images/nav-icons/enum.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/exception-class.svg b/docs/java/dokka/images/nav-icons/exception-class.svg new file mode 100644 index 0000000..c0b2bde --- /dev/null +++ b/docs/java/dokka/images/nav-icons/exception-class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/field-value.svg b/docs/java/dokka/images/nav-icons/field-value.svg new file mode 100644 index 0000000..2771ee5 --- /dev/null +++ b/docs/java/dokka/images/nav-icons/field-value.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/field-variable.svg b/docs/java/dokka/images/nav-icons/field-variable.svg new file mode 100644 index 0000000..e2d2bbd --- /dev/null +++ b/docs/java/dokka/images/nav-icons/field-variable.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/function.svg b/docs/java/dokka/images/nav-icons/function.svg new file mode 100644 index 0000000..f0da64a --- /dev/null +++ b/docs/java/dokka/images/nav-icons/function.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/interface-kotlin.svg b/docs/java/dokka/images/nav-icons/interface-kotlin.svg new file mode 100644 index 0000000..5e16326 --- /dev/null +++ b/docs/java/dokka/images/nav-icons/interface-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/interface.svg b/docs/java/dokka/images/nav-icons/interface.svg new file mode 100644 index 0000000..32063ba --- /dev/null +++ b/docs/java/dokka/images/nav-icons/interface.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/object.svg b/docs/java/dokka/images/nav-icons/object.svg new file mode 100644 index 0000000..31f0ee3 --- /dev/null +++ b/docs/java/dokka/images/nav-icons/object.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/java/dokka/images/nav-icons/typealias-kotlin.svg b/docs/java/dokka/images/nav-icons/typealias-kotlin.svg new file mode 100644 index 0000000..f4bb238 --- /dev/null +++ b/docs/java/dokka/images/nav-icons/typealias-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/docs/java/dokka/images/theme-toggle.svg b/docs/java/dokka/images/theme-toggle.svg new file mode 100644 index 0000000..df86202 --- /dev/null +++ b/docs/java/dokka/images/theme-toggle.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/docs/java/dokka/index.html b/docs/java/dokka/index.html new file mode 100644 index 0000000..f4e01d7 --- /dev/null +++ b/docs/java/dokka/index.html @@ -0,0 +1,99 @@ + + + + + workspaces-java + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

workspaces-java

+
+

Packages

+
+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/java/dokka/navigation.html b/docs/java/dokka/navigation.html new file mode 100644 index 0000000..f22e11a --- /dev/null +++ b/docs/java/dokka/navigation.html @@ -0,0 +1,22 @@ + + diff --git a/docs/dokka/scripts/clipboard.js b/docs/java/dokka/scripts/clipboard.js similarity index 93% rename from docs/dokka/scripts/clipboard.js rename to docs/java/dokka/scripts/clipboard.js index b00ce24..7a4f33c 100644 --- a/docs/dokka/scripts/clipboard.js +++ b/docs/java/dokka/scripts/clipboard.js @@ -1,3 +1,7 @@ +/* + * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + window.addEventListener('load', () => { document.querySelectorAll('span.copy-icon').forEach(element => { element.addEventListener('click', (el) => copyElementsContentToClipboard(element)); diff --git a/docs/dokka/scripts/main.js b/docs/java/dokka/scripts/main.js similarity index 60% rename from docs/dokka/scripts/main.js rename to docs/java/dokka/scripts/main.js index b3ee88c..ba6c347 100644 --- a/docs/dokka/scripts/main.js +++ b/docs/java/dokka/scripts/main.js @@ -3,7 +3,7 @@ Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],n=0;n{"use strict";e.exports=function(e,n){var t=this,r=t.constructor;return t.options=Object.assign({storeInstancesGlobally:!0},n||{}),t.callbacks={},t.directMap={},t.sequenceLevels={},t.resetTimer=null,t.ignoreNextKeyup=!1,t.ignoreNextKeypress=!1,t.nextExpectedAction=!1,t.element=e,t.addEvents(),t.options.storeInstancesGlobally&&r.instances.push(t),t},e.exports.prototype.bind=t(2207),e.exports.prototype.bindMultiple=t(3396),e.exports.prototype.unbind=t(9208),e.exports.prototype.trigger=t(9855),e.exports.prototype.reset=t(6214),e.exports.prototype.stopCallback=t(3450),e.exports.prototype.handleKey=t(3067),e.exports.prototype.addEvents=t(718),e.exports.prototype.bindSingle=t(8763),e.exports.prototype.getKeyInfo=t(5825),e.exports.prototype.pickBestAction=t(8608),e.exports.prototype.getReverseMap=t(3956),e.exports.prototype.getMatches=t(3373),e.exports.prototype.resetSequences=t(3346),e.exports.prototype.fireCallback=t(2684),e.exports.prototype.bindSequence=t(7103),e.exports.prototype.resetSequenceTimer=t(7309),e.exports.prototype.detach=t(7554),e.exports.instances=[],e.exports.reset=t(1822),e.exports.REVERSE_MAP=null},718:(e,n,t)=>{"use strict";e.exports=function(){var e=this,n=t(4323),r=e.element;e.eventHandler=t(9646).bind(e),n(r,"keypress",e.eventHandler),n(r,"keydown",e.eventHandler),n(r,"keyup",e.eventHandler)}},2207:e=>{"use strict";e.exports=function(e,n,t){return e=e instanceof Array?e:[e],this.bindMultiple(e,n,t),this}},3396:e=>{"use strict";e.exports=function(e,n,t){for(var r=0;r{"use strict";e.exports=function(e,n,r,o){var i=this;function a(n){return function(){i.nextExpectedAction=n,++i.sequenceLevels[e],i.resetSequenceTimer()}}function l(n){var a;i.fireCallback(r,n,e),"keyup"!==o&&(a=t(6770),i.ignoreNextKeyup=a(n)),setTimeout((function(){i.resetSequences()}),10)}i.sequenceLevels[e]=0;for(var c=0;c{"use strict";e.exports=function(e,n,t,r,o){var i=this;i.directMap[e+":"+t]=n;var a,l=(e=e.replace(/\s+/g," ")).split(" ");l.length>1?i.bindSequence(e,l,n,t):(a=i.getKeyInfo(e,t),i.callbacks[a.key]=i.callbacks[a.key]||[],i.getMatches(a.key,a.modifiers,{type:a.action},r,e,o),i.callbacks[a.key][r?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:r,level:o,combo:e}))}},7554:(e,n,t)=>{var r=t(4323).off;e.exports=function(){var e=this,n=e.element;r(n,"keypress",e.eventHandler),r(n,"keydown",e.eventHandler),r(n,"keyup",e.eventHandler)}},4323:e=>{function n(e,n,t,r){return!e.addEventListener&&(n="on"+n),(e.addEventListener||e.attachEvent).call(e,n,t,r),t}e.exports=n,e.exports.on=n,e.exports.off=function(e,n,t,r){return!e.removeEventListener&&(n="on"+n),(e.removeEventListener||e.detachEvent).call(e,n,t,r),t}},2684:(e,n,t)=>{"use strict";e.exports=function(e,n,r,o){this.stopCallback(n,n.target||n.srcElement,r,o)||!1===e(n,r)&&(t(1350)(n),t(6103)(n))}},5825:(e,n,t)=>{"use strict";e.exports=function(e,n){var r,o,i,a,l,c,u=[];for(r=t(4520)(e),a=t(7549),l=t(5355),c=t(8581),i=0;i{"use strict";e.exports=function(e,n,r,o,i,a){var l,c,u,s,f=this,p=[],d=r.type;"keypress"!==d||r.code&&"Arrow"===r.code.slice(0,5)||(f.callbacks["any-character"]||[]).forEach((function(e){p.push(e)}));if(!f.callbacks[e])return p;for(u=t(8581),"keyup"===d&&u(e)&&(n=[e]),l=0;l{"use strict";e.exports=function(){var e,n=this.constructor;if(!n.REVERSE_MAP)for(var r in n.REVERSE_MAP={},e=t(4766))r>95&&r<112||e.hasOwnProperty(r)&&(n.REVERSE_MAP[e[r]]=r);return n.REVERSE_MAP}},3067:(e,n,t)=>{"use strict";e.exports=function(e,n,r){var o,i,a,l,c=this,u={},s=0,f=!1;for(o=c.getMatches(e,n,r),i=0;i{"use strict";e.exports=function(e){var n,r=this;"number"!=typeof e.which&&(e.which=e.keyCode);var o=t(6770)(e);void 0!==o&&("keyup"!==e.type||r.ignoreNextKeyup!==o?(n=t(4610),r.handleKey(o,n(e),e)):r.ignoreNextKeyup=!1)}},5532:e=>{"use strict";e.exports=function(e,n){return e.sort().join(",")===n.sort().join(",")}},8608:e=>{"use strict";e.exports=function(e,n,t){return t||(t=this.getReverseMap()[e]?"keydown":"keypress"),"keypress"===t&&n.length&&(t="keydown"),t}},6214:e=>{"use strict";e.exports=function(){return this.callbacks={},this.directMap={},this}},7309:e=>{"use strict";e.exports=function(){var e=this;clearTimeout(e.resetTimer),e.resetTimer=setTimeout((function(){e.resetSequences()}),1e3)}},3346:e=>{"use strict";e.exports=function(e){var n=this;e=e||{};var t,r=!1;for(t in n.sequenceLevels)e[t]?r=!0:n.sequenceLevels[t]=0;r||(n.nextExpectedAction=!1)}},3450:e=>{"use strict";e.exports=function(e,n){if((" "+n.className+" ").indexOf(" combokeys ")>-1)return!1;var t=n.tagName.toLowerCase();return"input"===t||"select"===t||"textarea"===t||n.isContentEditable}},9855:e=>{"use strict";e.exports=function(e,n){return this.directMap[e+":"+n]&&this.directMap[e+":"+n]({},e),this}},9208:e=>{"use strict";e.exports=function(e,n){return this.bind(e,(function(){}),n)}},1822:e=>{"use strict";e.exports=function(){this.instances.forEach((function(e){e.reset()}))}},6770:(e,n,t)=>{"use strict";e.exports=function(e){var n,r;if(n=t(4766),r=t(5295),"keypress"===e.type){var o=String.fromCharCode(e.which);return e.shiftKey||(o=o.toLowerCase()),o}return void 0!==n[e.which]?n[e.which]:void 0!==r[e.which]?r[e.which]:String.fromCharCode(e.which).toLowerCase()}},4610:e=>{"use strict";e.exports=function(e){var n=[];return e.shiftKey&&n.push("shift"),e.altKey&&n.push("alt"),e.ctrlKey&&n.push("ctrl"),e.metaKey&&n.push("meta"),n}},8581:e=>{"use strict";e.exports=function(e){return"shift"===e||"ctrl"===e||"alt"===e||"meta"===e}},4520:e=>{"use strict";e.exports=function(e){return"+"===e?["+"]:e.split("+")}},1350:e=>{"use strict";e.exports=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1}},5355:e=>{"use strict";e.exports={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"}},7549:e=>{"use strict";e.exports={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"}},5295:e=>{"use strict";e.exports={106:"*",107:"plus",109:"minus",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},4766:e=>{"use strict";e.exports={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",173:"minus",187:"plus",189:"minus",224:"meta"};for(var n=1;n<20;++n)e.exports[111+n]="f"+n;for(n=0;n<=9;++n)e.exports[n+96]=n},6103:e=>{"use strict";e.exports=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}},3362:()=>{var e;!function(){var e=Math.PI,n=2*e,t=e/180,r=document.createElement("div");document.head.appendChild(r);var o=self.ConicGradient=function(e){o.all.push(this),e=e||{},this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.repeating=!!e.repeating,this.size=e.size||Math.max(innerWidth,innerHeight),this.canvas.width=this.canvas.height=this.size;var n=e.stops;this.stops=(n||"").split(/\s*,(?![^(]*\))\s*/),this.from=0;for(var t=0;t0){var i=this.stops[0].clone();i.pos=0,this.stops.unshift(i)}if(void 0===this.stops[this.stops.length-1].pos)this.stops[this.stops.length-1].pos=1;else if(!this.repeating&&this.stops[this.stops.length-1].pos<1){var a=this.stops[this.stops.length-1].clone();a.pos=1,this.stops.push(a)}if(this.stops.forEach((function(e,n){if(void 0===e.pos){for(var t=n+1;this[t];t++)if(void 0!==this[t].pos){e.pos=this[n-1].pos+(this[t].pos-this[n-1].pos)/(t-n+1);break}}else n>0&&(e.pos=Math.max(e.pos,this[n-1].pos))}),this.stops),this.repeating){var l=(n=this.stops.slice())[n.length-1].pos-n[0].pos;for(t=0;this.stops[this.stops.length-1].pos<1&&t<1e4;t++)for(var c=0;c'},get png(){return this.canvas.toDataURL()},get r(){return Math.sqrt(2)*this.size/2},paint:function(){var e,n,r,o=this.context,i=this.r,a=this.size/2,l=0,c=this.stops[l];o.translate(this.size/2,this.size/2),o.rotate(-90*t),o.rotate(this.from*t),o.translate(-this.size/2,-this.size/2);for(var u=0;u<360;){if(u/360+1e-5>=c.pos){do{e=c,l++,c=this.stops[l]}while(c&&c!=e&&c.pos===e.pos);if(!c)break;var s=e.color+""==c.color+""&&e!=c;n=e.color.map((function(e,n){return c.color[n]-e}))}r=(u/360-e.pos)/(c.pos-e.pos);var f=s?c.color:n.map((function(n,t){var o=n*r+e.color[t];return t<3?255&o:o}));if(o.fillStyle="rgba("+f.join(",")+")",o.beginPath(),o.moveTo(a,a),s)var p=360*(c.pos-e.pos);else p=.5;var d=u*t,h=(d=Math.min(360*t,d))+p*t;h=Math.min(360*t,h+.02),o.arc(a,a,i,d,h),o.closePath(),o.fill(),u+=p}}},o.ColorStop=function(e,t){if(this.gradient=e,t){var r=t.match(/^(.+?)(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?\s*$/);if(this.color=o.ColorStop.colorToRGBA(r[1]),r[2]){var i=r[3];"%"==i||"0"===r[2]&&!i?this.pos=r[2]/100:"turn"==i?this.pos=+r[2]:"deg"==i?this.pos=r[2]/360:"grad"==i?this.pos=r[2]/400:"rad"==i&&(this.pos=r[2]/n)}r[4]&&(this.next=new o.ColorStop(e,r[1]+" "+r[4]+r[5]))}},o.ColorStop.prototype={clone:function(){var e=new o.ColorStop(this.gradient);return e.color=this.color,e.pos=this.pos,e},toString:function(){return"rgba("+this.color.join(", ")+") "+100*this.pos+"%"}},o.ColorStop.colorToRGBA=function(e){if(!Array.isArray(e)&&-1==e.indexOf("from")){r.style.color=e;var n=getComputedStyle(r).color.match(/rgba?\(([\d.]+), ([\d.]+), ([\d.]+)(?:, ([\d.]+))?\)/);return n&&(n.shift(),(n=n.map((function(e){return+e})))[3]=isNaN(n[3])?1:n[3]),n||[0,0,0,0]}return e}}(),self.StyleFix&&((e=document.createElement("p")).style.backgroundImage="conic-gradient(white, black)",e.style.backgroundImage=PrefixFree.prefix+"conic-gradient(white, black)",e.style.backgroundImage||StyleFix.register((function(e,n){return e.indexOf("conic-gradient")>-1&&(e=e.replace(/(?:repeating-)?conic-gradient\(\s*((?:\([^()]+\)|[^;()}])+?)\)/g,(function(e,n){return new ConicGradient({stops:n,repeating:e.indexOf("repeating-")>-1})}))),e})))},9662:(e,n,t)=>{var r=t(7854),o=t(614),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a function")}},9483:(e,n,t)=>{var r=t(7854),o=t(4411),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a constructor")}},6077:(e,n,t)=>{var r=t(7854),o=t(614),i=r.String,a=r.TypeError;e.exports=function(e){if("object"==typeof e||o(e))return e;throw a("Can't set "+i(e)+" as a prototype")}},1223:(e,n,t)=>{var r=t(5112),o=t(30),i=t(3070),a=r("unscopables"),l=Array.prototype;null==l[a]&&i.f(l,a,{configurable:!0,value:o(null)}),e.exports=function(e){l[a][e]=!0}},1530:(e,n,t)=>{"use strict";var r=t(8710).charAt;e.exports=function(e,n,t){return n+(t?r(e,n).length:1)}},5787:(e,n,t)=>{var r=t(7854),o=t(7976),i=r.TypeError;e.exports=function(e,n){if(o(n,e))return e;throw i("Incorrect invocation")}},9670:(e,n,t)=>{var r=t(7854),o=t(111),i=r.String,a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not an object")}},7556:(e,n,t)=>{var r=t(7293);e.exports=r((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}))},8533:(e,n,t)=>{"use strict";var r=t(2092).forEach,o=t(9341)("forEach");e.exports=o?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},8457:(e,n,t)=>{"use strict";var r=t(7854),o=t(9974),i=t(6916),a=t(7908),l=t(3411),c=t(7659),u=t(4411),s=t(6244),f=t(6135),p=t(8554),d=t(1246),h=r.Array;e.exports=function(e){var n=a(e),t=u(this),r=arguments.length,g=r>1?arguments[1]:void 0,v=void 0!==g;v&&(g=o(g,r>2?arguments[2]:void 0));var A,b,m,y,E,_,C=d(n),w=0;if(!C||this==h&&c(C))for(A=s(n),b=t?new this(A):h(A);A>w;w++)_=v?g(n[w],w):n[w],f(b,w,_);else for(E=(y=p(n,C)).next,b=t?new this:[];!(m=i(E,y)).done;w++)_=v?l(y,g,[m.value,w],!0):m.value,f(b,w,_);return b.length=w,b}},1318:(e,n,t)=>{var r=t(5656),o=t(1400),i=t(6244),a=function(e){return function(n,t,a){var l,c=r(n),u=i(c),s=o(a,u);if(e&&t!=t){for(;u>s;)if((l=c[s++])!=l)return!0}else for(;u>s;s++)if((e||s in c)&&c[s]===t)return e||s||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},2092:(e,n,t)=>{var r=t(9974),o=t(1702),i=t(8361),a=t(7908),l=t(6244),c=t(5417),u=o([].push),s=function(e){var n=1==e,t=2==e,o=3==e,s=4==e,f=6==e,p=7==e,d=5==e||f;return function(h,g,v,A){for(var b,m,y=a(h),E=i(y),_=r(g,v),C=l(E),w=0,x=A||c,k=n?x(h,C):t||p?x(h,0):void 0;C>w;w++)if((d||w in E)&&(m=_(b=E[w],w,y),e))if(n)k[w]=m;else if(m)switch(e){case 3:return!0;case 5:return b;case 6:return w;case 2:u(k,b)}else switch(e){case 4:return!1;case 7:u(k,b)}return f?-1:o||s?s:k}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6),filterReject:s(7)}},1194:(e,n,t)=>{var r=t(7293),o=t(5112),i=t(7392),a=o("species");e.exports=function(e){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[e](Boolean).foo}))}},9341:(e,n,t)=>{"use strict";var r=t(7293);e.exports=function(e,n){var t=[][e];return!!t&&r((function(){t.call(null,n||function(){throw 1},1)}))}},3671:(e,n,t)=>{var r=t(7854),o=t(9662),i=t(7908),a=t(8361),l=t(6244),c=r.TypeError,u=function(e){return function(n,t,r,u){o(t);var s=i(n),f=a(s),p=l(s),d=e?p-1:0,h=e?-1:1;if(r<2)for(;;){if(d in f){u=f[d],d+=h;break}if(d+=h,e?d<0:p<=d)throw c("Reduce of empty array with no initial value")}for(;e?d>=0:p>d;d+=h)d in f&&(u=t(u,f[d],d,s));return u}};e.exports={left:u(!1),right:u(!0)}},206:(e,n,t)=>{var r=t(1702);e.exports=r([].slice)},4362:(e,n,t)=>{var r=t(206),o=Math.floor,i=function(e,n){var t=e.length,c=o(t/2);return t<8?a(e,n):l(e,i(r(e,0,c),n),i(r(e,c),n),n)},a=function(e,n){for(var t,r,o=e.length,i=1;i0;)e[r]=e[--r];r!==i++&&(e[r]=t)}return e},l=function(e,n,t,r){for(var o=n.length,i=t.length,a=0,l=0;a{var r=t(7854),o=t(3157),i=t(4411),a=t(111),l=t(5112)("species"),c=r.Array;e.exports=function(e){var n;return o(e)&&(n=e.constructor,(i(n)&&(n===c||o(n.prototype))||a(n)&&null===(n=n[l]))&&(n=void 0)),void 0===n?c:n}},5417:(e,n,t)=>{var r=t(7475);e.exports=function(e,n){return new(r(e))(0===n?0:n)}},3411:(e,n,t)=>{var r=t(9670),o=t(9212);e.exports=function(e,n,t,i){try{return i?n(r(t)[0],t[1]):n(t)}catch(n){o(e,"throw",n)}}},7072:(e,n,t)=>{var r=t(5112)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,n){if(!n&&!o)return!1;var t=!1;try{var i={};i[r]=function(){return{next:function(){return{done:t=!0}}}},e(i)}catch(e){}return t}},4326:(e,n,t)=>{var r=t(1702),o=r({}.toString),i=r("".slice);e.exports=function(e){return i(o(e),8,-1)}},648:(e,n,t)=>{var r=t(7854),o=t(1694),i=t(614),a=t(4326),l=t(5112)("toStringTag"),c=r.Object,u="Arguments"==a(function(){return arguments}());e.exports=o?a:function(e){var n,t,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=function(e,n){try{return e[n]}catch(e){}}(n=c(e),l))?t:u?a(n):"Object"==(r=a(n))&&i(n.callee)?"Arguments":r}},5631:(e,n,t)=>{"use strict";var r=t(3070).f,o=t(30),i=t(2248),a=t(9974),l=t(5787),c=t(408),u=t(654),s=t(6340),f=t(9781),p=t(2423).fastKey,d=t(9909),h=d.set,g=d.getterFor;e.exports={getConstructor:function(e,n,t,u){var s=e((function(e,r){l(e,d),h(e,{type:n,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),null!=r&&c(r,e[u],{that:e,AS_ENTRIES:t})})),d=s.prototype,v=g(n),A=function(e,n,t){var r,o,i=v(e),a=b(e,n);return a?a.value=t:(i.last=a={index:o=p(n,!0),key:n,value:t,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),f?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},b=function(e,n){var t,r=v(e),o=p(n);if("F"!==o)return r.index[o];for(t=r.first;t;t=t.next)if(t.key==n)return t};return i(d,{clear:function(){for(var e=v(this),n=e.index,t=e.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=void 0),delete n[t.index],t=t.next;e.first=e.last=void 0,f?e.size=0:this.size=0},delete:function(e){var n=this,t=v(n),r=b(n,e);if(r){var o=r.next,i=r.previous;delete t.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),t.first==r&&(t.first=o),t.last==r&&(t.last=i),f?t.size--:n.size--}return!!r},forEach:function(e){for(var n,t=v(this),r=a(e,arguments.length>1?arguments[1]:void 0);n=n?n.next:t.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(e){return!!b(this,e)}}),i(d,t?{get:function(e){var n=b(this,e);return n&&n.value},set:function(e,n){return A(this,0===e?0:e,n)}}:{add:function(e){return A(this,e=0===e?0:e,e)}}),f&&r(d,"size",{get:function(){return v(this).size}}),s},setStrong:function(e,n,t){var r=n+" Iterator",o=g(n),i=g(r);u(e,n,(function(e,n){h(this,{type:r,target:e,state:o(e),kind:n,last:void 0})}),(function(){for(var e=i(this),n=e.kind,t=e.last;t&&t.removed;)t=t.previous;return e.target&&(e.last=t=t?t.next:e.state.first)?"keys"==n?{value:t.key,done:!1}:"values"==n?{value:t.value,done:!1}:{value:[t.key,t.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),t?"entries":"values",!t,!0),s(n)}}},9320:(e,n,t)=>{"use strict";var r=t(1702),o=t(2248),i=t(2423).getWeakData,a=t(9670),l=t(111),c=t(5787),u=t(408),s=t(2092),f=t(2597),p=t(9909),d=p.set,h=p.getterFor,g=s.find,v=s.findIndex,A=r([].splice),b=0,m=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},E=function(e,n){return g(e.entries,(function(e){return e[0]===n}))};y.prototype={get:function(e){var n=E(this,e);if(n)return n[1]},has:function(e){return!!E(this,e)},set:function(e,n){var t=E(this,e);t?t[1]=n:this.entries.push([e,n])},delete:function(e){var n=v(this.entries,(function(n){return n[0]===e}));return~n&&A(this.entries,n,1),!!~n}},e.exports={getConstructor:function(e,n,t,r){var s=e((function(e,o){c(e,p),d(e,{type:n,id:b++,frozen:void 0}),null!=o&&u(o,e[r],{that:e,AS_ENTRIES:t})})),p=s.prototype,g=h(n),v=function(e,n,t){var r=g(e),o=i(a(n),!0);return!0===o?m(r).set(n,t):o[r.id]=t,e};return o(p,{delete:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).delete(e):t&&f(t,n.id)&&delete t[n.id]},has:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).has(e):t&&f(t,n.id)}}),o(p,t?{get:function(e){var n=g(this);if(l(e)){var t=i(e);return!0===t?m(n).get(e):t?t[n.id]:void 0}},set:function(e,n){return v(this,e,n)}}:{add:function(e){return v(this,e,!0)}}),s}}},7710:(e,n,t)=>{"use strict";var r=t(2109),o=t(7854),i=t(1702),a=t(4705),l=t(1320),c=t(2423),u=t(408),s=t(5787),f=t(614),p=t(111),d=t(7293),h=t(7072),g=t(8003),v=t(9587);e.exports=function(e,n,t){var A=-1!==e.indexOf("Map"),b=-1!==e.indexOf("Weak"),m=A?"set":"add",y=o[e],E=y&&y.prototype,_=y,C={},w=function(e){var n=i(E[e]);l(E,e,"add"==e?function(e){return n(this,0===e?0:e),this}:"delete"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:"get"==e?function(e){return b&&!p(e)?void 0:n(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:function(e,t){return n(this,0===e?0:e,t),this})};if(a(e,!f(y)||!(b||E.forEach&&!d((function(){(new y).entries().next()})))))_=t.getConstructor(n,e,A,m),c.enable();else if(a(e,!0)){var x=new _,k=x[m](b?{}:-0,1)!=x,S=d((function(){x.has(1)})),O=h((function(e){new y(e)})),B=!b&&d((function(){for(var e=new y,n=5;n--;)e[m](n,n);return!e.has(-0)}));O||((_=n((function(e,n){s(e,E);var t=v(new y,e,_);return null!=n&&u(n,t[m],{that:t,AS_ENTRIES:A}),t}))).prototype=E,E.constructor=_),(S||B)&&(w("delete"),w("has"),A&&w("get")),(B||k)&&w(m),b&&E.clear&&delete E.clear}return C[e]=_,r({global:!0,forced:_!=y},C),g(_,e),b||t.setStrong(_,e,A),_}},9920:(e,n,t)=>{var r=t(2597),o=t(3887),i=t(1236),a=t(3070);e.exports=function(e,n){for(var t=o(n),l=a.f,c=i.f,u=0;u{var r=t(5112)("match");e.exports=function(e){var n=/./;try{"/./"[e](n)}catch(t){try{return n[r]=!1,"/./"[e](n)}catch(e){}}return!1}},8544:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},4230:(e,n,t)=>{var r=t(1702),o=t(4488),i=t(1340),a=/"/g,l=r("".replace);e.exports=function(e,n,t,r){var c=i(o(e)),u="<"+n;return""!==t&&(u+=" "+t+'="'+l(i(r),a,""")+'"'),u+">"+c+""}},4994:(e,n,t)=>{"use strict";var r=t(3383).IteratorPrototype,o=t(30),i=t(9114),a=t(8003),l=t(7497),c=function(){return this};e.exports=function(e,n,t){var u=n+" Iterator";return e.prototype=o(r,{next:i(1,t)}),a(e,u,!1,!0),l[u]=c,e}},8880:(e,n,t)=>{var r=t(9781),o=t(3070),i=t(9114);e.exports=r?function(e,n,t){return o.f(e,n,i(1,t))}:function(e,n,t){return e[n]=t,e}},9114:e=>{e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},6135:(e,n,t)=>{"use strict";var r=t(4948),o=t(3070),i=t(9114);e.exports=function(e,n,t){var a=r(n);a in e?o.f(e,a,i(0,t)):e[a]=t}},8709:(e,n,t)=>{"use strict";var r=t(7854),o=t(9670),i=t(2140),a=r.TypeError;e.exports=function(e){if(o(this),"string"===e||"default"===e)e="string";else if("number"!==e)throw a("Incorrect hint");return i(this,e)}},654:(e,n,t)=>{"use strict";var r=t(2109),o=t(6916),i=t(1913),a=t(6530),l=t(614),c=t(4994),u=t(9518),s=t(7674),f=t(8003),p=t(8880),d=t(1320),h=t(5112),g=t(7497),v=t(3383),A=a.PROPER,b=a.CONFIGURABLE,m=v.IteratorPrototype,y=v.BUGGY_SAFARI_ITERATORS,E=h("iterator"),_="keys",C="values",w="entries",x=function(){return this};e.exports=function(e,n,t,a,h,v,k){c(t,n,a);var S,O,B,I=function(e){if(e===h&&R)return R;if(!y&&e in j)return j[e];switch(e){case _:case C:case w:return function(){return new t(this,e)}}return function(){return new t(this)}},T=n+" Iterator",P=!1,j=e.prototype,z=j[E]||j["@@iterator"]||h&&j[h],R=!y&&z||I(h),M="Array"==n&&j.entries||z;if(M&&(S=u(M.call(new e)))!==Object.prototype&&S.next&&(i||u(S)===m||(s?s(S,m):l(S[E])||d(S,E,x)),f(S,T,!0,!0),i&&(g[T]=x)),A&&h==C&&z&&z.name!==C&&(!i&&b?p(j,"name",C):(P=!0,R=function(){return o(z,this)})),h)if(O={values:I(C),keys:v?R:I(_),entries:I(w)},k)for(B in O)(y||P||!(B in j))&&d(j,B,O[B]);else r({target:n,proto:!0,forced:y||P},O);return i&&!k||j[E]===R||d(j,E,R,{name:h}),g[n]=R,O}},7235:(e,n,t)=>{var r=t(857),o=t(2597),i=t(6061),a=t(3070).f;e.exports=function(e){var n=r.Symbol||(r.Symbol={});o(n,e)||a(n,e,{value:i.f(e)})}},9781:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:(e,n,t)=>{var r=t(7854),o=t(111),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},8324:e=>{e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8509:(e,n,t)=>{var r=t(317)("span").classList,o=r&&r.constructor&&r.constructor.prototype;e.exports=o===Object.prototype?void 0:o},8886:(e,n,t)=>{var r=t(8113).match(/firefox\/(\d+)/i);e.exports=!!r&&+r[1]},256:(e,n,t)=>{var r=t(8113);e.exports=/MSIE|Trident/.test(r)},5268:(e,n,t)=>{var r=t(4326),o=t(7854);e.exports="process"==r(o.process)},8113:(e,n,t)=>{var r=t(5005);e.exports=r("navigator","userAgent")||""},7392:(e,n,t)=>{var r,o,i=t(7854),a=t(8113),l=i.process,c=i.Deno,u=l&&l.versions||c&&c.version,s=u&&u.v8;s&&(o=(r=s.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),e.exports=o},8008:(e,n,t)=>{var r=t(8113).match(/AppleWebKit\/(\d+)\./);e.exports=!!r&&+r[1]},748:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:(e,n,t)=>{var r=t(7854),o=t(1236).f,i=t(8880),a=t(1320),l=t(3505),c=t(9920),u=t(4705);e.exports=function(e,n){var t,s,f,p,d,h=e.target,g=e.global,v=e.stat;if(t=g?r:v?r[h]||l(h,{}):(r[h]||{}).prototype)for(s in n){if(p=n[s],f=e.noTargetGet?(d=o(t,s))&&d.value:t[s],!u(g?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;c(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(t,s,p,e)}}},7293:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},7007:(e,n,t)=>{"use strict";t(4916);var r=t(1702),o=t(1320),i=t(2261),a=t(7293),l=t(5112),c=t(8880),u=l("species"),s=RegExp.prototype;e.exports=function(e,n,t,f){var p=l(e),d=!a((function(){var n={};return n[p]=function(){return 7},7!=""[e](n)})),h=d&&!a((function(){var n=!1,t=/a/;return"split"===e&&((t={}).constructor={},t.constructor[u]=function(){return t},t.flags="",t[p]=/./[p]),t.exec=function(){return n=!0,null},t[p](""),!n}));if(!d||!h||t){var g=r(/./[p]),v=n(p,""[e],(function(e,n,t,o,a){var l=r(e),c=n.exec;return c===i||c===s.exec?d&&!a?{done:!0,value:g(n,t,o)}:{done:!0,value:l(t,n,o)}:{done:!1}}));o(String.prototype,e,v[0]),o(s,p,v[1])}f&&c(s[p],"sham",!0)}},6677:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},2104:e=>{var n=Function.prototype,t=n.apply,r=n.bind,o=n.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?o.bind(t):function(){return o.apply(t,arguments)})},9974:(e,n,t)=>{var r=t(1702),o=t(9662),i=r(r.bind);e.exports=function(e,n){return o(e),void 0===n?e:i?i(e,n):function(){return e.apply(n,arguments)}}},7065:(e,n,t)=>{"use strict";var r=t(7854),o=t(1702),i=t(9662),a=t(111),l=t(2597),c=t(206),u=r.Function,s=o([].concat),f=o([].join),p={},d=function(e,n,t){if(!l(p,n)){for(var r=[],o=0;o{var n=Function.prototype.call;e.exports=n.bind?n.bind(n):function(){return n.apply(n,arguments)}},6530:(e,n,t)=>{var r=t(9781),o=t(2597),i=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,l=o(i,"name"),c=l&&"something"===function(){}.name,u=l&&(!r||r&&a(i,"name").configurable);e.exports={EXISTS:l,PROPER:c,CONFIGURABLE:u}},1702:e=>{var n=Function.prototype,t=n.bind,r=n.call,o=t&&t.bind(r);e.exports=t?function(e){return e&&o(r,e)}:function(e){return e&&function(){return r.apply(e,arguments)}}},5005:(e,n,t)=>{var r=t(7854),o=t(614),i=function(e){return o(e)?e:void 0};e.exports=function(e,n){return arguments.length<2?i(r[e]):r[e]&&r[e][n]}},1246:(e,n,t)=>{var r=t(648),o=t(8173),i=t(7497),a=t(5112)("iterator");e.exports=function(e){if(null!=e)return o(e,a)||o(e,"@@iterator")||i[r(e)]}},8554:(e,n,t)=>{var r=t(7854),o=t(6916),i=t(9662),a=t(9670),l=t(6330),c=t(1246),u=r.TypeError;e.exports=function(e,n){var t=arguments.length<2?c(e):n;if(i(t))return a(o(t,e));throw u(l(e)+" is not iterable")}},8173:(e,n,t)=>{var r=t(9662);e.exports=function(e,n){var t=e[n];return null==t?void 0:r(t)}},647:(e,n,t)=>{var r=t(1702),o=t(7908),i=Math.floor,a=r("".charAt),l=r("".replace),c=r("".slice),u=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,s=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,n,t,r,f,p){var d=t+e.length,h=r.length,g=s;return void 0!==f&&(f=o(f),g=u),l(p,g,(function(o,l){var u;switch(a(l,0)){case"$":return"$";case"&":return e;case"`":return c(n,0,t);case"'":return c(n,d);case"<":u=f[c(l,1,-1)];break;default:var s=+l;if(0===s)return o;if(s>h){var p=i(s/10);return 0===p?o:p<=h?void 0===r[p-1]?a(l,1):r[p-1]+a(l,1):o}u=r[s-1]}return void 0===u?"":u}))}},7854:(e,n,t)=>{var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t.g&&t.g)||function(){return this}()||Function("return this")()},2597:(e,n,t)=>{var r=t(1702),o=t(7908),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,n){return i(o(e),n)}},3501:e=>{e.exports={}},490:(e,n,t)=>{var r=t(5005);e.exports=r("document","documentElement")},4664:(e,n,t)=>{var r=t(9781),o=t(7293),i=t(317);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:(e,n,t)=>{var r=t(7854),o=t(1702),i=t(7293),a=t(4326),l=r.Object,c=o("".split);e.exports=i((function(){return!l("z").propertyIsEnumerable(0)}))?function(e){return"String"==a(e)?c(e,""):l(e)}:l},9587:(e,n,t)=>{var r=t(614),o=t(111),i=t(7674);e.exports=function(e,n,t){var a,l;return i&&r(a=n.constructor)&&a!==t&&o(l=a.prototype)&&l!==t.prototype&&i(e,l),e}},2788:(e,n,t)=>{var r=t(1702),o=t(614),i=t(5465),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},2423:(e,n,t)=>{var r=t(2109),o=t(1702),i=t(3501),a=t(111),l=t(2597),c=t(3070).f,u=t(8006),s=t(1156),f=t(2050),p=t(9711),d=t(6677),h=!1,g=p("meta"),v=0,A=function(e){c(e,g,{value:{objectID:"O"+v++,weakData:{}}})},b=e.exports={enable:function(){b.enable=function(){},h=!0;var e=u.f,n=o([].splice),t={};t[g]=1,e(t).length&&(u.f=function(t){for(var r=e(t),o=0,i=r.length;o{var r,o,i,a=t(8536),l=t(7854),c=t(1702),u=t(111),s=t(8880),f=t(2597),p=t(5465),d=t(6200),h=t(3501),g="Object already initialized",v=l.TypeError,A=l.WeakMap;if(a||p.state){var b=p.state||(p.state=new A),m=c(b.get),y=c(b.has),E=c(b.set);r=function(e,n){if(y(b,e))throw new v(g);return n.facade=e,E(b,e,n),n},o=function(e){return m(b,e)||{}},i=function(e){return y(b,e)}}else{var _=d("state");h[_]=!0,r=function(e,n){if(f(e,_))throw new v(g);return n.facade=e,s(e,_,n),n},o=function(e){return f(e,_)?e[_]:{}},i=function(e){return f(e,_)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(n){var t;if(!u(n)||(t=o(n)).type!==e)throw v("Incompatible receiver, "+e+" required");return t}}}},7659:(e,n,t)=>{var r=t(5112),o=t(7497),i=r("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||a[i]===e)}},3157:(e,n,t)=>{var r=t(4326);e.exports=Array.isArray||function(e){return"Array"==r(e)}},614:e=>{e.exports=function(e){return"function"==typeof e}},4411:(e,n,t)=>{var r=t(1702),o=t(7293),i=t(614),a=t(648),l=t(5005),c=t(2788),u=function(){},s=[],f=l("Reflect","construct"),p=/^\s*(?:class|function)\b/,d=r(p.exec),h=!p.exec(u),g=function(e){if(!i(e))return!1;try{return f(u,s,e),!0}catch(e){return!1}};e.exports=!f||o((function(){var e;return g(g.call)||!g(Object)||!g((function(){e=!0}))||e}))?function(e){if(!i(e))return!1;switch(a(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return h||!!d(p,c(e))}:g},4705:(e,n,t)=>{var r=t(7293),o=t(614),i=/#|\.prototype\./,a=function(e,n){var t=c[l(e)];return t==s||t!=u&&(o(n)?r(n):!!n)},l=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=a.data={},u=a.NATIVE="N",s=a.POLYFILL="P";e.exports=a},111:(e,n,t)=>{var r=t(614);e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},1913:e=>{e.exports=!1},7850:(e,n,t)=>{var r=t(111),o=t(4326),i=t(5112)("match");e.exports=function(e){var n;return r(e)&&(void 0!==(n=e[i])?!!n:"RegExp"==o(e))}},2190:(e,n,t)=>{var r=t(7854),o=t(5005),i=t(614),a=t(7976),l=t(3307),c=r.Object;e.exports=l?function(e){return"symbol"==typeof e}:function(e){var n=o("Symbol");return i(n)&&a(n.prototype,c(e))}},408:(e,n,t)=>{var r=t(7854),o=t(9974),i=t(6916),a=t(9670),l=t(6330),c=t(7659),u=t(6244),s=t(7976),f=t(8554),p=t(1246),d=t(9212),h=r.TypeError,g=function(e,n){this.stopped=e,this.result=n},v=g.prototype;e.exports=function(e,n,t){var r,A,b,m,y,E,_,C=t&&t.that,w=!(!t||!t.AS_ENTRIES),x=!(!t||!t.IS_ITERATOR),k=!(!t||!t.INTERRUPTED),S=o(n,C),O=function(e){return r&&d(r,"normal",e),new g(!0,e)},B=function(e){return w?(a(e),k?S(e[0],e[1],O):S(e[0],e[1])):k?S(e,O):S(e)};if(x)r=e;else{if(!(A=p(e)))throw h(l(e)+" is not iterable");if(c(A)){for(b=0,m=u(e);m>b;b++)if((y=B(e[b]))&&s(v,y))return y;return new g(!1)}r=f(e,A)}for(E=r.next;!(_=i(E,r)).done;){try{y=B(_.value)}catch(e){d(r,"throw",e)}if("object"==typeof y&&y&&s(v,y))return y}return new g(!1)}},9212:(e,n,t)=>{var r=t(6916),o=t(9670),i=t(8173);e.exports=function(e,n,t){var a,l;o(e);try{if(!(a=i(e,"return"))){if("throw"===n)throw t;return t}a=r(a,e)}catch(e){l=!0,a=e}if("throw"===n)throw t;if(l)throw a;return o(a),t}},3383:(e,n,t)=>{"use strict";var r,o,i,a=t(7293),l=t(614),c=t(30),u=t(9518),s=t(1320),f=t(5112),p=t(1913),d=f("iterator"),h=!1;[].keys&&("next"in(i=[].keys())?(o=u(u(i)))!==Object.prototype&&(r=o):h=!0),null==r||a((function(){var e={};return r[d].call(e)!==e}))?r={}:p&&(r=c(r)),l(r[d])||s(r,d,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:h}},7497:e=>{e.exports={}},6244:(e,n,t)=>{var r=t(7466);e.exports=function(e){return r(e.length)}},133:(e,n,t)=>{var r=t(7392),o=t(7293);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:(e,n,t)=>{var r=t(7854),o=t(614),i=t(2788),a=r.WeakMap;e.exports=o(a)&&/native code/.test(i(a))},3929:(e,n,t)=>{var r=t(7854),o=t(7850),i=r.TypeError;e.exports=function(e){if(o(e))throw i("The method doesn't accept regular expressions");return e}},1574:(e,n,t)=>{"use strict";var r=t(9781),o=t(1702),i=t(6916),a=t(7293),l=t(1956),c=t(5181),u=t(5296),s=t(7908),f=t(8361),p=Object.assign,d=Object.defineProperty,h=o([].concat);e.exports=!p||a((function(){if(r&&1!==p({b:1},p(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},n={},t=Symbol(),o="abcdefghijklmnopqrst";return e[t]=7,o.split("").forEach((function(e){n[e]=e})),7!=p({},e)[t]||l(p({},n)).join("")!=o}))?function(e,n){for(var t=s(e),o=arguments.length,a=1,p=c.f,d=u.f;o>a;)for(var g,v=f(arguments[a++]),A=p?h(l(v),p(v)):l(v),b=A.length,m=0;b>m;)g=A[m++],r&&!i(d,v,g)||(t[g]=v[g]);return t}:p},30:(e,n,t)=>{var r,o=t(9670),i=t(6048),a=t(748),l=t(3501),c=t(490),u=t(317),s=t(6200),f=s("IE_PROTO"),p=function(){},d=function(e){return" + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

S3WorkspaceFactory

+
+
constructor(s3: S3Client, bucket: String)

Constructs a new S3WorkspaceFactory instance with an empty default root directory.

Parameters

s3

Initialized S3Client instance that will be used for all 'file operations'.

bucket

Name of the bucket that this factory and the workspaces it opens/creates reside in. If this bucket does not exist, an IllegalStateException will be thrown on initialization of this type.

Throws

If the target bucket for this workspace root does not exist.

If the given bucket name is not a valid S3 bucket name. For additional rules on what a valid bucket name looks like, see BucketName.

S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.


constructor(s3: S3Client, bucket: String, rootDir: String)

Constructs a new S3WorkspaceFactory instance with an empty default root directory.

Parameters

s3

Initialized S3Client instance that will be used for all 'file operations'.

bucket

Name of the bucket that this factory and the workspaces it opens/creates reside in. If this bucket does not exist, an IllegalStateException will be thrown on initialization of this type.

rootDir

Root directory that all workspaces reside in. All operations on this type will be relative to this root directory. If the workspace root is the root of the bucket, set this value to an empty string.

Throws

If the target bucket for this workspace root does not exist.

If the given rootDir value is not a valid path segment.

S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.


constructor(delegate: S3WorkspaceFactory)
+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/create.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/create.html new file mode 100644 index 0000000..377b9db --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/create.html @@ -0,0 +1,80 @@ + + + + + create + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

create

+
+
fun create(id: HashID): S3Workspace

Creates a new workspace.

If rootDir was set when constructing this S3WorkspaceFactory instance, the created workspace will reside under that root directory.

If a workspace already exists with the given ID, this method will fail with a WorkspaceAlreadyExistsError.

As S3 has no concept of directories, a workspace is marked using an empty file named '.workspace' in the workspace root. This file will not be listed when attempting to fetch a list of files in the workspace.

Return

A S3Workspace instance wrapping the created workspace.

Parameters

id

ID of the workspace to create.

Throws

If the target workspace already exists.

S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/get.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/get.html new file mode 100644 index 0000000..cfd1b8e --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/get.html @@ -0,0 +1,80 @@ + + + + + get + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

get

+
+
fun get(id: HashID): S3Workspace?

Looks up and returns the workspace for the given HashID.

If no such workspace directory exists, this method returns null.

Return

A workspace instance, if the target workspace exists, otherwise null.

Parameters

id

ID of the workspace to return.

Throws

S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/index.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/index.html new file mode 100644 index 0000000..23b1667 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/index.html @@ -0,0 +1,138 @@ + + + + + S3WorkspaceFactory + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

S3WorkspaceFactory

+
class S3WorkspaceFactory(delegate: S3WorkspaceFactory)

S3 Workspace Factory

Creates workspace instances backed by S3 files/directories.

Author

Elizabeth Paige Harper https://github.com/Foxcapades

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(s3: S3Client, bucket: String)

Constructs a new S3WorkspaceFactory instance with an empty default root directory.

constructor(s3: S3Client, bucket: String, rootDir: String)

Constructs a new S3WorkspaceFactory instance with an empty default root directory.

constructor(delegate: S3WorkspaceFactory)
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun create(id: HashID): S3Workspace

Creates a new workspace.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun get(id: HashID): S3Workspace?

Looks up and returns the workspace for the given HashID.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/contains.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/contains.html new file mode 100644 index 0000000..b59e543 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/contains.html @@ -0,0 +1,80 @@ + + + + + contains + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

contains

+
+
abstract operator fun contains(path: String): Boolean

Tests whether this workspace contains the target file.

Return

true if the target path exists, otherwise false.

Parameters

path

Relative path to the file to test for.

Throws

S34KError

If an error occurs in the underlying library while communicating with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/copy.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/copy.html new file mode 100644 index 0000000..1dff874 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/copy.html @@ -0,0 +1,80 @@ + + + + + copy + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

copy

+
+
abstract fun copy(from: File, to: String): WorkspaceFile

Copies the given File (from) to a new file in the remote workspace under the given path (to).

If a file already exists with the target path, it will be overwritten.

Return

A WorkspaceFile wrapping the uploaded file.

Parameters

from

File that will be uploaded to the remote store.

to

Relative path to the empty file to create.

Throws

If either to or from is null.

If the given to is blank or if the given from file handle points to a directory.

If the given from does not exist.

S34KError

If an error occurs in the underlying library while communicating with the S3 server.


abstract fun copy(from: String, to: File)

Copies a file from the remote store to the specified local file (to).

Parameters

from

Relative path to the remote file to copy.

to

Local file into which the remote file's contents will be copied.

Throws

If either from or to is null.

If from was not found in this workspace.

S34KError

If an error occurs in the underlying library while communicating with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/create-sub-workspace.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/create-sub-workspace.html new file mode 100644 index 0000000..3700254 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/create-sub-workspace.html @@ -0,0 +1,80 @@ + + + + + createSubWorkspace + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

createSubWorkspace

+
+
abstract fun createSubWorkspace(id: HashID): SubS3Workspace

Creates a sub-workspace under this workspace with the given id.

Return

A SubS3Workspace instance wrapping the newly created sub-workspace.

Parameters

id

ID of the sub-workspace to create.

Throws

If the target sub-workspace already exists.

S34KError

If an error occurs in the underlying library while communicating with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/delete.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/delete.html new file mode 100644 index 0000000..8e02c3a --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/delete.html @@ -0,0 +1,80 @@ + + + + + delete + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

delete

+
+
abstract fun delete()

Recursively deletes this workspace and all of its contents.

Throws

S34KError

If an error occurs in the underlying library while communicating with the S3 server.


abstract fun delete(path: String)

Deletes the target path from this workspace.

Throws

S34KError

If an error occurs in the underlying library while communicating with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/exists.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/exists.html new file mode 100644 index 0000000..6eb02b6 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/exists.html @@ -0,0 +1,80 @@ + + + + + exists + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

exists

+
+
abstract fun exists(): Boolean

Tests whether this workspace still exists.

Return

true if this workspace still exists, otherwise false.

Throws

S34KError

If an error occurs in the underlying library while communicating with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/files.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/files.html new file mode 100644 index 0000000..5799668 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/files.html @@ -0,0 +1,80 @@ + + + + + files + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

files

+
+
abstract fun files(): List<WorkspaceFile>

Recursively lists all the files in the remote 'directory'.

The workspace marker file .workspace will not be included in this list.

Return

A list of WorkspaceFile instances representing the files in this workspace.

Throws

S34KError

If an error occurs in the underlying library while communicating with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/get.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/get.html new file mode 100644 index 0000000..87eca36 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/get.html @@ -0,0 +1,80 @@ + + + + + get + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

get

+
+
abstract operator fun get(path: String): WorkspaceFile?

Returns a WorkspaceFile wrapping the target file in the remote workspace, if such a file exists.

Return

A WorkspaceFile wrapping the target file, if it exists, otherwise null.

Parameters

path

Relative path to the remote file.

Throws

S34KError

If an error occurs in the underlying library while communicating with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/has-sub-workspace.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/has-sub-workspace.html new file mode 100644 index 0000000..ad4a853 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/has-sub-workspace.html @@ -0,0 +1,80 @@ + + + + + hasSubWorkspace + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

hasSubWorkspace

+
+
abstract fun hasSubWorkspace(id: HashID): Boolean

Tests whether this workspace contains a sub-workspace with the given ID.

Return

true if the target sub-workspace exists, otherwise false

Parameters

id

ID of the sub-workspace to test for.

Throws

S34KError

If an error occurs in the underlying library while communicating with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/id.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/id.html new file mode 100644 index 0000000..008d53c --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/id.html @@ -0,0 +1,80 @@ + + + + + id + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

id

+
+
abstract val id: HashID

ID of this workspace.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/index.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/index.html new file mode 100644 index 0000000..fd8640b --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/index.html @@ -0,0 +1,303 @@ + + + + + S3Workspace + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

S3Workspace

+
interface S3Workspace

Workspace

Represents a workspace for a job in which workspace specific files and directories reside.

A workspace may have sub-workspaces contained inside it which are accessible via the openSubWorkspace method.

Author

Elizabeth Paige Harper https://github.com/Foxcapades

Since

v2.0.0

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val id: HashID

ID of this workspace.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val path: String

Absolute path to this workspace (including the workspace ID)

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract operator fun contains(path: String): Boolean

Tests whether this workspace contains the target file.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun copy(from: File, to: String): WorkspaceFile

Copies the given File (from) to a new file in the remote workspace under the given path (to).

abstract fun copy(from: String, to: File)

Copies a file from the remote store to the specified local file (to).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun createSubWorkspace(id: HashID): SubS3Workspace

Creates a sub-workspace under this workspace with the given id.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun delete()

Recursively deletes this workspace and all of its contents.

abstract fun delete(path: String)

Deletes the target path from this workspace.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun exists(): Boolean

Tests whether this workspace still exists.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun files(): List<WorkspaceFile>

Recursively lists all the files in the remote 'directory'.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract operator fun get(path: String): WorkspaceFile?

Returns a WorkspaceFile wrapping the target file in the remote workspace, if such a file exists.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun hasSubWorkspace(id: HashID): Boolean

Tests whether this workspace contains a sub-workspace with the given ID.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun open(path: String): InputStream

Opens a stream over the contents of the target file in the S3 store.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun openSubWorkspace(id: HashID): SubS3Workspace?

Attempts to open the target workspace with the given id.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun touch(path: String): WorkspaceFile

Creates an empty file in this workspace with the given path if no such file already exists.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun write(path: String, stream: InputStream): WorkspaceFile

Writes the given InputStream to a file at the given path.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/open-sub-workspace.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/open-sub-workspace.html new file mode 100644 index 0000000..973b61d --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/open-sub-workspace.html @@ -0,0 +1,80 @@ + + + + + openSubWorkspace + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

openSubWorkspace

+
+
abstract fun openSubWorkspace(id: HashID): SubS3Workspace?

Attempts to open the target workspace with the given id.

If no such workspace exists, this method returns null.

Return

Either the target sub-workspace, or null.

Parameters

id

ID of the sub-workspace to attempt to open.

Throws

S34KError

If an error occurs in the underlying library while communicating with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/open.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/open.html new file mode 100644 index 0000000..6632e60 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/open.html @@ -0,0 +1,80 @@ + + + + + open + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

open

+
+
abstract fun open(path: String): InputStream

Opens a stream over the contents of the target file in the S3 store.

Return

An InputStream over the contents of the remote file.

Parameters

path

Relative path to the remote file to open.

Throws

If path was not found in this workspace.

S34KError

If an error occurs in the underlying library while communicating with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/path.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/path.html new file mode 100644 index 0000000..e08cbc4 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/path.html @@ -0,0 +1,80 @@ + + + + + path + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

path

+
+
abstract val path: String

Absolute path to this workspace (including the workspace ID)

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/touch.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/touch.html new file mode 100644 index 0000000..ff085f9 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/touch.html @@ -0,0 +1,80 @@ + + + + + touch + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

touch

+
+
abstract fun touch(path: String): WorkspaceFile

Creates an empty file in this workspace with the given path if no such file already exists.

Return

A WorkspaceFile wrapping the target file (the empty file if the file did not already exist, or the existing file if it did already exist).

Parameters

path

Relative path to the empty file to create.

Throws

If the given path value is null.

If the given path value is blank.

S34KError

If an error occurs in the underlying library while communicating with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/write.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/write.html new file mode 100644 index 0000000..63c3865 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/write.html @@ -0,0 +1,80 @@ + + + + + write + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

write

+
+
abstract fun write(path: String, stream: InputStream): WorkspaceFile

Writes the given InputStream to a file at the given path.

If a file already exists with the target path, it will be overwritten.

Return

A WorkspaceFile instance wrapping the created file.

Parameters

path

Relative path to the empty file to create.

stream

InputStream over the contents to be written to the remote file.

Throws

If either path or stream is null.

If the given path value is blank.

S34KError

If an error occurs in the underlying library while communicating with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-sub-s3-workspace/index.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-sub-s3-workspace/index.html new file mode 100644 index 0000000..ab5d90d --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-sub-s3-workspace/index.html @@ -0,0 +1,318 @@ + + + + + SubS3Workspace + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SubS3Workspace

+

Sub-Workspace

Represents a nested workspace for a job in which workspace specific files and directories reside.

A sub-workspace, like a S3Workspace, may have sub-workspaces contained inside it which are accessible via the openSubWorkspace method.

Author

Elizabeth Paige Harper https://github.com/Foxcapades

Since

v2.0.0

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val id: HashID

ID of this workspace.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val parent: S3Workspace

Parent workspace of this sub-workspace.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val path: String

Absolute path to this workspace (including the workspace ID)

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract operator fun contains(path: String): Boolean

Tests whether this workspace contains the target file.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun copy(from: File, to: String): WorkspaceFile

Copies the given File (from) to a new file in the remote workspace under the given path (to).

abstract fun copy(from: String, to: File)

Copies a file from the remote store to the specified local file (to).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun createSubWorkspace(id: HashID): SubS3Workspace

Creates a sub-workspace under this workspace with the given id.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun delete()

Recursively deletes this workspace and all of its contents.

abstract fun delete(path: String)

Deletes the target path from this workspace.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun exists(): Boolean

Tests whether this workspace still exists.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun files(): List<WorkspaceFile>

Recursively lists all the files in the remote 'directory'.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract operator fun get(path: String): WorkspaceFile?

Returns a WorkspaceFile wrapping the target file in the remote workspace, if such a file exists.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun hasSubWorkspace(id: HashID): Boolean

Tests whether this workspace contains a sub-workspace with the given ID.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun open(path: String): InputStream

Opens a stream over the contents of the target file in the S3 store.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun openSubWorkspace(id: HashID): SubS3Workspace?

Attempts to open the target workspace with the given id.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun touch(path: String): WorkspaceFile

Creates an empty file in this workspace with the given path if no such file already exists.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun write(path: String, stream: InputStream): WorkspaceFile

Writes the given InputStream to a file at the given path.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-sub-s3-workspace/parent.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-sub-s3-workspace/parent.html new file mode 100644 index 0000000..341debf --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-sub-s3-workspace/parent.html @@ -0,0 +1,80 @@ + + + + + parent + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

parent

+
+
abstract val parent: S3Workspace

Parent workspace of this sub-workspace.

The parent workspace may be a sub-workspace itself.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/-workspace-already-exists-error.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/-workspace-already-exists-error.html new file mode 100644 index 0000000..1887510 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/-workspace-already-exists-error.html @@ -0,0 +1,80 @@ + + + + + WorkspaceAlreadyExistsError + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

WorkspaceAlreadyExistsError

+
+
constructor(id: HashID)
constructor(id: HashID, msg: String)
constructor(id: HashID, cause: Throwable)
constructor(id: HashID, msg: String, cause: Throwable)
+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/id.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/id.html new file mode 100644 index 0000000..a2b892d --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/id.html @@ -0,0 +1,80 @@ + + + + + id + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

id

+
+
val id: HashID

ID of the workspace whose creation was attempted.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/index.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/index.html new file mode 100644 index 0000000..8885f73 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/index.html @@ -0,0 +1,277 @@ + + + + + WorkspaceAlreadyExistsError + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

WorkspaceAlreadyExistsError

+

Workspace Already Exists Error

Exception thrown when attempting to create a workspace when that workspace already exists in the S3 store.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(id: HashID)
constructor(id: HashID, msg: String)
constructor(id: HashID, cause: Throwable)
constructor(id: HashID, msg: String, cause: Throwable)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val cause: Throwable?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: HashID

ID of the workspace whose creation was attempted.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val message: String?
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/absolute-path.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/absolute-path.html new file mode 100644 index 0000000..b593ca2 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/absolute-path.html @@ -0,0 +1,80 @@ + + + + + absolutePath + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

absolutePath

+
+
abstract val absolutePath: String

Absolute path to this file in the S3 bucket.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/delete.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/delete.html new file mode 100644 index 0000000..4abf984 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/delete.html @@ -0,0 +1,80 @@ + + + + + delete + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

delete

+
+
abstract fun delete()

Deletes this file from the remote workspace.

Throws

S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/download.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/download.html new file mode 100644 index 0000000..b70c060 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/download.html @@ -0,0 +1,80 @@ + + + + + download + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

download

+
+
abstract fun download(localFile: File): File

Copies the contents of the file in the remote store to the given local file.

The local file will be truncated before writing.

Parameters

localFile

Local file into which the remote file's contents will be copied.

Throws

If this file no longer exists in the remote workspace.

S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/index.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/index.html new file mode 100644 index 0000000..9896b74 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/index.html @@ -0,0 +1,213 @@ + + + + + WorkspaceFile + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

WorkspaceFile

+
interface WorkspaceFile

Workspace File

Represents a file in a workspace in the configured S3 store.

Author

Elizabeth Paige Harper https://github.com/Foxcapades

Since

v1.0.0

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val absolutePath: String

Absolute path to this file in the S3 bucket.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Last modified/created timestamp.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val name: String

Base name of this file.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val relativePath: String

Path to this file relative to the parent workspace.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun delete()

Deletes this file from the remote workspace.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun download(localFile: File): File

Copies the contents of the file in the remote store to the given local file.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun open(): InputStream

Opens an input stream over the contents of this file.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun size(): Long

Size of this file.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/last-modified.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/last-modified.html new file mode 100644 index 0000000..b88e1c0 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/last-modified.html @@ -0,0 +1,80 @@ + + + + + lastModified + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

lastModified

+
+

Last modified/created timestamp.

This property will not be present on file put results.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/name.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/name.html new file mode 100644 index 0000000..0c89ff4 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/name.html @@ -0,0 +1,80 @@ + + + + + name + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

name

+
+
abstract val name: String

Base name of this file.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/open.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/open.html new file mode 100644 index 0000000..d1df285 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/open.html @@ -0,0 +1,80 @@ + + + + + open + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

open

+
+
abstract fun open(): InputStream

Opens an input stream over the contents of this file.

Throws

If this file no longer exists in the remote workspace.

S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/relative-path.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/relative-path.html new file mode 100644 index 0000000..d6455b3 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/relative-path.html @@ -0,0 +1,80 @@ + + + + + relativePath + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

relativePath

+
+
abstract val relativePath: String

Path to this file relative to the parent workspace.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/size.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/size.html new file mode 100644 index 0000000..91d894f --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/size.html @@ -0,0 +1,80 @@ + + + + + size + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

size

+
+
abstract fun size(): Long

Size of this file.

This field is lazily populated by a call to the S3 store.

Throws

S34KError

If an error is encountered by the underlying library while attempting to communicate with the S3 server.

+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/index.html b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/index.html new file mode 100644 index 0000000..1f28d68 --- /dev/null +++ b/docs/java/dokka/workspaces-java/org.veupathdb.lib.s3.workspaces.java/index.html @@ -0,0 +1,163 @@ + + + + + org.veupathdb.lib.s3.workspaces.java + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface S3Workspace

Represents a workspace for a job in which workspace specific files and directories reside.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class S3WorkspaceFactory(delegate: S3WorkspaceFactory)

Creates workspace instances backed by S3 files/directories.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Represents a nested workspace for a job in which workspace specific files and directories reside.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Exception thrown when attempting to create a workspace when that workspace already exists in the S3 store.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface WorkspaceFile

Represents a file in a workspace in the configured S3 store.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/docs/java/dokka/workspaces-java/package-list b/docs/java/dokka/workspaces-java/package-list new file mode 100644 index 0000000..de14a0f --- /dev/null +++ b/docs/java/dokka/workspaces-java/package-list @@ -0,0 +1,45 @@ +$dokka.format:html-v1 +$dokka.linkExtension:html +$dokka.location:org.veupathdb.lib.s3.workspaces.java////PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/index.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace///PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/index.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/contains/#kotlin.String/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/contains.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/copy/#java.io.File#kotlin.String/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/copy.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/copy/#kotlin.String#java.io.File/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/copy.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/createSubWorkspace/#org.veupathdb.lib.hash_id.HashID/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/create-sub-workspace.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/delete/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/delete.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/delete/#kotlin.String/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/delete.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/exists/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/exists.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/files/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/files.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/get/#kotlin.String/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/get.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/hasSubWorkspace/#org.veupathdb.lib.hash_id.HashID/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/has-sub-workspace.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/id/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/id.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/open/#kotlin.String/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/open.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/openSubWorkspace/#org.veupathdb.lib.hash_id.HashID/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/open-sub-workspace.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/path/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/path.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/touch/#kotlin.String/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/touch.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3Workspace/write/#kotlin.String#java.io.InputStream/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace/write.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3WorkspaceFactory///PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/index.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3WorkspaceFactory/S3WorkspaceFactory/#org.veupathdb.lib.s3.s34k.S3Client#kotlin.String#kotlin.String/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/-s3-workspace-factory.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3WorkspaceFactory/S3WorkspaceFactory/#org.veupathdb.lib.s3.s34k.S3Client#kotlin.String/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/-s3-workspace-factory.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3WorkspaceFactory/S3WorkspaceFactory/#org.veupathdb.lib.s3.workspaces.S3WorkspaceFactory/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/-s3-workspace-factory.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3WorkspaceFactory/create/#org.veupathdb.lib.hash_id.HashID/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/create.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/S3WorkspaceFactory/get/#org.veupathdb.lib.hash_id.HashID/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-s3-workspace-factory/get.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/SubS3Workspace///PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-sub-s3-workspace/index.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/SubS3Workspace/parent/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-sub-s3-workspace/parent.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceAlreadyExistsError///PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/index.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceAlreadyExistsError/WorkspaceAlreadyExistsError/#org.veupathdb.lib.hash_id.HashID#kotlin.String#kotlin.Throwable/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/-workspace-already-exists-error.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceAlreadyExistsError/WorkspaceAlreadyExistsError/#org.veupathdb.lib.hash_id.HashID#kotlin.String/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/-workspace-already-exists-error.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceAlreadyExistsError/WorkspaceAlreadyExistsError/#org.veupathdb.lib.hash_id.HashID#kotlin.Throwable/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/-workspace-already-exists-error.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceAlreadyExistsError/WorkspaceAlreadyExistsError/#org.veupathdb.lib.hash_id.HashID/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/-workspace-already-exists-error.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceAlreadyExistsError/id/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-already-exists-error/id.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceFile///PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/index.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceFile/absolutePath/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/absolute-path.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceFile/delete/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/delete.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceFile/download/#java.io.File/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/download.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceFile/lastModified/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/last-modified.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceFile/name/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/name.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceFile/open/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/open.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceFile/relativePath/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/relative-path.html +$dokka.location:org.veupathdb.lib.s3.workspaces.java/WorkspaceFile/size/#/PointingToDeclaration/workspaces-java/org.veupathdb.lib.s3.workspaces.java/-workspace-file/size.html +org.veupathdb.lib.s3.workspaces.java + diff --git a/docs/java/javadoc/allclasses.html b/docs/java/javadoc/allclasses.html new file mode 100644 index 0000000..fbdba36 --- /dev/null +++ b/docs/java/javadoc/allclasses.html @@ -0,0 +1,36 @@ + + + All Classes + + + + + + + + + + + + + + + + +

All Classes

+
+ +
+ + diff --git a/docs/javadoc/deprecated.html b/docs/java/javadoc/deprecated.html similarity index 98% rename from docs/javadoc/deprecated.html rename to docs/java/javadoc/deprecated.html index 3c151b2..274aea8 100644 --- a/docs/javadoc/deprecated.html +++ b/docs/java/javadoc/deprecated.html @@ -7,8 +7,8 @@ - - + + diff --git a/docs/javadoc/dokka-javadoc-stylesheet.css b/docs/java/javadoc/dokka-javadoc-stylesheet.css similarity index 53% rename from docs/javadoc/dokka-javadoc-stylesheet.css rename to docs/java/javadoc/dokka-javadoc-stylesheet.css index b37eef3..267807e 100644 --- a/docs/javadoc/dokka-javadoc-stylesheet.css +++ b/docs/java/javadoc/dokka-javadoc-stylesheet.css @@ -1,6 +1,10 @@ +/* + * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + pre.wrap-overflow { overflow-x: auto; white-space: pre-wrap; white-space: -moz-pre-wrap; word-wrap: break-word; -} \ No newline at end of file +} diff --git a/docs/java/javadoc/element-list b/docs/java/javadoc/element-list new file mode 100644 index 0000000..fdd5857 --- /dev/null +++ b/docs/java/javadoc/element-list @@ -0,0 +1,5 @@ +$dokka.format:javadoc-v1 +$dokka.linkExtension:html + +org.veupathdb.lib.s3.workspaces.java + diff --git a/docs/javadoc/index-files/index-1.html b/docs/java/javadoc/index-files/index-1.html similarity index 95% rename from docs/javadoc/index-files/index-1.html rename to docs/java/javadoc/index-files/index-1.html index 9601585..b29e5b4 100644 --- a/docs/javadoc/index-files/index-1.html +++ b/docs/java/javadoc/index-files/index-1.html @@ -7,8 +7,8 @@ - - + + @@ -128,9 +128,9 @@

A

- addSuppressed(Throwable) + addSuppressed(java.lang.Throwable) - - function in kotlin.WorkspaceAlreadyExistsError + - function in kotlin.Throwable diff --git a/docs/java/javadoc/index-files/index-10.html b/docs/java/javadoc/index-files/index-10.html new file mode 100644 index 0000000..0cf4107 --- /dev/null +++ b/docs/java/javadoc/index-files/index-10.html @@ -0,0 +1,255 @@ + + + + P-index + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +

P

+
+ +
+ + + + printStackTrace() + + - function in kotlin.Throwable + + +
+
 
+ + +
+ + + + printStackTrace(java.io.PrintStream) + + - function in kotlin.Throwable + + +
+
 
+ + +
+ + + + printStackTrace(java.io.PrintWriter) + + - function in kotlin.Throwable + + +
+
 
+ + +
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +
+
+ + + diff --git a/docs/java/javadoc/index-files/index-11.html b/docs/java/javadoc/index-files/index-11.html new file mode 100644 index 0000000..2631e78 --- /dev/null +++ b/docs/java/javadoc/index-files/index-11.html @@ -0,0 +1,281 @@ + + + + S-index + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +

S

+
+ +
+ + + + S3Workspace + + - class in org.veupathdb.lib.s3.workspaces.java + + +
+
Represents a workspace for a job in which workspace specific files and directories reside.
+ + +
+ + + + S3WorkspaceFactory + + - class in org.veupathdb.lib.s3.workspaces.java + + +
+
Creates workspace instances backed by S3 files/directories.
+ + +
+ + + + setStackTrace(kotlin.Array) + + - function in kotlin.Throwable + + +
+
 
+ + +
+ + + + size() + + - function in org.veupathdb.lib.s3.workspaces.java.WorkspaceFile + + +
+
Size of this file.
+ + +
+ + + + SubS3Workspace + + - class in org.veupathdb.lib.s3.workspaces.java + + +
+
Represents a nested workspace for a job in which workspace specific files and directories reside.
+ + +
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +
+
+ + + diff --git a/docs/java/javadoc/index-files/index-12.html b/docs/java/javadoc/index-files/index-12.html new file mode 100644 index 0000000..f9565e4 --- /dev/null +++ b/docs/java/javadoc/index-files/index-12.html @@ -0,0 +1,242 @@ + + + + T-index + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +

T

+
+ +
+ + + + touch(java.lang.String) + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Creates an empty file in this workspace with the given path if no such file already exists.
+ + +
+ + + + touch(java.lang.String) + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Creates an empty file in this workspace with the given path if no such file already exists.
+ + +
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +
+
+ + + diff --git a/docs/java/javadoc/index-files/index-13.html b/docs/java/javadoc/index-files/index-13.html new file mode 100644 index 0000000..63cf74f --- /dev/null +++ b/docs/java/javadoc/index-files/index-13.html @@ -0,0 +1,268 @@ + + + + W-index + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +

W

+
+ +
+ + + + WorkspaceAlreadyExistsError + + - class in org.veupathdb.lib.s3.workspaces.java + + +
+
Exception thrown when attempting to create a workspace when that workspace already exists in the S3 store.
+ + +
+ + + + WorkspaceFile + + - class in org.veupathdb.lib.s3.workspaces.java + + +
+
Represents a file in a workspace in the configured S3 store.
+ + +
+ + + + write(java.lang.String,java.io.InputStream) + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Writes the given InputStream to a file at the given path.
+ + +
+ + + + write(java.lang.String,java.io.InputStream) + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Writes the given InputStream to a file at the given path.
+ + +
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +
+
+ + + diff --git a/docs/java/javadoc/index-files/index-2.html b/docs/java/javadoc/index-files/index-2.html new file mode 100644 index 0000000..724fc2a --- /dev/null +++ b/docs/java/javadoc/index-files/index-2.html @@ -0,0 +1,333 @@ + + + + C-index + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +

C

+
+ +
+ + + + contains(java.lang.String) + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Tests whether this workspace contains the target file.
+ + +
+ + + + contains(java.lang.String) + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Tests whether this workspace contains the target file.
+ + +
+ + + + copy(java.io.File,java.lang.String) + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Copies the given File (from) to a new file in the remote workspace under the given path (to).
+ + +
+ + + + copy(java.lang.String,java.io.File) + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Copies a file from the remote store to the specified local file (to).
+ + +
+ + + + copy(java.io.File,java.lang.String) + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Copies the given File (from) to a new file in the remote workspace under the given path (to).
+ + +
+ + + + copy(java.lang.String,java.io.File) + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Copies a file from the remote store to the specified local file (to).
+ + +
+ + + + create(org.veupathdb.lib.hash_id.HashID) + + - function in org.veupathdb.lib.s3.workspaces.java.S3WorkspaceFactory + + +
+
Creates a new workspace.
+ + +
+ + + + createSubWorkspace(org.veupathdb.lib.hash_id.HashID) + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Creates a sub-workspace under this workspace with the given id.
+ + +
+ + + + createSubWorkspace(org.veupathdb.lib.hash_id.HashID) + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Creates a sub-workspace under this workspace with the given id.
+ + +
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +
+
+ + + diff --git a/docs/java/javadoc/index-files/index-3.html b/docs/java/javadoc/index-files/index-3.html new file mode 100644 index 0000000..57ab93f --- /dev/null +++ b/docs/java/javadoc/index-files/index-3.html @@ -0,0 +1,294 @@ + + + + D-index + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +

D

+
+ +
+ + + + delete() + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Recursively deletes this workspace and all of its contents.
+ + +
+ + + + delete(java.lang.String) + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Deletes the target path from this workspace.
+ + +
+ + + + delete() + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Recursively deletes this workspace and all of its contents.
+ + +
+ + + + delete(java.lang.String) + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Deletes the target path from this workspace.
+ + +
+ + + + delete() + + - function in org.veupathdb.lib.s3.workspaces.java.WorkspaceFile + + +
+
Deletes this file from the remote workspace.
+ + +
+ + + + download(java.io.File) + + - function in org.veupathdb.lib.s3.workspaces.java.WorkspaceFile + + +
+
Copies the contents of the file in the remote store to the given local file.
+ + +
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +
+
+ + + diff --git a/docs/java/javadoc/index-files/index-4.html b/docs/java/javadoc/index-files/index-4.html new file mode 100644 index 0000000..6135554 --- /dev/null +++ b/docs/java/javadoc/index-files/index-4.html @@ -0,0 +1,242 @@ + + + + E-index + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +

E

+
+ +
+ + + + exists() + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Tests whether this workspace still exists.
+ + +
+ + + + exists() + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Tests whether this workspace still exists.
+ + +
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +
+
+ + + diff --git a/docs/java/javadoc/index-files/index-5.html b/docs/java/javadoc/index-files/index-5.html new file mode 100644 index 0000000..b46dd3a --- /dev/null +++ b/docs/java/javadoc/index-files/index-5.html @@ -0,0 +1,255 @@ + + + + F-index + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +

F

+
+ +
+ + + + files() + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Recursively lists all the files in the remote 'directory'.
+ + +
+ + + + files() + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Recursively lists all the files in the remote 'directory'.
+ + +
+ + + + fillInStackTrace() + + - function in kotlin.Throwable + + +
+
 
+ + +
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +
+
+ + + diff --git a/docs/java/javadoc/index-files/index-6.html b/docs/java/javadoc/index-files/index-6.html new file mode 100644 index 0000000..12bf25b --- /dev/null +++ b/docs/java/javadoc/index-files/index-6.html @@ -0,0 +1,450 @@ + + + + G-index + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +

G

+
+ +
+ + + + get(java.lang.String) + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Returns a WorkspaceFile wrapping the target file in the remote workspace, if such a file exists.
+ + +
+ + + + get(org.veupathdb.lib.hash_id.HashID) + + - function in org.veupathdb.lib.s3.workspaces.java.S3WorkspaceFactory + + +
+
Looks up and returns the workspace for the given HashID.
+ + +
+ + + + get(java.lang.String) + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Returns a WorkspaceFile wrapping the target file in the remote workspace, if such a file exists.
+ + +
+ + + + getAbsolutePath() + + - function in org.veupathdb.lib.s3.workspaces.java.WorkspaceFile + + +
+
Absolute path to this file in the S3 bucket.
+ + +
+ + + + getCause() + + - function in kotlin.Throwable + + +
+
 
+ + +
+ + + + getId() + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
ID of this workspace.
+ + +
+ + + + getId() + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
ID of this workspace.
+ + +
+ + + + getId() + + - function in org.veupathdb.lib.s3.workspaces.java.WorkspaceAlreadyExistsError + + +
+
ID of the workspace whose creation was attempted.
+ + +
+ + + + getLastModified() + + - function in org.veupathdb.lib.s3.workspaces.java.WorkspaceFile + + +
+
Last modified/created timestamp.
+ + +
+ + + + getLocalizedMessage() + + - function in kotlin.Throwable + + +
+
 
+ + +
+ + + + getMessage() + + - function in kotlin.Throwable + + +
+
 
+ + +
+ + + + getName() + + - function in org.veupathdb.lib.s3.workspaces.java.WorkspaceFile + + +
+
Base name of this file.
+ + +
+ + + + getParent() + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Parent workspace of this sub-workspace.
+ + +
+ + + + getPath() + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Absolute path to this workspace (including the workspace ID)
+ + +
+ + + + getPath() + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Absolute path to this workspace (including the workspace ID)
+ + +
+ + + + getRelativePath() + + - function in org.veupathdb.lib.s3.workspaces.java.WorkspaceFile + + +
+
Path to this file relative to the parent workspace.
+ + +
+ + + + getStackTrace() + + - function in kotlin.Throwable + + +
+
 
+ + +
+ + + + getSuppressed() + + - function in kotlin.Throwable + + +
+
 
+ + +
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +
+
+ + + diff --git a/docs/java/javadoc/index-files/index-7.html b/docs/java/javadoc/index-files/index-7.html new file mode 100644 index 0000000..7aedd19 --- /dev/null +++ b/docs/java/javadoc/index-files/index-7.html @@ -0,0 +1,242 @@ + + + + H-index + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +

H

+
+ +
+ + + + hasSubWorkspace(org.veupathdb.lib.hash_id.HashID) + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Tests whether this workspace contains a sub-workspace with the given ID.
+ + +
+ + + + hasSubWorkspace(org.veupathdb.lib.hash_id.HashID) + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Tests whether this workspace contains a sub-workspace with the given ID.
+ + +
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +
+
+ + + diff --git a/docs/javadoc/index-files/index-8.html b/docs/java/javadoc/index-files/index-8.html similarity index 96% rename from docs/javadoc/index-files/index-8.html rename to docs/java/javadoc/index-files/index-8.html index 7cdd728..b789e4a 100644 --- a/docs/javadoc/index-files/index-8.html +++ b/docs/java/javadoc/index-files/index-8.html @@ -7,8 +7,8 @@ - - + + @@ -128,9 +128,9 @@

I

- initCause(Throwable) + initCause(java.lang.Throwable) - - function in kotlin.WorkspaceAlreadyExistsError + - function in kotlin.Throwable diff --git a/docs/java/javadoc/index-files/index-9.html b/docs/java/javadoc/index-files/index-9.html new file mode 100644 index 0000000..2f2147d --- /dev/null +++ b/docs/java/javadoc/index-files/index-9.html @@ -0,0 +1,292 @@ + + + + O-index + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +

O

+
+ +
+ + + + open(java.lang.String) + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Opens a stream over the contents of the target file in the S3 store.
+ + +
+ + + + open(java.lang.String) + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Opens a stream over the contents of the target file in the S3 store.
+ + +
+ + + + open() + + - function in org.veupathdb.lib.s3.workspaces.java.WorkspaceFile + + +
+
Opens an input stream over the contents of this file.
+ + +
+ + + + openSubWorkspace(org.veupathdb.lib.hash_id.HashID) + + - function in org.veupathdb.lib.s3.workspaces.java.S3Workspace + + +
+
Attempts to open the target workspace with the given id.
+ + +
+ + + + openSubWorkspace(org.veupathdb.lib.hash_id.HashID) + + - function in org.veupathdb.lib.s3.workspaces.java.SubS3Workspace + + +
+
Attempts to open the target workspace with the given id.
+ + +
+ + org.veupathdb.lib.s3.workspaces.java + + - package org.veupathdb.lib.s3.workspaces.java + + +
+
 
+ + +
+ + A  + + C  + + D  + + E  + + F  + + G  + + H  + + I  + + O  + + P  + + S  + + T  + + W  + +
+
+ + + diff --git a/docs/java/javadoc/index.html b/docs/java/javadoc/index.html new file mode 100644 index 0000000..2807d23 --- /dev/null +++ b/docs/java/javadoc/index.html @@ -0,0 +1,172 @@ + + + + workspaces-java + + + + + + + + + + + + + + + + + +
+ +
+
+
+

workspaces-java

+
+
+
+
+
+

See: Description

+
+
+ +
+ + + + + + + + + + + +
Packages 
PackageDescription
org.veupathdb.lib.s3.workspaces.java
+ +
+ +
+
+
+ +
+ + + diff --git a/docs/javadoc/jquery/external/jquery/jquery.js b/docs/java/javadoc/jquery/external/jquery/jquery.js similarity index 85% rename from docs/javadoc/jquery/external/jquery/jquery.js rename to docs/java/javadoc/jquery/external/jquery/jquery.js index 9b5206b..fc6c299 100644 --- a/docs/javadoc/jquery/external/jquery/jquery.js +++ b/docs/java/javadoc/jquery/external/jquery/jquery.js @@ -1,15 +1,15 @@ /*! - * jQuery JavaScript Library v3.3.1 + * jQuery JavaScript Library v3.6.0 * https://jquery.com/ * * Includes Sizzle.js * https://sizzlejs.com/ * - * Copyright JS Foundation and other contributors + * Copyright OpenJS Foundation and other contributors * Released under the MIT license * https://jquery.org/license * - * Date: 2018-01-20T17:24Z + * Date: 2021-03-02T17:08Z */ ( function( global, factory ) { @@ -47,13 +47,16 @@ var arr = []; -var document = window.document; - var getProto = Object.getPrototypeOf; var slice = arr.slice; -var concat = arr.concat; +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + var push = arr.push; @@ -73,12 +76,16 @@ var support = {}; var isFunction = function isFunction( obj ) { - // Support: Chrome <=57, Firefox <=52 - // In some browsers, typeof returns "function" for HTML elements - // (i.e., `typeof document.createElement( "object" ) === "function"`). - // We don't want to classify *any* DOM node as a function. - return typeof obj === "function" && typeof obj.nodeType !== "number"; - }; + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; var isWindow = function isWindow( obj ) { @@ -86,25 +93,40 @@ var isWindow = function isWindow( obj ) { }; +var document = window.document; + var preservedScriptAttributes = { type: true, src: true, + nonce: true, noModule: true }; - function DOMEval( code, doc, node ) { + function DOMEval( code, node, doc ) { doc = doc || document; - var i, + var i, val, script = doc.createElement( "script" ); script.text = code; if ( node ) { for ( i in preservedScriptAttributes ) { - if ( node[ i ] ) { - script[ i ] = node[ i ]; + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); } } } @@ -129,7 +151,7 @@ function toType( obj ) { var - version = "3.3.1", + version = "3.6.0", // Define a local copy of jQuery jQuery = function( selector, context ) { @@ -137,11 +159,7 @@ var // The jQuery object is actually just the init constructor 'enhanced' // Need init if jQuery is called (just allow error to be thrown if not included) return new jQuery.fn.init( selector, context ); - }, - - // Support: Android <=4.0 only - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + }; jQuery.fn = jQuery.prototype = { @@ -207,6 +225,18 @@ jQuery.fn = jQuery.prototype = { return this.eq( -1 ); }, + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + eq: function( i ) { var len = this.length, j = +i + ( i < 0 ? len : 0 ); @@ -258,25 +288,28 @@ jQuery.extend = jQuery.fn.extend = function() { // Extend the base object for ( name in options ) { - src = target[ name ]; copy = options[ name ]; + // Prevent Object.prototype pollution // Prevent never-ending loop - if ( target === copy ) { + if ( name === "__proto__" || target === copy ) { continue; } // Recurse if we're merging plain objects or arrays if ( deep && copy && ( jQuery.isPlainObject( copy ) || ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; - if ( copyIsArray ) { - copyIsArray = false; - clone = src && Array.isArray( src ) ? src : []; - + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; } else { - clone = src && jQuery.isPlainObject( src ) ? src : {}; + clone = src; } + copyIsArray = false; // Never move original objects, clone them target[ name ] = jQuery.extend( deep, clone, copy ); @@ -329,9 +362,6 @@ jQuery.extend( { }, isEmptyObject: function( obj ) { - - /* eslint-disable no-unused-vars */ - // See https://github.com/eslint/eslint/issues/6125 var name; for ( name in obj ) { @@ -340,9 +370,10 @@ jQuery.extend( { return true; }, - // Evaluates a script in a global context - globalEval: function( code ) { - DOMEval( code ); + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); }, each: function( obj, callback ) { @@ -366,13 +397,6 @@ jQuery.extend( { return obj; }, - // Support: Android <=4.0 only - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - // results is for internal usage only makeArray: function( arr, results ) { var ret = results || []; @@ -381,7 +405,7 @@ jQuery.extend( { if ( isArrayLike( Object( arr ) ) ) { jQuery.merge( ret, typeof arr === "string" ? - [ arr ] : arr + [ arr ] : arr ); } else { push.call( ret, arr ); @@ -459,7 +483,7 @@ jQuery.extend( { } // Flatten any nested arrays - return concat.apply( [], ret ); + return flat( ret ); }, // A global GUID counter for objects @@ -476,9 +500,9 @@ if ( typeof Symbol === "function" ) { // Populate the class2type map jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), -function( i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -} ); + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); function isArrayLike( obj ) { @@ -498,17 +522,16 @@ function isArrayLike( obj ) { } var Sizzle = /*! - * Sizzle CSS Selector Engine v2.3.3 + * Sizzle CSS Selector Engine v2.3.6 * https://sizzlejs.com/ * - * Copyright jQuery Foundation and other contributors + * Copyright JS Foundation and other contributors * Released under the MIT license - * http://jquery.org/license + * https://js.foundation/ * - * Date: 2016-08-08 + * Date: 2021-02-16 */ -(function( window ) { - +( function( window ) { var i, support, Expr, @@ -539,6 +562,7 @@ var i, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), + nonnativeSelectorCache = createCache(), sortOrder = function( a, b ) { if ( a === b ) { hasDuplicate = true; @@ -547,61 +571,71 @@ var i, }, // Instance methods - hasOwn = ({}).hasOwnProperty, + hasOwn = ( {} ).hasOwnProperty, arr = [], pop = arr.pop, - push_native = arr.push, + pushNative = arr.push, push = arr.push, slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native // https://jsperf.com/thor-indexof-vs-for/5 indexOf = function( list, elem ) { var i = 0, len = list.length; for ( ; i < len; i++ ) { - if ( list[i] === elem ) { + if ( list[ i ] === elem ) { return i; } } return -1; }, - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", // Regular expressions // http://www.w3.org/TR/css3-selectors/#whitespace whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: // 1. quoted (capture 3; capture 4 or capture 5) "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) ".*" + ")\\)|)", // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), rpseudo = new RegExp( pseudos ), ridentifier = new RegExp( "^" + identifier + "$" ), @@ -612,16 +646,19 @@ var i, "TAG": new RegExp( "^(" + identifier + "|[*])" ), "ATTR": new RegExp( "^" + attributes ), "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) }, + rhtml = /HTML$/i, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\d$/i, @@ -634,18 +671,21 @@ var i, // CSS escapes // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair high < 0 ? - // BMP codepoint String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); }, @@ -661,7 +701,8 @@ var i, } // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; } // Other potentially-special ASCII characters get backslash-escaped @@ -676,9 +717,9 @@ var i, setDocument(); }, - disabledAncestor = addCombinator( + inDisabledFieldset = addCombinator( function( elem ) { - return elem.disabled === true && ("form" in elem || "label" in elem); + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; }, { dir: "parentNode", next: "legend" } ); @@ -686,18 +727,20 @@ var i, // Optimize for push.apply( _, NodeList ) try { push.apply( - (arr = slice.call( preferredDoc.childNodes )), + ( arr = slice.call( preferredDoc.childNodes ) ), preferredDoc.childNodes ); + // Support: Android<4.0 // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions arr[ preferredDoc.childNodes.length ].nodeType; } catch ( e ) { push = { apply: arr.length ? // Leverage slice if possible function( target, els ) { - push_native.apply( target, slice.call(els) ); + pushNative.apply( target, slice.call( els ) ); } : // Support: IE<9 @@ -705,8 +748,9 @@ try { function( target, els ) { var j = target.length, i = 0; + // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} + while ( ( target[ j++ ] = els[ i++ ] ) ) {} target.length = j - 1; } }; @@ -730,24 +774,21 @@ function Sizzle( selector, context, results, seed ) { // Try to shortcut find operations (as opposed to filters) in HTML documents if ( !seed ) { - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } + setDocument( context ); context = context || document; if ( documentIsHTML ) { // If the selector is sufficiently simple, try using a "get*By*" DOM method // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { // ID selector - if ( (m = match[1]) ) { + if ( ( m = match[ 1 ] ) ) { // Document context if ( nodeType === 9 ) { - if ( (elem = context.getElementById( m )) ) { + if ( ( elem = context.getElementById( m ) ) ) { // Support: IE, Opera, Webkit // TODO: identify versions @@ -766,7 +807,7 @@ function Sizzle( selector, context, results, seed ) { // Support: IE, Opera, Webkit // TODO: identify versions // getElementById can match elements by name instead of ID - if ( newContext && (elem = newContext.getElementById( m )) && + if ( newContext && ( elem = newContext.getElementById( m ) ) && contains( context, elem ) && elem.id === m ) { @@ -776,12 +817,12 @@ function Sizzle( selector, context, results, seed ) { } // Type selector - } else if ( match[2] ) { + } else if ( match[ 2 ] ) { push.apply( results, context.getElementsByTagName( selector ) ); return results; // Class selector - } else if ( (m = match[3]) && support.getElementsByClassName && + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && context.getElementsByClassName ) { push.apply( results, context.getElementsByClassName( m ) ); @@ -791,50 +832,62 @@ function Sizzle( selector, context, results, seed ) { // Take advantage of querySelectorAll if ( support.qsa && - !compilerCache[ selector + " " ] && - (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - - if ( nodeType !== 1 ) { - newContext = context; - newSelector = selector; + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && - // qSA looks outside Element context, which is not what we want - // Thanks to Andrew Dupont for this workaround technique - // Support: IE <=8 + // Support: IE 8 only // Exclude object elements - } else if ( context.nodeName.toLowerCase() !== "object" ) { + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { - // Capture the context ID, setting it first if necessary - if ( (nid = context.getAttribute( "id" )) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", (nid = expando) ); + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } } // Prefix every selector in the list groups = tokenize( selector ); i = groups.length; while ( i-- ) { - groups[i] = "#" + nid + " " + toSelector( groups[i] ); + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); } newSelector = groups.join( "," ); - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; } - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); } } } @@ -855,12 +908,14 @@ function createCache() { var keys = []; function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries delete cache[ keys.shift() ]; } - return (cache[ key + " " ] = value); + return ( cache[ key + " " ] = value ); } return cache; } @@ -879,17 +934,19 @@ function markFunction( fn ) { * @param {Function} fn Passed the created element and returns a boolean result */ function assert( fn ) { - var el = document.createElement("fieldset"); + var el = document.createElement( "fieldset" ); try { return !!fn( el ); - } catch (e) { + } catch ( e ) { return false; } finally { + // Remove from its parent by default if ( el.parentNode ) { el.parentNode.removeChild( el ); } + // release memory in IE el = null; } @@ -901,11 +958,11 @@ function assert( fn ) { * @param {Function} handler The method that will be applied */ function addHandle( attrs, handler ) { - var arr = attrs.split("|"), + var arr = attrs.split( "|" ), i = arr.length; while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; + Expr.attrHandle[ arr[ i ] ] = handler; } } @@ -927,7 +984,7 @@ function siblingCheck( a, b ) { // Check if b follows a if ( cur ) { - while ( (cur = cur.nextSibling) ) { + while ( ( cur = cur.nextSibling ) ) { if ( cur === b ) { return -1; } @@ -955,7 +1012,7 @@ function createInputPseudo( type ) { function createButtonPseudo( type ) { return function( elem ) { var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; + return ( name === "input" || name === "button" ) && elem.type === type; }; } @@ -998,7 +1055,7 @@ function createDisabledPseudo( disabled ) { // Where there is no isDisabled, check manually /* jshint -W018 */ elem.isDisabled !== !disabled && - disabledAncestor( elem ) === disabled; + inDisabledFieldset( elem ) === disabled; } return elem.disabled === disabled; @@ -1020,21 +1077,21 @@ function createDisabledPseudo( disabled ) { * @param {Function} fn */ function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { + return markFunction( function( argument ) { argument = +argument; - return markFunction(function( seed, matches ) { + return markFunction( function( seed, matches ) { var j, matchIndexes = fn( [], seed.length, argument ), i = matchIndexes.length; // Match elements found at the specified indexes while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); } } - }); - }); + } ); + } ); } /** @@ -1055,10 +1112,13 @@ support = Sizzle.support = {}; * @returns {Boolean} True iff elem is a non-HTML XML node */ isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); }; /** @@ -1071,7 +1131,11 @@ setDocument = Sizzle.setDocument = function( node ) { doc = node ? node.ownerDocument || node : preferredDoc; // Return early if doc is invalid or already selected - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { return document; } @@ -1080,10 +1144,14 @@ setDocument = Sizzle.setDocument = function( node ) { docElem = document.documentElement; documentIsHTML = !isXML( document ); - // Support: IE 9-11, Edge + // Support: IE 9 - 11+, Edge 12 - 18+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - if ( preferredDoc !== document && - (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { // Support: IE 11, Edge if ( subWindow.addEventListener ) { @@ -1095,25 +1163,36 @@ setDocument = Sizzle.setDocument = function( node ) { } } + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + /* Attributes ---------------------------------------------------------------------- */ // Support: IE<8 // Verify that getAttribute really returns attributes and not properties // (excepting IE8 booleans) - support.attributes = assert(function( el ) { + support.attributes = assert( function( el ) { el.className = "i"; - return !el.getAttribute("className"); - }); + return !el.getAttribute( "className" ); + } ); /* getElement(s)By* ---------------------------------------------------------------------- */ // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert(function( el ) { - el.appendChild( document.createComment("") ); - return !el.getElementsByTagName("*").length; - }); + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); // Support: IE<9 support.getElementsByClassName = rnative.test( document.getElementsByClassName ); @@ -1122,38 +1201,38 @@ setDocument = Sizzle.setDocument = function( node ) { // Check if getElementById returns elements by name // The broken getElementById methods don't pick up programmatically-set names, // so use a roundabout getElementsByName test - support.getById = assert(function( el ) { + support.getById = assert( function( el ) { docElem.appendChild( el ).id = expando; return !document.getElementsByName || !document.getElementsByName( expando ).length; - }); + } ); // ID filter and find if ( support.getById ) { - Expr.filter["ID"] = function( id ) { + Expr.filter[ "ID" ] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { - return elem.getAttribute("id") === attrId; + return elem.getAttribute( "id" ) === attrId; }; }; - Expr.find["ID"] = function( id, context ) { + Expr.find[ "ID" ] = function( id, context ) { if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var elem = context.getElementById( id ); return elem ? [ elem ] : []; } }; } else { - Expr.filter["ID"] = function( id ) { + Expr.filter[ "ID" ] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { var node = typeof elem.getAttributeNode !== "undefined" && - elem.getAttributeNode("id"); + elem.getAttributeNode( "id" ); return node && node.value === attrId; }; }; // Support: IE 6 - 7 only // getElementById is not reliable as a find shortcut - Expr.find["ID"] = function( id, context ) { + Expr.find[ "ID" ] = function( id, context ) { if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var node, i, elems, elem = context.getElementById( id ); @@ -1161,7 +1240,7 @@ setDocument = Sizzle.setDocument = function( node ) { if ( elem ) { // Verify the id attribute - node = elem.getAttributeNode("id"); + node = elem.getAttributeNode( "id" ); if ( node && node.value === id ) { return [ elem ]; } @@ -1169,8 +1248,8 @@ setDocument = Sizzle.setDocument = function( node ) { // Fall back on getElementsByName elems = context.getElementsByName( id ); i = 0; - while ( (elem = elems[i++]) ) { - node = elem.getAttributeNode("id"); + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); if ( node && node.value === id ) { return [ elem ]; } @@ -1183,7 +1262,7 @@ setDocument = Sizzle.setDocument = function( node ) { } // Tag - Expr.find["TAG"] = support.getElementsByTagName ? + Expr.find[ "TAG" ] = support.getElementsByTagName ? function( tag, context ) { if ( typeof context.getElementsByTagName !== "undefined" ) { return context.getElementsByTagName( tag ); @@ -1198,12 +1277,13 @@ setDocument = Sizzle.setDocument = function( node ) { var elem, tmp = [], i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too results = context.getElementsByTagName( tag ); // Filter out possible comments if ( tag === "*" ) { - while ( (elem = results[i++]) ) { + while ( ( elem = results[ i++ ] ) ) { if ( elem.nodeType === 1 ) { tmp.push( elem ); } @@ -1215,7 +1295,7 @@ setDocument = Sizzle.setDocument = function( node ) { }; // Class - Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { return context.getElementsByClassName( className ); } @@ -1236,10 +1316,14 @@ setDocument = Sizzle.setDocument = function( node ) { // See https://bugs.jquery.com/ticket/13378 rbuggyQSA = []; - if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + // Build QSA regex // Regex strategy adopted from Diego Perini - assert(function( el ) { + assert( function( el ) { + + var input; + // Select is set to empty string on purpose // This is to test IE's treatment of not explicitly // setting a boolean content attribute, @@ -1253,78 +1337,98 @@ setDocument = Sizzle.setDocument = function( node ) { // Nothing should be selected when empty strings follow ^= or $= or *= // The test attribute must be unknown in Opera but "safe" for WinRT // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( el.querySelectorAll("[msallowcapture^='']").length ) { + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); } // Support: IE8 // Boolean attributes and "value" are not treated correctly - if ( !el.querySelectorAll("[selected]").length ) { + if ( !el.querySelectorAll( "[selected]" ).length ) { rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); } // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); } // Webkit/Opera - :checked should return selected option elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked // IE8 throws error here and will not see later tests - if ( !el.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); } // Support: Safari 8+, iOS 8+ // https://bugs.webkit.org/show_bug.cgi?id=136851 // In-page `selector#id sibling-combinator selector` fails if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); + rbuggyQSA.push( ".#.+[+~]" ); } - }); - assert(function( el ) { + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { el.innerHTML = "" + ""; // Support: Windows 8 Native Apps // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement("input"); + var input = document.createElement( "input" ); input.setAttribute( "type", "hidden" ); el.appendChild( input ).setAttribute( "name", "D" ); // Support: IE8 // Enforce case-sensitivity of name attribute - if ( el.querySelectorAll("[name=d]").length ) { + if ( el.querySelectorAll( "[name=d]" ).length ) { rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); } // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) // IE8 throws error here and will not see later tests - if ( el.querySelectorAll(":enabled").length !== 2 ) { + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { rbuggyQSA.push( ":enabled", ":disabled" ); } // Support: IE9-11+ // IE's :disabled selector does not pick up the children of disabled fieldsets docElem.appendChild( el ).disabled = true; - if ( el.querySelectorAll(":disabled").length !== 2 ) { + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { rbuggyQSA.push( ":enabled", ":disabled" ); } + // Support: Opera 10 - 11 only // Opera 10-11 does not throw on post-comma invalid pseudos - el.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); } - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || docElem.webkitMatchesSelector || docElem.mozMatchesSelector || docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { - assert(function( el ) { // Check to see if it's possible to do matchesSelector // on a disconnected node (IE 9) support.disconnectedMatch = matches.call( el, "*" ); @@ -1333,11 +1437,11 @@ setDocument = Sizzle.setDocument = function( node ) { // Gecko does not error, returns false instead matches.call( el, "[s!='']:x" ); rbuggyMatches.push( "!=", pseudos ); - }); + } ); } - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); /* Contains ---------------------------------------------------------------------- */ @@ -1354,11 +1458,11 @@ setDocument = Sizzle.setDocument = function( node ) { adown.contains ? adown.contains( bup ) : a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); + ) ); } : function( a, b ) { if ( b ) { - while ( (b = b.parentNode) ) { + while ( ( b = b.parentNode ) ) { if ( b === a ) { return true; } @@ -1387,7 +1491,11 @@ setDocument = Sizzle.setDocument = function( node ) { } // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? a.compareDocumentPosition( b ) : // Otherwise we know they are disconnected @@ -1395,13 +1503,24 @@ setDocument = Sizzle.setDocument = function( node ) { // Disconnected nodes if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { // Choose the first element that is related to our preferred document - if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { return -1; } - if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { return 1; } @@ -1414,6 +1533,7 @@ setDocument = Sizzle.setDocument = function( node ) { return compare & 4 ? -1 : 1; } : function( a, b ) { + // Exit early if the nodes are identical if ( a === b ) { hasDuplicate = true; @@ -1429,8 +1549,14 @@ setDocument = Sizzle.setDocument = function( node ) { // Parentless nodes are either documents or disconnected if ( !aup || !bup ) { - return a === document ? -1 : - b === document ? 1 : + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ aup ? -1 : bup ? 1 : sortInput ? @@ -1444,26 +1570,32 @@ setDocument = Sizzle.setDocument = function( node ) { // Otherwise we need full lists of their ancestors for comparison cur = a; - while ( (cur = cur.parentNode) ) { + while ( ( cur = cur.parentNode ) ) { ap.unshift( cur ); } cur = b; - while ( (cur = cur.parentNode) ) { + while ( ( cur = cur.parentNode ) ) { bp.unshift( cur ); } // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { + while ( ap[ i ] === bp[ i ] ) { i++; } return i ? + // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : + siblingCheck( ap[ i ], bp[ i ] ) : // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ 0; }; @@ -1475,16 +1607,10 @@ Sizzle.matches = function( expr, elements ) { }; Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); + setDocument( elem ); if ( support.matchesSelector && documentIsHTML && - !compilerCache[ expr + " " ] && + !nonnativeSelectorCache[ expr + " " ] && ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { @@ -1493,32 +1619,46 @@ Sizzle.matchesSelector = function( elem, expr ) { // IE 9's matchesSelector returns false on disconnected nodes if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { return ret; } - } catch (e) {} + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } } return Sizzle( expr, document, null, [ elem ] ).length > 0; }; Sizzle.contains = function( context, elem ) { + // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { setDocument( context ); } return contains( context, elem ); }; Sizzle.attr = function( elem, name ) { + // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { setDocument( elem ); } var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? fn( elem, name, !documentIsHTML ) : @@ -1528,13 +1668,13 @@ Sizzle.attr = function( elem, name ) { val : support.attributes || !documentIsHTML ? elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? + ( val = elem.getAttributeNode( name ) ) && val.specified ? val.value : null; }; Sizzle.escape = function( sel ) { - return (sel + "").replace( rcssescape, fcssescape ); + return ( sel + "" ).replace( rcssescape, fcssescape ); }; Sizzle.error = function( msg ) { @@ -1557,7 +1697,7 @@ Sizzle.uniqueSort = function( results ) { results.sort( sortOrder ); if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { + while ( ( elem = results[ i++ ] ) ) { if ( elem === results[ i ] ) { j = duplicates.push( i ); } @@ -1585,17 +1725,21 @@ getText = Sizzle.getText = function( elem ) { nodeType = elem.nodeType; if ( !nodeType ) { + // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { + while ( ( node = elem[ i++ ] ) ) { + // Do not traverse comment nodes ret += getText( node ); } } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements // innerText usage removed for consistency of new lines (jQuery #11153) if ( typeof elem.textContent === "string" ) { return elem.textContent; } else { + // Traverse its children for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { ret += getText( elem ); @@ -1604,6 +1748,7 @@ getText = Sizzle.getText = function( elem ) { } else if ( nodeType === 3 || nodeType === 4 ) { return elem.nodeValue; } + // Do not include comment or processing instruction nodes return ret; @@ -1631,19 +1776,21 @@ Expr = Sizzle.selectors = { preFilter: { "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; } return match.slice( 0, 4 ); }, "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] 1 type (only|nth|...) 2 what (child|of-type) @@ -1654,22 +1801,25 @@ Expr = Sizzle.selectors = { 7 sign of y-component 8 y of y-component */ - match[1] = match[1].toLowerCase(); + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { - if ( match[1].slice( 0, 3 ) === "nth" ) { // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); } // numeric x and y parameters for Expr.filter.CHILD // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); } return match; @@ -1677,26 +1827,28 @@ Expr = Sizzle.selectors = { "PSEUDO": function( match ) { var excess, - unquoted = !match[6] && match[2]; + unquoted = !match[ 6 ] && match[ 2 ]; - if ( matchExpr["CHILD"].test( match[0] ) ) { + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { return null; } // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; // Strip excess characters from unquoted arguments } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && + ( excess = tokenize( unquoted, true ) ) && + // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); } // Return only captures needed by the pseudo filter method (type and argument) @@ -1709,7 +1861,9 @@ Expr = Sizzle.selectors = { "TAG": function( nodeNameSelector ) { var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); return nodeNameSelector === "*" ? - function() { return true; } : + function() { + return true; + } : function( elem ) { return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; }; @@ -1719,10 +1873,16 @@ Expr = Sizzle.selectors = { var pattern = classCache[ className + " " ]; return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); - }); + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); }, "ATTR": function( name, operator, check ) { @@ -1738,6 +1898,8 @@ Expr = Sizzle.selectors = { result += ""; + /* eslint-disable max-len */ + return operator === "=" ? result === check : operator === "!=" ? result !== check : operator === "^=" ? check && result.indexOf( check ) === 0 : @@ -1746,10 +1908,12 @@ Expr = Sizzle.selectors = { operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : false; + /* eslint-enable max-len */ + }; }, - "CHILD": function( type, what, argument, first, last ) { + "CHILD": function( type, what, _argument, first, last ) { var simple = type.slice( 0, 3 ) !== "nth", forward = type.slice( -4 ) !== "last", ofType = what === "of-type"; @@ -1761,7 +1925,7 @@ Expr = Sizzle.selectors = { return !!elem.parentNode; } : - function( elem, context, xml ) { + function( elem, _context, xml ) { var cache, uniqueCache, outerCache, node, nodeIndex, start, dir = simple !== forward ? "nextSibling" : "previousSibling", parent = elem.parentNode, @@ -1775,7 +1939,7 @@ Expr = Sizzle.selectors = { if ( simple ) { while ( dir ) { node = elem; - while ( (node = node[ dir ]) ) { + while ( ( node = node[ dir ] ) ) { if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { @@ -1783,6 +1947,7 @@ Expr = Sizzle.selectors = { return false; } } + // Reverse direction for :only-* (if we haven't yet done so) start = dir = type === "only" && !start && "nextSibling"; } @@ -1798,22 +1963,22 @@ Expr = Sizzle.selectors = { // ...in a gzip-friendly way node = parent; - outerCache = node[ expando ] || (node[ expando ] = {}); + outerCache = node[ expando ] || ( node[ expando ] = {} ); // Support: IE <9 only // Defend against cloned attroperties (jQuery gh-1709) uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); + ( outerCache[ node.uniqueID ] = {} ); cache = uniqueCache[ type ] || []; nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; diff = nodeIndex && cache[ 2 ]; node = nodeIndex && parent.childNodes[ nodeIndex ]; - while ( (node = ++nodeIndex && node && node[ dir ] || + while ( ( node = ++nodeIndex && node && node[ dir ] || // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { + ( diff = nodeIndex = 0 ) || start.pop() ) ) { // When found, cache indexes on `parent` and break if ( node.nodeType === 1 && ++diff && node === elem ) { @@ -1823,16 +1988,18 @@ Expr = Sizzle.selectors = { } } else { + // Use previously-cached element index if available if ( useCache ) { + // ...in a gzip-friendly way node = elem; - outerCache = node[ expando ] || (node[ expando ] = {}); + outerCache = node[ expando ] || ( node[ expando ] = {} ); // Support: IE <9 only // Defend against cloned attroperties (jQuery gh-1709) uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); + ( outerCache[ node.uniqueID ] = {} ); cache = uniqueCache[ type ] || []; nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; @@ -1842,9 +2009,10 @@ Expr = Sizzle.selectors = { // xml :nth-child(...) // or :nth-last-child(...) or :nth(-last)?-of-type(...) if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { if ( ( ofType ? node.nodeName.toLowerCase() === name : @@ -1853,12 +2021,13 @@ Expr = Sizzle.selectors = { // Cache the index of each encountered element if ( useCache ) { - outerCache = node[ expando ] || (node[ expando ] = {}); + outerCache = node[ expando ] || + ( node[ expando ] = {} ); // Support: IE <9 only // Defend against cloned attroperties (jQuery gh-1709) uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); + ( outerCache[ node.uniqueID ] = {} ); uniqueCache[ type ] = [ dirruns, diff ]; } @@ -1879,6 +2048,7 @@ Expr = Sizzle.selectors = { }, "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive // http://www.w3.org/TR/selectors/#pseudo-classes // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters @@ -1898,15 +2068,15 @@ Expr = Sizzle.selectors = { if ( fn.length > 1 ) { args = [ pseudo, pseudo, "", argument ]; return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { + markFunction( function( seed, matches ) { var idx, matched = fn( seed, argument ), i = matched.length; while ( i-- ) { - idx = indexOf( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); } - }) : + } ) : function( elem ) { return fn( elem, 0, args ); }; @@ -1917,8 +2087,10 @@ Expr = Sizzle.selectors = { }, pseudos: { + // Potentially complex pseudos - "not": markFunction(function( selector ) { + "not": markFunction( function( selector ) { + // Trim the selector passed to compile // to avoid treating leading and trailing // spaces as combinators @@ -1927,39 +2099,40 @@ Expr = Sizzle.selectors = { matcher = compile( selector.replace( rtrim, "$1" ) ); return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { + markFunction( function( seed, matches, _context, xml ) { var elem, unmatched = matcher( seed, null, xml, [] ), i = seed.length; // Match elements unmatched by `matcher` while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); } } - }) : - function( elem, context, xml ) { - input[0] = elem; + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; matcher( input, null, xml, results ); + // Don't keep the element (issue #299) - input[0] = null; + input[ 0 ] = null; return !results.pop(); }; - }), + } ), - "has": markFunction(function( selector ) { + "has": markFunction( function( selector ) { return function( elem ) { return Sizzle( selector, elem ).length > 0; }; - }), + } ), - "contains": markFunction(function( text ) { + "contains": markFunction( function( text ) { text = text.replace( runescape, funescape ); return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; }; - }), + } ), // "Whether an element is represented by a :lang() selector // is based solely on the element's language value @@ -1969,25 +2142,26 @@ Expr = Sizzle.selectors = { // The identifier C does not have to be a valid language name." // http://www.w3.org/TR/selectors/#lang-pseudo "lang": markFunction( function( lang ) { + // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { + if ( !ridentifier.test( lang || "" ) ) { Sizzle.error( "unsupported lang: " + lang ); } lang = lang.replace( runescape, funescape ).toLowerCase(); return function( elem ) { var elemLang; do { - if ( (elemLang = documentIsHTML ? + if ( ( elemLang = documentIsHTML ? elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { elemLang = elemLang.toLowerCase(); return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); return false; }; - }), + } ), // Miscellaneous "target": function( elem ) { @@ -2000,7 +2174,9 @@ Expr = Sizzle.selectors = { }, "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); }, // Boolean properties @@ -2008,16 +2184,20 @@ Expr = Sizzle.selectors = { "disabled": createDisabledPseudo( true ), "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); }, "selected": function( elem ) { + // Accessing this property makes selected-by-default // options in Safari work properly if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions elem.parentNode.selectedIndex; } @@ -2026,6 +2206,7 @@ Expr = Sizzle.selectors = { // Contents "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), // but not by others (comment: 8; processing instruction: 7; etc.) @@ -2039,7 +2220,7 @@ Expr = Sizzle.selectors = { }, "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); + return !Expr.pseudos[ "empty" ]( elem ); }, // Element/input types @@ -2063,57 +2244,62 @@ Expr = Sizzle.selectors = { // Support: IE<8 // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); }, // Position-in-collection - "first": createPositionalPseudo(function() { + "first": createPositionalPseudo( function() { return [ 0 ]; - }), + } ), - "last": createPositionalPseudo(function( matchIndexes, length ) { + "last": createPositionalPseudo( function( _matchIndexes, length ) { return [ length - 1 ]; - }), + } ), - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { return [ argument < 0 ? argument + length : argument ]; - }), + } ), - "even": createPositionalPseudo(function( matchIndexes, length ) { + "even": createPositionalPseudo( function( matchIndexes, length ) { var i = 0; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); } return matchIndexes; - }), + } ), - "odd": createPositionalPseudo(function( matchIndexes, length ) { + "odd": createPositionalPseudo( function( matchIndexes, length ) { var i = 1; for ( ; i < length; i += 2 ) { matchIndexes.push( i ); } return matchIndexes; - }), + } ), - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; for ( ; --i >= 0; ) { matchIndexes.push( i ); } return matchIndexes; - }), + } ), - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { var i = argument < 0 ? argument + length : argument; for ( ; ++i < length; ) { matchIndexes.push( i ); } return matchIndexes; - }) + } ) } }; -Expr.pseudos["nth"] = Expr.pseudos["eq"]; +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; // Add button/input type pseudos for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { @@ -2144,37 +2330,39 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) { while ( soFar ) { // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { if ( match ) { + // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; + soFar = soFar.slice( match[ 0 ].length ) || soFar; } - groups.push( (tokens = []) ); + groups.push( ( tokens = [] ) ); } matched = false; // Combinators - if ( (match = rcombinators.exec( soFar )) ) { + if ( ( match = rcombinators.exec( soFar ) ) ) { matched = match.shift(); - tokens.push({ + tokens.push( { value: matched, + // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); + type: match[ 0 ].replace( rtrim, " " ) + } ); soFar = soFar.slice( matched.length ); } // Filters for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { matched = match.shift(); - tokens.push({ + tokens.push( { value: matched, type: type, matches: match - }); + } ); soFar = soFar.slice( matched.length ); } } @@ -2191,6 +2379,7 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) { soFar.length : soFar ? Sizzle.error( selector ) : + // Cache the tokens tokenCache( selector, groups ).slice( 0 ); }; @@ -2200,7 +2389,7 @@ function toSelector( tokens ) { len = tokens.length, selector = ""; for ( ; i < len; i++ ) { - selector += tokens[i].value; + selector += tokens[ i ].value; } return selector; } @@ -2213,9 +2402,10 @@ function addCombinator( matcher, combinator, base ) { doneName = done++; return combinator.first ? + // Check against closest ancestor/preceding element function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { + while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { return matcher( elem, context, xml ); } @@ -2230,7 +2420,7 @@ function addCombinator( matcher, combinator, base ) { // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching if ( xml ) { - while ( (elem = elem[ dir ]) ) { + while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { if ( matcher( elem, context, xml ) ) { return true; @@ -2238,27 +2428,29 @@ function addCombinator( matcher, combinator, base ) { } } } else { - while ( (elem = elem[ dir ]) ) { + while ( ( elem = elem[ dir ] ) ) { if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); // Support: IE <9 only // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); if ( skip && skip === elem.nodeName.toLowerCase() ) { elem = elem[ dir ] || elem; - } else if ( (oldCache = uniqueCache[ key ]) && + } else if ( ( oldCache = uniqueCache[ key ] ) && oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); + return ( newCache[ 2 ] = oldCache[ 2 ] ); } else { + // Reuse newcache so results back-propagate to previous elements uniqueCache[ key ] = newCache; // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { return true; } } @@ -2274,20 +2466,20 @@ function elementMatcher( matchers ) { function( elem, context, xml ) { var i = matchers.length; while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { + if ( !matchers[ i ]( elem, context, xml ) ) { return false; } } return true; } : - matchers[0]; + matchers[ 0 ]; } function multipleContexts( selector, contexts, results ) { var i = 0, len = contexts.length; for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); + Sizzle( selector, contexts[ i ], results ); } return results; } @@ -2300,7 +2492,7 @@ function condense( unmatched, map, filter, context, xml ) { mapped = map != null; for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { + if ( ( elem = unmatched[ i ] ) ) { if ( !filter || filter( elem, context, xml ) ) { newUnmatched.push( elem ); if ( mapped ) { @@ -2320,14 +2512,18 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS if ( postFinder && !postFinder[ expando ] ) { postFinder = setMatcher( postFinder, postSelector ); } - return markFunction(function( seed, results, context, xml ) { + return markFunction( function( seed, results, context, xml ) { var temp, i, elem, preMap = [], postMap = [], preexisting = results.length, // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), // Prefilter to get matcher input, preserving a map for seed-results synchronization matcherIn = preFilter && ( seed || !selector ) ? @@ -2335,6 +2531,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS elems, matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, postFinder || ( seed ? preFilter : preexisting || postFilter ) ? @@ -2358,8 +2555,8 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS // Un-match failing elements by moving them back to matcherIn i = temp.length; while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); } } } @@ -2367,25 +2564,27 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS if ( seed ) { if ( postFinder || preFilter ) { if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts temp = []; i = matcherOut.length; while ( i-- ) { - if ( (elem = matcherOut[i]) ) { + if ( ( elem = matcherOut[ i ] ) ) { + // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); + temp.push( ( matcherIn[ i ] = elem ) ); } } - postFinder( null, (matcherOut = []), temp, xml ); + postFinder( null, ( matcherOut = [] ), temp, xml ); } // Move matched elements from seed to results to keep them synchronized i = matcherOut.length; while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { - seed[temp] = !(results[temp] = elem); + seed[ temp ] = !( results[ temp ] = elem ); } } } @@ -2403,14 +2602,14 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS push.apply( results, matcherOut ); } } - }); + } ); } function matcherFromTokens( tokens ) { var checkContext, matcher, j, len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], i = leadingRelative ? 1 : 0, // The foundational matcher ensures that elements are reachable from top-level context(s) @@ -2422,38 +2621,43 @@ function matcherFromTokens( tokens ) { }, implicitRelative, true ), matchers = [ function( elem, context, xml ) { var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? + ( checkContext = context ).nodeType ? matchContext( elem, context, xml ) : matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) checkContext = null; return ret; } ]; for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); // Return special upon seeing a positional matcher if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling j = ++i; for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { + if ( Expr.relative[ tokens[ j ].type ] ) { break; } } return setMatcher( i > 1 && elementMatcher( matchers ), i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) ).replace( rtrim, "$1" ), matcher, i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), j < len && toSelector( tokens ) ); } @@ -2474,28 +2678,40 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { unmatched = seed && [], setMatched = [], contextBackup = outermostContext, + // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), len = elems.length; if ( outermost ) { - outermostContext = context === document || context || outermost; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; } // Add elements passing elementMatchers directly to results // Support: IE<9, Safari // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { if ( byElement && elem ) { j = 0; - if ( !context && elem.ownerDocument !== document ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { setDocument( elem ); xml = !documentIsHTML; } - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context || document, xml) ) { + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { results.push( elem ); break; } @@ -2507,8 +2723,9 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { // Track unmatched elements for set filters if ( bySet ) { + // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { + if ( ( elem = !matcher && elem ) ) { matchedCount--; } @@ -2532,16 +2749,17 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { // numerically zero. if ( bySet && i !== matchedCount ) { j = 0; - while ( (matcher = setMatchers[j++]) ) { + while ( ( matcher = setMatchers[ j++ ] ) ) { matcher( unmatched, setMatched, context, xml ); } if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting if ( matchedCount > 0 ) { while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); } } } @@ -2582,13 +2800,14 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { cached = compilerCache[ selector + " " ]; if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element if ( !match ) { match = tokenize( selector ); } i = match.length; while ( i-- ) { - cached = matcherFromTokens( match[i] ); + cached = matcherFromTokens( match[ i ] ); if ( cached[ expando ] ) { setMatchers.push( cached ); } else { @@ -2597,7 +2816,10 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { } // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); // Save selector and tokenization cached.selector = selector; @@ -2617,7 +2839,7 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { select = Sizzle.select = function( selector, context, results, seed ) { var i, tokens, token, type, find, compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); results = results || []; @@ -2626,11 +2848,12 @@ select = Sizzle.select = function( selector, context, results, seed ) { if ( match.length === 1 ) { // Reduce context if the leading compound selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) { + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; if ( !context ) { return results; @@ -2643,20 +2866,22 @@ select = Sizzle.select = function( selector, context, results, seed ) { } // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; while ( i-- ) { - token = tokens[i]; + token = tokens[ i ]; // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { + if ( Expr.relative[ ( type = token.type ) ] ) { break; } - if ( (find = Expr.find[ type ]) ) { + if ( ( find = Expr.find[ type ] ) ) { + // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { // If seed is empty or no tokens remain, we can return early tokens.splice( i, 1 ); @@ -2687,7 +2912,7 @@ select = Sizzle.select = function( selector, context, results, seed ) { // One-time assignments // Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; // Support: Chrome 14-35+ // Always assume duplicates if they aren't passed to the comparison function @@ -2698,58 +2923,59 @@ setDocument(); // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) // Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( el ) { +support.sortDetached = assert( function( el ) { + // Should return 1, but returns 4 (following) - return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; -}); + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); // Support: IE<8 // Prevent attribute/property "interpolation" // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( el ) { +if ( !assert( function( el ) { el.innerHTML = ""; - return el.firstChild.getAttribute("href") === "#" ; -}) ) { + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { addHandle( "type|href|height|width", function( elem, name, isXML ) { if ( !isXML ) { return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); } - }); + } ); } // Support: IE<9 // Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( el ) { +if ( !support.attributes || !assert( function( el ) { el.innerHTML = ""; el.firstChild.setAttribute( "value", "" ); return el.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { return elem.defaultValue; } - }); + } ); } // Support: IE<9 // Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( el ) { - return el.getAttribute("disabled") == null; -}) ) { +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { addHandle( booleans, function( elem, name, isXML ) { var val; if ( !isXML ) { return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? + ( val = elem.getAttributeNode( name ) ) && val.specified ? val.value : - null; + null; } - }); + } ); } return Sizzle; -})( window ); +} )( window ); @@ -2802,9 +3028,9 @@ var rneedsContext = jQuery.expr.match.needsContext; function nodeName( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); -}; +} var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); @@ -3118,7 +3344,7 @@ jQuery.each( { parents: function( elem ) { return dir( elem, "parentNode" ); }, - parentsUntil: function( elem, i, until ) { + parentsUntil: function( elem, _i, until ) { return dir( elem, "parentNode", until ); }, next: function( elem ) { @@ -3133,10 +3359,10 @@ jQuery.each( { prevAll: function( elem ) { return dir( elem, "previousSibling" ); }, - nextUntil: function( elem, i, until ) { + nextUntil: function( elem, _i, until ) { return dir( elem, "nextSibling", until ); }, - prevUntil: function( elem, i, until ) { + prevUntil: function( elem, _i, until ) { return dir( elem, "previousSibling", until ); }, siblings: function( elem ) { @@ -3146,18 +3372,24 @@ jQuery.each( { return siblings( elem.firstChild ); }, contents: function( elem ) { - if ( nodeName( elem, "iframe" ) ) { - return elem.contentDocument; - } + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { - // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only - // Treat the template element as a regular one in browsers that - // don't support it. - if ( nodeName( elem, "template" ) ) { - elem = elem.content || elem; - } + return elem.contentDocument; + } - return jQuery.merge( [], elem.childNodes ); + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); } }, function( name, fn ) { jQuery.fn[ name ] = function( until, selector ) { @@ -3489,7 +3721,7 @@ jQuery.extend( { var fns = arguments; return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { + jQuery.each( tuples, function( _i, tuple ) { // Map tuples (progress, done, fail) to arguments (done, fail, progress) var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; @@ -3769,8 +4001,8 @@ jQuery.extend( { resolveContexts = Array( i ), resolveValues = slice.call( arguments ), - // the master Deferred - master = jQuery.Deferred(), + // the primary Deferred + primary = jQuery.Deferred(), // subordinate callback factory updateFunc = function( i ) { @@ -3778,30 +4010,30 @@ jQuery.extend( { resolveContexts[ i ] = this; resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; if ( !( --remaining ) ) { - master.resolveWith( resolveContexts, resolveValues ); + primary.resolveWith( resolveContexts, resolveValues ); } }; }; // Single- and empty arguments are adopted like Promise.resolve if ( remaining <= 1 ) { - adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, !remaining ); // Use .then() to unwrap secondary thenables (cf. gh-3000) - if ( master.state() === "pending" || + if ( primary.state() === "pending" || isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { - return master.then(); + return primary.then(); } } // Multiple arguments are aggregated like Promise.all array elements while ( i-- ) { - adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); } - return master.promise(); + return primary.promise(); } } ); @@ -3942,7 +4174,7 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { // ...except when executing function values } else { bulk = fn; - fn = function( elem, key, value ) { + fn = function( elem, _key, value ) { return bulk.call( jQuery( elem ), value ); }; } @@ -3952,8 +4184,8 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { for ( ; i < len; i++ ) { fn( elems[ i ], key, raw ? - value : - value.call( elems[ i ], i, fn( elems[ i ], key ) ) + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) ); } } @@ -3977,7 +4209,7 @@ var rmsPrefix = /^-ms-/, rdashAlpha = /-([a-z])/g; // Used by camelCase as callback to replace() -function fcamelCase( all, letter ) { +function fcamelCase( _all, letter ) { return letter.toUpperCase(); } @@ -4466,6 +4698,26 @@ var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } var isHiddenWithinTree = function( elem, el ) { // isHiddenWithinTree might be called from jQuery#filter function; @@ -4480,32 +4732,11 @@ var isHiddenWithinTree = function( elem, el ) { // Support: Firefox <=43 - 45 // Disconnected elements can have computed display: none, so first confirm that elem is // in the document. - jQuery.contains( elem.ownerDocument, elem ) && + isAttached( elem ) && jQuery.css( elem, "display" ) === "none"; }; -var swap = function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - function adjustCSS( elem, prop, valueParts, tween ) { @@ -4522,7 +4753,8 @@ function adjustCSS( elem, prop, valueParts, tween ) { unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), // Starting value computation is required for potential unit mismatches - initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && rcssNum.exec( jQuery.css( elem, prop ) ); if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { @@ -4669,17 +4901,46 @@ jQuery.fn.extend( { } ); var rcheckableType = ( /^(?:checkbox|radio)$/i ); -var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); -// We have to close these tags to support XHTML (#13200) -var wrapMap = { +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; // Support: IE <=9 only - option: [ 1, "" ], + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { // XHTML parsers do not magically insert elements in the // same way that tag soup parsers do. So we cannot shorten @@ -4692,12 +4953,14 @@ var wrapMap = { _default: [ 0, "", "" ] }; -// Support: IE <=9 only -wrapMap.optgroup = wrapMap.option; - wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; wrapMap.th = wrapMap.td; +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + function getAll( context, tag ) { @@ -4741,7 +5004,7 @@ function setGlobalEval( elems, refElements ) { var rhtml = /<|&#?\w+;/; function buildFragment( elems, context, scripts, selection, ignored ) { - var elem, tmp, tag, wrap, contains, j, + var elem, tmp, tag, wrap, attached, j, fragment = context.createDocumentFragment(), nodes = [], i = 0, @@ -4805,13 +5068,13 @@ function buildFragment( elems, context, scripts, selection, ignored ) { continue; } - contains = jQuery.contains( elem.ownerDocument, elem ); + attached = isAttached( elem ); // Append to fragment tmp = getAll( fragment.appendChild( elem ), "script" ); // Preserve script evaluation history - if ( contains ) { + if ( attached ) { setGlobalEval( tmp ); } @@ -4830,38 +5093,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) { } -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Android <=4.1 only - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE <=11 only - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; -} )(); -var documentElement = document.documentElement; - - - -var - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)/; +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; function returnTrue() { return true; @@ -4871,8 +5103,19 @@ function returnFalse() { return false; } +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + // Support: IE <=9 only -// See #13393 for more info +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 function safeActiveElement() { try { return document.activeElement; @@ -4955,8 +5198,8 @@ jQuery.event = { special, handlers, type, namespaces, origType, elemData = dataPriv.get( elem ); - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { return; } @@ -4980,7 +5223,7 @@ jQuery.event = { // Init the element's event structure and main handler, if this is the first if ( !( events = elemData.events ) ) { - events = elemData.events = {}; + events = elemData.events = Object.create( null ); } if ( !( eventHandle = elemData.handle ) ) { eventHandle = elemData.handle = function( e ) { @@ -5138,12 +5381,15 @@ jQuery.event = { dispatch: function( nativeEvent ) { - // Make a writable jQuery.Event from the native event object - var event = jQuery.event.fix( nativeEvent ); - var i, j, ret, matched, handleObj, handlerQueue, args = new Array( arguments.length ), - handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], special = jQuery.event.special[ event.type ] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event @@ -5172,9 +5418,10 @@ jQuery.event = { while ( ( handleObj = matched.handlers[ j++ ] ) && !event.isImmediatePropagationStopped() ) { - // Triggered event must either 1) have no namespace, or 2) have namespace(s) - // a subset or equal to those in the bound event (both can have no namespace). - if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { event.handleObj = handleObj; event.data = handleObj.data; @@ -5266,12 +5513,12 @@ jQuery.event = { get: isFunction( hook ) ? function() { if ( this.originalEvent ) { - return hook( this.originalEvent ); + return hook( this.originalEvent ); } } : function() { if ( this.originalEvent ) { - return this.originalEvent[ name ]; + return this.originalEvent[ name ]; } }, @@ -5298,39 +5545,51 @@ jQuery.event = { // Prevent triggered image.load events from bubbling to window.load noBubble: true }, - focus: { + click: { - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== safeActiveElement() && this.focus ) { - this.focus(); - return false; - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === safeActiveElement() && this.blur ) { - this.blur(); - return false; + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); } + + // Return false to allow normal processing in the caller + return false; }, - delegateType: "focusout" - }, - click: { + trigger: function( data ) { - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) { - this.click(); - return false; + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); } + + // Return non-false to allow normal event-path propagation + return true; }, - // For cross-browser consistency, don't fire native .click() on links + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack _default: function( event ) { - return nodeName( event.target, "a" ); + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); } }, @@ -5347,6 +5606,99 @@ jQuery.event = { } }; +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + // Support: Chrome 86+ + // In Chrome, if an element having a focusout handler is blurred by + // clicking outside of it, it invokes the handler synchronously. If + // that handler calls `.remove()` on the element, the data is cleared, + // leaving `result` undefined. We need to guard against this. + return result && result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + jQuery.removeEvent = function( elem, type, handle ) { // This "if" is needed for plain objects @@ -5459,6 +5811,7 @@ jQuery.each( { shiftKey: true, view: true, "char": true, + code: true, charCode: true, key: true, keyCode: true, @@ -5475,35 +5828,41 @@ jQuery.each( { targetTouches: true, toElement: true, touches: true, + which: true +}, jQuery.event.addProp ); - which: function( event ) { - var button = event.button; +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { - // Add which for key events - if ( event.which == null && rkeyEvent.test( event.type ) ) { - return event.charCode != null ? event.charCode : event.keyCode; - } + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { - // Add which for click: 1 === left; 2 === middle; 3 === right - if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { - if ( button & 1 ) { - return 1; - } + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); - if ( button & 2 ) { - return 3; - } + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { - if ( button & 4 ) { - return 2; - } + // Force setup before trigger + leverageNative( this, type ); - return 0; - } + // Return non-false to allow normal event-path propagation + return true; + }, - return event.which; - } -}, jQuery.event.addProp ); + // Suppress native focus or blur as it's already being fired + // in leverageNative. + _default: function() { + return true; + }, + + delegateType: delegateType + }; +} ); // Create mouseenter/leave events using mouseover/out and event-time checks // so that event delegation works in jQuery. @@ -5590,13 +5949,6 @@ jQuery.fn.extend( { var - /* eslint-disable max-len */ - - // See https://github.com/eslint/eslint/issues/3229 - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, - - /* eslint-enable */ - // Support: IE <=10 - 11, Edge 12 - 13 only // In IE/Edge using regex groups here causes severe slowdowns. // See https://connect.microsoft.com/IE/feedback/details/1736512/ @@ -5633,7 +5985,7 @@ function restoreScript( elem ) { } function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; + var i, l, type, pdataOld, udataOld, udataCur, events; if ( dest.nodeType !== 1 ) { return; @@ -5641,13 +5993,11 @@ function cloneCopyEvent( src, dest ) { // 1. Copy private data: events, handlers, etc. if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.access( src ); - pdataCur = dataPriv.set( dest, pdataOld ); + pdataOld = dataPriv.get( src ); events = pdataOld.events; if ( events ) { - delete pdataCur.handle; - pdataCur.events = {}; + dataPriv.remove( dest, "handle events" ); for ( type in events ) { for ( i = 0, l = events[ type ].length; i < l; i++ ) { @@ -5683,7 +6033,7 @@ function fixInput( src, dest ) { function domManip( collection, args, callback, ignored ) { // Flatten any nested arrays - args = concat.apply( [], args ); + args = flat( args ); var fragment, first, scripts, hasScripts, node, doc, i = 0, @@ -5755,11 +6105,13 @@ function domManip( collection, args, callback, ignored ) { if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); } } else { - DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node ); + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); } } } @@ -5781,7 +6133,7 @@ function remove( elem, selector, keepData ) { } if ( node.parentNode ) { - if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + if ( keepData && isAttached( node ) ) { setGlobalEval( getAll( node, "script" ) ); } node.parentNode.removeChild( node ); @@ -5793,13 +6145,13 @@ function remove( elem, selector, keepData ) { jQuery.extend( { htmlPrefilter: function( html ) { - return html.replace( rxhtmlTag, "<$1>" ); + return html; }, clone: function( elem, dataAndEvents, deepDataAndEvents ) { var i, l, srcElements, destElements, clone = elem.cloneNode( true ), - inPage = jQuery.contains( elem.ownerDocument, elem ); + inPage = isAttached( elem ); // Fix IE cloning issues if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && @@ -6055,6 +6407,27 @@ var getStyles = function( elem ) { return view.getComputedStyle( elem ); }; +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); @@ -6095,8 +6468,10 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); // Support: IE 9 only // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) div.style.position = "absolute"; - scrollboxSizeVal = div.offsetWidth === 36 || "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; documentElement.removeChild( container ); @@ -6110,7 +6485,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); } var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, - reliableMarginLeftVal, + reliableTrDimensionsVal, reliableMarginLeftVal, container = document.createElement( "div" ), div = document.createElement( "div" ); @@ -6145,6 +6520,54 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); scrollboxSize: function() { computeStyleTests(); return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is display: block + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; } } ); } )(); @@ -6167,7 +6590,7 @@ function curCSS( elem, name, computed ) { if ( computed ) { ret = computed.getPropertyValue( name ) || computed[ name ]; - if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + if ( ret === "" && !isAttached( elem ) ) { ret = jQuery.style( elem, name ); } @@ -6223,30 +6646,13 @@ function addGetHookIf( conditionFn, hookFn ) { } -var +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; - // Swappable if display is none or starts with table - // except "table", "table-cell", or "table-caption" - // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rcustomProp = /^--/, - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }, - - cssPrefixes = [ "Webkit", "Moz", "ms" ], - emptyStyle = document.createElement( "div" ).style; - -// Return a css property mapped to a potentially vendor prefixed property +// Return a vendor-prefixed property or undefined function vendorPropName( name ) { - // Shortcut for names that are not vendor prefixed - if ( name in emptyStyle ) { - return name; - } - // Check for vendor prefixed names var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), i = cssPrefixes.length; @@ -6259,17 +6665,34 @@ function vendorPropName( name ) { } } -// Return a property mapped along what jQuery.cssProps suggests or to -// a vendor prefixed property. +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property function finalPropName( name ) { - var ret = jQuery.cssProps[ name ]; - if ( !ret ) { - ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name; + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; } - return ret; + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; } -function setPositiveNumber( elem, value, subtract ) { + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { // Any relative (+/-) values have already been // normalized at this point @@ -6340,7 +6763,10 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed delta - extra - 0.5 - ) ); + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; } return delta; @@ -6350,9 +6776,16 @@ function getWidthOrHeight( elem, dimension, extra ) { // Start with computed style var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + val = curCSS( elem, dimension, styles ), - isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - valueIsBorderBox = isBorderBox; + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); // Support: Firefox <=54 // Return a confounding non-pixel value or feign ignorance, as appropriate. @@ -6363,22 +6796,38 @@ function getWidthOrHeight( elem, dimension, extra ) { val = "auto"; } - // Check for style in case a browser which returns unreliable values - // for getComputedStyle silently falls back to the reliable elem.style - valueIsBorderBox = valueIsBorderBox && - ( support.boxSizingReliable() || val === elem.style[ dimension ] ); - // Fall back to offsetWidth/offsetHeight when value is "auto" - // This happens for inline elements with no explicit setting (gh-3571) - // Support: Android <=4.1 - 4.3 only - // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) - if ( val === "auto" || - !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) { + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { - val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ]; + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - // offsetWidth/offsetHeight provide border-box values - valueIsBorderBox = true; + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } } // Normalize "" and auto @@ -6424,6 +6873,13 @@ jQuery.extend( { "flexGrow": true, "flexShrink": true, "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, "lineHeight": true, "opacity": true, "order": true, @@ -6479,7 +6935,9 @@ jQuery.extend( { } // If a number was passed in, add the unit (except for certain CSS properties) - if ( type === "number" ) { + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); } @@ -6553,7 +7011,7 @@ jQuery.extend( { } } ); -jQuery.each( [ "height", "width" ], function( i, dimension ) { +jQuery.each( [ "height", "width" ], function( _i, dimension ) { jQuery.cssHooks[ dimension ] = { get: function( elem, computed, extra ) { if ( computed ) { @@ -6569,28 +7027,39 @@ jQuery.each( [ "height", "width" ], function( i, dimension ) { // Running getBoundingClientRect on a disconnected node // in IE throws an error. ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? - swap( elem, cssShow, function() { - return getWidthOrHeight( elem, dimension, extra ); - } ) : - getWidthOrHeight( elem, dimension, extra ); + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); } }, set: function( elem, value, extra ) { var matches, styles = getStyles( elem ), - isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - subtract = extra && boxModelAdjustment( - elem, - dimension, - extra, - isBorderBox, - styles - ); + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; // Account for unreliable border-box dimensions by comparing offset* to computed and // faking a content-box to get border and padding (gh-3699) - if ( isBorderBox && support.scrollboxSize() === styles.position ) { + if ( isBorderBox && scrollboxSizeBuggy ) { subtract -= Math.ceil( elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - parseFloat( styles[ dimension ] ) - @@ -6620,7 +7089,7 @@ jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, swap( elem, { marginLeft: 0 }, function() { return elem.getBoundingClientRect().left; } ) - ) + "px"; + ) + "px"; } } ); @@ -6758,9 +7227,9 @@ Tween.propHooks = { // Use .style if available and use plain properties where available. if ( jQuery.fx.step[ tween.prop ] ) { jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.nodeType === 1 && - ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || - jQuery.cssHooks[ tween.prop ] ) ) { + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); } else { tween.elem[ tween.prop ] = tween.now; @@ -7004,7 +7473,7 @@ function defaultPrefilter( elem, props, opts ) { anim.done( function() { - /* eslint-enable no-loop-func */ + /* eslint-enable no-loop-func */ // The final step of a "hide" animation is actually hiding the element if ( !hidden ) { @@ -7124,7 +7593,7 @@ function Animation( elem, properties, options ) { tweens: [], createTween: function( prop, end ) { var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.opts.specialEasing[ prop ] || animation.opts.easing ); animation.tweens.push( tween ); return tween; }, @@ -7297,7 +7766,8 @@ jQuery.fn.extend( { anim.stop( true ); } }; - doAnimation.finish = doAnimation; + + doAnimation.finish = doAnimation; return empty || optall.queue === false ? this.each( doAnimation ) : @@ -7315,7 +7785,7 @@ jQuery.fn.extend( { clearQueue = type; type = undefined; } - if ( clearQueue && type !== false ) { + if ( clearQueue ) { this.queue( type || "fx", [] ); } @@ -7398,7 +7868,7 @@ jQuery.fn.extend( { } } ); -jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { var cssFn = jQuery.fn[ name ]; jQuery.fn[ name ] = function( speed, easing, callback ) { return speed == null || typeof speed === "boolean" ? @@ -7619,7 +8089,7 @@ boolHook = { } }; -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { var getter = attrHandle[ name ] || jQuery.find.attr; attrHandle[ name ] = function( elem, name, isXML ) { @@ -7937,8 +8407,8 @@ jQuery.fn.extend( { if ( this.setAttribute ) { this.setAttribute( "class", className || value === false ? - "" : - dataPriv.get( this, "__className__" ) || "" + "" : + dataPriv.get( this, "__className__" ) || "" ); } } @@ -7953,7 +8423,7 @@ jQuery.fn.extend( { while ( ( elem = this[ i++ ] ) ) { if ( elem.nodeType === 1 && ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { - return true; + return true; } } @@ -8243,7 +8713,7 @@ jQuery.extend( jQuery.event, { special.bindType || type; // jQuery handler - handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && dataPriv.get( cur, "handle" ); if ( handle ) { handle.apply( cur, data ); @@ -8354,7 +8824,10 @@ if ( !support.focusin ) { jQuery.event.special[ fix ] = { setup: function() { - var doc = this.ownerDocument || this, + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, attaches = dataPriv.access( doc, fix ); if ( !attaches ) { @@ -8363,7 +8836,7 @@ if ( !support.focusin ) { dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); }, teardown: function() { - var doc = this.ownerDocument || this, + var doc = this.ownerDocument || this.document || this, attaches = dataPriv.access( doc, fix ) - 1; if ( !attaches ) { @@ -8379,7 +8852,7 @@ if ( !support.focusin ) { } var location = window.location; -var nonce = Date.now(); +var nonce = { guid: Date.now() }; var rquery = ( /\?/ ); @@ -8387,7 +8860,7 @@ var rquery = ( /\?/ ); // Cross-browser xml parsing jQuery.parseXML = function( data ) { - var xml; + var xml, parserErrorElem; if ( !data || typeof data !== "string" ) { return null; } @@ -8396,12 +8869,17 @@ jQuery.parseXML = function( data ) { // IE throws on parseFromString with invalid input. try { xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); - } catch ( e ) { - xml = undefined; - } + } catch ( e ) {} - if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); } return xml; }; @@ -8467,6 +8945,10 @@ jQuery.param = function( a, traditional ) { encodeURIComponent( value == null ? "" : value ); }; + if ( a == null ) { + return ""; + } + // If an array was passed in, assume that it is an array of form elements. if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { @@ -8498,16 +8980,14 @@ jQuery.fn.extend( { // Can add propHook for "elements" to filter or add form elements var elements = jQuery.prop( this, "elements" ); return elements ? jQuery.makeArray( elements ) : this; - } ) - .filter( function() { + } ).filter( function() { var type = this.type; // Use .is( ":disabled" ) so that fieldset[disabled] works return this.name && !jQuery( this ).is( ":disabled" ) && rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && ( this.checked || !rcheckableType.test( type ) ); - } ) - .map( function( i, elem ) { + } ).map( function( _i, elem ) { var val = jQuery( this ).val(); if ( val == null ) { @@ -8560,7 +9040,8 @@ var // Anchor tag for parsing the document origin originAnchor = document.createElement( "a" ); - originAnchor.href = location.href; + +originAnchor.href = location.href; // Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport function addToPrefiltersOrTransports( structure ) { @@ -8941,8 +9422,8 @@ jQuery.extend( { // Context for global events is callbackContext if it is a DOM node or jQuery collection globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, + jQuery( callbackContext ) : + jQuery.event, // Deferreds deferred = jQuery.Deferred(), @@ -8969,12 +9450,14 @@ jQuery.extend( { if ( !responseHeaders ) { responseHeaders = {}; while ( ( match = rheaders.exec( responseHeadersString ) ) ) { - responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); } } - match = responseHeaders[ key.toLowerCase() ]; + match = responseHeaders[ key.toLowerCase() + " " ]; } - return match == null ? null : match; + return match == null ? null : match.join( ", " ); }, // Raw string @@ -9118,7 +9601,8 @@ jQuery.extend( { // Add or update anti-cache param if needed if ( s.cache === false ) { cacheURL = cacheURL.replace( rantiCache, "$1" ); - uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; } // Put hash and anti-cache on the URL that will be requested (gh-1732) @@ -9251,6 +9735,13 @@ jQuery.extend( { response = ajaxHandleResponses( s, jqXHR, responses ); } + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + s.converters[ "text script" ] = function() {}; + } + // Convert no matter what (that way responseXXX fields are always set) response = ajaxConvert( s, response, jqXHR, isSuccess ); @@ -9341,7 +9832,7 @@ jQuery.extend( { } } ); -jQuery.each( [ "get", "post" ], function( i, method ) { +jQuery.each( [ "get", "post" ], function( _i, method ) { jQuery[ method ] = function( url, data, callback, type ) { // Shift arguments if data argument was omitted @@ -9362,8 +9853,17 @@ jQuery.each( [ "get", "post" ], function( i, method ) { }; } ); +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); -jQuery._evalUrl = function( url ) { + +jQuery._evalUrl = function( url, options, doc ) { return jQuery.ajax( { url: url, @@ -9373,7 +9873,16 @@ jQuery._evalUrl = function( url ) { cache: true, async: false, global: false, - "throws": true + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } } ); }; @@ -9656,24 +10165,21 @@ jQuery.ajaxPrefilter( "script", function( s ) { // Bind script tag hack transport jQuery.ajaxTransport( "script", function( s ) { - // This transport only deals with cross domain requests - if ( s.crossDomain ) { + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { var script, callback; return { send: function( _, complete ) { - script = jQuery( " - - - - - - - - - + + + + + + + + + + + + +