@tarojs/api 4.0.0-canary.9 → 4.0.1-alpha.0

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/LICENSE CHANGED
@@ -154,15 +154,8 @@ See `/LICENSE` for details of the license.
154
154
 
155
155
  ==================
156
156
 
157
- MIT (stencil-vue2-output-target):
158
- The following files embed [stencil-vue2-output-target](https://github.com/diondree/stencil-vue2-output-target) MIT:
159
- `/packages/taro-components-library-vue2/src/vue-component-lib/utils.ts`
160
- See `/LICENSE` for details of the license.
161
-
162
- ==================
163
-
164
157
  MIT (weui):
165
- The following files embed [stencil-vue2-output-target](https://github.com/Tencent/weui) MIT:
158
+ The following files embed [weui](https://github.com/Tencent/weui) MIT:
166
159
  `/packages/taro-components/src/components/*.scss`
167
160
  See `/LICENSE.txt` for details of the license.
168
161
 
@@ -172,3 +165,10 @@ Apache-2.0 (intersection-observer):
172
165
  The following files embed [intersection-observer](https://github.com/GoogleChromeLabs/intersection-observer) Apache-2.0:
173
166
  `/packages/taro-api/src/polyfill/intersection-observer.ts`
174
167
  See `/LICENSE.txt` for details of the license.
168
+
169
+ ==================
170
+
171
+ MIT (babel-plugin-jsx-dom-expressions):
172
+ The following files embed [babel-plugin-jsx-dom-expressions](https://github.com/ryansolid/dom-expressions/blob/main/packages/babel-plugin-jsx-dom-expressions) MIT:
173
+ `/packages/babel-plugin-transform-solid-jsx/src/*`
174
+ See `/LICENSE` for details of the license.
package/dist/env.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- declare const ENV_TYPE: {
1
+ export declare const ENV_TYPE: {
2
2
  WEAPP: string;
3
3
  SWAN: string;
4
4
  ALIPAY: string;
@@ -11,5 +11,4 @@ declare const ENV_TYPE: {
11
11
  QUICKAPP: string;
12
12
  HARMONYHYBRID: string;
13
13
  };
14
- declare function getEnv(): string;
15
- export { ENV_TYPE, getEnv };
14
+ export declare function getEnv(): string;
package/dist/env.js CHANGED
@@ -51,3 +51,4 @@ function getEnv() {
51
51
  }
52
52
 
53
53
  export { ENV_TYPE, getEnv };
54
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sources":["../src/env.ts"],"sourcesContent":["export const ENV_TYPE = {\n WEAPP: 'WEAPP',\n SWAN: 'SWAN',\n ALIPAY: 'ALIPAY',\n TT: 'TT',\n QQ: 'QQ',\n JD: 'JD',\n WEB: 'WEB',\n RN: 'RN',\n HARMONY: 'HARMONY',\n QUICKAPP: 'QUICKAPP',\n HARMONYHYBRID: 'HARMONYHYBRID',\n}\n\nexport function getEnv () {\n if (process.env.TARO_ENV === 'weapp') {\n return ENV_TYPE.WEAPP\n } else if (process.env.TARO_ENV === 'alipay') {\n return ENV_TYPE.ALIPAY\n } else if (process.env.TARO_ENV === 'swan') {\n return ENV_TYPE.SWAN\n } else if (process.env.TARO_ENV === 'tt') {\n return ENV_TYPE.TT\n } else if (process.env.TARO_ENV === 'jd') {\n return ENV_TYPE.JD\n } else if (process.env.TARO_ENV === 'qq') {\n return ENV_TYPE.QQ\n } else if (process.env.TARO_ENV === 'harmony-hybrid') {\n return ENV_TYPE.HARMONYHYBRID\n } else if (process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web') {\n return ENV_TYPE.WEB\n } else if (process.env.TARO_ENV === 'rn') {\n return ENV_TYPE.RN\n } else if (process.env.TARO_ENV === 'harmony' || process.env.TARO_PLATFORM === 'harmony') {\n return ENV_TYPE.HARMONY\n } else if (process.env.TARO_ENV === 'quickapp') {\n return ENV_TYPE.QUICKAPP\n } else {\n return process.env.TARO_ENV || 'Unknown'\n }\n}\n"],"names":[],"mappings":"AAAa,MAAA,QAAQ,GAAG;AACtB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,aAAa,EAAE,eAAe;EAC/B;SAEe,MAAM,GAAA;IACpB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE;QACpC,OAAO,QAAQ,CAAC,KAAK,CAAA;KACtB;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE;QAC5C,OAAO,QAAQ,CAAC,MAAM,CAAA;KACvB;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;QAC1C,OAAO,QAAQ,CAAC,IAAI,CAAA;KACrB;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE;QACxC,OAAO,QAAQ,CAAC,EAAE,CAAA;KACnB;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE;QACxC,OAAO,QAAQ,CAAC,EAAE,CAAA;KACnB;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE;QACxC,OAAO,QAAQ,CAAC,EAAE,CAAA;KACnB;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,gBAAgB,EAAE;QACpD,OAAO,QAAQ,CAAC,aAAa,CAAA;KAC9B;AAAM,SAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,EAAE;QAC/E,OAAO,QAAQ,CAAC,GAAG,CAAA;KACpB;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,EAAE;QACxC,OAAO,QAAQ,CAAC,EAAE,CAAA;KACnB;AAAM,SAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE;QACxF,OAAO,QAAQ,CAAC,OAAO,CAAA;KACxB;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE;QAC9C,OAAO,QAAQ,CAAC,QAAQ,CAAA;KACzB;SAAM;AACL,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAA;KACzC;AACH;;;;"}
package/dist/index.cjs.js CHANGED
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var runtime = require('@tarojs/runtime');
4
6
  var shared = require('@tarojs/shared');
5
7
 
@@ -152,9 +154,9 @@ function logInterceptor(chain) {
152
154
  }
153
155
 
154
156
  var interceptors = /*#__PURE__*/Object.freeze({
155
- __proto__: null,
156
- logInterceptor: logInterceptor,
157
- timeoutInterceptor: timeoutInterceptor
157
+ __proto__: null,
158
+ logInterceptor: logInterceptor,
159
+ timeoutInterceptor: timeoutInterceptor
158
160
  });
159
161
 
160
162
  function Behavior(options) {
@@ -194,9 +196,9 @@ function getPxTransform(taro) {
194
196
  const config = taro.config || {};
195
197
  const baseFontSize = config.baseFontSize;
196
198
  const deviceRatio = config.deviceRatio || defaultDesignRatio;
197
- const designWidth = (((input = 0) => shared.isFunction(config.designWidth)
199
+ const designWidth = ((input = 0) => shared.isFunction(config.designWidth)
198
200
  ? config.designWidth(input)
199
- : config.designWidth || defaultDesignWidth))(size);
201
+ : config.designWidth || defaultDesignWidth)(size);
200
202
  if (!(designWidth in deviceRatio)) {
201
203
  throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`);
202
204
  }
@@ -240,4 +242,5 @@ Taro.initPxTransform = getInitPxTransform(Taro);
240
242
  Taro.preload = getPreload(runtime.Current);
241
243
  Taro.pxTransform = getPxTransform(Taro);
242
244
 
243
- module.exports = Taro;
245
+ exports.default = Taro;
246
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/env.ts","../src/interceptor/chain.ts","../src/interceptor/index.ts","../src/interceptor/interceptors.ts","../src/tools.ts","../src/index.ts"],"sourcesContent":["export const ENV_TYPE = {\n WEAPP: 'WEAPP',\n SWAN: 'SWAN',\n ALIPAY: 'ALIPAY',\n TT: 'TT',\n QQ: 'QQ',\n JD: 'JD',\n WEB: 'WEB',\n RN: 'RN',\n HARMONY: 'HARMONY',\n QUICKAPP: 'QUICKAPP',\n HARMONYHYBRID: 'HARMONYHYBRID',\n}\n\nexport function getEnv () {\n if (process.env.TARO_ENV === 'weapp') {\n return ENV_TYPE.WEAPP\n } else if (process.env.TARO_ENV === 'alipay') {\n return ENV_TYPE.ALIPAY\n } else if (process.env.TARO_ENV === 'swan') {\n return ENV_TYPE.SWAN\n } else if (process.env.TARO_ENV === 'tt') {\n return ENV_TYPE.TT\n } else if (process.env.TARO_ENV === 'jd') {\n return ENV_TYPE.JD\n } else if (process.env.TARO_ENV === 'qq') {\n return ENV_TYPE.QQ\n } else if (process.env.TARO_ENV === 'harmony-hybrid') {\n return ENV_TYPE.HARMONYHYBRID\n } else if (process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web') {\n return ENV_TYPE.WEB\n } else if (process.env.TARO_ENV === 'rn') {\n return ENV_TYPE.RN\n } else if (process.env.TARO_ENV === 'harmony' || process.env.TARO_PLATFORM === 'harmony') {\n return ENV_TYPE.HARMONY\n } else if (process.env.TARO_ENV === 'quickapp') {\n return ENV_TYPE.QUICKAPP\n } else {\n return process.env.TARO_ENV || 'Unknown'\n }\n}\n","import { isFunction } from '@tarojs/shared'\n\nexport type TInterceptor = (c: Chain) => Promise<void>\n\nexport interface IRequestParams {\n timeout?: number\n method?: string\n url?: string\n data?: unknown\n}\n\nexport default class Chain {\n index: number\n requestParams: IRequestParams\n interceptors: TInterceptor[]\n\n constructor (requestParams?: IRequestParams, interceptors?: TInterceptor[], index?: number) {\n this.index = index || 0\n this.requestParams = requestParams || {}\n this.interceptors = interceptors || []\n }\n\n proceed (requestParams: IRequestParams = {}) {\n this.requestParams = requestParams\n if (this.index >= this.interceptors.length) {\n throw new Error('chain 参数错误, 请勿直接修改 request.chain')\n }\n const nextInterceptor = this._getNextInterceptor()\n const nextChain = this._getNextChain()\n const p = nextInterceptor(nextChain)\n const res = p.catch(err => Promise.reject(err))\n Object.keys(p).forEach(k => isFunction(p[k]) && (res[k] = p[k]))\n return res\n }\n\n _getNextInterceptor () {\n return this.interceptors[this.index]\n }\n\n _getNextChain () {\n return new Chain(this.requestParams, this.interceptors, this.index + 1)\n }\n}\n","import Chain from './chain'\n\nimport type { IRequestParams, TInterceptor } from './chain'\n\nexport default class Link {\n taroInterceptor: TInterceptor\n chain: Chain\n\n constructor (interceptor: TInterceptor) {\n this.taroInterceptor = interceptor\n this.chain = new Chain()\n }\n\n request (requestParams: IRequestParams) {\n const chain = this.chain\n const taroInterceptor = this.taroInterceptor\n\n chain.interceptors = chain.interceptors\n .filter(interceptor => interceptor !== taroInterceptor)\n .concat(taroInterceptor)\n\n return chain.proceed({ ...requestParams })\n }\n\n addInterceptor (interceptor: TInterceptor) {\n this.chain.interceptors.push(interceptor)\n }\n\n cleanInterceptors () {\n this.chain = new Chain()\n }\n}\n\nexport function interceptorify (promiseifyApi) {\n return new Link(function (chain) {\n return promiseifyApi(chain.requestParams)\n })\n}\n","import { isFunction, isUndefined } from '@tarojs/shared'\n\nimport type Chain from './chain'\n\nexport function timeoutInterceptor (chain: Chain) {\n const requestParams = chain.requestParams\n let p: Promise<void>\n const res = new Promise<void>((resolve, reject) => {\n const timeout: ReturnType<typeof setTimeout> = setTimeout(() => {\n clearTimeout(timeout)\n reject(new Error('网络链接超时,请稍后再试!'))\n }, (requestParams && requestParams.timeout) || 60000)\n\n p = chain.proceed(requestParams)\n p\n .then(res => {\n if (!timeout) return\n clearTimeout(timeout)\n resolve(res)\n })\n .catch(err => {\n timeout && clearTimeout(timeout)\n reject(err)\n })\n })\n // @ts-ignore\n if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n\nexport function logInterceptor (chain: Chain) {\n const requestParams = chain.requestParams\n const { method, data, url } = requestParams\n\n // eslint-disable-next-line no-console\n console.log(`http ${method || 'GET'} --> ${url} data: `, data)\n\n const p = chain.proceed(requestParams)\n const res = p\n .then(res => {\n // eslint-disable-next-line no-console\n console.log(`http <-- ${url} result:`, res)\n return res\n })\n // @ts-ignore\n if (isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n","import { isFunction, isObject } from '@tarojs/shared'\n\nexport function Behavior (options) {\n return options\n}\n\nexport function getPreload (current) {\n return function (key: any, val: unknown) {\n current.preloadData = isObject(key)\n ? key\n : {\n [key]: val\n }\n }\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'rpx'\n\nexport function getInitPxTransform (taro) {\n return function (config) {\n const {\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n targetUnit = defaultTargetUnit,\n unitPrecision = defaultUnitPrecision,\n } = config\n taro.config = taro.config || {}\n taro.config.designWidth = designWidth\n taro.config.deviceRatio = deviceRatio\n taro.config.baseFontSize = baseFontSize\n taro.config.targetUnit = targetUnit\n taro.config.unitPrecision = unitPrecision\n }\n}\n\nexport function getPxTransform (taro) {\n return function (size) {\n const config = taro.config || {}\n const baseFontSize = config.baseFontSize\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n const designWidth = ((input = 0) => isFunction(config.designWidth)\n ? config.designWidth(input)\n : config.designWidth || defaultDesignWidth)(size)\n if (!(designWidth in deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n const targetUnit = config.targetUnit || defaultTargetUnit\n const unitPrecision = config.unitPrecision || defaultUnitPrecision\n const formatSize = ~~size\n let rootValue = 1 / deviceRatio[designWidth]\n switch (targetUnit) {\n case 'rem':\n rootValue *= baseFontSize * 2\n break\n case 'px':\n rootValue *= 2\n break\n }\n let val = formatSize / rootValue\n if (unitPrecision >= 0 && unitPrecision <= 100) {\n val = Number(val.toFixed(unitPrecision))\n }\n return val + targetUnit\n }\n}\n","/* eslint-disable camelcase */\nimport {\n Current,\n eventCenter,\n Events,\n getCurrentInstance,\n nextTick,\n options\n} from '@tarojs/runtime'\n\nimport { ENV_TYPE, getEnv } from './env'\nimport Link, { interceptorify } from './interceptor'\nimport * as interceptors from './interceptor/interceptors'\nimport {\n Behavior,\n getInitPxTransform,\n getPreload,\n getPxTransform,\n} from './tools'\n\nconst Taro: Record<string, unknown> = {\n Behavior,\n getEnv,\n ENV_TYPE,\n Link,\n interceptors,\n Current,\n getCurrentInstance,\n options,\n nextTick,\n eventCenter,\n Events,\n getInitPxTransform,\n interceptorify\n}\n\nTaro.initPxTransform = getInitPxTransform(Taro)\nTaro.preload = getPreload(Current)\nTaro.pxTransform = getPxTransform(Taro)\n\nexport default Taro\n"],"names":["isFunction","isUndefined","isObject","Current","getCurrentInstance","options","nextTick","eventCenter","Events"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  declare const Taro: Record<string, unknown>;
2
- export { Taro as default };
2
+ export default Taro;
package/dist/index.esm.js CHANGED
@@ -150,9 +150,9 @@ function logInterceptor(chain) {
150
150
  }
151
151
 
152
152
  var interceptors = /*#__PURE__*/Object.freeze({
153
- __proto__: null,
154
- logInterceptor: logInterceptor,
155
- timeoutInterceptor: timeoutInterceptor
153
+ __proto__: null,
154
+ logInterceptor: logInterceptor,
155
+ timeoutInterceptor: timeoutInterceptor
156
156
  });
157
157
 
158
158
  function Behavior(options) {
@@ -192,9 +192,9 @@ function getPxTransform(taro) {
192
192
  const config = taro.config || {};
193
193
  const baseFontSize = config.baseFontSize;
194
194
  const deviceRatio = config.deviceRatio || defaultDesignRatio;
195
- const designWidth = (((input = 0) => isFunction(config.designWidth)
195
+ const designWidth = ((input = 0) => isFunction(config.designWidth)
196
196
  ? config.designWidth(input)
197
- : config.designWidth || defaultDesignWidth))(size);
197
+ : config.designWidth || defaultDesignWidth)(size);
198
198
  if (!(designWidth in deviceRatio)) {
199
199
  throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`);
200
200
  }
@@ -239,3 +239,4 @@ Taro.preload = getPreload(Current);
239
239
  Taro.pxTransform = getPxTransform(Taro);
240
240
 
241
241
  export { Taro as default };
242
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../src/env.ts","../src/interceptor/chain.ts","../src/interceptor/index.ts","../src/interceptor/interceptors.ts","../src/tools.ts","../src/index.ts"],"sourcesContent":["export const ENV_TYPE = {\n WEAPP: 'WEAPP',\n SWAN: 'SWAN',\n ALIPAY: 'ALIPAY',\n TT: 'TT',\n QQ: 'QQ',\n JD: 'JD',\n WEB: 'WEB',\n RN: 'RN',\n HARMONY: 'HARMONY',\n QUICKAPP: 'QUICKAPP',\n HARMONYHYBRID: 'HARMONYHYBRID',\n}\n\nexport function getEnv () {\n if (process.env.TARO_ENV === 'weapp') {\n return ENV_TYPE.WEAPP\n } else if (process.env.TARO_ENV === 'alipay') {\n return ENV_TYPE.ALIPAY\n } else if (process.env.TARO_ENV === 'swan') {\n return ENV_TYPE.SWAN\n } else if (process.env.TARO_ENV === 'tt') {\n return ENV_TYPE.TT\n } else if (process.env.TARO_ENV === 'jd') {\n return ENV_TYPE.JD\n } else if (process.env.TARO_ENV === 'qq') {\n return ENV_TYPE.QQ\n } else if (process.env.TARO_ENV === 'harmony-hybrid') {\n return ENV_TYPE.HARMONYHYBRID\n } else if (process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web') {\n return ENV_TYPE.WEB\n } else if (process.env.TARO_ENV === 'rn') {\n return ENV_TYPE.RN\n } else if (process.env.TARO_ENV === 'harmony' || process.env.TARO_PLATFORM === 'harmony') {\n return ENV_TYPE.HARMONY\n } else if (process.env.TARO_ENV === 'quickapp') {\n return ENV_TYPE.QUICKAPP\n } else {\n return process.env.TARO_ENV || 'Unknown'\n }\n}\n","import { isFunction } from '@tarojs/shared'\n\nexport type TInterceptor = (c: Chain) => Promise<void>\n\nexport interface IRequestParams {\n timeout?: number\n method?: string\n url?: string\n data?: unknown\n}\n\nexport default class Chain {\n index: number\n requestParams: IRequestParams\n interceptors: TInterceptor[]\n\n constructor (requestParams?: IRequestParams, interceptors?: TInterceptor[], index?: number) {\n this.index = index || 0\n this.requestParams = requestParams || {}\n this.interceptors = interceptors || []\n }\n\n proceed (requestParams: IRequestParams = {}) {\n this.requestParams = requestParams\n if (this.index >= this.interceptors.length) {\n throw new Error('chain 参数错误, 请勿直接修改 request.chain')\n }\n const nextInterceptor = this._getNextInterceptor()\n const nextChain = this._getNextChain()\n const p = nextInterceptor(nextChain)\n const res = p.catch(err => Promise.reject(err))\n Object.keys(p).forEach(k => isFunction(p[k]) && (res[k] = p[k]))\n return res\n }\n\n _getNextInterceptor () {\n return this.interceptors[this.index]\n }\n\n _getNextChain () {\n return new Chain(this.requestParams, this.interceptors, this.index + 1)\n }\n}\n","import Chain from './chain'\n\nimport type { IRequestParams, TInterceptor } from './chain'\n\nexport default class Link {\n taroInterceptor: TInterceptor\n chain: Chain\n\n constructor (interceptor: TInterceptor) {\n this.taroInterceptor = interceptor\n this.chain = new Chain()\n }\n\n request (requestParams: IRequestParams) {\n const chain = this.chain\n const taroInterceptor = this.taroInterceptor\n\n chain.interceptors = chain.interceptors\n .filter(interceptor => interceptor !== taroInterceptor)\n .concat(taroInterceptor)\n\n return chain.proceed({ ...requestParams })\n }\n\n addInterceptor (interceptor: TInterceptor) {\n this.chain.interceptors.push(interceptor)\n }\n\n cleanInterceptors () {\n this.chain = new Chain()\n }\n}\n\nexport function interceptorify (promiseifyApi) {\n return new Link(function (chain) {\n return promiseifyApi(chain.requestParams)\n })\n}\n","import { isFunction, isUndefined } from '@tarojs/shared'\n\nimport type Chain from './chain'\n\nexport function timeoutInterceptor (chain: Chain) {\n const requestParams = chain.requestParams\n let p: Promise<void>\n const res = new Promise<void>((resolve, reject) => {\n const timeout: ReturnType<typeof setTimeout> = setTimeout(() => {\n clearTimeout(timeout)\n reject(new Error('网络链接超时,请稍后再试!'))\n }, (requestParams && requestParams.timeout) || 60000)\n\n p = chain.proceed(requestParams)\n p\n .then(res => {\n if (!timeout) return\n clearTimeout(timeout)\n resolve(res)\n })\n .catch(err => {\n timeout && clearTimeout(timeout)\n reject(err)\n })\n })\n // @ts-ignore\n if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n\nexport function logInterceptor (chain: Chain) {\n const requestParams = chain.requestParams\n const { method, data, url } = requestParams\n\n // eslint-disable-next-line no-console\n console.log(`http ${method || 'GET'} --> ${url} data: `, data)\n\n const p = chain.proceed(requestParams)\n const res = p\n .then(res => {\n // eslint-disable-next-line no-console\n console.log(`http <-- ${url} result:`, res)\n return res\n })\n // @ts-ignore\n if (isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n","import { isFunction, isObject } from '@tarojs/shared'\n\nexport function Behavior (options) {\n return options\n}\n\nexport function getPreload (current) {\n return function (key: any, val: unknown) {\n current.preloadData = isObject(key)\n ? key\n : {\n [key]: val\n }\n }\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'rpx'\n\nexport function getInitPxTransform (taro) {\n return function (config) {\n const {\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n targetUnit = defaultTargetUnit,\n unitPrecision = defaultUnitPrecision,\n } = config\n taro.config = taro.config || {}\n taro.config.designWidth = designWidth\n taro.config.deviceRatio = deviceRatio\n taro.config.baseFontSize = baseFontSize\n taro.config.targetUnit = targetUnit\n taro.config.unitPrecision = unitPrecision\n }\n}\n\nexport function getPxTransform (taro) {\n return function (size) {\n const config = taro.config || {}\n const baseFontSize = config.baseFontSize\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n const designWidth = ((input = 0) => isFunction(config.designWidth)\n ? config.designWidth(input)\n : config.designWidth || defaultDesignWidth)(size)\n if (!(designWidth in deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n const targetUnit = config.targetUnit || defaultTargetUnit\n const unitPrecision = config.unitPrecision || defaultUnitPrecision\n const formatSize = ~~size\n let rootValue = 1 / deviceRatio[designWidth]\n switch (targetUnit) {\n case 'rem':\n rootValue *= baseFontSize * 2\n break\n case 'px':\n rootValue *= 2\n break\n }\n let val = formatSize / rootValue\n if (unitPrecision >= 0 && unitPrecision <= 100) {\n val = Number(val.toFixed(unitPrecision))\n }\n return val + targetUnit\n }\n}\n","/* eslint-disable camelcase */\nimport {\n Current,\n eventCenter,\n Events,\n getCurrentInstance,\n nextTick,\n options\n} from '@tarojs/runtime'\n\nimport { ENV_TYPE, getEnv } from './env'\nimport Link, { interceptorify } from './interceptor'\nimport * as interceptors from './interceptor/interceptors'\nimport {\n Behavior,\n getInitPxTransform,\n getPreload,\n getPxTransform,\n} from './tools'\n\nconst Taro: Record<string, unknown> = {\n Behavior,\n getEnv,\n ENV_TYPE,\n Link,\n interceptors,\n Current,\n getCurrentInstance,\n options,\n nextTick,\n eventCenter,\n Events,\n getInitPxTransform,\n interceptorify\n}\n\nTaro.initPxTransform = getInitPxTransform(Taro)\nTaro.preload = getPreload(Current)\nTaro.pxTransform = getPxTransform(Taro)\n\nexport default Taro\n"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -25,3 +25,4 @@ Taro.preload = getPreload(Current);
25
25
  Taro.pxTransform = getPxTransform(Taro);
26
26
 
27
27
  export { Taro as default };
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport {\n Current,\n eventCenter,\n Events,\n getCurrentInstance,\n nextTick,\n options\n} from '@tarojs/runtime'\n\nimport { ENV_TYPE, getEnv } from './env'\nimport Link, { interceptorify } from './interceptor'\nimport * as interceptors from './interceptor/interceptors'\nimport {\n Behavior,\n getInitPxTransform,\n getPreload,\n getPxTransform,\n} from './tools'\n\nconst Taro: Record<string, unknown> = {\n Behavior,\n getEnv,\n ENV_TYPE,\n Link,\n interceptors,\n Current,\n getCurrentInstance,\n options,\n nextTick,\n eventCenter,\n Events,\n getInitPxTransform,\n interceptorify\n}\n\nTaro.initPxTransform = getInitPxTransform(Taro)\nTaro.preload = getPreload(Current)\nTaro.pxTransform = getPxTransform(Taro)\n\nexport default Taro\n"],"names":[],"mappings":";;;;;;AAAA;AAoBA,MAAM,IAAI,GAA4B;IACpC,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,YAAY;IACZ,OAAO;IACP,kBAAkB;IAClB,OAAO;IACP,QAAQ;IACR,WAAW;IACX,MAAM;IACN,kBAAkB;IAClB,cAAc;EACf;AAED,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAC/C,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;AAClC,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC;;;;"}
@@ -1,11 +1,11 @@
1
- type TInterceptor = (c: Chain) => Promise<void>;
2
- interface IRequestParams {
1
+ export type TInterceptor = (c: Chain) => Promise<void>;
2
+ export interface IRequestParams {
3
3
  timeout?: number;
4
4
  method?: string;
5
5
  url?: string;
6
6
  data?: unknown;
7
7
  }
8
- declare class Chain {
8
+ export default class Chain {
9
9
  index: number;
10
10
  requestParams: IRequestParams;
11
11
  interceptors: TInterceptor[];
@@ -14,4 +14,3 @@ declare class Chain {
14
14
  _getNextInterceptor(): TInterceptor;
15
15
  _getNextChain(): Chain;
16
16
  }
17
- export { TInterceptor, IRequestParams, Chain as default };
@@ -27,3 +27,4 @@ class Chain {
27
27
  }
28
28
 
29
29
  export { Chain as default };
30
+ //# sourceMappingURL=chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.js","sources":["../../src/interceptor/chain.ts"],"sourcesContent":["import { isFunction } from '@tarojs/shared'\n\nexport type TInterceptor = (c: Chain) => Promise<void>\n\nexport interface IRequestParams {\n timeout?: number\n method?: string\n url?: string\n data?: unknown\n}\n\nexport default class Chain {\n index: number\n requestParams: IRequestParams\n interceptors: TInterceptor[]\n\n constructor (requestParams?: IRequestParams, interceptors?: TInterceptor[], index?: number) {\n this.index = index || 0\n this.requestParams = requestParams || {}\n this.interceptors = interceptors || []\n }\n\n proceed (requestParams: IRequestParams = {}) {\n this.requestParams = requestParams\n if (this.index >= this.interceptors.length) {\n throw new Error('chain 参数错误, 请勿直接修改 request.chain')\n }\n const nextInterceptor = this._getNextInterceptor()\n const nextChain = this._getNextChain()\n const p = nextInterceptor(nextChain)\n const res = p.catch(err => Promise.reject(err))\n Object.keys(p).forEach(k => isFunction(p[k]) && (res[k] = p[k]))\n return res\n }\n\n _getNextInterceptor () {\n return this.interceptors[this.index]\n }\n\n _getNextChain () {\n return new Chain(this.requestParams, this.interceptors, this.index + 1)\n }\n}\n"],"names":[],"mappings":";;AAWc,MAAO,KAAK,CAAA;AAKxB,IAAA,WAAA,CAAa,aAA8B,EAAE,YAA6B,EAAE,KAAc,EAAA;AACxF,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,CAAA;AACvB,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,EAAE,CAAA;AACxC,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,EAAE,CAAA;KACvC;IAED,OAAO,CAAE,gBAAgC,EAAE,EAAA;AACzC,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AAC1C,YAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;SACpD;AACD,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAA;AAClD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;AACtC,QAAA,MAAM,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AACpC,QAAA,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AAC/C,QAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAChE,QAAA,OAAO,GAAG,CAAA;KACX;IAED,mBAAmB,GAAA;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACrC;IAED,aAAa,GAAA;AACX,QAAA,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;KACxE;AACF;;;;"}
@@ -1,6 +1,6 @@
1
- import Chain from "./chain.js";
2
- import { IRequestParams, TInterceptor } from "./chain.js";
3
- declare class Link {
1
+ import Chain from './chain';
2
+ import type { IRequestParams, TInterceptor } from './chain';
3
+ export default class Link {
4
4
  taroInterceptor: TInterceptor;
5
5
  chain: Chain;
6
6
  constructor(interceptor: TInterceptor);
@@ -8,5 +8,4 @@ declare class Link {
8
8
  addInterceptor(interceptor: TInterceptor): void;
9
9
  cleanInterceptors(): void;
10
10
  }
11
- declare function interceptorify(promiseifyApi: any): Link;
12
- export { Link as default, interceptorify };
11
+ export declare function interceptorify(promiseifyApi: any): Link;
@@ -27,3 +27,4 @@ function interceptorify(promiseifyApi) {
27
27
  }
28
28
 
29
29
  export { Link as default, interceptorify };
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/interceptor/index.ts"],"sourcesContent":["import Chain from './chain'\n\nimport type { IRequestParams, TInterceptor } from './chain'\n\nexport default class Link {\n taroInterceptor: TInterceptor\n chain: Chain\n\n constructor (interceptor: TInterceptor) {\n this.taroInterceptor = interceptor\n this.chain = new Chain()\n }\n\n request (requestParams: IRequestParams) {\n const chain = this.chain\n const taroInterceptor = this.taroInterceptor\n\n chain.interceptors = chain.interceptors\n .filter(interceptor => interceptor !== taroInterceptor)\n .concat(taroInterceptor)\n\n return chain.proceed({ ...requestParams })\n }\n\n addInterceptor (interceptor: TInterceptor) {\n this.chain.interceptors.push(interceptor)\n }\n\n cleanInterceptors () {\n this.chain = new Chain()\n }\n}\n\nexport function interceptorify (promiseifyApi) {\n return new Link(function (chain) {\n return promiseifyApi(chain.requestParams)\n })\n}\n"],"names":[],"mappings":";;AAIc,MAAO,IAAI,CAAA;AAIvB,IAAA,WAAA,CAAa,WAAyB,EAAA;AACpC,QAAA,IAAI,CAAC,eAAe,GAAG,WAAW,CAAA;AAClC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;KACzB;AAED,IAAA,OAAO,CAAE,aAA6B,EAAA;AACpC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;AACxB,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAA;AAE5C,QAAA,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY;aACpC,MAAM,CAAC,WAAW,IAAI,WAAW,KAAK,eAAe,CAAC;aACtD,MAAM,CAAC,eAAe,CAAC,CAAA;AAE1B,QAAA,OAAO,KAAK,CAAC,OAAO,CAAM,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,aAAa,EAAG,CAAA;KAC3C;AAED,IAAA,cAAc,CAAE,WAAyB,EAAA;QACvC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;KAC1C;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;KACzB;AACF,CAAA;AAEK,SAAU,cAAc,CAAE,aAAa,EAAA;AAC3C,IAAA,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,EAAA;AAC7B,QAAA,OAAO,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;AAC3C,KAAC,CAAC,CAAA;AACJ;;;;"}
@@ -1,4 +1,3 @@
1
- import Chain from "./chain.js";
2
- declare function timeoutInterceptor(chain: Chain): Promise<void>;
3
- declare function logInterceptor(chain: Chain): Promise<void>;
4
- export { timeoutInterceptor, logInterceptor };
1
+ import type Chain from './chain';
2
+ export declare function timeoutInterceptor(chain: Chain): Promise<void>;
3
+ export declare function logInterceptor(chain: Chain): Promise<void>;
@@ -45,3 +45,4 @@ function logInterceptor(chain) {
45
45
  }
46
46
 
47
47
  export { logInterceptor, timeoutInterceptor };
48
+ //# sourceMappingURL=interceptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interceptors.js","sources":["../../src/interceptor/interceptors.ts"],"sourcesContent":["import { isFunction, isUndefined } from '@tarojs/shared'\n\nimport type Chain from './chain'\n\nexport function timeoutInterceptor (chain: Chain) {\n const requestParams = chain.requestParams\n let p: Promise<void>\n const res = new Promise<void>((resolve, reject) => {\n const timeout: ReturnType<typeof setTimeout> = setTimeout(() => {\n clearTimeout(timeout)\n reject(new Error('网络链接超时,请稍后再试!'))\n }, (requestParams && requestParams.timeout) || 60000)\n\n p = chain.proceed(requestParams)\n p\n .then(res => {\n if (!timeout) return\n clearTimeout(timeout)\n resolve(res)\n })\n .catch(err => {\n timeout && clearTimeout(timeout)\n reject(err)\n })\n })\n // @ts-ignore\n if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n\nexport function logInterceptor (chain: Chain) {\n const requestParams = chain.requestParams\n const { method, data, url } = requestParams\n\n // eslint-disable-next-line no-console\n console.log(`http ${method || 'GET'} --> ${url} data: `, data)\n\n const p = chain.proceed(requestParams)\n const res = p\n .then(res => {\n // eslint-disable-next-line no-console\n console.log(`http <-- ${url} result:`, res)\n return res\n })\n // @ts-ignore\n if (isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n"],"names":[],"mappings":";;AAIM,SAAU,kBAAkB,CAAE,KAAY,EAAA;AAC9C,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAA;AACzC,IAAA,IAAI,CAAgB,CAAA;IACpB,MAAM,GAAG,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;AAChD,QAAA,MAAM,OAAO,GAAkC,UAAU,CAAC,MAAK;YAC7D,YAAY,CAAC,OAAO,CAAC,CAAA;AACrB,YAAA,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAA;SACnC,EAAE,CAAC,aAAa,IAAI,aAAa,CAAC,OAAO,KAAK,KAAK,CAAC,CAAA;AAErD,QAAA,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAChC,CAAC;aACE,IAAI,CAAC,GAAG,IAAG;AACV,YAAA,IAAI,CAAC,OAAO;gBAAE,OAAM;YACpB,YAAY,CAAC,OAAO,CAAC,CAAA;YACrB,OAAO,CAAC,GAAG,CAAC,CAAA;AACd,SAAC,CAAC;aACD,KAAK,CAAC,GAAG,IAAG;AACX,YAAA,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAA;YAChC,MAAM,CAAC,GAAG,CAAC,CAAA;AACb,SAAC,CAAC,CAAA;AACN,KAAC,CAAC,CAAA;;IAEF,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;AAAE,QAAA,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;AAE/D,IAAA,OAAO,GAAG,CAAA;AACZ,CAAC;AAEK,SAAU,cAAc,CAAE,KAAY,EAAA;AAC1C,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAA;IACzC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,aAAa,CAAA;;AAG3C,IAAA,OAAO,CAAC,GAAG,CAAC,CAAA,KAAA,EAAQ,MAAM,IAAI,KAAK,CAAA,KAAA,EAAQ,GAAG,CAAA,OAAA,CAAS,EAAE,IAAI,CAAC,CAAA;IAE9D,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IACtC,MAAM,GAAG,GAAG,CAAC;SACV,IAAI,CAAC,GAAG,IAAG;;QAEV,OAAO,CAAC,GAAG,CAAC,CAAA,SAAA,EAAY,GAAG,CAAU,QAAA,CAAA,EAAE,GAAG,CAAC,CAAA;AAC3C,QAAA,OAAO,GAAG,CAAA;AACZ,KAAC,CAAC,CAAA;;AAEJ,IAAA,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;AAAE,QAAA,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;AAE5C,IAAA,OAAO,GAAG,CAAA;AACZ;;;;"}
package/dist/taro.js CHANGED
@@ -1,246 +1,249 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@tarojs/runtime'), require('@tarojs/shared')) :
3
- typeof define === 'function' && define.amd ? define(['@tarojs/runtime', '@tarojs/shared'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Taro = factory(global.runtime, global.shared));
5
- })(this, (function (runtime, shared) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@tarojs/runtime'), require('@tarojs/shared')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', '@tarojs/runtime', '@tarojs/shared'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Taro = {}, global.runtime, global.shared));
5
+ })(this, (function (exports, runtime, shared) { 'use strict';
6
6
 
7
- const ENV_TYPE = {
8
- WEAPP: 'WEAPP',
9
- SWAN: 'SWAN',
10
- ALIPAY: 'ALIPAY',
11
- TT: 'TT',
12
- QQ: 'QQ',
13
- JD: 'JD',
14
- WEB: 'WEB',
15
- RN: 'RN',
16
- HARMONY: 'HARMONY',
17
- QUICKAPP: 'QUICKAPP',
18
- HARMONYHYBRID: 'HARMONYHYBRID',
19
- };
20
- function getEnv() {
21
- if (process.env.TARO_ENV === 'weapp') {
22
- return ENV_TYPE.WEAPP;
23
- }
24
- else if (process.env.TARO_ENV === 'alipay') {
25
- return ENV_TYPE.ALIPAY;
26
- }
27
- else if (process.env.TARO_ENV === 'swan') {
28
- return ENV_TYPE.SWAN;
29
- }
30
- else if (process.env.TARO_ENV === 'tt') {
31
- return ENV_TYPE.TT;
32
- }
33
- else if (process.env.TARO_ENV === 'jd') {
34
- return ENV_TYPE.JD;
35
- }
36
- else if (process.env.TARO_ENV === 'qq') {
37
- return ENV_TYPE.QQ;
38
- }
39
- else if (process.env.TARO_ENV === 'harmony-hybrid') {
40
- return ENV_TYPE.HARMONYHYBRID;
41
- }
42
- else if (process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web') {
43
- return ENV_TYPE.WEB;
44
- }
45
- else if (process.env.TARO_ENV === 'rn') {
46
- return ENV_TYPE.RN;
47
- }
48
- else if (process.env.TARO_ENV === 'harmony' || process.env.TARO_PLATFORM === 'harmony') {
49
- return ENV_TYPE.HARMONY;
50
- }
51
- else if (process.env.TARO_ENV === 'quickapp') {
52
- return ENV_TYPE.QUICKAPP;
53
- }
54
- else {
55
- return process.env.TARO_ENV || 'Unknown';
56
- }
57
- }
7
+ const ENV_TYPE = {
8
+ WEAPP: 'WEAPP',
9
+ SWAN: 'SWAN',
10
+ ALIPAY: 'ALIPAY',
11
+ TT: 'TT',
12
+ QQ: 'QQ',
13
+ JD: 'JD',
14
+ WEB: 'WEB',
15
+ RN: 'RN',
16
+ HARMONY: 'HARMONY',
17
+ QUICKAPP: 'QUICKAPP',
18
+ HARMONYHYBRID: 'HARMONYHYBRID',
19
+ };
20
+ function getEnv() {
21
+ if (process.env.TARO_ENV === 'weapp') {
22
+ return ENV_TYPE.WEAPP;
23
+ }
24
+ else if (process.env.TARO_ENV === 'alipay') {
25
+ return ENV_TYPE.ALIPAY;
26
+ }
27
+ else if (process.env.TARO_ENV === 'swan') {
28
+ return ENV_TYPE.SWAN;
29
+ }
30
+ else if (process.env.TARO_ENV === 'tt') {
31
+ return ENV_TYPE.TT;
32
+ }
33
+ else if (process.env.TARO_ENV === 'jd') {
34
+ return ENV_TYPE.JD;
35
+ }
36
+ else if (process.env.TARO_ENV === 'qq') {
37
+ return ENV_TYPE.QQ;
38
+ }
39
+ else if (process.env.TARO_ENV === 'harmony-hybrid') {
40
+ return ENV_TYPE.HARMONYHYBRID;
41
+ }
42
+ else if (process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web') {
43
+ return ENV_TYPE.WEB;
44
+ }
45
+ else if (process.env.TARO_ENV === 'rn') {
46
+ return ENV_TYPE.RN;
47
+ }
48
+ else if (process.env.TARO_ENV === 'harmony' || process.env.TARO_PLATFORM === 'harmony') {
49
+ return ENV_TYPE.HARMONY;
50
+ }
51
+ else if (process.env.TARO_ENV === 'quickapp') {
52
+ return ENV_TYPE.QUICKAPP;
53
+ }
54
+ else {
55
+ return process.env.TARO_ENV || 'Unknown';
56
+ }
57
+ }
58
58
 
59
- class Chain {
60
- constructor(requestParams, interceptors, index) {
61
- this.index = index || 0;
62
- this.requestParams = requestParams || {};
63
- this.interceptors = interceptors || [];
64
- }
65
- proceed(requestParams = {}) {
66
- this.requestParams = requestParams;
67
- if (this.index >= this.interceptors.length) {
68
- throw new Error('chain 参数错误, 请勿直接修改 request.chain');
69
- }
70
- const nextInterceptor = this._getNextInterceptor();
71
- const nextChain = this._getNextChain();
72
- const p = nextInterceptor(nextChain);
73
- const res = p.catch(err => Promise.reject(err));
74
- Object.keys(p).forEach(k => shared.isFunction(p[k]) && (res[k] = p[k]));
75
- return res;
76
- }
77
- _getNextInterceptor() {
78
- return this.interceptors[this.index];
79
- }
80
- _getNextChain() {
81
- return new Chain(this.requestParams, this.interceptors, this.index + 1);
82
- }
83
- }
59
+ class Chain {
60
+ constructor(requestParams, interceptors, index) {
61
+ this.index = index || 0;
62
+ this.requestParams = requestParams || {};
63
+ this.interceptors = interceptors || [];
64
+ }
65
+ proceed(requestParams = {}) {
66
+ this.requestParams = requestParams;
67
+ if (this.index >= this.interceptors.length) {
68
+ throw new Error('chain 参数错误, 请勿直接修改 request.chain');
69
+ }
70
+ const nextInterceptor = this._getNextInterceptor();
71
+ const nextChain = this._getNextChain();
72
+ const p = nextInterceptor(nextChain);
73
+ const res = p.catch(err => Promise.reject(err));
74
+ Object.keys(p).forEach(k => shared.isFunction(p[k]) && (res[k] = p[k]));
75
+ return res;
76
+ }
77
+ _getNextInterceptor() {
78
+ return this.interceptors[this.index];
79
+ }
80
+ _getNextChain() {
81
+ return new Chain(this.requestParams, this.interceptors, this.index + 1);
82
+ }
83
+ }
84
84
 
85
- class Link {
86
- constructor(interceptor) {
87
- this.taroInterceptor = interceptor;
88
- this.chain = new Chain();
89
- }
90
- request(requestParams) {
91
- const chain = this.chain;
92
- const taroInterceptor = this.taroInterceptor;
93
- chain.interceptors = chain.interceptors
94
- .filter(interceptor => interceptor !== taroInterceptor)
95
- .concat(taroInterceptor);
96
- return chain.proceed(Object.assign({}, requestParams));
97
- }
98
- addInterceptor(interceptor) {
99
- this.chain.interceptors.push(interceptor);
100
- }
101
- cleanInterceptors() {
102
- this.chain = new Chain();
103
- }
104
- }
105
- function interceptorify(promiseifyApi) {
106
- return new Link(function (chain) {
107
- return promiseifyApi(chain.requestParams);
108
- });
109
- }
85
+ class Link {
86
+ constructor(interceptor) {
87
+ this.taroInterceptor = interceptor;
88
+ this.chain = new Chain();
89
+ }
90
+ request(requestParams) {
91
+ const chain = this.chain;
92
+ const taroInterceptor = this.taroInterceptor;
93
+ chain.interceptors = chain.interceptors
94
+ .filter(interceptor => interceptor !== taroInterceptor)
95
+ .concat(taroInterceptor);
96
+ return chain.proceed(Object.assign({}, requestParams));
97
+ }
98
+ addInterceptor(interceptor) {
99
+ this.chain.interceptors.push(interceptor);
100
+ }
101
+ cleanInterceptors() {
102
+ this.chain = new Chain();
103
+ }
104
+ }
105
+ function interceptorify(promiseifyApi) {
106
+ return new Link(function (chain) {
107
+ return promiseifyApi(chain.requestParams);
108
+ });
109
+ }
110
110
 
111
- function timeoutInterceptor(chain) {
112
- const requestParams = chain.requestParams;
113
- let p;
114
- const res = new Promise((resolve, reject) => {
115
- const timeout = setTimeout(() => {
116
- clearTimeout(timeout);
117
- reject(new Error('网络链接超时,请稍后再试!'));
118
- }, (requestParams && requestParams.timeout) || 60000);
119
- p = chain.proceed(requestParams);
120
- p
121
- .then(res => {
122
- if (!timeout)
123
- return;
124
- clearTimeout(timeout);
125
- resolve(res);
126
- })
127
- .catch(err => {
128
- timeout && clearTimeout(timeout);
129
- reject(err);
130
- });
131
- });
132
- // @ts-ignore
133
- if (!shared.isUndefined(p) && shared.isFunction(p.abort))
134
- res.abort = p.abort;
135
- return res;
136
- }
137
- function logInterceptor(chain) {
138
- const requestParams = chain.requestParams;
139
- const { method, data, url } = requestParams;
140
- // eslint-disable-next-line no-console
141
- console.log(`http ${method || 'GET'} --> ${url} data: `, data);
142
- const p = chain.proceed(requestParams);
143
- const res = p
144
- .then(res => {
145
- // eslint-disable-next-line no-console
146
- console.log(`http <-- ${url} result:`, res);
147
- return res;
148
- });
149
- // @ts-ignore
150
- if (shared.isFunction(p.abort))
151
- res.abort = p.abort;
152
- return res;
153
- }
111
+ function timeoutInterceptor(chain) {
112
+ const requestParams = chain.requestParams;
113
+ let p;
114
+ const res = new Promise((resolve, reject) => {
115
+ const timeout = setTimeout(() => {
116
+ clearTimeout(timeout);
117
+ reject(new Error('网络链接超时,请稍后再试!'));
118
+ }, (requestParams && requestParams.timeout) || 60000);
119
+ p = chain.proceed(requestParams);
120
+ p
121
+ .then(res => {
122
+ if (!timeout)
123
+ return;
124
+ clearTimeout(timeout);
125
+ resolve(res);
126
+ })
127
+ .catch(err => {
128
+ timeout && clearTimeout(timeout);
129
+ reject(err);
130
+ });
131
+ });
132
+ // @ts-ignore
133
+ if (!shared.isUndefined(p) && shared.isFunction(p.abort))
134
+ res.abort = p.abort;
135
+ return res;
136
+ }
137
+ function logInterceptor(chain) {
138
+ const requestParams = chain.requestParams;
139
+ const { method, data, url } = requestParams;
140
+ // eslint-disable-next-line no-console
141
+ console.log(`http ${method || 'GET'} --> ${url} data: `, data);
142
+ const p = chain.proceed(requestParams);
143
+ const res = p
144
+ .then(res => {
145
+ // eslint-disable-next-line no-console
146
+ console.log(`http <-- ${url} result:`, res);
147
+ return res;
148
+ });
149
+ // @ts-ignore
150
+ if (shared.isFunction(p.abort))
151
+ res.abort = p.abort;
152
+ return res;
153
+ }
154
154
 
155
- var interceptors = /*#__PURE__*/Object.freeze({
156
- __proto__: null,
157
- logInterceptor: logInterceptor,
158
- timeoutInterceptor: timeoutInterceptor
159
- });
155
+ var interceptors = /*#__PURE__*/Object.freeze({
156
+ __proto__: null,
157
+ logInterceptor: logInterceptor,
158
+ timeoutInterceptor: timeoutInterceptor
159
+ });
160
160
 
161
- function Behavior(options) {
162
- return options;
163
- }
164
- function getPreload(current) {
165
- return function (key, val) {
166
- current.preloadData = shared.isObject(key)
167
- ? key
168
- : {
169
- [key]: val
170
- };
171
- };
172
- }
173
- const defaultDesignWidth = 750;
174
- const defaultDesignRatio = {
175
- 640: 2.34 / 2,
176
- 750: 1,
177
- 828: 1.81 / 2
178
- };
179
- const defaultBaseFontSize = 20;
180
- const defaultUnitPrecision = 5;
181
- const defaultTargetUnit = 'rpx';
182
- function getInitPxTransform(taro) {
183
- return function (config) {
184
- const { designWidth = defaultDesignWidth, deviceRatio = defaultDesignRatio, baseFontSize = defaultBaseFontSize, targetUnit = defaultTargetUnit, unitPrecision = defaultUnitPrecision, } = config;
185
- taro.config = taro.config || {};
186
- taro.config.designWidth = designWidth;
187
- taro.config.deviceRatio = deviceRatio;
188
- taro.config.baseFontSize = baseFontSize;
189
- taro.config.targetUnit = targetUnit;
190
- taro.config.unitPrecision = unitPrecision;
191
- };
192
- }
193
- function getPxTransform(taro) {
194
- return function (size) {
195
- const config = taro.config || {};
196
- const baseFontSize = config.baseFontSize;
197
- const deviceRatio = config.deviceRatio || defaultDesignRatio;
198
- const designWidth = (((input = 0) => shared.isFunction(config.designWidth)
199
- ? config.designWidth(input)
200
- : config.designWidth || defaultDesignWidth))(size);
201
- if (!(designWidth in deviceRatio)) {
202
- throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`);
203
- }
204
- const targetUnit = config.targetUnit || defaultTargetUnit;
205
- const unitPrecision = config.unitPrecision || defaultUnitPrecision;
206
- const formatSize = ~~size;
207
- let rootValue = 1 / deviceRatio[designWidth];
208
- switch (targetUnit) {
209
- case 'rem':
210
- rootValue *= baseFontSize * 2;
211
- break;
212
- case 'px':
213
- rootValue *= 2;
214
- break;
215
- }
216
- let val = formatSize / rootValue;
217
- if (unitPrecision >= 0 && unitPrecision <= 100) {
218
- val = Number(val.toFixed(unitPrecision));
219
- }
220
- return val + targetUnit;
221
- };
222
- }
161
+ function Behavior(options) {
162
+ return options;
163
+ }
164
+ function getPreload(current) {
165
+ return function (key, val) {
166
+ current.preloadData = shared.isObject(key)
167
+ ? key
168
+ : {
169
+ [key]: val
170
+ };
171
+ };
172
+ }
173
+ const defaultDesignWidth = 750;
174
+ const defaultDesignRatio = {
175
+ 640: 2.34 / 2,
176
+ 750: 1,
177
+ 828: 1.81 / 2
178
+ };
179
+ const defaultBaseFontSize = 20;
180
+ const defaultUnitPrecision = 5;
181
+ const defaultTargetUnit = 'rpx';
182
+ function getInitPxTransform(taro) {
183
+ return function (config) {
184
+ const { designWidth = defaultDesignWidth, deviceRatio = defaultDesignRatio, baseFontSize = defaultBaseFontSize, targetUnit = defaultTargetUnit, unitPrecision = defaultUnitPrecision, } = config;
185
+ taro.config = taro.config || {};
186
+ taro.config.designWidth = designWidth;
187
+ taro.config.deviceRatio = deviceRatio;
188
+ taro.config.baseFontSize = baseFontSize;
189
+ taro.config.targetUnit = targetUnit;
190
+ taro.config.unitPrecision = unitPrecision;
191
+ };
192
+ }
193
+ function getPxTransform(taro) {
194
+ return function (size) {
195
+ const config = taro.config || {};
196
+ const baseFontSize = config.baseFontSize;
197
+ const deviceRatio = config.deviceRatio || defaultDesignRatio;
198
+ const designWidth = ((input = 0) => shared.isFunction(config.designWidth)
199
+ ? config.designWidth(input)
200
+ : config.designWidth || defaultDesignWidth)(size);
201
+ if (!(designWidth in deviceRatio)) {
202
+ throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`);
203
+ }
204
+ const targetUnit = config.targetUnit || defaultTargetUnit;
205
+ const unitPrecision = config.unitPrecision || defaultUnitPrecision;
206
+ const formatSize = ~~size;
207
+ let rootValue = 1 / deviceRatio[designWidth];
208
+ switch (targetUnit) {
209
+ case 'rem':
210
+ rootValue *= baseFontSize * 2;
211
+ break;
212
+ case 'px':
213
+ rootValue *= 2;
214
+ break;
215
+ }
216
+ let val = formatSize / rootValue;
217
+ if (unitPrecision >= 0 && unitPrecision <= 100) {
218
+ val = Number(val.toFixed(unitPrecision));
219
+ }
220
+ return val + targetUnit;
221
+ };
222
+ }
223
223
 
224
- /* eslint-disable camelcase */
225
- const Taro = {
226
- Behavior,
227
- getEnv,
228
- ENV_TYPE,
229
- Link,
230
- interceptors,
231
- Current: runtime.Current,
232
- getCurrentInstance: runtime.getCurrentInstance,
233
- options: runtime.options,
234
- nextTick: runtime.nextTick,
235
- eventCenter: runtime.eventCenter,
236
- Events: runtime.Events,
237
- getInitPxTransform,
238
- interceptorify
239
- };
240
- Taro.initPxTransform = getInitPxTransform(Taro);
241
- Taro.preload = getPreload(runtime.Current);
242
- Taro.pxTransform = getPxTransform(Taro);
224
+ /* eslint-disable camelcase */
225
+ const Taro = {
226
+ Behavior,
227
+ getEnv,
228
+ ENV_TYPE,
229
+ Link,
230
+ interceptors,
231
+ Current: runtime.Current,
232
+ getCurrentInstance: runtime.getCurrentInstance,
233
+ options: runtime.options,
234
+ nextTick: runtime.nextTick,
235
+ eventCenter: runtime.eventCenter,
236
+ Events: runtime.Events,
237
+ getInitPxTransform,
238
+ interceptorify
239
+ };
240
+ Taro.initPxTransform = getInitPxTransform(Taro);
241
+ Taro.preload = getPreload(runtime.Current);
242
+ Taro.pxTransform = getPxTransform(Taro);
243
243
 
244
- return Taro;
244
+ exports.default = Taro;
245
+
246
+ Object.defineProperty(exports, '__esModule', { value: true });
245
247
 
246
248
  }));
249
+ //# sourceMappingURL=taro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taro.js","sources":["../src/env.ts","../src/interceptor/chain.ts","../src/interceptor/index.ts","../src/interceptor/interceptors.ts","../src/tools.ts","../src/index.ts"],"sourcesContent":["export const ENV_TYPE = {\n WEAPP: 'WEAPP',\n SWAN: 'SWAN',\n ALIPAY: 'ALIPAY',\n TT: 'TT',\n QQ: 'QQ',\n JD: 'JD',\n WEB: 'WEB',\n RN: 'RN',\n HARMONY: 'HARMONY',\n QUICKAPP: 'QUICKAPP',\n HARMONYHYBRID: 'HARMONYHYBRID',\n}\n\nexport function getEnv () {\n if (process.env.TARO_ENV === 'weapp') {\n return ENV_TYPE.WEAPP\n } else if (process.env.TARO_ENV === 'alipay') {\n return ENV_TYPE.ALIPAY\n } else if (process.env.TARO_ENV === 'swan') {\n return ENV_TYPE.SWAN\n } else if (process.env.TARO_ENV === 'tt') {\n return ENV_TYPE.TT\n } else if (process.env.TARO_ENV === 'jd') {\n return ENV_TYPE.JD\n } else if (process.env.TARO_ENV === 'qq') {\n return ENV_TYPE.QQ\n } else if (process.env.TARO_ENV === 'harmony-hybrid') {\n return ENV_TYPE.HARMONYHYBRID\n } else if (process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web') {\n return ENV_TYPE.WEB\n } else if (process.env.TARO_ENV === 'rn') {\n return ENV_TYPE.RN\n } else if (process.env.TARO_ENV === 'harmony' || process.env.TARO_PLATFORM === 'harmony') {\n return ENV_TYPE.HARMONY\n } else if (process.env.TARO_ENV === 'quickapp') {\n return ENV_TYPE.QUICKAPP\n } else {\n return process.env.TARO_ENV || 'Unknown'\n }\n}\n","import { isFunction } from '@tarojs/shared'\n\nexport type TInterceptor = (c: Chain) => Promise<void>\n\nexport interface IRequestParams {\n timeout?: number\n method?: string\n url?: string\n data?: unknown\n}\n\nexport default class Chain {\n index: number\n requestParams: IRequestParams\n interceptors: TInterceptor[]\n\n constructor (requestParams?: IRequestParams, interceptors?: TInterceptor[], index?: number) {\n this.index = index || 0\n this.requestParams = requestParams || {}\n this.interceptors = interceptors || []\n }\n\n proceed (requestParams: IRequestParams = {}) {\n this.requestParams = requestParams\n if (this.index >= this.interceptors.length) {\n throw new Error('chain 参数错误, 请勿直接修改 request.chain')\n }\n const nextInterceptor = this._getNextInterceptor()\n const nextChain = this._getNextChain()\n const p = nextInterceptor(nextChain)\n const res = p.catch(err => Promise.reject(err))\n Object.keys(p).forEach(k => isFunction(p[k]) && (res[k] = p[k]))\n return res\n }\n\n _getNextInterceptor () {\n return this.interceptors[this.index]\n }\n\n _getNextChain () {\n return new Chain(this.requestParams, this.interceptors, this.index + 1)\n }\n}\n","import Chain from './chain'\n\nimport type { IRequestParams, TInterceptor } from './chain'\n\nexport default class Link {\n taroInterceptor: TInterceptor\n chain: Chain\n\n constructor (interceptor: TInterceptor) {\n this.taroInterceptor = interceptor\n this.chain = new Chain()\n }\n\n request (requestParams: IRequestParams) {\n const chain = this.chain\n const taroInterceptor = this.taroInterceptor\n\n chain.interceptors = chain.interceptors\n .filter(interceptor => interceptor !== taroInterceptor)\n .concat(taroInterceptor)\n\n return chain.proceed({ ...requestParams })\n }\n\n addInterceptor (interceptor: TInterceptor) {\n this.chain.interceptors.push(interceptor)\n }\n\n cleanInterceptors () {\n this.chain = new Chain()\n }\n}\n\nexport function interceptorify (promiseifyApi) {\n return new Link(function (chain) {\n return promiseifyApi(chain.requestParams)\n })\n}\n","import { isFunction, isUndefined } from '@tarojs/shared'\n\nimport type Chain from './chain'\n\nexport function timeoutInterceptor (chain: Chain) {\n const requestParams = chain.requestParams\n let p: Promise<void>\n const res = new Promise<void>((resolve, reject) => {\n const timeout: ReturnType<typeof setTimeout> = setTimeout(() => {\n clearTimeout(timeout)\n reject(new Error('网络链接超时,请稍后再试!'))\n }, (requestParams && requestParams.timeout) || 60000)\n\n p = chain.proceed(requestParams)\n p\n .then(res => {\n if (!timeout) return\n clearTimeout(timeout)\n resolve(res)\n })\n .catch(err => {\n timeout && clearTimeout(timeout)\n reject(err)\n })\n })\n // @ts-ignore\n if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n\nexport function logInterceptor (chain: Chain) {\n const requestParams = chain.requestParams\n const { method, data, url } = requestParams\n\n // eslint-disable-next-line no-console\n console.log(`http ${method || 'GET'} --> ${url} data: `, data)\n\n const p = chain.proceed(requestParams)\n const res = p\n .then(res => {\n // eslint-disable-next-line no-console\n console.log(`http <-- ${url} result:`, res)\n return res\n })\n // @ts-ignore\n if (isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n","import { isFunction, isObject } from '@tarojs/shared'\n\nexport function Behavior (options) {\n return options\n}\n\nexport function getPreload (current) {\n return function (key: any, val: unknown) {\n current.preloadData = isObject(key)\n ? key\n : {\n [key]: val\n }\n }\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'rpx'\n\nexport function getInitPxTransform (taro) {\n return function (config) {\n const {\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n targetUnit = defaultTargetUnit,\n unitPrecision = defaultUnitPrecision,\n } = config\n taro.config = taro.config || {}\n taro.config.designWidth = designWidth\n taro.config.deviceRatio = deviceRatio\n taro.config.baseFontSize = baseFontSize\n taro.config.targetUnit = targetUnit\n taro.config.unitPrecision = unitPrecision\n }\n}\n\nexport function getPxTransform (taro) {\n return function (size) {\n const config = taro.config || {}\n const baseFontSize = config.baseFontSize\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n const designWidth = ((input = 0) => isFunction(config.designWidth)\n ? config.designWidth(input)\n : config.designWidth || defaultDesignWidth)(size)\n if (!(designWidth in deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n const targetUnit = config.targetUnit || defaultTargetUnit\n const unitPrecision = config.unitPrecision || defaultUnitPrecision\n const formatSize = ~~size\n let rootValue = 1 / deviceRatio[designWidth]\n switch (targetUnit) {\n case 'rem':\n rootValue *= baseFontSize * 2\n break\n case 'px':\n rootValue *= 2\n break\n }\n let val = formatSize / rootValue\n if (unitPrecision >= 0 && unitPrecision <= 100) {\n val = Number(val.toFixed(unitPrecision))\n }\n return val + targetUnit\n }\n}\n","/* eslint-disable camelcase */\nimport {\n Current,\n eventCenter,\n Events,\n getCurrentInstance,\n nextTick,\n options\n} from '@tarojs/runtime'\n\nimport { ENV_TYPE, getEnv } from './env'\nimport Link, { interceptorify } from './interceptor'\nimport * as interceptors from './interceptor/interceptors'\nimport {\n Behavior,\n getInitPxTransform,\n getPreload,\n getPxTransform,\n} from './tools'\n\nconst Taro: Record<string, unknown> = {\n Behavior,\n getEnv,\n ENV_TYPE,\n Link,\n interceptors,\n Current,\n getCurrentInstance,\n options,\n nextTick,\n eventCenter,\n Events,\n getInitPxTransform,\n interceptorify\n}\n\nTaro.initPxTransform = getInitPxTransform(Taro)\nTaro.preload = getPreload(Current)\nTaro.pxTransform = getPxTransform(Taro)\n\nexport default Taro\n"],"names":["isFunction","isUndefined","isObject","Current","getCurrentInstance","options","nextTick","eventCenter","Events"],"mappings":"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"}
package/dist/tools.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- declare function Behavior(options: any): any;
2
- declare function getPreload(current: any): (key: string | Record<string, unknown>, val: unknown) => void;
3
- declare function getInitPxTransform(taro: any): (config: any) => void;
4
- declare function getPxTransform(taro: any): (size: any) => any;
5
- export { Behavior, getPreload, getInitPxTransform, getPxTransform };
1
+ export declare function Behavior(options: any): any;
2
+ export declare function getPreload(current: any): (key: any, val: unknown) => void;
3
+ export declare function getInitPxTransform(taro: any): (config: any) => void;
4
+ export declare function getPxTransform(taro: any): (size: any) => any;
package/dist/tools.js CHANGED
@@ -37,9 +37,9 @@ function getPxTransform(taro) {
37
37
  const config = taro.config || {};
38
38
  const baseFontSize = config.baseFontSize;
39
39
  const deviceRatio = config.deviceRatio || defaultDesignRatio;
40
- const designWidth = (((input = 0) => isFunction(config.designWidth)
40
+ const designWidth = ((input = 0) => isFunction(config.designWidth)
41
41
  ? config.designWidth(input)
42
- : config.designWidth || defaultDesignWidth))(size);
42
+ : config.designWidth || defaultDesignWidth)(size);
43
43
  if (!(designWidth in deviceRatio)) {
44
44
  throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`);
45
45
  }
@@ -64,3 +64,4 @@ function getPxTransform(taro) {
64
64
  }
65
65
 
66
66
  export { Behavior, getInitPxTransform, getPreload, getPxTransform };
67
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sources":["../src/tools.ts"],"sourcesContent":["import { isFunction, isObject } from '@tarojs/shared'\n\nexport function Behavior (options) {\n return options\n}\n\nexport function getPreload (current) {\n return function (key: any, val: unknown) {\n current.preloadData = isObject(key)\n ? key\n : {\n [key]: val\n }\n }\n}\n\nconst defaultDesignWidth = 750\nconst defaultDesignRatio = {\n 640: 2.34 / 2,\n 750: 1,\n 828: 1.81 / 2\n}\nconst defaultBaseFontSize = 20\nconst defaultUnitPrecision = 5\nconst defaultTargetUnit = 'rpx'\n\nexport function getInitPxTransform (taro) {\n return function (config) {\n const {\n designWidth = defaultDesignWidth,\n deviceRatio = defaultDesignRatio,\n baseFontSize = defaultBaseFontSize,\n targetUnit = defaultTargetUnit,\n unitPrecision = defaultUnitPrecision,\n } = config\n taro.config = taro.config || {}\n taro.config.designWidth = designWidth\n taro.config.deviceRatio = deviceRatio\n taro.config.baseFontSize = baseFontSize\n taro.config.targetUnit = targetUnit\n taro.config.unitPrecision = unitPrecision\n }\n}\n\nexport function getPxTransform (taro) {\n return function (size) {\n const config = taro.config || {}\n const baseFontSize = config.baseFontSize\n const deviceRatio = config.deviceRatio || defaultDesignRatio\n const designWidth = ((input = 0) => isFunction(config.designWidth)\n ? config.designWidth(input)\n : config.designWidth || defaultDesignWidth)(size)\n if (!(designWidth in deviceRatio)) {\n throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`)\n }\n const targetUnit = config.targetUnit || defaultTargetUnit\n const unitPrecision = config.unitPrecision || defaultUnitPrecision\n const formatSize = ~~size\n let rootValue = 1 / deviceRatio[designWidth]\n switch (targetUnit) {\n case 'rem':\n rootValue *= baseFontSize * 2\n break\n case 'px':\n rootValue *= 2\n break\n }\n let val = formatSize / rootValue\n if (unitPrecision >= 0 && unitPrecision <= 100) {\n val = Number(val.toFixed(unitPrecision))\n }\n return val + targetUnit\n }\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "name": "@tarojs/api",
3
- "version": "4.0.0-canary.9",
3
+ "version": "4.0.1-alpha.0",
4
4
  "description": "Taro common API",
5
- "author": "yuche <i@yuche.me>",
6
- "homepage": "https://github.com/nervjs/taro/tree/master/packages/api#readme",
5
+ "author": "O2Team",
7
6
  "license": "MIT",
8
7
  "browser": "dist/index.js",
9
8
  "main:h5": "dist/index.esm.js",
@@ -24,32 +23,27 @@
24
23
  "bugs": {
25
24
  "url": "https://github.com/NervJS/taro/issues"
26
25
  },
27
- "dependencies": {
28
- "@babel/runtime": "^7.14.5",
29
- "@tarojs/runtime": "4.0.0-canary.9",
30
- "@tarojs/shared": "4.0.0-canary.9"
26
+ "engines": {
27
+ "node": ">= 18"
31
28
  },
32
29
  "devDependencies": {
33
- "@babel/core": "^7.14.5",
34
- "@rollup/plugin-babel": "^6.0.4",
35
- "@rollup/plugin-commonjs": "^25.0.7",
36
- "@rollup/plugin-node-resolve": "^15.2.3",
37
- "@rollup/plugin-typescript": "^11.1.0",
38
- "jest": "^29.3.1",
39
- "jest-cli": "^29.3.1",
40
- "jest-environment-node": "^29.5.0",
41
- "rollup": "^3.8.1",
42
- "rollup-plugin-node-externals": "^5.0.0",
43
- "rollup-plugin-ts": "^3.0.2",
44
- "ts-jest": "^29.0.5",
45
- "typescript": "^4.7.4"
30
+ "lodash": "4.17.21",
31
+ "@tarojs/runtime": "4.0.1-alpha.0",
32
+ "@tarojs/shared": "4.0.1-alpha.0"
33
+ },
34
+ "peerDependencies": {
35
+ "@tarojs/runtime": "4.0.1-alpha.0",
36
+ "@tarojs/shared": "4.0.1-alpha.0"
46
37
  },
47
38
  "scripts": {
39
+ "prod": "pnpm run build",
48
40
  "prebuild": "pnpm run clean",
49
41
  "build": "pnpm run rollup --environment NODE_ENV:production",
50
42
  "clean": "rimraf ./dist",
51
43
  "dev": "pnpm run rollup --environment NODE_ENV:development -w",
52
- "rollup": "rollup --config rollup.config.ts --configPlugin @rollup/plugin-typescript --bundleConfigAsCjs",
53
- "test": "cross-env NODE_ENV=test jest --ci"
44
+ "rollup": "rollup --config rollup.config.ts --configPlugin typescript",
45
+ "test": "cross-env NODE_ENV=test jest",
46
+ "test:ci": "cross-env NODE_ENV=test jest --ci -i --coverage --silent",
47
+ "test:dev": "cross-env NODE_ENV=test jest --watch"
54
48
  }
55
49
  }
@@ -1,2 +0,0 @@
1
- declare const Taro: Record<string, unknown>;
2
- export { Taro as default };
@@ -1,2 +0,0 @@
1
- declare const Taro: Record<string, unknown>;
2
- export { Taro as default };
package/dist/taro.d.ts DELETED
@@ -1,2 +0,0 @@
1
- declare const Taro: Record<string, unknown>;
2
- export { Taro as default };