@tarojs/api 4.0.0-canary.8 → 4.0.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/dist/index.esm.js CHANGED
@@ -1,342 +1,238 @@
1
- import _typeof from '@babel/runtime/helpers/typeof';
2
1
  import { Current, getCurrentInstance, options, nextTick, eventCenter, Events } from '@tarojs/runtime';
3
- import { isWebPlatform } from '@tarojs/shared';
4
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
5
- import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
6
- import _createClass from '@babel/runtime/helpers/createClass';
7
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { isFunction, isUndefined, isObject } from '@tarojs/shared';
8
3
 
9
- function isFunction(x) {
10
- return typeof x === 'function';
11
- }
12
- function isUndefined(x) {
13
- return typeof x === 'undefined';
14
- }
15
- function isObject(x) {
16
- return x && _typeof(x) === 'object';
17
- }
18
-
19
- var isBadObj = function isBadObj(x) {
20
- return !isObject(x);
4
+ const ENV_TYPE = {
5
+ WEAPP: 'WEAPP',
6
+ SWAN: 'SWAN',
7
+ ALIPAY: 'ALIPAY',
8
+ TT: 'TT',
9
+ QQ: 'QQ',
10
+ JD: 'JD',
11
+ WEB: 'WEB',
12
+ RN: 'RN',
13
+ HARMONY: 'HARMONY',
14
+ QUICKAPP: 'QUICKAPP',
15
+ HARMONYHYBRID: 'HARMONYHYBRID',
21
16
  };
22
- function throwTypeError(s) {
23
- throw new TypeError(s);
24
- }
25
- if (!isFunction(Object.assign)) {
26
- // Must be writable: true, enumerable: false, configurable: true
27
- Object.assign = function (target) {
28
- // .length of function is 2
29
- if (target == null) {
30
- // TypeError if undefined or null
31
- throwTypeError('Cannot convert undefined or null to object');
17
+ function getEnv() {
18
+ if (process.env.TARO_ENV === 'weapp') {
19
+ return ENV_TYPE.WEAPP;
32
20
  }
33
- var to = Object(target);
34
- for (var index = 1; index < arguments.length; index++) {
35
- var nextSource = arguments[index];
36
- if (nextSource != null) {
37
- // Skip over if undefined or null
38
- for (var nextKey in nextSource) {
39
- // Avoid bugs when hasOwnProperty is shadowed
40
- if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
41
- to[nextKey] = nextSource[nextKey];
42
- }
43
- }
44
- }
21
+ else if (process.env.TARO_ENV === 'alipay') {
22
+ return ENV_TYPE.ALIPAY;
45
23
  }
46
- return to;
47
- };
48
- }
49
- if (!isFunction(Object.defineProperties)) {
50
- Object.defineProperties = function (obj, properties) {
51
- function convertToDescriptor(desc) {
52
- function hasProperty(obj, prop) {
53
- return Object.prototype.hasOwnProperty.call(obj, prop);
54
- }
55
- if (isBadObj(desc)) {
56
- throwTypeError('bad desc');
57
- }
58
- var d = {};
59
- if (hasProperty(desc, 'enumerable')) d.enumerable = !!desc.enumerable;
60
- if (hasProperty(desc, 'configurable')) {
61
- d.configurable = !!desc.configurable;
62
- }
63
- if (hasProperty(desc, 'value')) d.value = desc.value;
64
- if (hasProperty(desc, 'writable')) d.writable = !!desc.writable;
65
- if (hasProperty(desc, 'get')) {
66
- var g = desc.get;
67
- if (!isFunction(g) && !isUndefined(g)) {
68
- throwTypeError('bad get');
69
- }
70
- d.get = g;
71
- }
72
- if (hasProperty(desc, 'set')) {
73
- var s = desc.set;
74
- if (!isFunction(s) && !isUndefined(s)) {
75
- throwTypeError('bad set');
76
- }
77
- d.set = s;
78
- }
79
- if (('get' in d || 'set' in d) && ('value' in d || 'writable' in d)) {
80
- throwTypeError('identity-confused descriptor');
81
- }
82
- return d;
24
+ else if (process.env.TARO_ENV === 'swan') {
25
+ return ENV_TYPE.SWAN;
83
26
  }
84
- if (isBadObj(obj)) throwTypeError('bad obj');
85
- properties = Object(properties);
86
- var keys = Object.keys(properties);
87
- var descs = [];
88
- for (var i = 0; i < keys.length; i++) {
89
- descs.push([keys[i], convertToDescriptor(properties[keys[i]])]);
27
+ else if (process.env.TARO_ENV === 'tt') {
28
+ return ENV_TYPE.TT;
90
29
  }
91
- for (var _i = 0; _i < descs.length; _i++) {
92
- Object.defineProperty(obj, descs[_i][0], descs[_i][1]);
30
+ else if (process.env.TARO_ENV === 'jd') {
31
+ return ENV_TYPE.JD;
32
+ }
33
+ else if (process.env.TARO_ENV === 'qq') {
34
+ return ENV_TYPE.QQ;
35
+ }
36
+ else if (process.env.TARO_ENV === 'harmony-hybrid') {
37
+ return ENV_TYPE.HARMONYHYBRID;
38
+ }
39
+ else if (process.env.TARO_ENV === 'h5' || process.env.TARO_PLATFORM === 'web') {
40
+ return ENV_TYPE.WEB;
41
+ }
42
+ else if (process.env.TARO_ENV === 'rn') {
43
+ return ENV_TYPE.RN;
44
+ }
45
+ else if (process.env.TARO_ENV === 'harmony' || process.env.TARO_PLATFORM === 'harmony') {
46
+ return ENV_TYPE.HARMONY;
47
+ }
48
+ else if (process.env.TARO_ENV === 'quickapp') {
49
+ return ENV_TYPE.QUICKAPP;
50
+ }
51
+ else {
52
+ return process.env.TARO_ENV || 'Unknown';
93
53
  }
94
- return obj;
95
- };
96
- }
97
-
98
- var ENV_TYPE = {
99
- WEAPP: 'WEAPP',
100
- SWAN: 'SWAN',
101
- ALIPAY: 'ALIPAY',
102
- TT: 'TT',
103
- QQ: 'QQ',
104
- JD: 'JD',
105
- WEB: 'WEB',
106
- RN: 'RN',
107
- HARMONY: 'HARMONY',
108
- QUICKAPP: 'QUICKAPP'
109
- };
110
- var isWeb = isWebPlatform();
111
- function getEnv() {
112
- if (process.env.TARO_ENV === 'weapp') {
113
- return ENV_TYPE.WEAPP;
114
- } else if (process.env.TARO_ENV === 'alipay') {
115
- return ENV_TYPE.ALIPAY;
116
- } else if (process.env.TARO_ENV === 'swan') {
117
- return ENV_TYPE.SWAN;
118
- } else if (process.env.TARO_ENV === 'tt') {
119
- return ENV_TYPE.TT;
120
- } else if (process.env.TARO_ENV === 'jd') {
121
- return ENV_TYPE.JD;
122
- } else if (process.env.TARO_ENV === 'qq') {
123
- return ENV_TYPE.QQ;
124
- } else if (isWeb) {
125
- return ENV_TYPE.WEB;
126
- } else if (process.env.TARO_ENV === 'rn') {
127
- return ENV_TYPE.RN;
128
- } else if (process.env.TARO_ENV === 'harmony') {
129
- return ENV_TYPE.HARMONY;
130
- } else if (process.env.TARO_ENV === 'quickapp') {
131
- return ENV_TYPE.QUICKAPP;
132
- } else {
133
- return process.env.TARO_ENV || 'Unknown';
134
- }
135
54
  }
136
55
 
137
- var Chain = /*#__PURE__*/function () {
138
- function Chain(requestParams, interceptors, index) {
139
- _classCallCheck(this, Chain);
140
- this.index = index || 0;
141
- this.requestParams = requestParams;
142
- this.interceptors = interceptors || [];
143
- }
144
- _createClass(Chain, [{
145
- key: "proceed",
146
- value: function proceed(requestParams) {
147
- this.requestParams = requestParams;
148
- if (this.index >= this.interceptors.length) {
149
- throw new Error('chain 参数错误, 请勿直接修改 request.chain');
150
- }
151
- var nextInterceptor = this._getNextInterceptor();
152
- var nextChain = this._getNextChain();
153
- var p = nextInterceptor(nextChain);
154
- var res = p.catch(function (err) {
155
- return Promise.reject(err);
156
- });
157
- Object.keys(p).forEach(function (k) {
158
- return isFunction(p[k]) && (res[k] = p[k]);
159
- });
160
- return res;
56
+ class Chain {
57
+ constructor(requestParams, interceptors, index) {
58
+ this.index = index || 0;
59
+ this.requestParams = requestParams || {};
60
+ this.interceptors = interceptors || [];
61
+ }
62
+ proceed(requestParams = {}) {
63
+ this.requestParams = requestParams;
64
+ if (this.index >= this.interceptors.length) {
65
+ throw new Error('chain 参数错误, 请勿直接修改 request.chain');
66
+ }
67
+ const nextInterceptor = this._getNextInterceptor();
68
+ const nextChain = this._getNextChain();
69
+ const p = nextInterceptor(nextChain);
70
+ const res = p.catch(err => Promise.reject(err));
71
+ Object.keys(p).forEach(k => isFunction(p[k]) && (res[k] = p[k]));
72
+ return res;
161
73
  }
162
- }, {
163
- key: "_getNextInterceptor",
164
- value: function _getNextInterceptor() {
165
- return this.interceptors[this.index];
74
+ _getNextInterceptor() {
75
+ return this.interceptors[this.index];
166
76
  }
167
- }, {
168
- key: "_getNextChain",
169
- value: function _getNextChain() {
170
- return new Chain(this.requestParams, this.interceptors, this.index + 1);
77
+ _getNextChain() {
78
+ return new Chain(this.requestParams, this.interceptors, this.index + 1);
171
79
  }
172
- }]);
173
- return Chain;
174
- }();
80
+ }
175
81
 
176
- var Link = /*#__PURE__*/function () {
177
- function Link(interceptor) {
178
- _classCallCheck(this, Link);
179
- this.taroInterceptor = interceptor;
180
- this.chain = new Chain();
181
- }
182
- _createClass(Link, [{
183
- key: "request",
184
- value: function request(requestParams) {
185
- var chain = this.chain;
186
- var taroInterceptor = this.taroInterceptor;
187
- chain.interceptors = chain.interceptors.filter(function (interceptor) {
188
- return interceptor !== taroInterceptor;
189
- }).concat(taroInterceptor);
190
- return chain.proceed(_objectSpread({}, requestParams));
82
+ class Link {
83
+ constructor(interceptor) {
84
+ this.taroInterceptor = interceptor;
85
+ this.chain = new Chain();
86
+ }
87
+ request(requestParams) {
88
+ const chain = this.chain;
89
+ const taroInterceptor = this.taroInterceptor;
90
+ chain.interceptors = chain.interceptors
91
+ .filter(interceptor => interceptor !== taroInterceptor)
92
+ .concat(taroInterceptor);
93
+ return chain.proceed(Object.assign({}, requestParams));
191
94
  }
192
- }, {
193
- key: "addInterceptor",
194
- value: function addInterceptor(interceptor) {
195
- this.chain.interceptors.push(interceptor);
95
+ addInterceptor(interceptor) {
96
+ this.chain.interceptors.push(interceptor);
196
97
  }
197
- }, {
198
- key: "cleanInterceptors",
199
- value: function cleanInterceptors() {
200
- this.chain = new Chain();
98
+ cleanInterceptors() {
99
+ this.chain = new Chain();
201
100
  }
202
- }]);
203
- return Link;
204
- }();
101
+ }
205
102
  function interceptorify(promiseifyApi) {
206
- return new Link(function (chain) {
207
- return promiseifyApi(chain.requestParams);
208
- });
103
+ return new Link(function (chain) {
104
+ return promiseifyApi(chain.requestParams);
105
+ });
209
106
  }
210
107
 
211
108
  function timeoutInterceptor(chain) {
212
- var requestParams = chain.requestParams;
213
- var p;
214
- var res = new Promise(function (resolve, reject) {
215
- var timeout = setTimeout(function () {
216
- timeout = null;
217
- reject(new Error('网络链接超时,请稍后再试!'));
218
- }, requestParams && requestParams.timeout || 60000);
219
- p = chain.proceed(requestParams);
220
- p.then(function (res) {
221
- if (!timeout) return;
222
- clearTimeout(timeout);
223
- resolve(res);
224
- }).catch(function (err) {
225
- timeout && clearTimeout(timeout);
226
- reject(err);
109
+ const requestParams = chain.requestParams;
110
+ let p;
111
+ const res = new Promise((resolve, reject) => {
112
+ const timeout = setTimeout(() => {
113
+ clearTimeout(timeout);
114
+ reject(new Error('网络链接超时,请稍后再试!'));
115
+ }, (requestParams && requestParams.timeout) || 60000);
116
+ p = chain.proceed(requestParams);
117
+ p
118
+ .then(res => {
119
+ if (!timeout)
120
+ return;
121
+ clearTimeout(timeout);
122
+ resolve(res);
123
+ })
124
+ .catch(err => {
125
+ timeout && clearTimeout(timeout);
126
+ reject(err);
127
+ });
227
128
  });
228
- });
229
- if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort;
230
- return res;
129
+ // @ts-ignore
130
+ if (!isUndefined(p) && isFunction(p.abort))
131
+ res.abort = p.abort;
132
+ return res;
231
133
  }
232
134
  function logInterceptor(chain) {
233
- var requestParams = chain.requestParams;
234
- var method = requestParams.method,
235
- data = requestParams.data,
236
- url = requestParams.url;
237
-
238
- // eslint-disable-next-line no-console
239
- console.log("http ".concat(method || 'GET', " --> ").concat(url, " data: "), data);
240
- var p = chain.proceed(requestParams);
241
- var res = p.then(function (res) {
135
+ const requestParams = chain.requestParams;
136
+ const { method, data, url } = requestParams;
242
137
  // eslint-disable-next-line no-console
243
- console.log("http <-- ".concat(url, " result:"), res);
138
+ console.log(`http ${method || 'GET'} --> ${url} data: `, data);
139
+ const p = chain.proceed(requestParams);
140
+ const res = p
141
+ .then(res => {
142
+ // eslint-disable-next-line no-console
143
+ console.log(`http <-- ${url} result:`, res);
144
+ return res;
145
+ });
146
+ // @ts-ignore
147
+ if (isFunction(p.abort))
148
+ res.abort = p.abort;
244
149
  return res;
245
- });
246
- if (isFunction(p.abort)) res.abort = p.abort;
247
- return res;
248
150
  }
249
151
 
250
152
  var interceptors = /*#__PURE__*/Object.freeze({
251
- __proto__: null,
252
- timeoutInterceptor: timeoutInterceptor,
253
- logInterceptor: logInterceptor
153
+ __proto__: null,
154
+ logInterceptor: logInterceptor,
155
+ timeoutInterceptor: timeoutInterceptor
254
156
  });
255
157
 
256
158
  function Behavior(options) {
257
- return options;
159
+ return options;
258
160
  }
259
161
  function getPreload(current) {
260
- return function (key, val) {
261
- current.preloadData = isObject(key) ? key : _defineProperty({}, key, val);
262
- };
162
+ return function (key, val) {
163
+ current.preloadData = isObject(key)
164
+ ? key
165
+ : {
166
+ [key]: val
167
+ };
168
+ };
263
169
  }
264
- var defaultDesignWidth = 750;
265
- var defaultDesignRatio = {
266
- 640: 2.34 / 2,
267
- 750: 1,
268
- 828: 1.81 / 2
170
+ const defaultDesignWidth = 750;
171
+ const defaultDesignRatio = {
172
+ 640: 2.34 / 2,
173
+ 750: 1,
174
+ 828: 1.81 / 2
269
175
  };
270
- var defaultBaseFontSize = 20;
271
- var defaultUnitPrecision = 5;
272
- var defaultTargetUnit = 'rpx';
176
+ const defaultBaseFontSize = 20;
177
+ const defaultUnitPrecision = 5;
178
+ const defaultTargetUnit = 'rpx';
273
179
  function getInitPxTransform(taro) {
274
- return function (config) {
275
- var _config$designWidth = config.designWidth,
276
- designWidth = _config$designWidth === void 0 ? defaultDesignWidth : _config$designWidth,
277
- _config$deviceRatio = config.deviceRatio,
278
- deviceRatio = _config$deviceRatio === void 0 ? defaultDesignRatio : _config$deviceRatio,
279
- _config$baseFontSize = config.baseFontSize,
280
- baseFontSize = _config$baseFontSize === void 0 ? defaultBaseFontSize : _config$baseFontSize,
281
- _config$targetUnit = config.targetUnit,
282
- targetUnit = _config$targetUnit === void 0 ? defaultTargetUnit : _config$targetUnit,
283
- _config$unitPrecision = config.unitPrecision,
284
- unitPrecision = _config$unitPrecision === void 0 ? defaultUnitPrecision : _config$unitPrecision;
285
- taro.config = taro.config || {};
286
- taro.config.designWidth = designWidth;
287
- taro.config.deviceRatio = deviceRatio;
288
- taro.config.baseFontSize = baseFontSize;
289
- taro.config.targetUnit = targetUnit;
290
- taro.config.unitPrecision = unitPrecision;
291
- };
180
+ return function (config) {
181
+ const { designWidth = defaultDesignWidth, deviceRatio = defaultDesignRatio, baseFontSize = defaultBaseFontSize, targetUnit = defaultTargetUnit, unitPrecision = defaultUnitPrecision, } = config;
182
+ taro.config = taro.config || {};
183
+ taro.config.designWidth = designWidth;
184
+ taro.config.deviceRatio = deviceRatio;
185
+ taro.config.baseFontSize = baseFontSize;
186
+ taro.config.targetUnit = targetUnit;
187
+ taro.config.unitPrecision = unitPrecision;
188
+ };
292
189
  }
293
190
  function getPxTransform(taro) {
294
- return function (size) {
295
- var config = taro.config || {};
296
- var baseFontSize = config.baseFontSize;
297
- var deviceRatio = config.deviceRatio || defaultDesignRatio;
298
- var designWidth = function () {
299
- var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
300
- return isFunction(config.designWidth) ? config.designWidth(input) : config.designWidth || defaultDesignWidth;
301
- }(size);
302
- if (!(designWidth in deviceRatio)) {
303
- throw new Error("deviceRatio \u914D\u7F6E\u4E2D\u4E0D\u5B58\u5728 ".concat(designWidth, " \u7684\u8BBE\u7F6E\uFF01"));
304
- }
305
- var targetUnit = config.targetUnit || defaultTargetUnit;
306
- var unitPrecision = config.unitPrecision || defaultUnitPrecision;
307
- var formatSize = ~~size;
308
- var rootValue = 1 / deviceRatio[designWidth];
309
- switch (targetUnit) {
310
- case 'rem':
311
- rootValue *= baseFontSize * 2;
312
- break;
313
- case 'px':
314
- rootValue *= 2;
315
- break;
316
- }
317
- var val = formatSize / rootValue;
318
- if (unitPrecision >= 0 && unitPrecision <= 100) {
319
- val = Number(val.toFixed(unitPrecision));
320
- }
321
- return val + targetUnit;
322
- };
191
+ return function (size) {
192
+ const config = taro.config || {};
193
+ const baseFontSize = config.baseFontSize;
194
+ const deviceRatio = config.deviceRatio || defaultDesignRatio;
195
+ const designWidth = ((input = 0) => isFunction(config.designWidth)
196
+ ? config.designWidth(input)
197
+ : config.designWidth || defaultDesignWidth)(size);
198
+ if (!(designWidth in deviceRatio)) {
199
+ throw new Error(`deviceRatio 配置中不存在 ${designWidth} 的设置!`);
200
+ }
201
+ const targetUnit = config.targetUnit || defaultTargetUnit;
202
+ const unitPrecision = config.unitPrecision || defaultUnitPrecision;
203
+ const formatSize = ~~size;
204
+ let rootValue = 1 / deviceRatio[designWidth];
205
+ switch (targetUnit) {
206
+ case 'rem':
207
+ rootValue *= baseFontSize * 2;
208
+ break;
209
+ case 'px':
210
+ rootValue *= 2;
211
+ break;
212
+ }
213
+ let val = formatSize / rootValue;
214
+ if (unitPrecision >= 0 && unitPrecision <= 100) {
215
+ val = Number(val.toFixed(unitPrecision));
216
+ }
217
+ return val + targetUnit;
218
+ };
323
219
  }
324
220
 
325
221
  /* eslint-disable camelcase */
326
- var Taro = {
327
- Behavior: Behavior,
328
- getEnv: getEnv,
329
- ENV_TYPE: ENV_TYPE,
330
- Link: Link,
331
- interceptors: interceptors,
332
- Current: Current,
333
- getCurrentInstance: getCurrentInstance,
334
- options: options,
335
- nextTick: nextTick,
336
- eventCenter: eventCenter,
337
- Events: Events,
338
- getInitPxTransform: getInitPxTransform,
339
- interceptorify: interceptorify
222
+ const Taro = {
223
+ Behavior,
224
+ getEnv,
225
+ ENV_TYPE,
226
+ Link,
227
+ interceptors,
228
+ Current,
229
+ getCurrentInstance,
230
+ options,
231
+ nextTick,
232
+ eventCenter,
233
+ Events,
234
+ getInitPxTransform,
235
+ interceptorify
340
236
  };
341
237
  Taro.initPxTransform = getInitPxTransform(Taro);
342
238
  Taro.preload = getPreload(Current);
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/utils.js","../src/polyfill.js","../src/env.js","../src/interceptor/chain.js","../src/interceptor/index.js","../src/interceptor/interceptors.js","../src/tools.js","../src/index.js"],"sourcesContent":["export function isFunction (x) {\n return typeof x === 'function'\n}\n\nexport function isUndefined (x) {\n return typeof x === 'undefined'\n}\n\nexport function isObject (x) {\n return x && typeof x === 'object'\n}\n","import { isFunction, isObject, isUndefined } from './utils'\n\nconst isBadObj = (x) => !isObject(x)\n\nfunction throwTypeError (s) {\n throw new TypeError(s)\n}\n\nif (!isFunction(Object.assign)) {\n // Must be writable: true, enumerable: false, configurable: true\n Object.assign = function (target) { // .length of function is 2\n if (target == null) { // TypeError if undefined or null\n throwTypeError('Cannot convert undefined or null to object')\n }\n\n const to = Object(target)\n\n for (let index = 1; index < arguments.length; index++) {\n const nextSource = arguments[index]\n\n if (nextSource != null) { // Skip over if undefined or null\n for (const nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey]\n }\n }\n }\n }\n return to\n }\n}\n\nif (!isFunction(Object.defineProperties)) {\n Object.defineProperties = function (obj, properties) {\n function convertToDescriptor (desc) {\n function hasProperty (obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop)\n }\n\n if (isBadObj(desc)) { throwTypeError('bad desc') }\n\n const d = {}\n\n if (hasProperty(desc, 'enumerable')) d.enumerable = !!desc.enumerable\n if (hasProperty(desc, 'configurable')) { d.configurable = !!desc.configurable }\n if (hasProperty(desc, 'value')) d.value = desc.value\n if (hasProperty(desc, 'writable')) d.writable = !!desc.writable\n if (hasProperty(desc, 'get')) {\n const g = desc.get\n\n if (!isFunction(g) && !isUndefined(g)) { throwTypeError('bad get') }\n d.get = g\n }\n if (hasProperty(desc, 'set')) {\n const s = desc.set\n if (!isFunction(s) && !isUndefined(s)) { throwTypeError('bad set') }\n d.set = s\n }\n\n if (('get' in d || 'set' in d) && ('value' in d || 'writable' in d)) { throwTypeError('identity-confused descriptor') }\n\n return d\n }\n\n if (isBadObj(obj)) throwTypeError('bad obj')\n\n properties = Object(properties)\n\n const keys = Object.keys(properties)\n const descs = []\n\n for (let i = 0; i < keys.length; i++) {\n descs.push([keys[i], convertToDescriptor(properties[keys[i]])])\n }\n\n for (let i = 0; i < descs.length; i++) {\n Object.defineProperty(obj, descs[i][0], descs[i][1])\n }\n\n return obj\n }\n}\n","import { isWebPlatform } from '@tarojs/shared'\n\nexport 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}\n\nconst isWeb = isWebPlatform()\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 (isWeb) {\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') {\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 '../utils'\n\nexport default class Chain {\n constructor (requestParams, interceptors, index) {\n this.index = index || 0\n this.requestParams = requestParams\n this.interceptors = interceptors || []\n }\n\n proceed (requestParams) {\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\nexport default class Link {\n constructor (interceptor) {\n this.taroInterceptor = interceptor\n this.chain = new Chain()\n }\n\n request (requestParams) {\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) {\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 '../utils'\n\nexport function timeoutInterceptor (chain) {\n const requestParams = chain.requestParams\n let p\n const res = new Promise((resolve, reject) => {\n let timeout = setTimeout(() => {\n timeout = null\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 if (!isUndefined(p) && isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n\nexport function logInterceptor (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 if (isFunction(p.abort)) res.abort = p.abort\n\n return res\n}\n","import { isFunction, isObject } from './utils'\n\nexport function Behavior (options) {\n return options\n}\n\nexport function getPreload (current) {\n return function (key, val) {\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 './polyfill'\n\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 = {\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","x","isUndefined","isObject","_typeof","isBadObj","throwTypeError","s","TypeError","Object","assign","target","to","index","arguments","length","nextSource","nextKey","prototype","hasOwnProperty","call","defineProperties","obj","properties","convertToDescriptor","desc","hasProperty","prop","d","enumerable","configurable","value","writable","g","get","set","keys","descs","i","push","defineProperty","ENV_TYPE","WEAPP","SWAN","ALIPAY","TT","QQ","JD","WEB","RN","HARMONY","QUICKAPP","isWeb","isWebPlatform","getEnv","process","env","TARO_ENV","Chain","requestParams","interceptors","_classCallCheck","_createClass","key","proceed","Error","nextInterceptor","_getNextInterceptor","nextChain","_getNextChain","p","res","catch","err","Promise","reject","forEach","k","Link","interceptor","taroInterceptor","chain","request","filter","concat","_objectSpread","addInterceptor","cleanInterceptors","interceptorify","promiseifyApi","timeoutInterceptor","resolve","timeout","setTimeout","then","clearTimeout","abort","logInterceptor","method","data","url","console","log","Behavior","options","getPreload","current","val","preloadData","_defineProperty","defaultDesignWidth","defaultDesignRatio","defaultBaseFontSize","defaultUnitPrecision","defaultTargetUnit","getInitPxTransform","taro","config","_config$designWidth","designWidth","_config$deviceRatio","deviceRatio","_config$baseFontSize","baseFontSize","_config$targetUnit","targetUnit","_config$unitPrecision","unitPrecision","getPxTransform","size","input","undefined","formatSize","rootValue","Number","toFixed","Taro","Current","getCurrentInstance","nextTick","eventCenter","Events","initPxTransform","preload","pxTransform"],"mappings":"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"}
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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"}