From 8c3f54123c31a1769ae5f3c2b1cbe534273fb696 Mon Sep 17 00:00:00 2001
From: * <*>
Date: Fri, 1 Sep 2023 09:10:15 +0800
Subject: [PATCH] Match-id-b825e396966b6401befa20710d950b882786d3b1
---
packages/horizon-request/.eslintrc.js | 59 +
packages/horizon-request/.gitignore | 2 +
packages/horizon-request/.npmignore | 1 +
packages/horizon-request/.prettierrc.js | 17 +
packages/horizon-request/README.md | 1245 +++++++++++++++++
packages/horizon-request/babel.config.js | 18 +
packages/horizon-request/coverage/clover.xml | 6 +
.../coverage/coverage-final.json | 1 +
.../coverage/lcov-report/base.css | 224 +++
.../coverage/lcov-report/block-navigation.js | 87 ++
.../coverage/lcov-report/favicon.png | Bin 0 -> 445 bytes
.../coverage/lcov-report/index.html | 101 ++
.../coverage/lcov-report/prettify.css | 1 +
.../coverage/lcov-report/prettify.js | 2 +
.../lcov-report/sort-arrow-sprite.png | Bin 0 -> 138 bytes
.../coverage/lcov-report/sorter.js | 196 +++
packages/horizon-request/coverage/lcov.info | 0
.../cancelRequest/cancelRequestTest.html | 58 +
.../examples/cancelRequest/cancelStyles.css | 58 +
.../interceptor/interceptorStyles.css | 87 ++
.../examples/interceptor/interceptorTest.html | 104 ++
.../examples/request/downloadTest.html | 10 +
.../examples/request/requestStyles.css | 86 ++
.../examples/request/requestTest.html | 214 +++
.../examples/server/serverTest.mjs | 93 ++
.../horizon-request/examples/useHR/App .jsx | 36 +
.../horizon-request/examples/useHR/index.html | 98 ++
.../horizon-request/examples/useHR/index.jsx | 9 +
packages/horizon-request/index.ts | 57 +
packages/horizon-request/jest.config.cjs | 25 +
packages/horizon-request/nodemon.json | 11 +
packages/horizon-request/package.json | 69 +
.../horizon-request/rollup.config.example.js | 20 +
packages/horizon-request/rollup.config.js | 29 +
packages/horizon-request/src/cancel/Cancel.ts | 11 +
.../horizon-request/src/cancel/CancelError.ts | 12 +
.../horizon-request/src/cancel/CancelToken.ts | 48 +
.../horizon-request/src/cancel/checkCancel.ts | 6 +
.../src/config/defaultConfig.ts | 28 +
.../src/core/HorizonRequest.ts | 211 +++
packages/horizon-request/src/core/HrError.ts | 102 ++
.../horizon-request/src/core/HrHeaders.ts | 227 +++
.../src/core/useHR/HRClient.ts | 146 ++
.../horizon-request/src/core/useHR/useHR.ts | 43 +
.../src/dataTransformers/transformRequest.ts | 68 +
.../src/dataTransformers/transformResponse.ts | 34 +
.../horizon-request/src/horizonRequest.ts | 61 +
.../src/interceptor/InterceptorManager.ts | 45 +
.../interceptor/getRequestInterceptorsInfo.ts | 26 +
.../getResponseInterceptorChain.ts | 13 +
.../src/interceptor/handleAsyncInterceptor.ts | 23 +
.../src/interceptor/handleSyncInterceptor.ts | 41 +
.../src/request/fetchRequest.ts | 166 +++
.../ieCompatibility/CustomAbortController.ts | 19 +
.../ieCompatibility/CustomAbortSignal.ts | 30 +
.../request/ieCompatibility/CustomHeaders.ts | 35 +
.../request/ieCompatibility/CustomResponse.ts | 35 +
.../src/request/ieCompatibility/fetchLike.ts | 33 +
.../src/request/ieFetchRequest.ts | 149 ++
.../src/request/processDownloadProgress.ts | 31 +
.../src/request/processRequest.ts | 54 +
.../src/request/processUploadProgress.ts | 94 ++
.../horizon-request/src/types/interfaces.ts | 282 ++++
packages/horizon-request/src/types/types.ts | 47 +
.../src/utils/commonUtils/utils.ts | 454 ++++++
.../src/utils/configUtils/deepMerge.ts | 34 +
.../src/utils/configUtils/getMergedConfig.ts | 40 +
.../src/utils/dataUtils/getFormData.ts | 19 +
.../src/utils/dataUtils/getJSONByFormData.ts | 28 +
.../src/utils/dataUtils/transformData.ts | 16 +
.../src/utils/headerUtils/checkHeaderName.ts | 5 +
.../utils/headerUtils/convertRawHeaders.ts | 32 +
.../src/utils/headerUtils/deleteHeader.ts | 18 +
.../utils/headerUtils/processValueByParser.ts | 35 +
.../src/utils/instanceUtils/buildInstance.ts | 15 +
.../src/utils/instanceUtils/extendInstance.ts | 11 +
.../unitTest/utils/commonUtils/bind.test.ts | 28 +
.../commonUtils/convertToCamelCase.test.ts | 45 +
.../commonUtils/createTypeChecker.test.ts | 107 ++
.../utils/commonUtils/extendObject.test.ts | 31 +
.../utils/commonUtils/flattenObject.test.ts | 30 +
.../utils/commonUtils/forEach.test.ts | 41 +
.../utils/commonUtils/forEachEntry.test.ts | 34 +
.../commonUtils/getNormalizedValue.test.ts | 20 +
.../commonUtils/getObjectByArray.test.ts | 32 +
.../utils/commonUtils/getObjectKey.test.ts | 23 +
.../utils/commonUtils/getType.test.ts | 38 +
.../commonUtils/objectToQueryString.test.ts | 45 +
.../utils/commonUtils/stringifySafely.test.ts | 33 +
.../utils/commonUtils/toBooleanObject.test.ts | 45 +
.../utils/commonUtils/toJSONSafe.test.ts | 26 +
.../utils/configUtils/deepMerge.test.ts | 26 +
.../utils/configUtils/getMergedConfig.test.ts | 51 +
.../utils/dataUtils/getFormData.test.ts | 52 +
.../utils/dataUtils/getJSONByFormData.test.ts | 31 +
.../utils/dataUtils/parsePath.test.ts | 10 +
.../utils/headerUtils/checkHeaderName.test.ts | 21 +
.../headerUtils/convertRawHeaders.test.ts | 46 +
.../utils/headerUtils/deleteHeader.test.ts | 35 +
.../headerUtils/parseKeyValuePairs.test.ts | 65 +
.../headerUtils/processValueByParser.test.ts | 49 +
packages/horizon-request/tsconfig.json | 20 +
packages/horizon-request/webpack.config.js | 44 +
.../horizon-request/webpack.useHR.config.js | 49 +
104 files changed, 6928 insertions(+)
create mode 100644 packages/horizon-request/.eslintrc.js
create mode 100644 packages/horizon-request/.gitignore
create mode 100644 packages/horizon-request/.npmignore
create mode 100644 packages/horizon-request/.prettierrc.js
create mode 100644 packages/horizon-request/README.md
create mode 100644 packages/horizon-request/babel.config.js
create mode 100644 packages/horizon-request/coverage/clover.xml
create mode 100644 packages/horizon-request/coverage/coverage-final.json
create mode 100644 packages/horizon-request/coverage/lcov-report/base.css
create mode 100644 packages/horizon-request/coverage/lcov-report/block-navigation.js
create mode 100644 packages/horizon-request/coverage/lcov-report/favicon.png
create mode 100644 packages/horizon-request/coverage/lcov-report/index.html
create mode 100644 packages/horizon-request/coverage/lcov-report/prettify.css
create mode 100644 packages/horizon-request/coverage/lcov-report/prettify.js
create mode 100644 packages/horizon-request/coverage/lcov-report/sort-arrow-sprite.png
create mode 100644 packages/horizon-request/coverage/lcov-report/sorter.js
create mode 100644 packages/horizon-request/coverage/lcov.info
create mode 100644 packages/horizon-request/examples/cancelRequest/cancelRequestTest.html
create mode 100644 packages/horizon-request/examples/cancelRequest/cancelStyles.css
create mode 100644 packages/horizon-request/examples/interceptor/interceptorStyles.css
create mode 100644 packages/horizon-request/examples/interceptor/interceptorTest.html
create mode 100644 packages/horizon-request/examples/request/downloadTest.html
create mode 100644 packages/horizon-request/examples/request/requestStyles.css
create mode 100644 packages/horizon-request/examples/request/requestTest.html
create mode 100644 packages/horizon-request/examples/server/serverTest.mjs
create mode 100644 packages/horizon-request/examples/useHR/App .jsx
create mode 100644 packages/horizon-request/examples/useHR/index.html
create mode 100644 packages/horizon-request/examples/useHR/index.jsx
create mode 100644 packages/horizon-request/index.ts
create mode 100644 packages/horizon-request/jest.config.cjs
create mode 100644 packages/horizon-request/nodemon.json
create mode 100644 packages/horizon-request/package.json
create mode 100644 packages/horizon-request/rollup.config.example.js
create mode 100644 packages/horizon-request/rollup.config.js
create mode 100644 packages/horizon-request/src/cancel/Cancel.ts
create mode 100644 packages/horizon-request/src/cancel/CancelError.ts
create mode 100644 packages/horizon-request/src/cancel/CancelToken.ts
create mode 100644 packages/horizon-request/src/cancel/checkCancel.ts
create mode 100644 packages/horizon-request/src/config/defaultConfig.ts
create mode 100644 packages/horizon-request/src/core/HorizonRequest.ts
create mode 100644 packages/horizon-request/src/core/HrError.ts
create mode 100644 packages/horizon-request/src/core/HrHeaders.ts
create mode 100644 packages/horizon-request/src/core/useHR/HRClient.ts
create mode 100644 packages/horizon-request/src/core/useHR/useHR.ts
create mode 100644 packages/horizon-request/src/dataTransformers/transformRequest.ts
create mode 100644 packages/horizon-request/src/dataTransformers/transformResponse.ts
create mode 100644 packages/horizon-request/src/horizonRequest.ts
create mode 100644 packages/horizon-request/src/interceptor/InterceptorManager.ts
create mode 100644 packages/horizon-request/src/interceptor/getRequestInterceptorsInfo.ts
create mode 100644 packages/horizon-request/src/interceptor/getResponseInterceptorChain.ts
create mode 100644 packages/horizon-request/src/interceptor/handleAsyncInterceptor.ts
create mode 100644 packages/horizon-request/src/interceptor/handleSyncInterceptor.ts
create mode 100644 packages/horizon-request/src/request/fetchRequest.ts
create mode 100644 packages/horizon-request/src/request/ieCompatibility/CustomAbortController.ts
create mode 100644 packages/horizon-request/src/request/ieCompatibility/CustomAbortSignal.ts
create mode 100644 packages/horizon-request/src/request/ieCompatibility/CustomHeaders.ts
create mode 100644 packages/horizon-request/src/request/ieCompatibility/CustomResponse.ts
create mode 100644 packages/horizon-request/src/request/ieCompatibility/fetchLike.ts
create mode 100644 packages/horizon-request/src/request/ieFetchRequest.ts
create mode 100644 packages/horizon-request/src/request/processDownloadProgress.ts
create mode 100644 packages/horizon-request/src/request/processRequest.ts
create mode 100644 packages/horizon-request/src/request/processUploadProgress.ts
create mode 100644 packages/horizon-request/src/types/interfaces.ts
create mode 100644 packages/horizon-request/src/types/types.ts
create mode 100644 packages/horizon-request/src/utils/commonUtils/utils.ts
create mode 100644 packages/horizon-request/src/utils/configUtils/deepMerge.ts
create mode 100644 packages/horizon-request/src/utils/configUtils/getMergedConfig.ts
create mode 100644 packages/horizon-request/src/utils/dataUtils/getFormData.ts
create mode 100644 packages/horizon-request/src/utils/dataUtils/getJSONByFormData.ts
create mode 100644 packages/horizon-request/src/utils/dataUtils/transformData.ts
create mode 100644 packages/horizon-request/src/utils/headerUtils/checkHeaderName.ts
create mode 100644 packages/horizon-request/src/utils/headerUtils/convertRawHeaders.ts
create mode 100644 packages/horizon-request/src/utils/headerUtils/deleteHeader.ts
create mode 100644 packages/horizon-request/src/utils/headerUtils/processValueByParser.ts
create mode 100644 packages/horizon-request/src/utils/instanceUtils/buildInstance.ts
create mode 100644 packages/horizon-request/src/utils/instanceUtils/extendInstance.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/bind.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/convertToCamelCase.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/createTypeChecker.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/extendObject.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/flattenObject.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/forEach.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/forEachEntry.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/getNormalizedValue.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/getObjectByArray.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/getObjectKey.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/getType.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/objectToQueryString.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/stringifySafely.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/toBooleanObject.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/commonUtils/toJSONSafe.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/configUtils/deepMerge.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/configUtils/getMergedConfig.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/dataUtils/getFormData.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/dataUtils/getJSONByFormData.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/dataUtils/parsePath.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/headerUtils/checkHeaderName.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/headerUtils/convertRawHeaders.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/headerUtils/deleteHeader.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/headerUtils/parseKeyValuePairs.test.ts
create mode 100644 packages/horizon-request/tests/unitTest/utils/headerUtils/processValueByParser.test.ts
create mode 100644 packages/horizon-request/tsconfig.json
create mode 100644 packages/horizon-request/webpack.config.js
create mode 100644 packages/horizon-request/webpack.useHR.config.js
diff --git a/packages/horizon-request/.eslintrc.js b/packages/horizon-request/.eslintrc.js
new file mode 100644
index 00000000..46f2b651
--- /dev/null
+++ b/packages/horizon-request/.eslintrc.js
@@ -0,0 +1,59 @@
+module.exports = {
+ extends: [
+ 'eslint:recommended',
+ 'plugin:@typescript-eslint/eslint-recommended',
+ 'plugin:@typescript-eslint/recommended',
+ 'prettier',
+ ],
+ root: true,
+
+ plugins: ['jest', 'no-for-of-loops', 'no-function-declare-after-return', 'react', '@typescript-eslint'],
+
+ parser: '@typescript-eslint/parser',
+ parserOptions: {
+ ecmaVersion: 8,
+ sourceType: 'module',
+ ecmaFeatures: {
+ jsx: true,
+ modules: true,
+ experimentalObjectRestSpread: true,
+ },
+ },
+ env: {
+ browser: true,
+ jest: true,
+ node: true,
+ es6: true,
+ },
+ rules: {
+ '@typescript-eslint/no-explicit-any': 'off',
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
+ '@typescript-eslint/no-non-null-assertion': 'off',
+ '@typescript-eslint/no-empty-function': 'off',
+ semi: ['warn', 'always'],
+ quotes: ['warn', 'single'],
+ 'accessor-pairs': 'off',
+ 'brace-style': ['error', '1tbs'],
+ 'func-style': ['warn', 'declaration', { allowArrowFunctions: true }],
+ 'max-lines-per-function': 'off',
+ 'object-curly-newline': 'off',
+ // 尾随逗号
+ 'comma-dangle': ['error', 'only-multiline'],
+ 'prefer-const': 'off',
+ 'no-constant-condition': 'off',
+ 'no-for-of-loops/no-for-of-loops': 'error',
+ 'no-function-declare-after-return/no-function-declare-after-return': 'error',
+ },
+ globals: {
+ isDev: true,
+ isTest: true,
+ },
+ overrides: [
+ {
+ files: ['scripts/__tests__/**/*.js'],
+ globals: {
+ container: true,
+ },
+ },
+ ],
+};
diff --git a/packages/horizon-request/.gitignore b/packages/horizon-request/.gitignore
new file mode 100644
index 00000000..b0a5c349
--- /dev/null
+++ b/packages/horizon-request/.gitignore
@@ -0,0 +1,2 @@
+/node_modules/
+/dist/
diff --git a/packages/horizon-request/.npmignore b/packages/horizon-request/.npmignore
new file mode 100644
index 00000000..b512c09d
--- /dev/null
+++ b/packages/horizon-request/.npmignore
@@ -0,0 +1 @@
+node_modules
\ No newline at end of file
diff --git a/packages/horizon-request/.prettierrc.js b/packages/horizon-request/.prettierrc.js
new file mode 100644
index 00000000..18746c04
--- /dev/null
+++ b/packages/horizon-request/.prettierrc.js
@@ -0,0 +1,17 @@
+'use strict';
+
+module.exports = {
+ printWidth: 120, // 一行120字符数,如果超过会进行换行
+ tabWidth: 2, // tab等2个空格
+ useTabs: false, // 用空格缩进行
+ semi: true, // 行尾使用分号
+ singleQuote: true, // 字符串使用单引号
+ quoteProps: 'as-needed', // 仅在需要时在对象属性添加引号
+ jsxSingleQuote: false, // 在JSX中使用双引号
+ trailingComma: 'es5', // 使用尾逗号(对象、数组等)
+ bracketSpacing: true, // 对象的括号间增加空格
+ bracketSameLine: false, // 将多行JSX元素的>放在最后一行的末尾
+ arrowParens: 'avoid', // 在唯一的arrow函数参数周围省略括号
+ vueIndentScriptAndStyle: false, // 不缩进Vue文件中的
+
+
+
+