@zowe/cli 8.36.1 → 8.37.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/zosfiles/-strings-/en.d.ts +2 -0
- package/lib/zosfiles/-strings-/en.d.ts.map +1 -1
- package/lib/zosfiles/-strings-/en.js +5 -1
- package/lib/zosfiles/-strings-/en.js.map +1 -1
- package/lib/zosfiles/ZosFiles.options.d.ts.map +1 -1
- package/lib/zosfiles/ZosFiles.options.js +3 -1
- package/lib/zosfiles/ZosFiles.options.js.map +1 -1
- package/lib/zosfiles/create/Create.utils.d.ts.map +1 -1
- package/lib/zosfiles/create/Create.utils.js +3 -1
- package/lib/zosfiles/create/Create.utils.js.map +1 -1
- package/lib/zosfiles/create/ussDir/ussDir.handler.d.ts.map +1 -1
- package/lib/zosfiles/create/ussDir/ussDir.handler.js +5 -1
- package/lib/zosfiles/create/ussDir/ussDir.handler.js.map +1 -1
- package/lib/zosfiles/create/ussFile/ussFile.handler.d.ts.map +1 -1
- package/lib/zosfiles/create/ussFile/ussFile.handler.js +5 -1
- package/lib/zosfiles/create/ussFile/ussFile.handler.js.map +1 -1
- package/lib/zosfiles/create/vsam/vsam.handler.d.ts.map +1 -1
- package/lib/zosfiles/create/vsam/vsam.handler.js +3 -1
- package/lib/zosfiles/create/vsam/vsam.handler.js.map +1 -1
- package/lib/zosfiles/create/zfs/zfs.handler.d.ts.map +1 -1
- package/lib/zosfiles/create/zfs/zfs.handler.js +3 -1
- package/lib/zosfiles/create/zfs/zfs.handler.js.map +1 -1
- package/lib/zosfiles/delete/ds/Ds.handler.d.ts.map +1 -1
- package/lib/zosfiles/delete/ds/Ds.handler.js +4 -1
- package/lib/zosfiles/delete/ds/Ds.handler.js.map +1 -1
- package/lib/zosfiles/delete/uss/Uss.handler.d.ts.map +1 -1
- package/lib/zosfiles/delete/uss/Uss.handler.js +5 -1
- package/lib/zosfiles/delete/uss/Uss.handler.js.map +1 -1
- package/lib/zosfiles/delete/vsam/Vsam.handler.d.ts.map +1 -1
- package/lib/zosfiles/delete/vsam/Vsam.handler.js +3 -1
- package/lib/zosfiles/delete/vsam/Vsam.handler.js.map +1 -1
- package/lib/zosfiles/delete/zfs/zfs.handler.d.ts.map +1 -1
- package/lib/zosfiles/delete/zfs/zfs.handler.js +3 -1
- package/lib/zosfiles/delete/zfs/zfs.handler.js.map +1 -1
- package/lib/zosfiles/download/am/AllMembers.handler.d.ts.map +1 -1
- package/lib/zosfiles/download/am/AllMembers.handler.js +3 -1
- package/lib/zosfiles/download/am/AllMembers.handler.js.map +1 -1
- package/lib/zosfiles/download/amm/AllMembersMatching.handler.d.ts.map +1 -1
- package/lib/zosfiles/download/amm/AllMembersMatching.handler.js +2 -0
- package/lib/zosfiles/download/amm/AllMembersMatching.handler.js.map +1 -1
- package/lib/zosfiles/download/ds/Dataset.handler.d.ts.map +1 -1
- package/lib/zosfiles/download/ds/Dataset.handler.js +3 -1
- package/lib/zosfiles/download/ds/Dataset.handler.js.map +1 -1
- package/lib/zosfiles/download/dsm/DataSetMatching.handler.d.ts.map +1 -1
- package/lib/zosfiles/download/dsm/DataSetMatching.handler.js +6 -2
- package/lib/zosfiles/download/dsm/DataSetMatching.handler.js.map +1 -1
- package/lib/zosfiles/download/uss/UssFile.handler.d.ts.map +1 -1
- package/lib/zosfiles/download/uss/UssFile.handler.js +2 -0
- package/lib/zosfiles/download/uss/UssFile.handler.js.map +1 -1
- package/lib/zosfiles/download/ussdir/UssDir.handler.d.ts.map +1 -1
- package/lib/zosfiles/download/ussdir/UssDir.handler.js +6 -2
- package/lib/zosfiles/download/ussdir/UssDir.handler.js.map +1 -1
- package/lib/zosfiles/edit/Edit.utils.d.ts +2 -2
- package/lib/zosfiles/edit/Edit.utils.d.ts.map +1 -1
- package/lib/zosfiles/edit/Edit.utils.js +15 -11
- package/lib/zosfiles/edit/Edit.utils.js.map +1 -1
- package/lib/zosfiles/invoke/amsFile/AmsFile.handler.d.ts.map +1 -1
- package/lib/zosfiles/invoke/amsFile/AmsFile.handler.js +5 -1
- package/lib/zosfiles/invoke/amsFile/AmsFile.handler.js.map +1 -1
- package/lib/zosfiles/invoke/amsStatements/AmsStatements.handler.d.ts.map +1 -1
- package/lib/zosfiles/invoke/amsStatements/AmsStatements.handler.js +5 -1
- package/lib/zosfiles/invoke/amsStatements/AmsStatements.handler.js.map +1 -1
- package/lib/zosfiles/list/alias/Alias.handler.d.ts.map +1 -1
- package/lib/zosfiles/list/alias/Alias.handler.js +3 -1
- package/lib/zosfiles/list/alias/Alias.handler.js.map +1 -1
- package/lib/zosfiles/list/am/AllMembers.handler.d.ts.map +1 -1
- package/lib/zosfiles/list/am/AllMembers.handler.js +3 -1
- package/lib/zosfiles/list/am/AllMembers.handler.js.map +1 -1
- package/lib/zosfiles/list/ds/DataSet.handler.d.ts.map +1 -1
- package/lib/zosfiles/list/ds/DataSet.handler.js +3 -1
- package/lib/zosfiles/list/ds/DataSet.handler.js.map +1 -1
- package/lib/zosfiles/list/fs/Fs.handler.d.ts.map +1 -1
- package/lib/zosfiles/list/fs/Fs.handler.js +6 -2
- package/lib/zosfiles/list/fs/Fs.handler.js.map +1 -1
- package/lib/zosfiles/list/uss/UssFile.handler.d.ts.map +1 -1
- package/lib/zosfiles/list/uss/UssFile.handler.js +3 -1
- package/lib/zosfiles/list/uss/UssFile.handler.js.map +1 -1
- package/lib/zosfiles/mount/fs/fs.handler.d.ts.map +1 -1
- package/lib/zosfiles/mount/fs/fs.handler.js +3 -1
- package/lib/zosfiles/mount/fs/fs.handler.js.map +1 -1
- package/lib/zosfiles/rename/ds/Ds.handler.d.ts.map +1 -1
- package/lib/zosfiles/rename/ds/Ds.handler.js +4 -1
- package/lib/zosfiles/rename/ds/Ds.handler.js.map +1 -1
- package/lib/zosfiles/rename/dsm/Dsm.handler.d.ts.map +1 -1
- package/lib/zosfiles/rename/dsm/Dsm.handler.js +4 -1
- package/lib/zosfiles/rename/dsm/Dsm.handler.js.map +1 -1
- package/lib/zosfiles/search/ds/DataSets.handler.d.ts.map +1 -1
- package/lib/zosfiles/search/ds/DataSets.handler.js +10 -2
- package/lib/zosfiles/search/ds/DataSets.handler.js.map +1 -1
- package/lib/zosfiles/upload/dtp/DirToPds.handler.d.ts.map +1 -1
- package/lib/zosfiles/upload/dtp/DirToPds.handler.js +3 -1
- package/lib/zosfiles/upload/dtp/DirToPds.handler.js.map +1 -1
- package/lib/zosfiles/upload/dtu/DirToUSSDir.handler.d.ts.map +1 -1
- package/lib/zosfiles/upload/dtu/DirToUSSDir.handler.js +3 -1
- package/lib/zosfiles/upload/dtu/DirToUSSDir.handler.js.map +1 -1
- package/lib/zosfiles/upload/ftds/FileToDataSet.handler.d.ts.map +1 -1
- package/lib/zosfiles/upload/ftds/FileToDataSet.handler.js +3 -1
- package/lib/zosfiles/upload/ftds/FileToDataSet.handler.js.map +1 -1
- package/lib/zosfiles/upload/ftu/FileToUSS.handler.d.ts.map +1 -1
- package/lib/zosfiles/upload/ftu/FileToUSS.handler.js +3 -1
- package/lib/zosfiles/upload/ftu/FileToUSS.handler.js.map +1 -1
- package/lib/zosfiles/upload/stds/StdinToDataSet.handler.d.ts.map +1 -1
- package/lib/zosfiles/upload/stds/StdinToDataSet.handler.js +3 -1
- package/lib/zosfiles/upload/stds/StdinToDataSet.handler.js.map +1 -1
- package/lib/zosfiles/view/ds/Dataset.handler.d.ts.map +1 -1
- package/lib/zosfiles/view/ds/Dataset.handler.js +3 -1
- package/lib/zosfiles/view/ds/Dataset.handler.js.map +1 -1
- package/lib/zosfiles/view/uss/USSFile.handler.d.ts.map +1 -1
- package/lib/zosfiles/view/uss/USSFile.handler.js +3 -1
- package/lib/zosfiles/view/uss/USSFile.handler.js.map +1 -1
- package/node_modules/@zowe/core-for-zowe-sdk/lib/rest/ZosmfHeaders.d.ts +14 -0
- package/node_modules/@zowe/core-for-zowe-sdk/lib/rest/ZosmfHeaders.d.ts.map +1 -1
- package/node_modules/@zowe/core-for-zowe-sdk/lib/rest/ZosmfHeaders.js +14 -0
- package/node_modules/@zowe/core-for-zowe-sdk/lib/rest/ZosmfHeaders.js.map +1 -1
- package/node_modules/@zowe/core-for-zowe-sdk/package.json +3 -3
- package/node_modules/@zowe/imperative/lib/config/src/ConfigSchema.d.ts.map +1 -1
- package/node_modules/@zowe/imperative/lib/config/src/ConfigSchema.js +1 -0
- package/node_modules/@zowe/imperative/lib/config/src/ConfigSchema.js.map +1 -1
- package/node_modules/@zowe/imperative/lib/imperative/src/config/cmd/report-env/EnvItems.d.ts +1 -1
- package/node_modules/@zowe/imperative/lib/imperative/src/config/cmd/report-env/EnvItems.d.ts.map +1 -1
- package/node_modules/@zowe/imperative/lib/imperative/src/config/cmd/report-env/EnvItems.js +10 -12
- package/node_modules/@zowe/imperative/lib/imperative/src/config/cmd/report-env/EnvItems.js.map +1 -1
- package/node_modules/@zowe/imperative/lib/imperative/src/config/cmd/report-env/EnvQuery.d.ts.map +1 -1
- package/node_modules/@zowe/imperative/lib/imperative/src/config/cmd/report-env/EnvQuery.js +1 -4
- package/node_modules/@zowe/imperative/lib/imperative/src/config/cmd/report-env/EnvQuery.js.map +1 -1
- package/node_modules/@zowe/imperative/package.json +3 -3
- package/node_modules/@zowe/imperative/web-help/package-lock.json +62 -62
- package/node_modules/@zowe/provisioning-for-zowe-sdk/package.json +4 -4
- package/node_modules/@zowe/secrets-for-zowe-sdk/README.md +70 -0
- package/node_modules/@zowe/secrets-for-zowe-sdk/package.json +1 -1
- package/node_modules/@zowe/zos-console-for-zowe-sdk/package.json +4 -4
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/doc/IZosFilesOptions.d.ts +12 -0
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/doc/IZosFilesOptions.d.ts.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/copy/Copy.js +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/copy/Copy.js.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/create/Create.d.ts.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/create/Create.js +18 -3
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/create/Create.js.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/delete/Delete.d.ts.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/delete/Delete.js +7 -3
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/delete/Delete.js.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/download/Download.js +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/download/Download.js.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/invoke/Invoke.d.ts.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/invoke/Invoke.js +2 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/invoke/Invoke.js.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/list/List.d.ts.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/list/List.js +6 -5
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/list/List.js.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/mount/Mount.d.ts.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/mount/Mount.js +6 -0
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/mount/Mount.js.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/rename/Rename.d.ts.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/rename/Rename.js +2 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/rename/Rename.js.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/unmount/Unmount.d.ts.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/unmount/Unmount.js +3 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/unmount/Unmount.js.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/upload/Upload.d.ts.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/upload/Upload.js +5 -5
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/upload/Upload.js.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/utilities/Utilities.d.ts +4 -4
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/utilities/Utilities.d.ts.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/utilities/Utilities.js +10 -33
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/methods/utilities/Utilities.js.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/utils/ZosFilesUtils.d.ts +7 -0
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/utils/ZosFilesUtils.d.ts.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/utils/ZosFilesUtils.js +16 -0
- package/node_modules/@zowe/zos-files-for-zowe-sdk/lib/utils/ZosFilesUtils.js.map +1 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/package.json +5 -5
- package/node_modules/@zowe/zos-jobs-for-zowe-sdk/package.json +5 -5
- package/node_modules/@zowe/zos-logs-for-zowe-sdk/package.json +4 -4
- package/node_modules/@zowe/zos-tso-for-zowe-sdk/package.json +5 -5
- package/node_modules/@zowe/zos-uss-for-zowe-sdk/package.json +3 -3
- package/node_modules/@zowe/zos-workflows-for-zowe-sdk/package.json +5 -5
- package/node_modules/@zowe/zosmf-for-zowe-sdk/lib/constants/Zosmf.constants.d.ts.map +1 -1
- package/node_modules/@zowe/zosmf-for-zowe-sdk/lib/constants/Zosmf.constants.js +21 -0
- package/node_modules/@zowe/zosmf-for-zowe-sdk/lib/constants/Zosmf.constants.js.map +1 -1
- package/node_modules/@zowe/zosmf-for-zowe-sdk/lib/constants/Zosmf.profile.d.ts.map +1 -1
- package/node_modules/@zowe/zosmf-for-zowe-sdk/lib/constants/Zosmf.profile.js +8 -0
- package/node_modules/@zowe/zosmf-for-zowe-sdk/lib/constants/Zosmf.profile.js.map +1 -1
- package/node_modules/@zowe/zosmf-for-zowe-sdk/package.json +4 -4
- package/node_modules/buildcheck/.eslintrc.js +5 -0
- package/node_modules/buildcheck/.github/workflows/ci.yml +72 -0
- package/node_modules/buildcheck/.github/workflows/lint.yml +23 -0
- package/node_modules/buildcheck/.npmignore +3 -0
- package/node_modules/{@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion → buildcheck}/LICENSE +10 -14
- package/node_modules/buildcheck/README.md +106 -0
- package/node_modules/buildcheck/deps/Find-VisualStudio.cs +250 -0
- package/node_modules/buildcheck/lib/findvs.js +345 -0
- package/node_modules/buildcheck/lib/index.js +738 -0
- package/node_modules/buildcheck/package.json +36 -0
- package/node_modules/buildcheck/test/test.js +8 -0
- package/node_modules/cpu-features/.eslintrc.js +5 -0
- package/node_modules/cpu-features/.github/workflows/ci.yml +68 -0
- package/node_modules/cpu-features/.github/workflows/lint.yml +27 -0
- package/node_modules/cpu-features/LICENSE +19 -0
- package/node_modules/cpu-features/README.md +59 -0
- package/node_modules/cpu-features/binding.gyp +16 -0
- package/node_modules/cpu-features/buildcheck.gypi +19 -0
- package/node_modules/cpu-features/buildcheck.js +32 -0
- package/node_modules/cpu-features/deps/cpu_features/.clang-format +4 -0
- package/node_modules/cpu-features/deps/cpu_features/.dockerignore +31 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/Dockerfile +5 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/aarch64_linux_cmake.yml +30 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/amd64_freebsd_cmake.yml +22 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/amd64_linux_bazel.yml +26 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/amd64_linux_cmake.yml +31 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/amd64_macos_cmake.yml +43 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/amd64_windows_cmake.yml +25 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/arm_linux_cmake.yml +31 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/clang_format.yml +24 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/mips_linux_cmake.yml +30 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/power_linux_cmake.yml +29 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/riscv_linux_cmake.yml +28 -0
- package/node_modules/cpu-features/deps/cpu_features/.github/workflows/s390x_linux_cmake.yml +27 -0
- package/node_modules/cpu-features/deps/cpu_features/.grenrc.yml +21 -0
- package/node_modules/cpu-features/deps/cpu_features/BUILD.bazel +329 -0
- package/node_modules/cpu-features/deps/cpu_features/CMakeLists.txt +261 -0
- package/node_modules/cpu-features/deps/cpu_features/CONTRIBUTING.md +23 -0
- package/node_modules/cpu-features/deps/cpu_features/LICENSE +230 -0
- package/node_modules/cpu-features/deps/cpu_features/README.md +272 -0
- package/node_modules/cpu-features/deps/cpu_features/WORKSPACE +19 -0
- package/node_modules/cpu-features/deps/cpu_features/bazel/ci/README.md +5 -0
- package/node_modules/cpu-features/deps/cpu_features/bazel/platforms.bzl +11 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/CpuFeaturesConfig.cmake.in +3 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/CpuFeaturesNdkCompatConfig.cmake.in +3 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/README.md +30 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/ci/Makefile +252 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/ci/README.md +40 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/ci/doc/docker.dot +64 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/ci/doc/docker.svg +312 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/ci/doc/generate_image.sh +7 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/ci/docker/amd64/Dockerfile +48 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/ci/docker/toolchain/Dockerfile +34 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/ci/sample/CMakeLists.txt +22 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/ci/sample/main.cpp +11 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/ci/vagrant/freebsd/Vagrantfile +107 -0
- package/node_modules/cpu-features/deps/cpu_features/cmake/googletest.CMakeLists.txt.in +15 -0
- package/node_modules/cpu-features/deps/cpu_features/cpu_features.gyp +104 -0
- package/node_modules/cpu-features/deps/cpu_features/include/cpu_features_cache_info.h +54 -0
- package/node_modules/cpu-features/deps/cpu_features/include/cpu_features_macros.h +384 -0
- package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_aarch64.h +259 -0
- package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_arm.h +121 -0
- package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_mips.h +74 -0
- package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_ppc.h +149 -0
- package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_riscv.h +72 -0
- package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_s390x.h +108 -0
- package/node_modules/cpu-features/deps/cpu_features/include/cpuinfo_x86.h +288 -0
- package/node_modules/cpu-features/deps/cpu_features/include/internal/bit_utils.h +40 -0
- package/node_modules/cpu-features/deps/cpu_features/include/internal/cpuid_x86.h +37 -0
- package/node_modules/cpu-features/deps/cpu_features/include/internal/filesystem.h +39 -0
- package/node_modules/cpu-features/deps/cpu_features/include/internal/hwcaps.h +240 -0
- package/node_modules/cpu-features/deps/cpu_features/include/internal/stack_line_reader.h +49 -0
- package/node_modules/cpu-features/deps/cpu_features/include/internal/string_view.h +110 -0
- package/node_modules/cpu-features/deps/cpu_features/include/internal/windows_utils.h +70 -0
- package/node_modules/cpu-features/deps/cpu_features/ndk_compat/CMakeLists.txt +60 -0
- package/node_modules/cpu-features/deps/cpu_features/ndk_compat/README.md +4 -0
- package/node_modules/cpu-features/deps/cpu_features/ndk_compat/cpu-features.c +205 -0
- package/node_modules/cpu-features/deps/cpu_features/ndk_compat/cpu-features.h +320 -0
- package/node_modules/cpu-features/deps/cpu_features/ndk_compat/ndk-compat-test.c +12 -0
- package/node_modules/cpu-features/deps/cpu_features/patches/0001-Add-Apple-Silicon-Support.patch +456 -0
- package/node_modules/cpu-features/deps/cpu_features/scripts/generate_badges.d +165 -0
- package/node_modules/cpu-features/deps/cpu_features/scripts/make_release.sh +75 -0
- package/node_modules/cpu-features/deps/cpu_features/scripts/run_integration.sh +490 -0
- package/node_modules/cpu-features/deps/cpu_features/scripts/test_integration.sh +79 -0
- package/node_modules/cpu-features/deps/cpu_features/src/copy.inl +19 -0
- package/node_modules/cpu-features/deps/cpu_features/src/define_introspection.inl +86 -0
- package/node_modules/cpu-features/deps/cpu_features/src/define_introspection_and_hwcaps.inl +26 -0
- package/node_modules/cpu-features/deps/cpu_features/src/equals.inl +22 -0
- package/node_modules/cpu-features/deps/cpu_features/src/filesystem.c +62 -0
- package/node_modules/cpu-features/deps/cpu_features/src/hwcaps.c +169 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_aarch64__base_implementation.inl +88 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_aarch64_linux_or_android.c +79 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_aarch64_macos_or_iphone.c +82 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_aarch64_windows.c +138 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_arm_linux_or_android.c +212 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_mips_linux_or_android.c +93 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_ppc_linux.c +163 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_riscv_linux.c +111 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_s390x_linux.c +120 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_x86__base_implementation.inl +2055 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_x86_freebsd.c +68 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_x86_linux_or_android.c +58 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_x86_macos.c +57 -0
- package/node_modules/cpu-features/deps/cpu_features/src/impl_x86_windows.c +58 -0
- package/node_modules/cpu-features/deps/cpu_features/src/stack_line_reader.c +132 -0
- package/node_modules/cpu-features/deps/cpu_features/src/string_view.c +192 -0
- package/node_modules/cpu-features/deps/cpu_features/src/utils/list_cpu_features.c +461 -0
- package/node_modules/cpu-features/deps/cpu_features/test/CMakeLists.txt +114 -0
- package/node_modules/cpu-features/deps/cpu_features/test/bit_utils_test.cc +53 -0
- package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_aarch64_test.cc +396 -0
- package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_arm_test.cc +384 -0
- package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_mips_test.cc +176 -0
- package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_ppc_test.cc +131 -0
- package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_riscv_test.cc +180 -0
- package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_s390x_test.cc +82 -0
- package/node_modules/cpu-features/deps/cpu_features/test/cpuinfo_x86_test.cc +1729 -0
- package/node_modules/cpu-features/deps/cpu_features/test/filesystem_for_testing.cc +103 -0
- package/node_modules/cpu-features/deps/cpu_features/test/filesystem_for_testing.h +61 -0
- package/node_modules/cpu-features/deps/cpu_features/test/hwcaps_for_testing.cc +52 -0
- package/node_modules/cpu-features/deps/cpu_features/test/hwcaps_for_testing.h +31 -0
- package/node_modules/cpu-features/deps/cpu_features/test/stack_line_reader_test.cc +132 -0
- package/node_modules/cpu-features/deps/cpu_features/test/string_view_test.cc +202 -0
- package/node_modules/cpu-features/lib/index.js +5 -0
- package/node_modules/cpu-features/package.json +40 -0
- package/node_modules/cpu-features/src/binding.cc +151 -0
- package/node_modules/cpu-features/test/test.js +12 -0
- package/node_modules/{@zowe/imperative → cross-spawn}/node_modules/which/README.md +16 -13
- package/node_modules/{@zowe/imperative → cross-spawn/node_modules/which}/node_modules/isexe/LICENSE +1 -1
- package/node_modules/cross-spawn/node_modules/which/node_modules/isexe/README.md +51 -0
- package/node_modules/cross-spawn/node_modules/which/node_modules/isexe/package.json +31 -0
- package/node_modules/cross-spawn/node_modules/which/package.json +43 -0
- package/node_modules/dom-serializer/LICENSE +3 -7
- package/node_modules/dom-serializer/README.md +14 -8
- package/node_modules/dom-serializer/dist/foreign-names.d.ts +11 -0
- package/node_modules/dom-serializer/dist/foreign-names.d.ts.map +1 -0
- package/node_modules/dom-serializer/dist/foreign-names.js +15 -0
- package/node_modules/dom-serializer/dist/foreign-names.js.map +1 -0
- package/node_modules/dom-serializer/dist/index.d.ts +72 -0
- package/node_modules/dom-serializer/dist/index.d.ts.map +1 -0
- package/node_modules/dom-serializer/dist/index.js +173 -0
- package/node_modules/dom-serializer/dist/index.js.map +1 -0
- package/node_modules/dom-serializer/package.json +41 -41
- package/node_modules/dom-serializer/src/foreign-names.ts +19 -0
- package/node_modules/dom-serializer/src/index.ts +315 -0
- package/node_modules/domelementtype/{lib → dist}/index.d.ts +12 -12
- package/node_modules/domelementtype/dist/index.d.ts.map +1 -0
- package/node_modules/domelementtype/{lib/esm → dist}/index.js +15 -6
- package/node_modules/domelementtype/package.json +28 -23
- package/node_modules/domhandler/{lib → dist}/index.d.ts +9 -6
- package/node_modules/domhandler/dist/index.d.ts.map +1 -0
- package/node_modules/domhandler/{lib/esm → dist}/index.js +34 -25
- package/node_modules/domhandler/{lib → dist}/node.d.ts +34 -15
- package/node_modules/domhandler/dist/node.d.ts.map +1 -0
- package/node_modules/domhandler/{lib/esm → dist}/node.js +81 -60
- package/node_modules/domhandler/package.json +34 -42
- package/node_modules/domhandler/readme.md +1 -7
- package/node_modules/domutils/{lib → dist}/feeds.d.ts +2 -2
- package/node_modules/domutils/dist/feeds.d.ts.map +1 -0
- package/node_modules/domutils/{lib/esm → dist}/feeds.js +22 -25
- package/node_modules/domutils/dist/feeds.js.map +1 -0
- package/node_modules/domutils/{lib/esm → dist}/helpers.d.ts +1 -1
- package/node_modules/domutils/dist/helpers.d.ts.map +1 -0
- package/node_modules/domutils/{lib/esm → dist}/helpers.js +16 -16
- package/node_modules/domutils/dist/helpers.js.map +1 -0
- package/node_modules/domutils/{lib/esm → dist}/index.d.ts +5 -7
- package/node_modules/domutils/dist/index.d.ts.map +1 -0
- package/node_modules/domutils/{lib/esm → dist}/index.js +5 -7
- package/node_modules/domutils/dist/index.js.map +1 -0
- package/node_modules/domutils/{lib/esm → dist}/legacy.d.ts +1 -1
- package/node_modules/domutils/dist/legacy.d.ts.map +1 -0
- package/node_modules/domutils/{lib/esm → dist}/legacy.js +15 -15
- package/node_modules/domutils/dist/legacy.js.map +1 -0
- package/node_modules/domutils/{lib/esm → dist}/manipulation.d.ts +9 -9
- package/node_modules/domutils/dist/manipulation.d.ts.map +1 -0
- package/node_modules/domutils/dist/manipulation.js +138 -0
- package/node_modules/domutils/dist/manipulation.js.map +1 -0
- package/node_modules/domutils/{lib → dist}/querying.d.ts +6 -16
- package/node_modules/domutils/dist/querying.d.ts.map +1 -0
- package/node_modules/domutils/{lib/esm → dist}/querying.js +13 -26
- package/node_modules/domutils/dist/querying.js.map +1 -0
- package/node_modules/domutils/{lib → dist}/stringify.d.ts +2 -2
- package/node_modules/domutils/dist/stringify.d.ts.map +1 -0
- package/node_modules/domutils/{lib/esm → dist}/stringify.js +1 -1
- package/node_modules/domutils/dist/stringify.js.map +1 -0
- package/node_modules/domutils/dist/traversal.d.ts +74 -0
- package/node_modules/domutils/dist/traversal.d.ts.map +1 -0
- package/node_modules/domutils/dist/traversal.js +105 -0
- package/node_modules/domutils/dist/traversal.js.map +1 -0
- package/node_modules/domutils/package.json +39 -49
- package/node_modules/domutils/readme.md +0 -6
- package/node_modules/domutils/src/__snapshots__/feeds.spec.ts.snap +103 -0
- package/node_modules/domutils/src/feeds.ts +301 -0
- package/node_modules/domutils/{lib/helpers.js → src/helpers.ts} +55 -43
- package/node_modules/domutils/{lib/index.d.ts → src/index.ts} +5 -8
- package/node_modules/domutils/src/legacy.ts +224 -0
- package/node_modules/domutils/src/manipulation.ts +156 -0
- package/node_modules/domutils/{lib/querying.js → src/querying.ts} +77 -60
- package/node_modules/domutils/src/stringify.ts +90 -0
- package/node_modules/domutils/src/traversal.ts +132 -0
- package/node_modules/htmlparser2/README.md +112 -26
- package/node_modules/htmlparser2/dist/{esm/Parser.d.ts → Parser.d.ts} +97 -38
- package/node_modules/htmlparser2/dist/Parser.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/Parser.js +644 -0
- package/node_modules/htmlparser2/dist/Parser.js.map +1 -0
- package/node_modules/htmlparser2/dist/{esm/Tokenizer.d.ts → Tokenizer.d.ts} +75 -7
- package/node_modules/htmlparser2/dist/Tokenizer.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/{esm/Tokenizer.js → Tokenizer.js} +434 -179
- package/node_modules/htmlparser2/dist/Tokenizer.js.map +1 -0
- package/node_modules/htmlparser2/dist/WebWritableStream.d.ts +24 -0
- package/node_modules/htmlparser2/dist/WebWritableStream.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/WebWritableStream.js +44 -0
- package/node_modules/htmlparser2/dist/WebWritableStream.js.map +1 -0
- package/node_modules/htmlparser2/dist/{esm/WritableStream.d.ts → WritableStream.d.ts} +1 -2
- package/node_modules/htmlparser2/dist/WritableStream.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/{esm/WritableStream.js → WritableStream.js} +3 -3
- package/node_modules/htmlparser2/dist/WritableStream.js.map +1 -0
- package/node_modules/htmlparser2/dist/{commonjs/index.d.ts → index.d.ts} +6 -26
- package/node_modules/htmlparser2/dist/index.d.ts.map +1 -0
- package/node_modules/htmlparser2/dist/{esm/index.js → index.js} +2 -30
- package/node_modules/htmlparser2/dist/index.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/decode-codepoint.d.ts +28 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/decode-codepoint.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/decode-codepoint.js +61 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/decode-codepoint.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/{commonjs/decode.d.ts → decode.d.ts} +66 -44
- package/node_modules/htmlparser2/node_modules/entities/dist/decode.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/decode.js +1132 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/decode.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/{commonjs/encode.d.ts → encode.d.ts} +4 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/encode.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/encode.js +295 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/encode.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/{commonjs/escape.d.ts → escape.d.ts} +23 -9
- package/node_modules/htmlparser2/node_modules/entities/dist/escape.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/escape.js +172 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/escape.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/generated/decode-data-html.d.ts +3 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/generated/decode-data-html.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/generated/decode-data-html.js +5 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/generated/decode-data-html.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/generated/decode-data-xml.d.ts +3 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/generated/decode-data-xml.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/generated/decode-data-xml.js +7 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/generated/decode-data-xml.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/generated/encode-html.d.ts +3 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/generated/encode-html.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/generated/encode-html.js +3 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/generated/encode-html.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/{commonjs/index.d.ts → index.d.ts} +11 -18
- package/node_modules/htmlparser2/node_modules/entities/dist/index.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/{esm/index.js → index.js} +9 -29
- package/node_modules/htmlparser2/node_modules/entities/dist/index.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/internal/bin-trie-flags.d.ts +48 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/internal/bin-trie-flags.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/internal/bin-trie-flags.js +49 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/internal/bin-trie-flags.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/internal/decode-shared.d.ts +38 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/internal/decode-shared.d.ts.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/internal/decode-shared.js +195 -0
- package/node_modules/htmlparser2/node_modules/entities/dist/internal/decode-shared.js.map +1 -0
- package/node_modules/htmlparser2/node_modules/entities/package.json +28 -65
- package/node_modules/htmlparser2/node_modules/entities/readme.md +4 -16
- package/node_modules/htmlparser2/node_modules/entities/src/decode-codepoint.ts +51 -63
- package/node_modules/htmlparser2/node_modules/entities/src/decode.ts +944 -261
- package/node_modules/htmlparser2/node_modules/entities/src/encode.ts +289 -45
- package/node_modules/htmlparser2/node_modules/entities/src/escape.ts +114 -88
- package/node_modules/htmlparser2/node_modules/entities/src/generated/decode-data-html.ts +9 -3
- package/node_modules/htmlparser2/node_modules/entities/src/generated/decode-data-xml.ts +5 -4
- package/node_modules/htmlparser2/node_modules/entities/src/generated/encode-html.ts +1 -15
- package/node_modules/htmlparser2/node_modules/entities/src/index.ts +14 -41
- package/node_modules/htmlparser2/node_modules/entities/src/internal/bin-trie-flags.ts +38 -7
- package/node_modules/htmlparser2/node_modules/entities/src/internal/decode-shared.ts +203 -24
- package/node_modules/htmlparser2/package.json +34 -61
- package/node_modules/htmlparser2/src/Parser.ts +260 -100
- package/node_modules/htmlparser2/src/Tokenizer.ts +438 -165
- package/node_modules/htmlparser2/src/WebWritableStream.ts +47 -0
- package/node_modules/htmlparser2/src/WritableStream.ts +1 -2
- package/node_modules/htmlparser2/src/index.ts +14 -43
- package/node_modules/isexe/LICENSE +1 -1
- package/node_modules/isexe/README.md +40 -17
- package/node_modules/isexe/package.json +79 -14
- package/node_modules/js-yaml/dist/js-yaml.js +11 -3
- package/node_modules/js-yaml/dist/js-yaml.js.map +1 -1
- package/node_modules/js-yaml/dist/js-yaml.min.js +1 -1
- package/node_modules/js-yaml/dist/js-yaml.min.js.map +1 -1
- package/node_modules/js-yaml/dist/js-yaml.mjs +11 -3
- package/node_modules/js-yaml/dist/js-yaml.mjs.map +1 -1
- package/node_modules/js-yaml/lib/loader.js +16 -3
- package/node_modules/js-yaml/package.json +1 -1
- package/node_modules/sanitize-html/README.md +13 -0
- package/node_modules/sanitize-html/index.js +86 -12
- package/node_modules/sanitize-html/package.json +5 -2
- package/node_modules/which/README.md +13 -16
- package/node_modules/which/package.json +34 -20
- package/package.json +15 -15
- package/scripts/validateSecretsPrebuild.js +231 -0
- package/node_modules/@zowe/imperative/node_modules/isexe/README.md +0 -74
- package/node_modules/@zowe/imperative/node_modules/isexe/package.json +0 -96
- package/node_modules/@zowe/imperative/node_modules/which/package.json +0 -57
- package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.darwin-arm64.node +0 -0
- package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.darwin-x64.node +0 -0
- package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.linux-arm-gnueabihf.node +0 -0
- package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.linux-arm64-gnu.node +0 -0
- package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.linux-arm64-musl.node +0 -0
- package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.linux-ia32-gnu.node +0 -0
- package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.linux-x64-gnu.node +0 -0
- package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.linux-x64-musl.node +0 -0
- package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.win32-arm64-msvc.node +0 -0
- package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.win32-ia32-msvc.node +0 -0
- package/node_modules/@zowe/secrets-for-zowe-sdk/prebuilds/keyring.win32-x64-msvc.node +0 -0
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match/LICENSE.md +0 -23
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match/README.md +0 -57
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match/dist/commonjs/index.d.ts +0 -9
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match/dist/commonjs/index.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match/dist/commonjs/index.js +0 -59
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match/dist/commonjs/index.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match/dist/esm/index.d.ts +0 -9
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match/dist/esm/index.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match/dist/esm/index.js +0 -54
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match/dist/esm/index.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match/package.json +0 -68
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion/README.md +0 -105
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion/dist/commonjs/index.d.ts +0 -8
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion/dist/commonjs/index.js +0 -289
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion/dist/commonjs/index.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion/dist/commonjs/package.json +0 -3
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion/dist/esm/index.d.ts +0 -8
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion/dist/esm/index.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion/dist/esm/index.js +0 -285
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion/dist/esm/index.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion/dist/esm/package.json +0 -3
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/brace-expansion/package.json +0 -64
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/LICENSE.md +0 -55
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/README.md +0 -528
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +0 -2
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +0 -14
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/ast.d.ts +0 -22
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/ast.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/ast.js +0 -846
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/ast.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +0 -8
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/brace-expressions.js +0 -150
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/escape.d.ts +0 -15
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/escape.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/escape.js +0 -30
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/escape.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/index.d.ts +0 -174
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/index.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/index.js +0 -1121
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/index.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/package.json +0 -3
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/unescape.d.ts +0 -22
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/unescape.js +0 -38
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/commonjs/unescape.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +0 -2
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/assert-valid-pattern.js +0 -10
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/ast.d.ts +0 -22
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/ast.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/ast.js +0 -842
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/ast.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/brace-expressions.d.ts +0 -8
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/brace-expressions.js +0 -146
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/brace-expressions.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/escape.d.ts +0 -15
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/escape.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/escape.js +0 -26
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/escape.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/index.d.ts +0 -174
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/index.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/index.js +0 -1108
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/index.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/package.json +0 -3
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/unescape.d.ts +0 -22
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/unescape.d.ts.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/unescape.js +0 -34
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/dist/esm/unescape.js.map +0 -1
- package/node_modules/@zowe/zos-files-for-zowe-sdk/node_modules/minimatch/package.json +0 -67
- package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts +0 -3
- package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts.map +0 -1
- package/node_modules/dom-serializer/lib/esm/foreignNames.js +0 -100
- package/node_modules/dom-serializer/lib/esm/index.d.ts +0 -52
- package/node_modules/dom-serializer/lib/esm/index.d.ts.map +0 -1
- package/node_modules/dom-serializer/lib/esm/index.js +0 -190
- package/node_modules/dom-serializer/lib/esm/package.json +0 -1
- package/node_modules/dom-serializer/lib/foreignNames.d.ts +0 -3
- package/node_modules/dom-serializer/lib/foreignNames.d.ts.map +0 -1
- package/node_modules/dom-serializer/lib/foreignNames.js +0 -103
- package/node_modules/dom-serializer/lib/index.d.ts +0 -52
- package/node_modules/dom-serializer/lib/index.d.ts.map +0 -1
- package/node_modules/dom-serializer/lib/index.js +0 -229
- package/node_modules/domelementtype/lib/esm/index.d.ts +0 -48
- package/node_modules/domelementtype/lib/esm/index.d.ts.map +0 -1
- package/node_modules/domelementtype/lib/esm/package.json +0 -1
- package/node_modules/domelementtype/lib/index.d.ts.map +0 -1
- package/node_modules/domelementtype/lib/index.js +0 -55
- package/node_modules/domhandler/lib/esm/index.d.ts +0 -76
- package/node_modules/domhandler/lib/esm/index.d.ts.map +0 -1
- package/node_modules/domhandler/lib/esm/node.d.ts +0 -245
- package/node_modules/domhandler/lib/esm/node.d.ts.map +0 -1
- package/node_modules/domhandler/lib/esm/package.json +0 -1
- package/node_modules/domhandler/lib/index.d.ts.map +0 -1
- package/node_modules/domhandler/lib/index.js +0 -165
- package/node_modules/domhandler/lib/node.d.ts.map +0 -1
- package/node_modules/domhandler/lib/node.js +0 -474
- package/node_modules/domutils/lib/esm/feeds.d.ts +0 -71
- package/node_modules/domutils/lib/esm/feeds.d.ts.map +0 -1
- package/node_modules/domutils/lib/esm/feeds.js.map +0 -1
- package/node_modules/domutils/lib/esm/helpers.d.ts.map +0 -1
- package/node_modules/domutils/lib/esm/helpers.js.map +0 -1
- package/node_modules/domutils/lib/esm/index.d.ts.map +0 -1
- package/node_modules/domutils/lib/esm/index.js.map +0 -1
- package/node_modules/domutils/lib/esm/legacy.d.ts.map +0 -1
- package/node_modules/domutils/lib/esm/legacy.js.map +0 -1
- package/node_modules/domutils/lib/esm/manipulation.d.ts.map +0 -1
- package/node_modules/domutils/lib/esm/manipulation.js +0 -134
- package/node_modules/domutils/lib/esm/manipulation.js.map +0 -1
- package/node_modules/domutils/lib/esm/package.json +0 -1
- package/node_modules/domutils/lib/esm/querying.d.ts +0 -64
- package/node_modules/domutils/lib/esm/querying.d.ts.map +0 -1
- package/node_modules/domutils/lib/esm/querying.js.map +0 -1
- package/node_modules/domutils/lib/esm/stringify.d.ts +0 -46
- package/node_modules/domutils/lib/esm/stringify.d.ts.map +0 -1
- package/node_modules/domutils/lib/esm/stringify.js.map +0 -1
- package/node_modules/domutils/lib/esm/traversal.d.ts +0 -67
- package/node_modules/domutils/lib/esm/traversal.d.ts.map +0 -1
- package/node_modules/domutils/lib/esm/traversal.js +0 -112
- package/node_modules/domutils/lib/esm/traversal.js.map +0 -1
- package/node_modules/domutils/lib/feeds.d.ts.map +0 -1
- package/node_modules/domutils/lib/feeds.js +0 -190
- package/node_modules/domutils/lib/feeds.js.map +0 -1
- package/node_modules/domutils/lib/helpers.d.ts +0 -59
- package/node_modules/domutils/lib/helpers.d.ts.map +0 -1
- package/node_modules/domutils/lib/helpers.js.map +0 -1
- package/node_modules/domutils/lib/index.d.ts.map +0 -1
- package/node_modules/domutils/lib/index.js +0 -33
- package/node_modules/domutils/lib/index.js.map +0 -1
- package/node_modules/domutils/lib/legacy.d.ts +0 -79
- package/node_modules/domutils/lib/legacy.d.ts.map +0 -1
- package/node_modules/domutils/lib/legacy.js +0 -168
- package/node_modules/domutils/lib/legacy.js.map +0 -1
- package/node_modules/domutils/lib/manipulation.d.ts +0 -49
- package/node_modules/domutils/lib/manipulation.d.ts.map +0 -1
- package/node_modules/domutils/lib/manipulation.js +0 -142
- package/node_modules/domutils/lib/manipulation.js.map +0 -1
- package/node_modules/domutils/lib/querying.d.ts.map +0 -1
- package/node_modules/domutils/lib/querying.js.map +0 -1
- package/node_modules/domutils/lib/stringify.d.ts.map +0 -1
- package/node_modules/domutils/lib/stringify.js +0 -91
- package/node_modules/domutils/lib/stringify.js.map +0 -1
- package/node_modules/domutils/lib/traversal.d.ts +0 -67
- package/node_modules/domutils/lib/traversal.d.ts.map +0 -1
- package/node_modules/domutils/lib/traversal.js +0 -125
- package/node_modules/domutils/lib/traversal.js.map +0 -1
- package/node_modules/htmlparser2/WritableStream.js +0 -3
- package/node_modules/htmlparser2/dist/commonjs/Parser.d.ts +0 -198
- package/node_modules/htmlparser2/dist/commonjs/Parser.d.ts.map +0 -1
- package/node_modules/htmlparser2/dist/commonjs/Parser.js +0 -527
- package/node_modules/htmlparser2/dist/commonjs/Parser.js.map +0 -1
- package/node_modules/htmlparser2/dist/commonjs/Tokenizer.d.ts +0 -126
- package/node_modules/htmlparser2/dist/commonjs/Tokenizer.d.ts.map +0 -1
- package/node_modules/htmlparser2/dist/commonjs/Tokenizer.js +0 -805
- package/node_modules/htmlparser2/dist/commonjs/Tokenizer.js.map +0 -1
- package/node_modules/htmlparser2/dist/commonjs/WritableStream.d.ts +0 -15
- package/node_modules/htmlparser2/dist/commonjs/WritableStream.d.ts.map +0 -1
- package/node_modules/htmlparser2/dist/commonjs/WritableStream.js +0 -36
- package/node_modules/htmlparser2/dist/commonjs/WritableStream.js.map +0 -1
- package/node_modules/htmlparser2/dist/commonjs/index.d.ts.map +0 -1
- package/node_modules/htmlparser2/dist/commonjs/index.js +0 -123
- package/node_modules/htmlparser2/dist/commonjs/index.js.map +0 -1
- package/node_modules/htmlparser2/dist/commonjs/package.json +0 -3
- package/node_modules/htmlparser2/dist/esm/Parser.d.ts.map +0 -1
- package/node_modules/htmlparser2/dist/esm/Parser.js +0 -490
- package/node_modules/htmlparser2/dist/esm/Parser.js.map +0 -1
- package/node_modules/htmlparser2/dist/esm/Tokenizer.d.ts.map +0 -1
- package/node_modules/htmlparser2/dist/esm/Tokenizer.js.map +0 -1
- package/node_modules/htmlparser2/dist/esm/WritableStream.d.ts.map +0 -1
- package/node_modules/htmlparser2/dist/esm/WritableStream.js.map +0 -1
- package/node_modules/htmlparser2/dist/esm/index.d.ts +0 -54
- package/node_modules/htmlparser2/dist/esm/index.d.ts.map +0 -1
- package/node_modules/htmlparser2/dist/esm/index.js.map +0 -1
- package/node_modules/htmlparser2/dist/esm/package.json +0 -3
- package/node_modules/htmlparser2/node_modules/entities/decode.d.ts +0 -3
- package/node_modules/htmlparser2/node_modules/entities/decode.js +0 -3
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.d.ts +0 -19
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js +0 -77
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js +0 -568
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.js +0 -92
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/encode.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.js +0 -138
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/escape.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts +0 -2
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js +0 -7
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts +0 -2
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +0 -7
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.d.ts +0 -3
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.js +0 -14
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/encode-html.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.js +0 -131
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/index.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.d.ts +0 -17
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +0 -21
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.d.ts +0 -2
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.js +0 -31
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.d.ts +0 -32
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.js +0 -94
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/encode-shared.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/commonjs/package.json +0 -3
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.d.ts +0 -19
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.js +0 -72
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode-codepoint.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.d.ts +0 -205
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.js +0 -554
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/decode.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.d.ts +0 -22
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.js +0 -88
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/encode.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.d.ts +0 -46
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.js +0 -134
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/escape.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.d.ts +0 -2
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.js +0 -4
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-html.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts +0 -2
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.js +0 -4
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/decode-data-xml.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.d.ts +0 -3
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.js +0 -11
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/generated/encode-html.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.d.ts +0 -96
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/index.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.d.ts +0 -17
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.js +0 -18
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/bin-trie-flags.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.d.ts +0 -2
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.js +0 -28
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/decode-shared.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.d.ts +0 -32
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.d.ts.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.js +0 -91
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/internal/encode-shared.js.map +0 -1
- package/node_modules/htmlparser2/node_modules/entities/dist/esm/package.json +0 -3
- package/node_modules/htmlparser2/node_modules/entities/escape.d.ts +0 -3
- package/node_modules/htmlparser2/node_modules/entities/escape.js +0 -3
- package/node_modules/htmlparser2/node_modules/entities/src/generated/.eslintrc.json +0 -10
- package/node_modules/htmlparser2/node_modules/entities/src/internal/encode-shared.ts +0 -121
- package/node_modules/tar/node_modules/yallist/dist/commonjs/package.json +0 -3
- package/node_modules/tar/node_modules/yallist/dist/esm/package.json +0 -3
- /package/node_modules/{strip-ansi/node_modules/ansi-regex → ansi-regex}/index.d.ts +0 -0
- /package/node_modules/{strip-ansi/node_modules/ansi-regex → ansi-regex}/index.js +0 -0
- /package/node_modules/{shebang-command/node_modules/shebang-regex → ansi-regex}/license +0 -0
- /package/node_modules/{strip-ansi/node_modules/ansi-regex → ansi-regex}/package.json +0 -0
- /package/node_modules/{strip-ansi/node_modules/ansi-regex → ansi-regex}/readme.md +0 -0
- /package/node_modules/{winston/node_modules/async → async}/CHANGELOG.md +0 -0
- /package/node_modules/{winston/node_modules/async → async}/LICENSE +0 -0
- /package/node_modules/{winston/node_modules/async → async}/README.md +0 -0
- /package/node_modules/{winston/node_modules/async → async}/all.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/allLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/allSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/any.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/anyLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/anySeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/apply.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/applyEach.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/applyEachSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/asyncify.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/auto.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/autoInject.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/bower.json +0 -0
- /package/node_modules/{winston/node_modules/async → async}/cargo.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/cargoQueue.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/compose.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/concat.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/concatLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/concatSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/constant.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/detect.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/detectLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/detectSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/dir.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/dist/async.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/dist/async.min.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/dist/async.mjs +0 -0
- /package/node_modules/{winston/node_modules/async → async}/doDuring.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/doUntil.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/doWhilst.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/during.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/each.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/eachLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/eachOf.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/eachOfLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/eachOfSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/eachSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/ensureAsync.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/every.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/everyLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/everySeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/filter.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/filterLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/filterSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/find.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/findLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/findSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/flatMap.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/flatMapLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/flatMapSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/foldl.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/foldr.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/forEach.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/forEachLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/forEachOf.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/forEachOfLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/forEachOfSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/forEachSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/forever.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/groupBy.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/groupByLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/groupBySeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/index.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/inject.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/DoublyLinkedList.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/Heap.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/applyEach.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/asyncEachOfLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/awaitify.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/breakLoop.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/consoleFunc.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/createTester.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/eachOfLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/filter.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/getIterator.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/initialParams.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/isArrayLike.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/iterator.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/map.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/once.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/onlyOnce.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/parallel.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/promiseCallback.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/queue.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/range.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/reject.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/setImmediate.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/withoutIndex.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/internal/wrapAsync.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/log.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/map.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/mapLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/mapSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/mapValues.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/mapValuesLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/mapValuesSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/memoize.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/nextTick.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/package.json +0 -0
- /package/node_modules/{winston/node_modules/async → async}/parallel.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/parallelLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/priorityQueue.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/queue.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/race.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/reduce.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/reduceRight.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/reflect.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/reflectAll.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/reject.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/rejectLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/rejectSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/retry.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/retryable.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/select.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/selectLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/selectSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/seq.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/series.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/setImmediate.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/some.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/someLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/someSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/sortBy.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/timeout.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/times.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/timesLimit.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/timesSeries.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/transform.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/tryEach.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/unmemoize.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/until.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/waterfall.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/whilst.js +0 -0
- /package/node_modules/{winston/node_modules/async → async}/wrapSync.js +0 -0
- /package/node_modules/{yargs/node_modules/cliui → cliui}/LICENSE.txt +0 -0
- /package/node_modules/{yargs/node_modules/cliui → cliui}/README.md +0 -0
- /package/node_modules/{yargs/node_modules/cliui → cliui}/build/index.cjs +0 -0
- /package/node_modules/{yargs/node_modules/cliui → cliui}/build/index.d.cts +0 -0
- /package/node_modules/{yargs/node_modules/cliui → cliui}/build/lib/index.js +0 -0
- /package/node_modules/{yargs/node_modules/cliui → cliui}/build/lib/string-utils.js +0 -0
- /package/node_modules/{yargs/node_modules/cliui → cliui}/index.mjs +0 -0
- /package/node_modules/{yargs/node_modules/cliui → cliui}/package.json +0 -0
- /package/node_modules/color/node_modules/{color-name → color-convert/node_modules/color-name}/.eslintrc.json +0 -0
- /package/node_modules/color/node_modules/{color-name → color-convert/node_modules/color-name}/.npmignore +0 -0
- /package/node_modules/color/node_modules/{color-name → color-convert/node_modules/color-name}/LICENSE +0 -0
- /package/node_modules/color/node_modules/{color-name → color-convert/node_modules/color-name}/README.md +0 -0
- /package/node_modules/color/node_modules/{color-name → color-convert/node_modules/color-name}/index.js +0 -0
- /package/node_modules/color/node_modules/{color-name → color-convert/node_modules/color-name}/package.json +0 -0
- /package/node_modules/color/node_modules/{color-name → color-convert/node_modules/color-name}/test.js +0 -0
- /package/node_modules/{@zowe/imperative → cross-spawn}/node_modules/which/LICENSE +0 -0
- /package/node_modules/{which → cross-spawn/node_modules/which}/bin/node-which +0 -0
- /package/node_modules/{isexe → cross-spawn/node_modules/which/node_modules/isexe}/.npmignore +0 -0
- /package/node_modules/{isexe → cross-spawn/node_modules/which/node_modules/isexe}/index.js +0 -0
- /package/node_modules/{isexe → cross-spawn/node_modules/which/node_modules/isexe}/mode.js +0 -0
- /package/node_modules/{isexe → cross-spawn/node_modules/which/node_modules/isexe}/test/basic.js +0 -0
- /package/node_modules/{isexe → cross-spawn/node_modules/which/node_modules/isexe}/windows.js +0 -0
- /package/node_modules/{which → cross-spawn/node_modules/which}/which.js +0 -0
- /package/node_modules/{simple-swizzle/node_modules/is-arrayish → is-arrayish}/LICENSE +0 -0
- /package/node_modules/{simple-swizzle/node_modules/is-arrayish → is-arrayish}/README.md +0 -0
- /package/node_modules/{simple-swizzle/node_modules/is-arrayish → is-arrayish}/index.js +0 -0
- /package/node_modules/{simple-swizzle/node_modules/is-arrayish → is-arrayish}/package.json +0 -0
- /package/node_modules/{simple-swizzle/node_modules/is-arrayish → is-arrayish}/yarn-error.log +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/index.d.ts +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/index.d.ts.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/index.js +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/index.js.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/options.d.ts +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/options.d.ts.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/options.js +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/options.js.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/package.json +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/posix.d.ts +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/posix.d.ts.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/posix.js +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/posix.js.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/win32.d.ts +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/win32.d.ts.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/win32.js +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/cjs/win32.js.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/index.d.ts +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/index.d.ts.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/index.js +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/index.js.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/options.d.ts +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/options.d.ts.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/options.js +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/options.js.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/package.json +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/posix.d.ts +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/posix.d.ts.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/posix.js +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/posix.js.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/win32.d.ts +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/win32.d.ts.map +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/win32.js +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/isexe → isexe}/dist/mjs/win32.js.map +0 -0
- /package/node_modules/{shebang-command/node_modules/shebang-regex → shebang-regex}/index.d.ts +0 -0
- /package/node_modules/{shebang-command/node_modules/shebang-regex → shebang-regex}/index.js +0 -0
- /package/node_modules/{strip-ansi/node_modules/ansi-regex → shebang-regex}/license +0 -0
- /package/node_modules/{shebang-command/node_modules/shebang-regex → shebang-regex}/package.json +0 -0
- /package/node_modules/{shebang-command/node_modules/shebang-regex → shebang-regex}/readme.md +0 -0
- /package/node_modules/streamroller/node_modules/{jsonfile → fs-extra/node_modules/jsonfile}/LICENSE +0 -0
- /package/node_modules/streamroller/node_modules/{jsonfile → fs-extra/node_modules/jsonfile}/README.md +0 -0
- /package/node_modules/streamroller/node_modules/{jsonfile → fs-extra/node_modules/jsonfile}/index.js +0 -0
- /package/node_modules/streamroller/node_modules/{jsonfile → fs-extra/node_modules/jsonfile}/package.json +0 -0
- /package/node_modules/streamroller/node_modules/{universalify → fs-extra/node_modules/universalify}/LICENSE +0 -0
- /package/node_modules/streamroller/node_modules/{universalify → fs-extra/node_modules/universalify}/README.md +0 -0
- /package/node_modules/streamroller/node_modules/{universalify → fs-extra/node_modules/universalify}/index.js +0 -0
- /package/node_modules/streamroller/node_modules/{universalify → fs-extra/node_modules/universalify}/package.json +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/which → which}/bin/which.js +0 -0
- /package/node_modules/{@zowe/imperative/node_modules/which → which}/lib/index.js +0 -0
- /package/node_modules/{yargs/node_modules/y18n → y18n}/LICENSE +0 -0
- /package/node_modules/{yargs/node_modules/y18n → y18n}/README.md +0 -0
- /package/node_modules/{yargs/node_modules/y18n → y18n}/build/index.cjs +0 -0
- /package/node_modules/{yargs/node_modules/y18n → y18n}/build/lib/cjs.js +0 -0
- /package/node_modules/{yargs/node_modules/y18n → y18n}/build/lib/index.js +0 -0
- /package/node_modules/{yargs/node_modules/y18n → y18n}/build/lib/platform-shims/node.js +0 -0
- /package/node_modules/{yargs/node_modules/y18n → y18n}/index.mjs +0 -0
- /package/node_modules/{yargs/node_modules/y18n → y18n}/package.json +0 -0
- /package/node_modules/{tar/node_modules/yallist → yallist}/LICENSE.md +0 -0
- /package/node_modules/{tar/node_modules/yallist → yallist}/README.md +0 -0
- /package/node_modules/{tar/node_modules/yallist → yallist}/dist/commonjs/index.d.ts +0 -0
- /package/node_modules/{tar/node_modules/yallist → yallist}/dist/commonjs/index.d.ts.map +0 -0
- /package/node_modules/{tar/node_modules/yallist → yallist}/dist/commonjs/index.js +0 -0
- /package/node_modules/{tar/node_modules/yallist → yallist}/dist/commonjs/index.js.map +0 -0
- /package/node_modules/{@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match → yallist}/dist/commonjs/package.json +0 -0
- /package/node_modules/{tar/node_modules/yallist → yallist}/dist/esm/index.d.ts +0 -0
- /package/node_modules/{tar/node_modules/yallist → yallist}/dist/esm/index.d.ts.map +0 -0
- /package/node_modules/{tar/node_modules/yallist → yallist}/dist/esm/index.js +0 -0
- /package/node_modules/{tar/node_modules/yallist → yallist}/dist/esm/index.js.map +0 -0
- /package/node_modules/{@zowe/zos-files-for-zowe-sdk/node_modules/balanced-match → yallist}/dist/esm/package.json +0 -0
- /package/node_modules/{tar/node_modules/yallist → yallist}/package.json +0 -0
|
@@ -1,43 +1,79 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
codePointToString,
|
|
3
|
+
replaceCodePoint,
|
|
4
|
+
replaceCodePointXML,
|
|
5
|
+
} from "./decode-codepoint.js";
|
|
2
6
|
import { htmlDecodeTree } from "./generated/decode-data-html.js";
|
|
3
7
|
import { xmlDecodeTree } from "./generated/decode-data-xml.js";
|
|
4
8
|
import { BinTrieFlags } from "./internal/bin-trie-flags.js";
|
|
5
9
|
|
|
6
10
|
const enum CharCodes {
|
|
11
|
+
AMP = 38, // "&"
|
|
7
12
|
NUM = 35, // "#"
|
|
8
13
|
SEMI = 59, // ";"
|
|
9
14
|
EQUALS = 61, // "="
|
|
10
15
|
ZERO = 48, // "0"
|
|
11
16
|
NINE = 57, // "9"
|
|
12
17
|
LOWER_A = 97, // "a"
|
|
13
|
-
LOWER_F = 102, // "f"
|
|
14
18
|
LOWER_X = 120, // "x"
|
|
15
|
-
LOWER_Z = 122, // "z"
|
|
16
|
-
UPPER_A = 65, // "A"
|
|
17
|
-
UPPER_F = 70, // "F"
|
|
18
|
-
UPPER_Z = 90, // "Z"
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/** Bit that needs to be set to convert an upper case ASCII character to lower case */
|
|
22
22
|
const TO_LOWER_BIT = 0b10_0000;
|
|
23
23
|
|
|
24
|
+
/*
|
|
25
|
+
* `parseNumericEntity` packs its two results into one 32-bit integer:
|
|
26
|
+
* `(consumed << CONSUMED_SHIFT) | codePoint`. The 21-bit code point field
|
|
27
|
+
* fits any valid Unicode value (max 0x10FFFF, clamped before packing); the
|
|
28
|
+
* consumed count excludes `&` and gets the remaining 11 bits. Extract it
|
|
29
|
+
* with `>>>` so the topmost bit isn't treated as a sign.
|
|
30
|
+
*
|
|
31
|
+
* Plain consts rather than a `const enum`: with `isolatedModules`, enum
|
|
32
|
+
* member reads compile to runtime property loads.
|
|
33
|
+
*/
|
|
34
|
+
const CONSUMED_SHIFT = 21;
|
|
35
|
+
const CODE_POINT_MASK = 0x1f_ff_ff;
|
|
36
|
+
/**
|
|
37
|
+
* Reserved consumed field for counts of at least 2047 characters after `&`.
|
|
38
|
+
* The true count is in `longNumericConsumed`.
|
|
39
|
+
*/
|
|
40
|
+
const CONSUMED_OVERFLOW = 0x7_ff;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Side channel for numeric entities of at least 2048 characters including
|
|
44
|
+
* `&`. Set by `parseNumericEntity` when its consumed count reaches the
|
|
45
|
+
* reserved value `CONSUMED_OVERFLOW`; callers read the true count from here.
|
|
46
|
+
* A module-level slot avoids a tuple allocation on the hot path.
|
|
47
|
+
*/
|
|
48
|
+
let longNumericConsumed = 0;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Extract the consumed count from a `parseNumericEntity` packed result,
|
|
52
|
+
* recovering the true length from `longNumericConsumed` when the packed
|
|
53
|
+
* field contains the sentinel. Read it before the next `parseNumericEntity`
|
|
54
|
+
* call, which may overwrite the side channel. This helper owns that protocol.
|
|
55
|
+
* @param packed Packed result of `parseNumericEntity`.
|
|
56
|
+
*/
|
|
57
|
+
function unpackConsumed(packed: number): number {
|
|
58
|
+
const consumed = packed >>> CONSUMED_SHIFT;
|
|
59
|
+
return consumed === CONSUMED_OVERFLOW ? longNumericConsumed : consumed;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Unsigned subtraction trick: (code - lo) >>> 0 wraps negatives to large
|
|
64
|
+
* values, so a single `<=` covers the entire [lo..hi] range check.
|
|
65
|
+
* @param code Code point to check.
|
|
66
|
+
*/
|
|
24
67
|
function isNumber(code: number): boolean {
|
|
25
|
-
return code
|
|
68
|
+
return (code - CharCodes.ZERO) >>> 0 <= 9;
|
|
26
69
|
}
|
|
27
70
|
|
|
28
71
|
function isHexadecimalCharacter(code: number): boolean {
|
|
29
|
-
return (
|
|
30
|
-
(code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) ||
|
|
31
|
-
(code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F)
|
|
32
|
-
);
|
|
72
|
+
return ((code | TO_LOWER_BIT) - CharCodes.LOWER_A) >>> 0 <= 5; // F - a
|
|
33
73
|
}
|
|
34
74
|
|
|
35
|
-
function
|
|
36
|
-
return (
|
|
37
|
-
(code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) ||
|
|
38
|
-
(code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) ||
|
|
39
|
-
isNumber(code)
|
|
40
|
-
);
|
|
75
|
+
function isAlpha(code: number): boolean {
|
|
76
|
+
return ((code | TO_LOWER_BIT) - CharCodes.LOWER_A) >>> 0 <= 25; // Z - a
|
|
41
77
|
}
|
|
42
78
|
|
|
43
79
|
/**
|
|
@@ -45,9 +81,10 @@ function isAsciiAlphaNumeric(code: number): boolean {
|
|
|
45
81
|
*
|
|
46
82
|
* Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.
|
|
47
83
|
* See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state
|
|
84
|
+
* @param code Code point to check.
|
|
48
85
|
*/
|
|
49
86
|
function isEntityInAttributeInvalidEnd(code: number): boolean {
|
|
50
|
-
return code === CharCodes.EQUALS ||
|
|
87
|
+
return code === CharCodes.EQUALS || isAlpha(code) || isNumber(code);
|
|
51
88
|
}
|
|
52
89
|
|
|
53
90
|
const enum EntityDecoderState {
|
|
@@ -58,6 +95,9 @@ const enum EntityDecoderState {
|
|
|
58
95
|
NamedEntity,
|
|
59
96
|
}
|
|
60
97
|
|
|
98
|
+
/**
|
|
99
|
+
* Decoding mode for named entities.
|
|
100
|
+
*/
|
|
61
101
|
export enum DecodingMode {
|
|
62
102
|
/** Entities in text nodes that can end with any character. */
|
|
63
103
|
Legacy = 0,
|
|
@@ -75,6 +115,10 @@ export interface EntityErrorProducer {
|
|
|
75
115
|
absenceOfDigitsInNumericCharacterReference(
|
|
76
116
|
consumedCharacters: number,
|
|
77
117
|
): void;
|
|
118
|
+
/**
|
|
119
|
+
* Validate the accumulated numeric value, before Unicode replacement.
|
|
120
|
+
* Values beyond the JavaScript number range are positive infinity.
|
|
121
|
+
*/
|
|
78
122
|
validateNumericCharacterReference(code: number): void;
|
|
79
123
|
}
|
|
80
124
|
|
|
@@ -82,46 +126,54 @@ export interface EntityErrorProducer {
|
|
|
82
126
|
* Token decoder with support of writing partial entities.
|
|
83
127
|
*/
|
|
84
128
|
export class EntityDecoder {
|
|
85
|
-
constructor(
|
|
86
|
-
/** The tree used to decode entities. */
|
|
87
|
-
// biome-ignore lint/correctness/noUnusedPrivateClassMembers: False positive
|
|
88
|
-
private readonly decodeTree: Uint16Array,
|
|
89
|
-
/**
|
|
90
|
-
* The function that is called when a codepoint is decoded.
|
|
91
|
-
*
|
|
92
|
-
* For multi-byte named entities, this will be called multiple times,
|
|
93
|
-
* with the second codepoint, and the same `consumed` value.
|
|
94
|
-
*
|
|
95
|
-
* @param codepoint The decoded codepoint.
|
|
96
|
-
* @param consumed The number of bytes consumed by the decoder.
|
|
97
|
-
*/
|
|
98
|
-
private readonly emitCodePoint: (cp: number, consumed: number) => void,
|
|
99
|
-
/** An object that is used to produce errors. */
|
|
100
|
-
private readonly errors?: EntityErrorProducer | undefined,
|
|
101
|
-
) {}
|
|
102
|
-
|
|
103
129
|
/** The current state of the decoder. */
|
|
104
|
-
private state = EntityDecoderState.EntityStart;
|
|
130
|
+
private state: number = EntityDecoderState.EntityStart;
|
|
105
131
|
/** Characters that were consumed while parsing an entity. */
|
|
106
132
|
private consumed = 1;
|
|
107
133
|
/**
|
|
108
134
|
* The result of the entity.
|
|
109
135
|
*
|
|
110
|
-
*
|
|
111
|
-
* numeric
|
|
136
|
+
* For named entities: the trie index of the best legacy match so far
|
|
137
|
+
* (0 = none). For numeric entities: the accumulated code point.
|
|
112
138
|
*/
|
|
113
139
|
private result = 0;
|
|
114
140
|
|
|
115
141
|
/** The current index in the decode tree. */
|
|
116
142
|
private treeIndex = 0;
|
|
117
|
-
/**
|
|
143
|
+
/**
|
|
144
|
+
* Characters consumed since the last recorded legacy match, plus one.
|
|
145
|
+
* Invariant at the top of the `stateNamedEntity` loop: `excess` equals
|
|
146
|
+
* the number of unrecorded consumed characters + 1.
|
|
147
|
+
*/
|
|
148
|
+
// biome-ignore lint/correctness/noUnusedPrivateClassMembers: False positive (read via destructuring)
|
|
118
149
|
private excess = 1;
|
|
119
150
|
/** The mode in which the decoder is operating. */
|
|
120
151
|
private decodeMode = DecodingMode.Strict;
|
|
121
152
|
/** The number of characters that have been consumed in the current run. */
|
|
153
|
+
// biome-ignore lint/correctness/noUnusedPrivateClassMembers: False positive
|
|
122
154
|
private runConsumed = 0;
|
|
123
155
|
|
|
124
|
-
|
|
156
|
+
constructor(
|
|
157
|
+
/** The predefined HTML or XML decode tree. */
|
|
158
|
+
private readonly decodeTree: Uint16Array,
|
|
159
|
+
/**
|
|
160
|
+
* The function that is called when a codepoint is decoded.
|
|
161
|
+
*
|
|
162
|
+
* For named entities that decode to multiple code points, this will
|
|
163
|
+
* be called multiple times, with the second codepoint, and the same
|
|
164
|
+
* `consumed` value.
|
|
165
|
+
* @param codepoint The decoded codepoint.
|
|
166
|
+
* @param consumed The number of characters consumed by the decoder.
|
|
167
|
+
*/
|
|
168
|
+
private readonly emitCodePoint: (cp: number, consumed: number) => void,
|
|
169
|
+
/** An object that is used to produce errors. */
|
|
170
|
+
private readonly errors?: EntityErrorProducer | undefined,
|
|
171
|
+
) {}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Resets the instance to make it reusable.
|
|
175
|
+
* @param decodeMode Entity decoding mode to use.
|
|
176
|
+
*/
|
|
125
177
|
startEntity(decodeMode: DecodingMode): void {
|
|
126
178
|
this.decodeMode = decodeMode;
|
|
127
179
|
this.state = EntityDecoderState.EntityStart;
|
|
@@ -136,9 +188,8 @@ export class EntityDecoder {
|
|
|
136
188
|
* Write an entity to the decoder. This can be called multiple times with partial entities.
|
|
137
189
|
* If the entity is incomplete, the decoder will return -1.
|
|
138
190
|
*
|
|
139
|
-
* Mirrors the
|
|
191
|
+
* Mirrors the non-streaming `decodeWithTrie`, but with the ability to stop decoding if the
|
|
140
192
|
* entity is incomplete, and resume when the next string is written.
|
|
141
|
-
*
|
|
142
193
|
* @param input The string containing the entity (or a continuation of the entity).
|
|
143
194
|
* @param offset The offset at which the entity begins. Should be 0 if this is not the first call.
|
|
144
195
|
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
@@ -167,7 +218,8 @@ export class EntityDecoder {
|
|
|
167
218
|
return this.stateNumericHex(input, offset);
|
|
168
219
|
}
|
|
169
220
|
|
|
170
|
-
|
|
221
|
+
default: {
|
|
222
|
+
// NamedEntity — the only remaining state.
|
|
171
223
|
return this.stateNamedEntity(input, offset);
|
|
172
224
|
}
|
|
173
225
|
}
|
|
@@ -177,11 +229,11 @@ export class EntityDecoder {
|
|
|
177
229
|
* Switches between the numeric decimal and hexadecimal states.
|
|
178
230
|
*
|
|
179
231
|
* Equivalent to the `Numeric character reference state` in the HTML spec.
|
|
180
|
-
*
|
|
181
232
|
* @param input The string containing the entity (or a continuation of the entity).
|
|
182
233
|
* @param offset The current offset.
|
|
183
234
|
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
184
235
|
*/
|
|
236
|
+
// eslint-disable-next-line unicorn/consistent-class-member-order
|
|
185
237
|
private stateNumericStart(input: string, offset: number): number {
|
|
186
238
|
if (offset >= input.length) {
|
|
187
239
|
return -1;
|
|
@@ -200,14 +252,19 @@ export class EntityDecoder {
|
|
|
200
252
|
/**
|
|
201
253
|
* Parses a hexadecimal numeric entity.
|
|
202
254
|
*
|
|
203
|
-
* Equivalent to the `Hexademical character reference state` in the HTML
|
|
204
|
-
*
|
|
255
|
+
* Equivalent to the `Hexademical character reference state` in the HTML
|
|
256
|
+
* spec. Digit parsing matches the hex loop in `parseNumericEntity`.
|
|
257
|
+
* The accumulated value is preserved for numeric validation callbacks.
|
|
205
258
|
* @param input The string containing the entity (or a continuation of the entity).
|
|
206
259
|
* @param offset The current offset.
|
|
207
260
|
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
208
261
|
*/
|
|
209
262
|
private stateNumericHex(input: string, offset: number): number {
|
|
210
|
-
|
|
263
|
+
const inputLength = input.length;
|
|
264
|
+
// Local accumulators; flushed before any exit (see stateNamedEntity).
|
|
265
|
+
let { result } = this;
|
|
266
|
+
let { consumed } = this;
|
|
267
|
+
while (offset < inputLength) {
|
|
211
268
|
const char = input.charCodeAt(offset);
|
|
212
269
|
if (isNumber(char) || isHexadecimalCharacter(char)) {
|
|
213
270
|
// Convert hex digit to value (0-15); 'a'/'A' -> 10.
|
|
@@ -215,36 +272,48 @@ export class EntityDecoder {
|
|
|
215
272
|
char <= CharCodes.NINE
|
|
216
273
|
? char - CharCodes.ZERO
|
|
217
274
|
: (char | TO_LOWER_BIT) - CharCodes.LOWER_A + 10;
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
offset
|
|
275
|
+
result = result * 16 + digit;
|
|
276
|
+
consumed += 1;
|
|
277
|
+
offset += 1;
|
|
221
278
|
} else {
|
|
279
|
+
this.result = result;
|
|
280
|
+
this.consumed = consumed;
|
|
222
281
|
return this.emitNumericEntity(char, 3);
|
|
223
282
|
}
|
|
224
283
|
}
|
|
284
|
+
this.result = result;
|
|
285
|
+
this.consumed = consumed;
|
|
225
286
|
return -1; // Incomplete entity
|
|
226
287
|
}
|
|
227
288
|
|
|
228
289
|
/**
|
|
229
290
|
* Parses a decimal numeric entity.
|
|
230
291
|
*
|
|
231
|
-
* Equivalent to the `Decimal character reference state` in the HTML
|
|
232
|
-
*
|
|
292
|
+
* Equivalent to the `Decimal character reference state` in the HTML
|
|
293
|
+
* spec. Digit parsing matches the decimal loop in `parseNumericEntity`.
|
|
294
|
+
* The accumulated value is preserved for numeric validation callbacks.
|
|
233
295
|
* @param input The string containing the entity (or a continuation of the entity).
|
|
234
296
|
* @param offset The current offset.
|
|
235
297
|
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
236
298
|
*/
|
|
237
299
|
private stateNumericDecimal(input: string, offset: number): number {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
300
|
+
const inputLength = input.length;
|
|
301
|
+
// Local accumulators; flushed before any exit (see stateNamedEntity).
|
|
302
|
+
let { result } = this;
|
|
303
|
+
let { consumed } = this;
|
|
304
|
+
while (offset < inputLength) {
|
|
305
|
+
const digit = input.charCodeAt(offset) - CharCodes.ZERO;
|
|
306
|
+
if (digit >>> 0 > 9) {
|
|
307
|
+
this.result = result;
|
|
308
|
+
this.consumed = consumed;
|
|
309
|
+
return this.emitNumericEntity(digit + CharCodes.ZERO, 2);
|
|
246
310
|
}
|
|
311
|
+
result = result * 10 + digit;
|
|
312
|
+
consumed += 1;
|
|
313
|
+
offset += 1;
|
|
247
314
|
}
|
|
315
|
+
this.result = result;
|
|
316
|
+
this.consumed = consumed;
|
|
248
317
|
return -1; // Incomplete entity
|
|
249
318
|
}
|
|
250
319
|
|
|
@@ -253,7 +322,6 @@ export class EntityDecoder {
|
|
|
253
322
|
*
|
|
254
323
|
* Implements the logic from the `Hexademical character reference start
|
|
255
324
|
* state` and `Numeric character reference end state` in the HTML spec.
|
|
256
|
-
*
|
|
257
325
|
* @param lastCp The last code point of the entity. Used to see if the
|
|
258
326
|
* entity was terminated with a semicolon.
|
|
259
327
|
* @param expectedLength The minimum number of characters that should be
|
|
@@ -277,7 +345,12 @@ export class EntityDecoder {
|
|
|
277
345
|
return 0;
|
|
278
346
|
}
|
|
279
347
|
|
|
280
|
-
this.emitCodePoint(
|
|
348
|
+
this.emitCodePoint(
|
|
349
|
+
(this.decodeTree === xmlDecodeTree
|
|
350
|
+
? replaceCodePointXML
|
|
351
|
+
: replaceCodePoint)(this.result),
|
|
352
|
+
this.consumed,
|
|
353
|
+
);
|
|
281
354
|
|
|
282
355
|
if (this.errors) {
|
|
283
356
|
if (lastCp !== CharCodes.SEMI) {
|
|
@@ -290,157 +363,283 @@ export class EntityDecoder {
|
|
|
290
363
|
return this.consumed;
|
|
291
364
|
}
|
|
292
365
|
|
|
366
|
+
/**
|
|
367
|
+
* Flush locally-tracked walk state back to the fields, then emit the
|
|
368
|
+
* recorded legacy match or reject (cold path — at most once per
|
|
369
|
+
* entity). Called after failed navigation (leaf node, branch miss, or
|
|
370
|
+
* compact-run mismatch). In attribute mode, reject if no legacy was
|
|
371
|
+
* recorded at the current node, if we descended past it, or if the
|
|
372
|
+
* pending input character is an invalid attribute terminator.
|
|
373
|
+
* @param consumed Locally-tracked consumed count.
|
|
374
|
+
* @param excess Locally-tracked excess count.
|
|
375
|
+
* @param char Pending input character (may be the mismatching char).
|
|
376
|
+
* @param valueLength Value length at the current trie node.
|
|
377
|
+
*/
|
|
378
|
+
private flushAndEmitLegacyOrReject(
|
|
379
|
+
consumed: number,
|
|
380
|
+
excess: number,
|
|
381
|
+
char: number,
|
|
382
|
+
valueLength: number,
|
|
383
|
+
): number {
|
|
384
|
+
this.consumed = consumed;
|
|
385
|
+
this.excess = excess;
|
|
386
|
+
return this.result === 0 ||
|
|
387
|
+
(this.decodeMode === DecodingMode.Attribute &&
|
|
388
|
+
(valueLength === 0 ||
|
|
389
|
+
excess > 1 ||
|
|
390
|
+
isEntityInAttributeInvalidEnd(char)))
|
|
391
|
+
? 0
|
|
392
|
+
: this.emitNotTerminatedNamedEntity();
|
|
393
|
+
}
|
|
394
|
+
|
|
293
395
|
/**
|
|
294
396
|
* Parses a named entity.
|
|
295
397
|
*
|
|
296
398
|
* Equivalent to the `Named character reference state` in the HTML spec.
|
|
297
|
-
*
|
|
298
399
|
* @param input The string containing the entity (or a continuation of the entity).
|
|
299
400
|
* @param offset The current offset.
|
|
300
401
|
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
301
402
|
*/
|
|
302
403
|
private stateNamedEntity(input: string, offset: number): number {
|
|
303
404
|
const { decodeTree } = this;
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
405
|
+
const inputLength = input.length;
|
|
406
|
+
const isStrict = this.decodeMode === DecodingMode.Strict;
|
|
407
|
+
|
|
408
|
+
/*
|
|
409
|
+
* Local copies of the resumable walk state avoid per-character
|
|
410
|
+
* field writes. They are flushed back to the fields
|
|
411
|
+
* on every exit (chunk end, and before any emit helper that reads
|
|
412
|
+
* them). `this.result` is only written at the (rare) record points,
|
|
413
|
+
* so it stays a direct field write.
|
|
414
|
+
*
|
|
415
|
+
* Legacy-match recording happens in two idempotent places: at the
|
|
416
|
+
* loop top when sitting on a value node, and in the chunk-end
|
|
417
|
+
* epilogue (so `end()` sees matches that land exactly on a chunk
|
|
418
|
+
* boundary). Recording applies `consumed += excess - 1; excess = 1`,
|
|
419
|
+
* which is a no-op when repeated — the loop-top invariant is
|
|
420
|
+
* `excess` = unrecorded consumed characters + 1.
|
|
421
|
+
*/
|
|
422
|
+
let { treeIndex } = this;
|
|
423
|
+
let { excess } = this;
|
|
424
|
+
let { consumed } = this;
|
|
425
|
+
let current = decodeTree[treeIndex];
|
|
426
|
+
|
|
427
|
+
while (offset < inputLength) {
|
|
428
|
+
/*
|
|
429
|
+
* Descend through value-less jump-table nodes (including the
|
|
430
|
+
* single-branch encoding) inline, mirroring `decodeWithTrie`:
|
|
431
|
+
* this avoids a `determineBranch` call per level for the
|
|
432
|
+
* dominant node shape — including the root on the first write.
|
|
433
|
+
*/
|
|
434
|
+
while (
|
|
435
|
+
(current &
|
|
436
|
+
(BinTrieFlags.VALUE_LENGTH | BinTrieFlags.FLAG13)) ===
|
|
437
|
+
0 &&
|
|
438
|
+
(current & BinTrieFlags.JUMP_TABLE) !== 0
|
|
439
|
+
) {
|
|
440
|
+
const char = input.charCodeAt(offset);
|
|
441
|
+
const jumpOffset = current & BinTrieFlags.JUMP_TABLE;
|
|
442
|
+
const branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;
|
|
443
|
+
if (branchCount === 0) {
|
|
444
|
+
// Single branch encoded inline in the jump offset bits.
|
|
445
|
+
if (char !== jumpOffset) {
|
|
446
|
+
return this.flushAndEmitLegacyOrReject(
|
|
447
|
+
consumed,
|
|
448
|
+
excess,
|
|
449
|
+
char,
|
|
450
|
+
0,
|
|
451
|
+
);
|
|
452
|
+
}
|
|
453
|
+
treeIndex += 1;
|
|
454
|
+
} else {
|
|
455
|
+
const slot = char - jumpOffset;
|
|
456
|
+
if (slot >>> 0 >= branchCount) {
|
|
457
|
+
return this.flushAndEmitLegacyOrReject(
|
|
458
|
+
consumed,
|
|
459
|
+
excess,
|
|
460
|
+
char,
|
|
461
|
+
0,
|
|
462
|
+
);
|
|
463
|
+
}
|
|
464
|
+
const stored = decodeTree[treeIndex + 1 + slot];
|
|
465
|
+
if (stored === 0) {
|
|
466
|
+
return this.flushAndEmitLegacyOrReject(
|
|
467
|
+
consumed,
|
|
468
|
+
excess,
|
|
469
|
+
char,
|
|
470
|
+
0,
|
|
471
|
+
);
|
|
472
|
+
}
|
|
473
|
+
// End-relative: branch data ends at treeIndex+1+branchCount.
|
|
474
|
+
treeIndex = (treeIndex + branchCount + stored) & 0xff_ff;
|
|
475
|
+
}
|
|
476
|
+
current = decodeTree[treeIndex];
|
|
477
|
+
offset += 1;
|
|
478
|
+
excess += 1;
|
|
479
|
+
/*
|
|
480
|
+
* `charCodeAt` past the end returns NaN, which would alias
|
|
481
|
+
* to slot 0 after `>>> 0` — bail out explicitly.
|
|
482
|
+
*/
|
|
483
|
+
// eslint-disable-next-line unicorn/no-break-in-nested-loop
|
|
484
|
+
if (offset >= inputLength) break;
|
|
485
|
+
}
|
|
486
|
+
if (offset >= inputLength) break;
|
|
307
487
|
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
488
|
+
// Handle compact runs (resumable across chunks).
|
|
489
|
+
if (
|
|
490
|
+
(current &
|
|
491
|
+
(BinTrieFlags.VALUE_LENGTH | BinTrieFlags.FLAG13)) ===
|
|
492
|
+
BinTrieFlags.FLAG13
|
|
493
|
+
) {
|
|
311
494
|
const runLength =
|
|
312
|
-
(current & BinTrieFlags.BRANCH_LENGTH) >> 7; /*
|
|
495
|
+
(current & BinTrieFlags.BRANCH_LENGTH) >> 7; /* 3..63 */
|
|
496
|
+
let { runConsumed } = this;
|
|
313
497
|
|
|
314
498
|
// If we are starting a run, check the first char.
|
|
315
|
-
if (
|
|
316
|
-
const
|
|
317
|
-
if (
|
|
318
|
-
return this.
|
|
319
|
-
|
|
320
|
-
|
|
499
|
+
if (runConsumed === 0) {
|
|
500
|
+
const char = input.charCodeAt(offset);
|
|
501
|
+
if (char !== (current & BinTrieFlags.JUMP_TABLE)) {
|
|
502
|
+
return this.flushAndEmitLegacyOrReject(
|
|
503
|
+
consumed,
|
|
504
|
+
excess,
|
|
505
|
+
char,
|
|
506
|
+
0,
|
|
507
|
+
);
|
|
321
508
|
}
|
|
322
|
-
offset
|
|
323
|
-
|
|
324
|
-
|
|
509
|
+
offset += 1;
|
|
510
|
+
excess += 1;
|
|
511
|
+
runConsumed = 1;
|
|
325
512
|
}
|
|
326
513
|
|
|
327
|
-
// Check remaining characters in the run.
|
|
328
|
-
while (
|
|
329
|
-
if (offset >=
|
|
514
|
+
// Check remaining characters in the run (packed two per uint16 word).
|
|
515
|
+
while (runConsumed < runLength) {
|
|
516
|
+
if (offset >= inputLength) {
|
|
517
|
+
this.treeIndex = treeIndex;
|
|
518
|
+
this.excess = excess;
|
|
519
|
+
this.consumed = consumed;
|
|
520
|
+
this.runConsumed = runConsumed;
|
|
330
521
|
return -1;
|
|
331
522
|
}
|
|
332
523
|
|
|
333
|
-
const charIndexInPacked =
|
|
524
|
+
const charIndexInPacked = runConsumed - 1;
|
|
334
525
|
const packedWord =
|
|
335
|
-
decodeTree[
|
|
336
|
-
this.treeIndex + 1 + (charIndexInPacked >> 1)
|
|
337
|
-
];
|
|
526
|
+
decodeTree[treeIndex + 1 + (charIndexInPacked >> 1)];
|
|
338
527
|
const expectedChar =
|
|
339
|
-
charIndexInPacked
|
|
340
|
-
? packedWord & 0xff
|
|
341
|
-
: (packedWord >> 8) & 0xff;
|
|
528
|
+
(packedWord >> ((charIndexInPacked & 1) << 3)) & 0xff;
|
|
342
529
|
|
|
343
|
-
|
|
530
|
+
const char = input.charCodeAt(offset);
|
|
531
|
+
if (char !== expectedChar) {
|
|
344
532
|
this.runConsumed = 0;
|
|
345
|
-
return this.
|
|
346
|
-
|
|
347
|
-
|
|
533
|
+
return this.flushAndEmitLegacyOrReject(
|
|
534
|
+
consumed,
|
|
535
|
+
excess,
|
|
536
|
+
char,
|
|
537
|
+
0,
|
|
538
|
+
);
|
|
348
539
|
}
|
|
349
|
-
offset
|
|
350
|
-
|
|
351
|
-
|
|
540
|
+
offset += 1;
|
|
541
|
+
excess += 1;
|
|
542
|
+
runConsumed += 1;
|
|
352
543
|
}
|
|
353
544
|
|
|
354
545
|
this.runConsumed = 0;
|
|
355
|
-
|
|
356
|
-
current = decodeTree[
|
|
357
|
-
|
|
546
|
+
treeIndex += 1 + (runLength >> 1);
|
|
547
|
+
current = decodeTree[treeIndex];
|
|
548
|
+
// Loop top handles the landed-on node (record/emit/branch).
|
|
549
|
+
continue;
|
|
358
550
|
}
|
|
359
551
|
|
|
360
|
-
|
|
361
|
-
|
|
552
|
+
// Header plus out-of-line value words; 0 means no value.
|
|
553
|
+
const valueLength = current >>> 14;
|
|
362
554
|
const char = input.charCodeAt(offset);
|
|
363
555
|
|
|
364
|
-
/*
|
|
365
|
-
* Implicit semicolon handling for nodes that require a semicolon but
|
|
366
|
-
* don't have an explicit ';' branch stored in the trie. If we have
|
|
367
|
-
* a value on the current node, it requires a semicolon, and the
|
|
368
|
-
* current input character is a semicolon, emit the entity using the
|
|
369
|
-
* current node (without descending further).
|
|
370
|
-
*/
|
|
371
|
-
if (
|
|
372
|
-
char === CharCodes.SEMI &&
|
|
373
|
-
valueLength !== 0 &&
|
|
374
|
-
(current & BinTrieFlags.FLAG13) !== 0
|
|
375
|
-
) {
|
|
376
|
-
return this.emitNamedEntityData(
|
|
377
|
-
this.treeIndex,
|
|
378
|
-
valueLength,
|
|
379
|
-
this.consumed + this.excess,
|
|
380
|
-
);
|
|
381
|
-
}
|
|
382
|
-
|
|
383
|
-
this.treeIndex = determineBranch(
|
|
384
|
-
decodeTree,
|
|
385
|
-
current,
|
|
386
|
-
this.treeIndex + Math.max(1, valueLength),
|
|
387
|
-
char,
|
|
388
|
-
);
|
|
389
|
-
|
|
390
|
-
if (this.treeIndex < 0) {
|
|
391
|
-
return this.result === 0 ||
|
|
392
|
-
// If we are parsing an attribute
|
|
393
|
-
(this.decodeMode === DecodingMode.Attribute &&
|
|
394
|
-
// We shouldn't have consumed any characters after the entity,
|
|
395
|
-
(valueLength === 0 ||
|
|
396
|
-
// And there should be no invalid characters.
|
|
397
|
-
isEntityInAttributeInvalidEnd(char)))
|
|
398
|
-
? 0
|
|
399
|
-
: this.emitNotTerminatedNamedEntity();
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
current = decodeTree[this.treeIndex];
|
|
403
|
-
valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;
|
|
404
|
-
|
|
405
|
-
// If the branch is a value, store it and continue
|
|
406
556
|
if (valueLength !== 0) {
|
|
407
|
-
//
|
|
557
|
+
// Record a legacy match (FLAG13 clear = semicolon optional).
|
|
558
|
+
if (!isStrict && (current & BinTrieFlags.FLAG13) === 0) {
|
|
559
|
+
this.result = treeIndex;
|
|
560
|
+
consumed += excess - 1;
|
|
561
|
+
excess = 1;
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
/*
|
|
565
|
+
* Implicit semicolon handling: emit immediately. Covers both
|
|
566
|
+
* strict (FLAG13 set) and legacy entities — neither stores
|
|
567
|
+
* an explicit `;` branch in the trie.
|
|
568
|
+
*/
|
|
408
569
|
if (char === CharCodes.SEMI) {
|
|
409
570
|
return this.emitNamedEntityData(
|
|
410
|
-
|
|
571
|
+
treeIndex,
|
|
411
572
|
valueLength,
|
|
412
|
-
|
|
573
|
+
consumed + excess,
|
|
413
574
|
);
|
|
414
575
|
}
|
|
415
576
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
this.
|
|
577
|
+
/*
|
|
578
|
+
* `valueLength === 1` packs the codepoint into the header
|
|
579
|
+
* word's low 13 bits, where branch metadata also lives. Skip
|
|
580
|
+
* the branch lookup on leaves so those value bits aren't
|
|
581
|
+
* reinterpreted as branch offsets.
|
|
582
|
+
*/
|
|
583
|
+
if (valueLength === 1) {
|
|
584
|
+
return this.flushAndEmitLegacyOrReject(
|
|
585
|
+
consumed,
|
|
586
|
+
excess,
|
|
587
|
+
char,
|
|
588
|
+
valueLength,
|
|
589
|
+
);
|
|
424
590
|
}
|
|
425
591
|
}
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
592
|
+
|
|
593
|
+
// Value-bearing or dictionary node: dispatch through determineBranch.
|
|
594
|
+
const next = determineBranch(
|
|
595
|
+
decodeTree,
|
|
596
|
+
current,
|
|
597
|
+
treeIndex + (valueLength || 1),
|
|
598
|
+
char,
|
|
599
|
+
);
|
|
600
|
+
|
|
601
|
+
if (next < 0) {
|
|
602
|
+
return this.flushAndEmitLegacyOrReject(
|
|
603
|
+
consumed,
|
|
604
|
+
excess,
|
|
605
|
+
char,
|
|
606
|
+
valueLength,
|
|
607
|
+
);
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
treeIndex = next;
|
|
611
|
+
current = decodeTree[treeIndex];
|
|
612
|
+
offset += 1;
|
|
613
|
+
excess += 1;
|
|
429
614
|
}
|
|
430
615
|
|
|
616
|
+
/*
|
|
617
|
+
* Chunk exhausted. Record a legacy match we may be sitting on, so a
|
|
618
|
+
* subsequent `end()` emits it, then persist the walk state.
|
|
619
|
+
*/
|
|
620
|
+
if (
|
|
621
|
+
!isStrict &&
|
|
622
|
+
current >>> 14 !== 0 &&
|
|
623
|
+
(current & BinTrieFlags.FLAG13) === 0
|
|
624
|
+
) {
|
|
625
|
+
this.result = treeIndex;
|
|
626
|
+
consumed += excess - 1;
|
|
627
|
+
excess = 1;
|
|
628
|
+
}
|
|
629
|
+
this.treeIndex = treeIndex;
|
|
630
|
+
this.excess = excess;
|
|
631
|
+
this.consumed = consumed;
|
|
431
632
|
return -1;
|
|
432
633
|
}
|
|
433
634
|
|
|
434
635
|
/**
|
|
435
636
|
* Emit a named entity that was not terminated with a semicolon.
|
|
436
|
-
*
|
|
437
637
|
* @returns The number of characters consumed.
|
|
438
638
|
*/
|
|
439
639
|
private emitNotTerminatedNamedEntity(): number {
|
|
440
640
|
const { result, decodeTree } = this;
|
|
441
641
|
|
|
442
|
-
const valueLength =
|
|
443
|
-
(decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;
|
|
642
|
+
const valueLength = decodeTree[result] >>> 14;
|
|
444
643
|
|
|
445
644
|
this.emitNamedEntityData(result, valueLength, this.consumed);
|
|
446
645
|
this.errors?.missingSemicolonAfterCharacterReference();
|
|
@@ -450,11 +649,9 @@ export class EntityDecoder {
|
|
|
450
649
|
|
|
451
650
|
/**
|
|
452
651
|
* Emit a named entity.
|
|
453
|
-
*
|
|
454
652
|
* @param result The index of the entity in the decode tree.
|
|
455
|
-
* @param valueLength
|
|
653
|
+
* @param valueLength Encoded value length (header plus any value words).
|
|
456
654
|
* @param consumed The number of characters consumed.
|
|
457
|
-
*
|
|
458
655
|
* @returns The number of characters consumed.
|
|
459
656
|
*/
|
|
460
657
|
private emitNamedEntityData(
|
|
@@ -466,13 +663,12 @@ export class EntityDecoder {
|
|
|
466
663
|
|
|
467
664
|
this.emitCodePoint(
|
|
468
665
|
valueLength === 1
|
|
469
|
-
? decodeTree[result] &
|
|
470
|
-
~(BinTrieFlags.VALUE_LENGTH | BinTrieFlags.FLAG13)
|
|
666
|
+
? decodeTree[result] & BinTrieFlags.VALUE_MASK
|
|
471
667
|
: decodeTree[result + 1],
|
|
472
668
|
consumed,
|
|
473
669
|
);
|
|
474
670
|
if (valueLength === 3) {
|
|
475
|
-
//
|
|
671
|
+
// Emit the second UTF-16 code unit.
|
|
476
672
|
this.emitCodePoint(decodeTree[result + 2], consumed);
|
|
477
673
|
}
|
|
478
674
|
|
|
@@ -483,7 +679,6 @@ export class EntityDecoder {
|
|
|
483
679
|
* Signal to the parser that the end of the input was reached.
|
|
484
680
|
*
|
|
485
681
|
* Remaining data will be emitted and relevant errors will be produced.
|
|
486
|
-
*
|
|
487
682
|
* @returns The number of characters consumed.
|
|
488
683
|
*/
|
|
489
684
|
end(): number {
|
|
@@ -509,71 +704,23 @@ export class EntityDecoder {
|
|
|
509
704
|
);
|
|
510
705
|
return 0;
|
|
511
706
|
}
|
|
512
|
-
|
|
513
|
-
//
|
|
707
|
+
default: {
|
|
708
|
+
// EntityStart or unknown — return 0.
|
|
514
709
|
return 0;
|
|
515
710
|
}
|
|
516
711
|
}
|
|
517
712
|
}
|
|
518
713
|
}
|
|
519
714
|
|
|
520
|
-
/**
|
|
521
|
-
* Creates a function that decodes entities in a string.
|
|
522
|
-
*
|
|
523
|
-
* @param decodeTree The decode tree.
|
|
524
|
-
* @returns A function that decodes entities in a string.
|
|
525
|
-
*/
|
|
526
|
-
function getDecoder(decodeTree: Uint16Array) {
|
|
527
|
-
let returnValue = "";
|
|
528
|
-
const decoder = new EntityDecoder(
|
|
529
|
-
decodeTree,
|
|
530
|
-
(data) => (returnValue += fromCodePoint(data)),
|
|
531
|
-
);
|
|
532
|
-
|
|
533
|
-
return function decodeWithTrie(
|
|
534
|
-
input: string,
|
|
535
|
-
decodeMode: DecodingMode,
|
|
536
|
-
): string {
|
|
537
|
-
let lastIndex = 0;
|
|
538
|
-
let offset = 0;
|
|
539
|
-
|
|
540
|
-
while ((offset = input.indexOf("&", offset)) >= 0) {
|
|
541
|
-
returnValue += input.slice(lastIndex, offset);
|
|
542
|
-
|
|
543
|
-
decoder.startEntity(decodeMode);
|
|
544
|
-
|
|
545
|
-
const length = decoder.write(
|
|
546
|
-
input,
|
|
547
|
-
// Skip the "&"
|
|
548
|
-
offset + 1,
|
|
549
|
-
);
|
|
550
|
-
|
|
551
|
-
if (length < 0) {
|
|
552
|
-
lastIndex = offset + decoder.end();
|
|
553
|
-
break;
|
|
554
|
-
}
|
|
555
|
-
|
|
556
|
-
lastIndex = offset + length;
|
|
557
|
-
// If `length` is 0, skip the current `&` and continue.
|
|
558
|
-
offset = length === 0 ? lastIndex + 1 : lastIndex;
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
const result = returnValue + input.slice(lastIndex);
|
|
562
|
-
|
|
563
|
-
// Make sure we don't keep a reference to the final string.
|
|
564
|
-
returnValue = "";
|
|
565
|
-
|
|
566
|
-
return result;
|
|
567
|
-
};
|
|
568
|
-
}
|
|
569
|
-
|
|
570
715
|
/**
|
|
571
716
|
* Determines the branch of the current node that is taken given the current
|
|
572
717
|
* character. This function is used to traverse the trie.
|
|
573
718
|
*
|
|
719
|
+
* See `BinTrieFlags` for the branch-data layouts handled here.
|
|
574
720
|
* @param decodeTree The trie.
|
|
575
|
-
* @param current The current node.
|
|
576
|
-
* @param
|
|
721
|
+
* @param current The current node's header word.
|
|
722
|
+
* @param nodeIndex Index of the node's first branch-data word (the header
|
|
723
|
+
* plus any value words have been skipped by the caller).
|
|
577
724
|
* @param char The current character.
|
|
578
725
|
* @returns The index of the next node, or -1 if no branch is taken.
|
|
579
726
|
*/
|
|
@@ -586,54 +733,481 @@ export function determineBranch(
|
|
|
586
733
|
const branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;
|
|
587
734
|
const jumpOffset = current & BinTrieFlags.JUMP_TABLE;
|
|
588
735
|
|
|
589
|
-
// Case 1: Single branch
|
|
590
|
-
if (branchCount === 0) {
|
|
591
|
-
return jumpOffset !== 0 && char === jumpOffset ? nodeIndex : -1;
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
// Case 2: Multiple branches encoded in jump table
|
|
736
|
+
// Case 1: Single branch or jump table (jumpOffset encodes the first/only char code).
|
|
595
737
|
if (jumpOffset) {
|
|
596
|
-
|
|
738
|
+
if (branchCount === 0) {
|
|
739
|
+
// Single branch encoded inline in the jump offset bits.
|
|
740
|
+
return char === jumpOffset ? nodeIndex : -1;
|
|
741
|
+
}
|
|
597
742
|
|
|
598
|
-
|
|
743
|
+
/*
|
|
744
|
+
* Jump table: branchCount consecutive slots starting at jumpOffset.
|
|
745
|
+
* Unsigned comparison handles both < 0 and >= branchCount in one check.
|
|
746
|
+
*/
|
|
747
|
+
const slot = char - jumpOffset;
|
|
748
|
+
if (slot >>> 0 >= branchCount) return -1;
|
|
749
|
+
const stored = decodeTree[nodeIndex + slot];
|
|
750
|
+
/*
|
|
751
|
+
* 0 = empty slot (no branch); otherwise the child's offset from the
|
|
752
|
+
* end of the branch array, +1 (end-relative pointers compress
|
|
753
|
+
* better). `& 0xff_ff` mirrors the encoder's uint16 wrap for
|
|
754
|
+
* backreferences to already-encoded nodes.
|
|
755
|
+
*/
|
|
756
|
+
return stored === 0
|
|
599
757
|
? -1
|
|
600
|
-
:
|
|
758
|
+
: (nodeIndex + branchCount + stored - 1) & 0xff_ff;
|
|
601
759
|
}
|
|
602
760
|
|
|
603
|
-
|
|
761
|
+
/*
|
|
762
|
+
* Case 2: Packed dictionary. Linear scan — over 90% of dict nodes have
|
|
763
|
+
* <= 4 branches in the HTML trie, where the constant-factor savings
|
|
764
|
+
* dominate over binary search's asymptotic edge.
|
|
765
|
+
*/
|
|
766
|
+
if (branchCount === 0) return -1;
|
|
604
767
|
const packedKeySlots = (branchCount + 1) >> 1;
|
|
768
|
+
const branchEnd = nodeIndex + packedKeySlots + branchCount;
|
|
769
|
+
for (let index = 0; index < branchCount; index++) {
|
|
770
|
+
const packed = decodeTree[nodeIndex + (index >> 1)];
|
|
771
|
+
const key = (packed >> ((index & 1) << 3)) & 0xff;
|
|
772
|
+
if (key === char) {
|
|
773
|
+
const pointerIndex = nodeIndex + packedKeySlots + index;
|
|
774
|
+
// Pointers are relative to the end of the branch data.
|
|
775
|
+
return (branchEnd + decodeTree[pointerIndex]) & 0xff_ff;
|
|
776
|
+
}
|
|
777
|
+
// Keys are sorted; if we've passed `char`, no match is possible.
|
|
778
|
+
if (key > char) return -1;
|
|
779
|
+
}
|
|
780
|
+
return -1;
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
/**
|
|
784
|
+
* Read the decoded value from a trie node.
|
|
785
|
+
* @param decodeTree The trie.
|
|
786
|
+
* @param nodeIndex The index of the node.
|
|
787
|
+
* @param valueLength The length of the value (1, 2, or 3).
|
|
788
|
+
* @returns The decoded string.
|
|
789
|
+
*/
|
|
790
|
+
function readTrieValue(
|
|
791
|
+
decodeTree: Uint16Array,
|
|
792
|
+
nodeIndex: number,
|
|
793
|
+
valueLength: number,
|
|
794
|
+
): string {
|
|
795
|
+
if (valueLength === 1) {
|
|
796
|
+
return String.fromCharCode(
|
|
797
|
+
decodeTree[nodeIndex] & BinTrieFlags.VALUE_MASK,
|
|
798
|
+
);
|
|
799
|
+
}
|
|
800
|
+
if (valueLength === 2) {
|
|
801
|
+
return String.fromCharCode(decodeTree[nodeIndex + 1]);
|
|
802
|
+
}
|
|
803
|
+
return String.fromCharCode(
|
|
804
|
+
decodeTree[nodeIndex + 1],
|
|
805
|
+
decodeTree[nodeIndex + 2],
|
|
806
|
+
);
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
/**
|
|
810
|
+
* Parse a numeric entity (`&#DDD;` or `&#xHHH;`).
|
|
811
|
+
*
|
|
812
|
+
* Encodes the result as `(consumed << CONSUMED_SHIFT) | codepoint` (see
|
|
813
|
+
* the packing comment at the top of the file; overlong entities spill
|
|
814
|
+
* their length into `longNumericConsumed`). Returns 0 when no digits were
|
|
815
|
+
* found.
|
|
816
|
+
*
|
|
817
|
+
* This is the sync counterpart of the streaming
|
|
818
|
+
* `EntityDecoder#stateNumericDecimal` / `#stateNumericHex`. Digit parsing
|
|
819
|
+
* matches those methods; only this packed result needs a value clamp.
|
|
820
|
+
* @param input The input string.
|
|
821
|
+
* @param numberStart Index of the `#` character.
|
|
822
|
+
* @param inputLength Cached `input.length`.
|
|
823
|
+
*/
|
|
824
|
+
function parseNumericEntity(
|
|
825
|
+
input: string,
|
|
826
|
+
numberStart: number,
|
|
827
|
+
inputLength: number,
|
|
828
|
+
): number {
|
|
829
|
+
let offset = numberStart + 1; // Skip "#"
|
|
830
|
+
let cp = 0;
|
|
831
|
+
let digitStart = offset;
|
|
605
832
|
|
|
606
833
|
/*
|
|
607
|
-
*
|
|
608
|
-
*
|
|
834
|
+
* Separate decimal and hexadecimal loops: each multiplies by a constant
|
|
835
|
+
* and runs a single digit test, instead of a per-character base check.
|
|
609
836
|
*/
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
837
|
+
if (
|
|
838
|
+
offset < inputLength &&
|
|
839
|
+
(input.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X
|
|
840
|
+
) {
|
|
841
|
+
offset += 1;
|
|
842
|
+
digitStart = offset;
|
|
843
|
+
while (offset < inputLength) {
|
|
844
|
+
const char = input.charCodeAt(offset);
|
|
845
|
+
if (isNumber(char)) {
|
|
846
|
+
cp = cp * 16 + (char - CharCodes.ZERO);
|
|
847
|
+
} else if (isHexadecimalCharacter(char)) {
|
|
848
|
+
cp = cp * 16 + ((char | TO_LOWER_BIT) - CharCodes.LOWER_A + 10);
|
|
849
|
+
} else {
|
|
850
|
+
break;
|
|
851
|
+
}
|
|
852
|
+
offset += 1;
|
|
853
|
+
}
|
|
854
|
+
} else {
|
|
855
|
+
while (offset < inputLength) {
|
|
856
|
+
const digit = input.charCodeAt(offset) - CharCodes.ZERO;
|
|
857
|
+
if (digit >>> 0 > 9) break;
|
|
858
|
+
cp = cp * 10 + digit;
|
|
859
|
+
offset += 1;
|
|
625
860
|
}
|
|
626
861
|
}
|
|
627
862
|
|
|
628
|
-
return
|
|
863
|
+
if (offset === digitStart) return 0;
|
|
864
|
+
|
|
865
|
+
// Include the semicolon in consumed when present.
|
|
866
|
+
if (offset < inputLength && input.charCodeAt(offset) === CharCodes.SEMI) {
|
|
867
|
+
offset += 1;
|
|
868
|
+
}
|
|
869
|
+
|
|
870
|
+
/*
|
|
871
|
+
* Clamp out-of-range values to 0x110000 so they fit the 21-bit field
|
|
872
|
+
* and decode to U+FFFD. Lengths at or above CONSUMED_OVERFLOW use the
|
|
873
|
+
* side channel described with the packing constants.
|
|
874
|
+
*/
|
|
875
|
+
if (cp > 0x10_ff_ff) cp = 0x11_00_00;
|
|
876
|
+
let consumed = offset - numberStart;
|
|
877
|
+
if (consumed >= CONSUMED_OVERFLOW) {
|
|
878
|
+
// eslint-disable-next-line unicorn/no-top-level-assignment-in-function -- deliberate side channel, see `longNumericConsumed`
|
|
879
|
+
longNumericConsumed = consumed;
|
|
880
|
+
consumed = CONSUMED_OVERFLOW;
|
|
881
|
+
}
|
|
882
|
+
return (consumed << CONSUMED_SHIFT) | cp;
|
|
629
883
|
}
|
|
630
884
|
|
|
631
|
-
|
|
632
|
-
|
|
885
|
+
/**
|
|
886
|
+
* Decode all entities in `input` using the HTML trie.
|
|
887
|
+
*
|
|
888
|
+
* Hard-wired to `htmlDecodeTree`: the inline root navigation below assumes
|
|
889
|
+
* the HTML root's jump-table shape, so this must not be generalized to
|
|
890
|
+
* other tries (the XML trie's dictionary root would silently match no
|
|
891
|
+
* entities — `decodeXML` has its own hand-coded fast path instead).
|
|
892
|
+
* @param input The string to decode.
|
|
893
|
+
* @param isStrict Only match semicolon-terminated entities.
|
|
894
|
+
* @param isAttribute Whether to apply attribute-specific parsing rules (disallowing certain non-semicolon terminators).
|
|
895
|
+
* @returns The decoded string.
|
|
896
|
+
*/
|
|
897
|
+
function decodeWithTrie(
|
|
898
|
+
input: string,
|
|
899
|
+
isStrict: boolean,
|
|
900
|
+
isAttribute: boolean,
|
|
901
|
+
): string {
|
|
902
|
+
const decodeTree = htmlDecodeTree;
|
|
903
|
+
// Fast path: no entities at all — return input without any allocation.
|
|
904
|
+
let offset = input.indexOf("&");
|
|
905
|
+
if (offset < 0) return input;
|
|
906
|
+
|
|
907
|
+
const inputLength = input.length;
|
|
908
|
+
/*
|
|
909
|
+
* `chunkStart` marks the start of the next pending slice. Rejected
|
|
910
|
+
* entities don't advance it, so consecutive rejections are stitched
|
|
911
|
+
* into a single `slice` once a real match (or end of input) is hit.
|
|
912
|
+
*/
|
|
913
|
+
let chunkStart = 0;
|
|
914
|
+
let result = "";
|
|
915
|
+
|
|
916
|
+
/*
|
|
917
|
+
* Root navigation fields, hoisted out of the per-entity loop. The HTML
|
|
918
|
+
* root is a multi-branch jump-table covering [A-Za-z]; see the inline
|
|
919
|
+
* first-iteration comment below.
|
|
920
|
+
*/
|
|
921
|
+
const root = decodeTree[0];
|
|
922
|
+
const rootJumpOffset = root & BinTrieFlags.JUMP_TABLE;
|
|
923
|
+
const rootBranchCount = (root & BinTrieFlags.BRANCH_LENGTH) >> 7;
|
|
924
|
+
|
|
925
|
+
do {
|
|
926
|
+
const entityStart = offset + 1;
|
|
927
|
+
|
|
928
|
+
// Quick check: entity names must start with [A-Za-z], numeric with #.
|
|
929
|
+
const firstChar = input.charCodeAt(entityStart);
|
|
930
|
+
let consumed: number;
|
|
931
|
+
let value: string;
|
|
932
|
+
if (firstChar === CharCodes.NUM) {
|
|
933
|
+
const packed = parseNumericEntity(input, entityStart, inputLength);
|
|
934
|
+
consumed = unpackConsumed(packed);
|
|
935
|
+
// In strict mode, require semicolon termination.
|
|
936
|
+
if (
|
|
937
|
+
isStrict &&
|
|
938
|
+
consumed > 0 &&
|
|
939
|
+
input.charCodeAt(entityStart + consumed - 1) !== CharCodes.SEMI
|
|
940
|
+
) {
|
|
941
|
+
consumed = 0;
|
|
942
|
+
}
|
|
943
|
+
value =
|
|
944
|
+
consumed === 0
|
|
945
|
+
? ""
|
|
946
|
+
: codePointToString(packed & CODE_POINT_MASK);
|
|
947
|
+
} else if (isAlpha(firstChar)) {
|
|
948
|
+
consumed = 0;
|
|
949
|
+
value = "";
|
|
950
|
+
|
|
951
|
+
/*
|
|
952
|
+
* The generator guarantees a jump-table root. Consume the first
|
|
953
|
+
* character directly, then walk from its child.
|
|
954
|
+
*/
|
|
955
|
+
const rootSlotIndex = firstChar - rootJumpOffset;
|
|
956
|
+
let nodeIndex: number;
|
|
957
|
+
if (rootSlotIndex >>> 0 < rootBranchCount) {
|
|
958
|
+
const stored = decodeTree[1 + rootSlotIndex];
|
|
959
|
+
nodeIndex =
|
|
960
|
+
stored === 0 ? -1 : (rootBranchCount + stored) & 0xff_ff;
|
|
961
|
+
} else {
|
|
962
|
+
nodeIndex = -1;
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
/*
|
|
966
|
+
* Best legacy (no-semicolon) match so far, as trie coordinates.
|
|
967
|
+
* Deferring `readTrieValue` to the end avoids allocating a
|
|
968
|
+
* string for matches that longer matches supersede.
|
|
969
|
+
*/
|
|
970
|
+
let bestNodeIndex = 0;
|
|
971
|
+
let bestValueLength = 0;
|
|
972
|
+
let current = nodeIndex < 0 ? 0 : decodeTree[nodeIndex];
|
|
973
|
+
let index = entityStart + 1;
|
|
974
|
+
|
|
975
|
+
/*
|
|
976
|
+
* Walk the trie from the root child. The `trie` label lets the
|
|
977
|
+
* inner descent and compact-run loops abandon the entity (and
|
|
978
|
+
* fall through to the legacy/reject handling) directly.
|
|
979
|
+
*/
|
|
980
|
+
trie: while (index < inputLength) {
|
|
981
|
+
/*
|
|
982
|
+
* Inline value-less jump tables and single branches. A miss
|
|
983
|
+
* falls through to the recorded legacy match or rejection.
|
|
984
|
+
*/
|
|
985
|
+
while (
|
|
986
|
+
// Value-less, non-run node with a nonzero jump offset.
|
|
987
|
+
(current &
|
|
988
|
+
(BinTrieFlags.VALUE_LENGTH | BinTrieFlags.FLAG13)) ===
|
|
989
|
+
0 &&
|
|
990
|
+
(current & BinTrieFlags.JUMP_TABLE) !== 0
|
|
991
|
+
) {
|
|
992
|
+
const jumpOffset = current & BinTrieFlags.JUMP_TABLE;
|
|
993
|
+
const branchCount =
|
|
994
|
+
(current & BinTrieFlags.BRANCH_LENGTH) >> 7;
|
|
995
|
+
if (branchCount === 0) {
|
|
996
|
+
// Single branch encoded inline in the jump offset bits.
|
|
997
|
+
if (input.charCodeAt(index) !== jumpOffset) break trie;
|
|
998
|
+
nodeIndex += 1;
|
|
999
|
+
} else {
|
|
1000
|
+
const slot = input.charCodeAt(index) - jumpOffset;
|
|
1001
|
+
if (slot >>> 0 >= branchCount) break trie;
|
|
1002
|
+
const stored = decodeTree[nodeIndex + 1 + slot];
|
|
1003
|
+
if (stored === 0) break trie;
|
|
1004
|
+
// End-relative: branch data ends at nodeIndex+1+branchCount.
|
|
1005
|
+
nodeIndex =
|
|
1006
|
+
(nodeIndex + branchCount + stored) & 0xff_ff;
|
|
1007
|
+
}
|
|
1008
|
+
current = decodeTree[nodeIndex];
|
|
1009
|
+
index += 1;
|
|
1010
|
+
/*
|
|
1011
|
+
* `charCodeAt` past the end returns NaN, which would
|
|
1012
|
+
* alias to slot 0 after `>>> 0` — bail out explicitly.
|
|
1013
|
+
*/
|
|
1014
|
+
if (index >= inputLength) break trie;
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
// FLAG13 without a value marks a compact run.
|
|
1018
|
+
if (
|
|
1019
|
+
(current &
|
|
1020
|
+
(BinTrieFlags.VALUE_LENGTH | BinTrieFlags.FLAG13)) ===
|
|
1021
|
+
BinTrieFlags.FLAG13
|
|
1022
|
+
) {
|
|
1023
|
+
const runLength =
|
|
1024
|
+
(current & BinTrieFlags.BRANCH_LENGTH) >> 7;
|
|
1025
|
+
|
|
1026
|
+
// Check first char (stored in JUMP_TABLE bits).
|
|
1027
|
+
if (
|
|
1028
|
+
input.charCodeAt(index) !==
|
|
1029
|
+
(current & BinTrieFlags.JUMP_TABLE)
|
|
1030
|
+
) {
|
|
1031
|
+
// eslint-disable-next-line unicorn/no-break-in-nested-loop
|
|
1032
|
+
break;
|
|
1033
|
+
}
|
|
1034
|
+
index += 1;
|
|
1035
|
+
|
|
1036
|
+
// Check remaining characters (packed two per uint16 word).
|
|
1037
|
+
const remaining = runLength - 1;
|
|
1038
|
+
let wordIndex = nodeIndex + 1;
|
|
1039
|
+
let charIndexInPacked = 0;
|
|
1040
|
+
|
|
1041
|
+
/*
|
|
1042
|
+
* Process pairs: read one packed word, compare low byte then high byte.
|
|
1043
|
+
* No explicit bounds check needed — charCodeAt returns NaN for OOB,
|
|
1044
|
+
* which never equals an integer, so the mismatch break fires naturally.
|
|
1045
|
+
*/
|
|
1046
|
+
for (
|
|
1047
|
+
;
|
|
1048
|
+
charIndexInPacked + 1 < remaining;
|
|
1049
|
+
charIndexInPacked += 2
|
|
1050
|
+
) {
|
|
1051
|
+
const packed = decodeTree[wordIndex];
|
|
1052
|
+
if (input.charCodeAt(index) !== (packed & 0xff))
|
|
1053
|
+
break trie;
|
|
1054
|
+
index += 1;
|
|
1055
|
+
if (input.charCodeAt(index) !== ((packed >> 8) & 0xff))
|
|
1056
|
+
break trie;
|
|
1057
|
+
index += 1;
|
|
1058
|
+
wordIndex += 1;
|
|
1059
|
+
}
|
|
1060
|
+
// Handle odd trailing char.
|
|
1061
|
+
if (charIndexInPacked < remaining) {
|
|
1062
|
+
if (
|
|
1063
|
+
input.charCodeAt(index) !==
|
|
1064
|
+
(decodeTree[wordIndex] & 0xff)
|
|
1065
|
+
)
|
|
1066
|
+
// eslint-disable-next-line unicorn/no-break-in-nested-loop
|
|
1067
|
+
break;
|
|
1068
|
+
index += 1;
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
nodeIndex += 1 + (runLength >> 1);
|
|
1072
|
+
current = decodeTree[nodeIndex];
|
|
1073
|
+
// eslint-disable-next-line unicorn/no-break-in-nested-loop
|
|
1074
|
+
continue;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
// Header plus out-of-line value words; 0 means no value.
|
|
1078
|
+
const valueLength = current >>> 14;
|
|
1079
|
+
const char = input.charCodeAt(index);
|
|
1080
|
+
|
|
1081
|
+
/*
|
|
1082
|
+
* Check current node for a value before navigating.
|
|
1083
|
+
* This handles both: (a) values reached via compact runs on the
|
|
1084
|
+
* previous iteration, and (b) values at regular branch targets.
|
|
1085
|
+
*/
|
|
1086
|
+
if (valueLength !== 0) {
|
|
1087
|
+
// If char is `;`, emit immediately.
|
|
1088
|
+
if (char === CharCodes.SEMI) {
|
|
1089
|
+
consumed = index - entityStart + 1;
|
|
1090
|
+
// Inline leaves carry the value in the low 13 bits.
|
|
1091
|
+
value =
|
|
1092
|
+
valueLength === 1
|
|
1093
|
+
? String.fromCharCode(
|
|
1094
|
+
current & BinTrieFlags.VALUE_MASK,
|
|
1095
|
+
)
|
|
1096
|
+
: readTrieValue(
|
|
1097
|
+
decodeTree,
|
|
1098
|
+
nodeIndex,
|
|
1099
|
+
valueLength,
|
|
1100
|
+
);
|
|
1101
|
+
// eslint-disable-next-line unicorn/no-break-in-nested-loop
|
|
1102
|
+
break;
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
// Record non-terminated (legacy) match (FLAG13 clear = semicolon optional).
|
|
1106
|
+
if (!isStrict && (current & BinTrieFlags.FLAG13) === 0) {
|
|
1107
|
+
consumed = index - entityStart;
|
|
1108
|
+
bestNodeIndex = nodeIndex;
|
|
1109
|
+
bestValueLength = valueLength;
|
|
1110
|
+
}
|
|
1111
|
+
|
|
1112
|
+
/*
|
|
1113
|
+
* A valueLength of 1 means the value is packed inline in the header
|
|
1114
|
+
* word — these are always leaf nodes with no branches, so we can
|
|
1115
|
+
* stop walking the trie.
|
|
1116
|
+
*/
|
|
1117
|
+
// eslint-disable-next-line unicorn/no-break-in-nested-loop
|
|
1118
|
+
if (valueLength === 1) break;
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
// Navigate to the next node (valueLength || 1: skip past value words, minimum 1 for header).
|
|
1122
|
+
const next = determineBranch(
|
|
1123
|
+
decodeTree,
|
|
1124
|
+
current,
|
|
1125
|
+
nodeIndex + (valueLength || 1),
|
|
1126
|
+
char,
|
|
1127
|
+
);
|
|
1128
|
+
// eslint-disable-next-line unicorn/no-break-in-nested-loop
|
|
1129
|
+
if (next < 0) break;
|
|
1130
|
+
|
|
1131
|
+
nodeIndex = next;
|
|
1132
|
+
current = decodeTree[nodeIndex];
|
|
1133
|
+
index += 1;
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1136
|
+
/*
|
|
1137
|
+
* Post-loop: if the semicolon path didn't set value,
|
|
1138
|
+
* check for a final legacy match. The last navigation may
|
|
1139
|
+
* have landed on a legacy node whose value hasn't been
|
|
1140
|
+
* recorded yet (loop exited before the top-of-loop check
|
|
1141
|
+
* could run).
|
|
1142
|
+
*/
|
|
1143
|
+
if (value === "") {
|
|
1144
|
+
const finalVL = current >>> 14;
|
|
1145
|
+
if (
|
|
1146
|
+
finalVL !== 0 &&
|
|
1147
|
+
!isStrict &&
|
|
1148
|
+
(current & BinTrieFlags.FLAG13) === 0
|
|
1149
|
+
) {
|
|
1150
|
+
consumed = index - entityStart;
|
|
1151
|
+
bestNodeIndex = nodeIndex;
|
|
1152
|
+
bestValueLength = finalVL;
|
|
1153
|
+
}
|
|
1154
|
+
if (consumed > 0) {
|
|
1155
|
+
value = readTrieValue(
|
|
1156
|
+
decodeTree,
|
|
1157
|
+
bestNodeIndex,
|
|
1158
|
+
bestValueLength,
|
|
1159
|
+
);
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
} else {
|
|
1163
|
+
consumed = 0;
|
|
1164
|
+
value = "";
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
/*
|
|
1168
|
+
* The attribute end-char rule (HTML spec §13.2.5.73) only applies to
|
|
1169
|
+
* unterminated *named* references. Semicolon-terminated entities and
|
|
1170
|
+
* numeric entities are always accepted, matching EntityDecoder behavior.
|
|
1171
|
+
*
|
|
1172
|
+
* When `attribute` is false (the common case), short-circuit skips all
|
|
1173
|
+
* the unterminated-named checks entirely.
|
|
1174
|
+
*/
|
|
1175
|
+
if (
|
|
1176
|
+
consumed === 0 ||
|
|
1177
|
+
(isAttribute &&
|
|
1178
|
+
firstChar !== CharCodes.NUM &&
|
|
1179
|
+
input.charCodeAt(entityStart + consumed - 1) !==
|
|
1180
|
+
CharCodes.SEMI &&
|
|
1181
|
+
entityStart + consumed < inputLength &&
|
|
1182
|
+
isEntityInAttributeInvalidEnd(
|
|
1183
|
+
input.charCodeAt(entityStart + consumed),
|
|
1184
|
+
))
|
|
1185
|
+
) {
|
|
1186
|
+
// Rejected: leave `&` in the pending chunk, scan past it.
|
|
1187
|
+
offset = entityStart;
|
|
1188
|
+
} else {
|
|
1189
|
+
if (chunkStart < offset) {
|
|
1190
|
+
result += input.slice(chunkStart, offset);
|
|
1191
|
+
}
|
|
1192
|
+
result += value;
|
|
1193
|
+
offset = chunkStart = entityStart + consumed;
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
/*
|
|
1197
|
+
* Adjacent entities (`&x;&y;`) are common in entity-dense input;
|
|
1198
|
+
* checking the single character at `offset` first skips the
|
|
1199
|
+
* `indexOf` call (and its per-call overhead) for that case.
|
|
1200
|
+
*/
|
|
1201
|
+
if (input.charCodeAt(offset) !== CharCodes.AMP) {
|
|
1202
|
+
offset = input.indexOf("&", offset);
|
|
1203
|
+
}
|
|
1204
|
+
} while (offset >= 0);
|
|
1205
|
+
|
|
1206
|
+
return result + input.slice(chunkStart);
|
|
1207
|
+
}
|
|
633
1208
|
|
|
634
1209
|
/**
|
|
635
1210
|
* Decodes an HTML string.
|
|
636
|
-
*
|
|
637
1211
|
* @param htmlString The string to decode.
|
|
638
1212
|
* @param mode The decoding mode.
|
|
639
1213
|
* @returns The decoded string.
|
|
@@ -642,43 +1216,152 @@ export function decodeHTML(
|
|
|
642
1216
|
htmlString: string,
|
|
643
1217
|
mode: DecodingMode = DecodingMode.Legacy,
|
|
644
1218
|
): string {
|
|
645
|
-
return
|
|
1219
|
+
return decodeWithTrie(
|
|
1220
|
+
htmlString,
|
|
1221
|
+
mode === DecodingMode.Strict,
|
|
1222
|
+
mode === DecodingMode.Attribute,
|
|
1223
|
+
);
|
|
646
1224
|
}
|
|
647
1225
|
|
|
648
1226
|
/**
|
|
649
1227
|
* Decodes an HTML string in an attribute.
|
|
650
|
-
*
|
|
651
1228
|
* @param htmlAttribute The string to decode.
|
|
652
1229
|
* @returns The decoded string.
|
|
653
1230
|
*/
|
|
654
1231
|
export function decodeHTMLAttribute(htmlAttribute: string): string {
|
|
655
|
-
return
|
|
1232
|
+
return decodeWithTrie(htmlAttribute, false, true);
|
|
656
1233
|
}
|
|
657
1234
|
|
|
658
1235
|
/**
|
|
659
1236
|
* Decodes an HTML string, requiring all entities to be terminated by a semicolon.
|
|
660
|
-
*
|
|
661
1237
|
* @param htmlString The string to decode.
|
|
662
1238
|
* @returns The decoded string.
|
|
663
1239
|
*/
|
|
664
1240
|
export function decodeHTMLStrict(htmlString: string): string {
|
|
665
|
-
return
|
|
1241
|
+
return decodeWithTrie(htmlString, true, false);
|
|
666
1242
|
}
|
|
667
1243
|
|
|
668
1244
|
/**
|
|
669
1245
|
* Decodes an XML string, requiring all entities to be terminated by a semicolon.
|
|
670
1246
|
*
|
|
1247
|
+
* Uses a hand-coded fast path for the 5 XML named entities (amp, lt, gt,
|
|
1248
|
+
* quot, apos) plus numeric entities, bypassing the trie entirely.
|
|
671
1249
|
* @param xmlString The string to decode.
|
|
672
1250
|
* @returns The decoded string.
|
|
673
1251
|
*/
|
|
674
1252
|
export function decodeXML(xmlString: string): string {
|
|
675
|
-
|
|
1253
|
+
let offset = xmlString.indexOf("&");
|
|
1254
|
+
if (offset < 0) return xmlString;
|
|
1255
|
+
|
|
1256
|
+
let lastIndex = 0;
|
|
1257
|
+
let result = "";
|
|
1258
|
+
|
|
1259
|
+
do {
|
|
1260
|
+
const start = offset + 1;
|
|
1261
|
+
let consumed = 0;
|
|
1262
|
+
let value = "";
|
|
1263
|
+
|
|
1264
|
+
const c1 = xmlString.charCodeAt(start);
|
|
1265
|
+
|
|
1266
|
+
if (c1 === CharCodes.NUM) {
|
|
1267
|
+
const packed = parseNumericEntity(
|
|
1268
|
+
xmlString,
|
|
1269
|
+
start,
|
|
1270
|
+
xmlString.length,
|
|
1271
|
+
);
|
|
1272
|
+
consumed = unpackConsumed(packed);
|
|
1273
|
+
// XML is always strict — require semicolon.
|
|
1274
|
+
if (
|
|
1275
|
+
consumed === 0 ||
|
|
1276
|
+
xmlString.charCodeAt(start + consumed - 1) !== CharCodes.SEMI
|
|
1277
|
+
) {
|
|
1278
|
+
consumed = 0;
|
|
1279
|
+
} else {
|
|
1280
|
+
const codePoint = packed & CODE_POINT_MASK;
|
|
1281
|
+
// Nonzero BMP values below the surrogate range need no replacement.
|
|
1282
|
+
value =
|
|
1283
|
+
(codePoint - 1) >>> 0 < 0xd7_ff
|
|
1284
|
+
? String.fromCharCode(codePoint)
|
|
1285
|
+
: String.fromCodePoint(replaceCodePointXML(codePoint));
|
|
1286
|
+
}
|
|
1287
|
+
} else {
|
|
1288
|
+
/* eslint-disable unicorn/no-break-in-nested-loop -- Keep XML name dispatch inline with the decode loop. */
|
|
1289
|
+
switch (c1) {
|
|
1290
|
+
// < / >
|
|
1291
|
+
case 0x6c:
|
|
1292
|
+
case 0x67: {
|
|
1293
|
+
if (
|
|
1294
|
+
xmlString.charCodeAt(start + 1) === 0x74 &&
|
|
1295
|
+
xmlString.charCodeAt(start + 2) === CharCodes.SEMI
|
|
1296
|
+
) {
|
|
1297
|
+
consumed = 3;
|
|
1298
|
+
value = c1 === 0x6c ? "<" : ">";
|
|
1299
|
+
}
|
|
1300
|
+
break;
|
|
1301
|
+
}
|
|
1302
|
+
// & / '
|
|
1303
|
+
case 0x61: {
|
|
1304
|
+
const c2 = xmlString.charCodeAt(start + 1);
|
|
1305
|
+
if (
|
|
1306
|
+
c2 === 0x6d &&
|
|
1307
|
+
xmlString.charCodeAt(start + 2) === 0x70 &&
|
|
1308
|
+
xmlString.charCodeAt(start + 3) === CharCodes.SEMI
|
|
1309
|
+
) {
|
|
1310
|
+
consumed = 4;
|
|
1311
|
+
value = "&";
|
|
1312
|
+
} else if (
|
|
1313
|
+
c2 === 0x70 &&
|
|
1314
|
+
xmlString.charCodeAt(start + 2) === 0x6f &&
|
|
1315
|
+
xmlString.charCodeAt(start + 3) === 0x73 &&
|
|
1316
|
+
xmlString.charCodeAt(start + 4) === CharCodes.SEMI
|
|
1317
|
+
) {
|
|
1318
|
+
consumed = 5;
|
|
1319
|
+
value = "'";
|
|
1320
|
+
}
|
|
1321
|
+
break;
|
|
1322
|
+
}
|
|
1323
|
+
// "
|
|
1324
|
+
case 0x71: {
|
|
1325
|
+
if (
|
|
1326
|
+
xmlString.charCodeAt(start + 1) === 0x75 &&
|
|
1327
|
+
xmlString.charCodeAt(start + 2) === 0x6f &&
|
|
1328
|
+
xmlString.charCodeAt(start + 3) === 0x74 &&
|
|
1329
|
+
xmlString.charCodeAt(start + 4) === CharCodes.SEMI
|
|
1330
|
+
) {
|
|
1331
|
+
consumed = 5;
|
|
1332
|
+
value = '"';
|
|
1333
|
+
}
|
|
1334
|
+
break;
|
|
1335
|
+
}
|
|
1336
|
+
}
|
|
1337
|
+
/* eslint-enable unicorn/no-break-in-nested-loop */
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1340
|
+
if (consumed > 0) {
|
|
1341
|
+
if (lastIndex < offset)
|
|
1342
|
+
result += xmlString.slice(lastIndex, offset);
|
|
1343
|
+
result += value;
|
|
1344
|
+
offset = lastIndex = start + consumed;
|
|
1345
|
+
} else {
|
|
1346
|
+
offset = start;
|
|
1347
|
+
}
|
|
1348
|
+
/*
|
|
1349
|
+
* Adjacent entities (`&x;&y;`) are common in entity-dense input;
|
|
1350
|
+
* checking the single character at `lastIndex` first skips the
|
|
1351
|
+
* `indexOf` call (and its per-call overhead) for that case.
|
|
1352
|
+
*/
|
|
1353
|
+
offset =
|
|
1354
|
+
xmlString.charCodeAt(offset) === CharCodes.AMP
|
|
1355
|
+
? offset
|
|
1356
|
+
: xmlString.indexOf("&", offset);
|
|
1357
|
+
} while (offset >= 0);
|
|
1358
|
+
|
|
1359
|
+
return result + xmlString.slice(lastIndex);
|
|
676
1360
|
}
|
|
677
1361
|
|
|
678
1362
|
export {
|
|
679
|
-
decodeCodePoint,
|
|
680
|
-
fromCodePoint,
|
|
681
1363
|
replaceCodePoint,
|
|
1364
|
+
replaceCodePointXML,
|
|
682
1365
|
} from "./decode-codepoint.js";
|
|
683
1366
|
// Re-export for use by eg. htmlparser2
|
|
684
1367
|
export { htmlDecodeTree } from "./generated/decode-data-html.js";
|