@tarojs/runtime 4.0.1-alpha.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/LICENSE +8 -8
  2. package/dist/bom/URL.d.ts +2 -2
  3. package/dist/bom/URL.js +2 -3
  4. package/dist/bom/URL.js.map +1 -1
  5. package/dist/bom/URLSearchParams.js.map +1 -1
  6. package/dist/bom/document.d.ts +2 -2
  7. package/dist/bom/document.js +2 -3
  8. package/dist/bom/document.js.map +1 -1
  9. package/dist/bom/getComputedStyle.d.ts +2 -2
  10. package/dist/bom/getComputedStyle.js +2 -3
  11. package/dist/bom/getComputedStyle.js.map +1 -1
  12. package/dist/bom/history.js.map +1 -1
  13. package/dist/bom/location.js +3 -3
  14. package/dist/bom/location.js.map +1 -1
  15. package/dist/bom/raf.d.ts +0 -1
  16. package/dist/bom/raf.js +2 -2
  17. package/dist/bom/raf.js.map +1 -1
  18. package/dist/bom/window.d.ts +4 -5
  19. package/dist/bom/window.js +6 -7
  20. package/dist/bom/window.js.map +1 -1
  21. package/dist/current.d.ts +1 -1
  22. package/dist/dom/anchor-element.js.map +1 -1
  23. package/dist/dom/class-list.js.map +1 -1
  24. package/dist/dom/document.js.map +1 -1
  25. package/dist/dom/element.js +3 -0
  26. package/dist/dom/element.js.map +1 -1
  27. package/dist/dom/event-target.js.map +1 -1
  28. package/dist/dom/event.js.map +1 -1
  29. package/dist/dom/form.js +1 -1
  30. package/dist/dom/form.js.map +1 -1
  31. package/dist/dom/node.js +2 -2
  32. package/dist/dom/node.js.map +1 -1
  33. package/dist/dom/root.js.map +1 -1
  34. package/dist/dom/style.js.map +1 -1
  35. package/dist/dom/style_properties.js.map +1 -1
  36. package/dist/dom/tree.js.map +1 -1
  37. package/dist/dom-external/element.js.map +1 -1
  38. package/dist/dom-external/index.js +1 -1
  39. package/dist/dom-external/index.js.map +1 -1
  40. package/dist/dom-external/inner-html/html.js.map +1 -1
  41. package/dist/dom-external/inner-html/parser.js.map +1 -1
  42. package/dist/dom-external/inner-html/scaner.js.map +1 -1
  43. package/dist/dom-external/inner-html/style.js.map +1 -1
  44. package/dist/dom-external/inner-html/tags.js +4 -4
  45. package/dist/dom-external/inner-html/tags.js.map +1 -1
  46. package/dist/dom-external/inner-html/utils.js.map +1 -1
  47. package/dist/dom-external/mutation-observer/implements.js.map +1 -1
  48. package/dist/dom-external/mutation-observer/index.js.map +1 -1
  49. package/dist/dom-external/node.js.map +1 -1
  50. package/dist/dsl/common.d.ts +1 -2
  51. package/dist/dsl/common.js +5 -5
  52. package/dist/dsl/common.js.map +1 -1
  53. package/dist/hydrate.js.map +1 -1
  54. package/dist/index.cjs.d.ts +22 -44
  55. package/dist/index.cjs.js +3321 -3363
  56. package/dist/index.cjs.js.map +1 -1
  57. package/dist/index.d.ts +7 -7
  58. package/dist/index.js +6 -8
  59. package/dist/index.js.map +1 -1
  60. package/dist/{instance-4c64b022.d.ts → instance-0f017c6e.d.ts} +14 -4
  61. package/dist/next-tick.js.map +1 -1
  62. package/dist/perf.d.ts +1 -3
  63. package/dist/perf.js +3 -24
  64. package/dist/perf.js.map +1 -1
  65. package/dist/polyfill/array.js.map +1 -1
  66. package/dist/polyfill/index.js.map +1 -1
  67. package/dist/polyfill/intersection-observer.js +3 -4
  68. package/dist/polyfill/intersection-observer.js.map +1 -1
  69. package/dist/polyfill/object.js.map +1 -1
  70. package/dist/runtime.esm.d.ts +22 -44
  71. package/dist/runtime.esm.js +3316 -3346
  72. package/dist/runtime.esm.js.map +1 -1
  73. package/dist/utils/cache.js.map +1 -1
  74. package/dist/utils/index.d.ts +1 -3
  75. package/dist/utils/index.js +1 -5
  76. package/dist/utils/index.js.map +1 -1
  77. package/dist/utils/lodash.d.ts +1 -2
  78. package/dist/utils/lodash.js +1 -11
  79. package/dist/utils/lodash.js.map +1 -1
  80. package/dist/utils/router.js +3 -3
  81. package/dist/utils/router.js.map +1 -1
  82. package/package.json +24 -16
  83. /package/dist/{options-4c64b022.d.ts → options-0f017c6e.d.ts} +0 -0
package/LICENSE CHANGED
@@ -154,8 +154,15 @@ 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
+
157
164
  MIT (weui):
158
- The following files embed [weui](https://github.com/Tencent/weui) MIT:
165
+ The following files embed [stencil-vue2-output-target](https://github.com/Tencent/weui) MIT:
159
166
  `/packages/taro-components/src/components/*.scss`
160
167
  See `/LICENSE.txt` for details of the license.
161
168
 
@@ -165,10 +172,3 @@ Apache-2.0 (intersection-observer):
165
172
  The following files embed [intersection-observer](https://github.com/GoogleChromeLabs/intersection-observer) Apache-2.0:
166
173
  `/packages/taro-api/src/polyfill/intersection-observer.ts`
167
174
  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/bom/URL.d.ts CHANGED
@@ -38,7 +38,7 @@ declare class TaroURL {
38
38
  href: string;
39
39
  };
40
40
  }
41
- declare const TaroURLProvider: typeof TaroURL;
41
+ declare const URL: typeof TaroURL;
42
42
  declare function parseUrl(url?: string): {
43
43
  href: string;
44
44
  origin: string;
@@ -51,4 +51,4 @@ declare function parseUrl(url?: string): {
51
51
  hash: string;
52
52
  };
53
53
  export type { TaroURL };
54
- export { TaroURLProvider, parseUrl };
54
+ export { URL, parseUrl };
package/dist/bom/URL.js CHANGED
@@ -152,8 +152,7 @@ class TaroURL {
152
152
  }
153
153
  }
154
154
  _TaroURL_hash = new WeakMap(), _TaroURL_hostname = new WeakMap(), _TaroURL_pathname = new WeakMap(), _TaroURL_port = new WeakMap(), _TaroURL_protocol = new WeakMap(), _TaroURL_search = new WeakMap();
155
- // Note: 小程序端 vite 打包成 commonjs,const URL = xxx 会报错,所以把 URL 改为 TaroURLProvider
156
- const TaroURLProvider = process.env.TARO_PLATFORM === 'web' ? env.window.URL : TaroURL;
155
+ const URL = process.env.TARO_PLATFORM === 'web' ? env.window.URL : TaroURL;
157
156
  function parseUrl(url = '') {
158
157
  const result = {
159
158
  href: '',
@@ -218,5 +217,5 @@ function parseUrlBase(url, base) {
218
217
  return parseUrl(fullUrl);
219
218
  }
220
219
 
221
- export { TaroURLProvider, parseUrl };
220
+ export { URL, parseUrl };
222
221
  //# sourceMappingURL=URL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"URL.js","sources":["../../src/bom/URL.ts"],"sourcesContent":["import { isString, isUndefined } from '@tarojs/shared'\n\nimport env from '../env'\nimport { URLSearchParams } from './URLSearchParams'\n\nclass TaroURL {\n static createObjectURL () {\n throw new Error('Oops, not support URL.createObjectURL() in miniprogram.')\n }\n\n static revokeObjectURL () {\n throw new Error('Oops, not support URL.revokeObjectURL() in miniprogram.')\n }\n\n /* private property */\n #hash = ''\n #hostname = ''\n #pathname = ''\n #port = ''\n #protocol = ''\n #search: URLSearchParams\n\n constructor (url: string, base?: string) {\n if (!isString(url)) url = String(url)\n\n const parseResult = parseUrlBase(url, base)\n const { hash, hostname, pathname, port, protocol, search } = parseResult\n\n this.#hash = hash\n this.#hostname = hostname\n this.#pathname = pathname || '/'\n this.#port = port\n this.#protocol = protocol\n this.#search = new URLSearchParams(search)\n }\n\n /* public property */\n get protocol () {\n return this.#protocol\n }\n\n set protocol (val: string) {\n isString(val) && (this.#protocol = val.trim())\n }\n\n get host () {\n return this.hostname + (this.port ? ':' + this.port : '')\n }\n\n set host (val: string) {\n if (val && isString(val)) {\n val = val.trim()\n const { hostname, port } = parseUrl(`//${val}`)\n this.hostname = hostname\n this.port = port\n }\n }\n\n get hostname () {\n return this.#hostname\n }\n\n set hostname (val: string) {\n val && isString(val) && (this.#hostname = val.trim())\n }\n\n get port () {\n return this.#port\n }\n\n set port (val: string) {\n isString(val) && (this.#port = val.trim())\n }\n\n get pathname () {\n return this.#pathname\n }\n\n set pathname (val: string) {\n if (isString(val)) {\n val = val.trim()\n const HEAD_REG = /^(\\/|\\.\\/|\\.\\.\\/)/\n let temp = val\n while (HEAD_REG.test(temp)) {\n temp = temp.replace(HEAD_REG, '')\n }\n if (temp) this.#pathname = '/' + temp\n else this.#pathname = '/'\n }\n }\n\n get search () {\n const val = this.#search.toString()\n return (val.length === 0 || val.startsWith('?')) ? val : `?${val}`\n }\n\n set search (val: string) {\n if (isString(val)) {\n val = val.trim()\n this.#search = new URLSearchParams(val)\n }\n }\n\n get hash () {\n return this.#hash\n }\n\n set hash (val: string) {\n if (isString(val)) {\n val = val.trim()\n if (val) this.#hash = val.startsWith('#') ? val : `#${val}`\n else this.#hash = ''\n }\n }\n\n get href () {\n return `${this.protocol}//${this.host}${this.pathname}${this.search}${this.hash}`\n }\n\n set href (val: string) {\n if (val && isString(val)) {\n val = val.trim()\n const { protocol, hostname, port, hash, search, pathname } = parseUrl(val)\n this.protocol = protocol\n this.hostname = hostname\n this.pathname = pathname\n this.port = port\n this.hash = hash\n this.search = search\n }\n }\n\n get origin () {\n return `${this.protocol}//${this.host}`\n }\n\n set origin (val: string) {\n if (val && isString(val)) {\n val = val.trim()\n const { protocol, hostname, port } = parseUrl(val)\n this.protocol = protocol\n this.hostname = hostname\n this.port = port\n }\n }\n\n get searchParams () {\n return this.#search\n }\n\n // public method\n toString () {\n return this.href\n }\n\n toJSON () {\n return this.toString()\n }\n\n // convenient for deconstructor\n _toRaw () {\n return {\n protocol: this.protocol,\n port: this.port,\n host: this.host,\n hostname: this.hostname,\n pathname: this.pathname,\n hash: this.hash,\n search: this.search,\n origin: this.origin,\n href: this.href,\n }\n }\n}\n\nexport type { TaroURL }\n\n// Note: 小程序端 vite 打包成 commonjs,const URL = xxx 会报错,所以把 URL 改为 TaroURLProvider\nexport const TaroURLProvider: typeof TaroURL = process.env.TARO_PLATFORM === 'web' ? env.window.URL : TaroURL\n\nexport function parseUrl (url = '') {\n const result = {\n href: '',\n origin: '',\n protocol: '',\n hostname: '',\n host: '',\n port: '',\n pathname: '',\n search: '',\n hash: ''\n }\n if (!url || !isString(url)) return result\n\n url = url.trim()\n const PATTERN = /^(([^:/?#]+):)?\\/\\/(([^/?#]+):(.+)@)?([^/?#:]*)(:(\\d+))?([^?#]*)(\\?([^#]*))?(#(.*))?/\n const matches = url.match(PATTERN)\n\n if (!matches) return result\n\n // TODO: username & password ?\n result.protocol = matches[1] || 'https:'\n result.hostname = matches[6] || 'taro.com'\n result.port = matches[8] || ''\n result.pathname = matches[9] || '/'\n result.search = matches[10] || ''\n result.hash = matches[12] || ''\n result.href = url\n result.origin = result.protocol + '//' + result.hostname\n result.host = result.hostname + (result.port ? `:${result.port}` : '')\n\n return result\n}\n\nfunction parseUrlBase (url: string, base?: string) {\n const VALID_URL = /^(https?:)\\/\\//i\n\n let fullUrl = ''\n let parsedBase: ReturnType<typeof parseUrl> | null = null\n\n if (!isUndefined(base)) {\n base = String(base).trim()\n if (!VALID_URL.test(base)) throw new TypeError(`Failed to construct 'URL': Invalid base URL`)\n parsedBase = parseUrl(base)\n }\n\n url = String(url).trim()\n\n if (VALID_URL.test(url)) {\n fullUrl = url\n } else if (parsedBase) {\n if (url) {\n if (url.startsWith('//')) {\n fullUrl = parsedBase.protocol + url\n } else {\n fullUrl = parsedBase.origin + (url.startsWith('/') ? url : `/${url}`)\n }\n } else {\n fullUrl = parsedBase.href\n }\n } else {\n throw new TypeError(`Failed to construct 'URL': Invalid URL`)\n }\n\n return parseUrl(fullUrl)\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"URL.js","sources":["../../src/bom/URL.ts"],"sourcesContent":["import { isString, isUndefined } from '@tarojs/shared'\n\nimport env from '../env'\nimport { URLSearchParams } from './URLSearchParams'\n\nclass TaroURL {\n static createObjectURL () {\n throw new Error('Oops, not support URL.createObjectURL() in miniprogram.')\n }\n\n static revokeObjectURL () {\n throw new Error('Oops, not support URL.revokeObjectURL() in miniprogram.')\n }\n\n /* private property */\n #hash = ''\n #hostname = ''\n #pathname = ''\n #port = ''\n #protocol = ''\n #search: URLSearchParams\n\n constructor (url: string, base?: string) {\n if (!isString(url)) url = String(url)\n\n const parseResult = parseUrlBase(url, base)\n const { hash, hostname, pathname, port, protocol, search } = parseResult\n\n this.#hash = hash\n this.#hostname = hostname\n this.#pathname = pathname || '/'\n this.#port = port\n this.#protocol = protocol\n this.#search = new URLSearchParams(search)\n }\n\n /* public property */\n get protocol () {\n return this.#protocol\n }\n\n set protocol (val: string) {\n isString(val) && (this.#protocol = val.trim())\n }\n\n get host () {\n return this.hostname + (this.port ? ':' + this.port : '')\n }\n\n set host (val: string) {\n if (val && isString(val)) {\n val = val.trim()\n const { hostname, port } = parseUrl(`//${val}`)\n this.hostname = hostname\n this.port = port\n }\n }\n\n get hostname () {\n return this.#hostname\n }\n\n set hostname (val: string) {\n val && isString(val) && (this.#hostname = val.trim())\n }\n\n get port () {\n return this.#port\n }\n\n set port (val: string) {\n isString(val) && (this.#port = val.trim())\n }\n\n get pathname () {\n return this.#pathname\n }\n\n set pathname (val: string) {\n if (isString(val)) {\n val = val.trim()\n const HEAD_REG = /^(\\/|\\.\\/|\\.\\.\\/)/\n let temp = val\n while (HEAD_REG.test(temp)) {\n temp = temp.replace(HEAD_REG, '')\n }\n if (temp) this.#pathname = '/' + temp\n else this.#pathname = '/'\n }\n }\n\n get search () {\n const val = this.#search.toString()\n return (val.length === 0 || val.startsWith('?')) ? val : `?${val}`\n }\n\n set search (val: string) {\n if (isString(val)) {\n val = val.trim()\n this.#search = new URLSearchParams(val)\n }\n }\n\n get hash () {\n return this.#hash\n }\n\n set hash (val: string) {\n if (isString(val)) {\n val = val.trim()\n if (val) this.#hash = val.startsWith('#') ? val : `#${val}`\n else this.#hash = ''\n }\n }\n\n get href () {\n return `${this.protocol}//${this.host}${this.pathname}${this.search}${this.hash}`\n }\n\n set href (val: string) {\n if (val && isString(val)) {\n val = val.trim()\n const { protocol, hostname, port, hash, search, pathname } = parseUrl(val)\n this.protocol = protocol\n this.hostname = hostname\n this.pathname = pathname\n this.port = port\n this.hash = hash\n this.search = search\n }\n }\n\n get origin () {\n return `${this.protocol}//${this.host}`\n }\n\n set origin (val: string) {\n if (val && isString(val)) {\n val = val.trim()\n const { protocol, hostname, port } = parseUrl(val)\n this.protocol = protocol\n this.hostname = hostname\n this.port = port\n }\n }\n\n get searchParams () {\n return this.#search\n }\n\n // public method\n toString () {\n return this.href\n }\n\n toJSON () {\n return this.toString()\n }\n\n // convenient for deconstructor\n _toRaw () {\n return {\n protocol: this.protocol,\n port: this.port,\n host: this.host,\n hostname: this.hostname,\n pathname: this.pathname,\n hash: this.hash,\n search: this.search,\n origin: this.origin,\n href: this.href,\n }\n }\n}\n\nexport type { TaroURL }\nexport const URL: typeof TaroURL = process.env.TARO_PLATFORM === 'web' ? env.window.URL : TaroURL\n\nexport function parseUrl (url = '') {\n const result = {\n href: '',\n origin: '',\n protocol: '',\n hostname: '',\n host: '',\n port: '',\n pathname: '',\n search: '',\n hash: ''\n }\n if (!url || !isString(url)) return result\n\n url = url.trim()\n const PATTERN = /^(([^:/?#]+):)?\\/\\/(([^/?#]+):(.+)@)?([^/?#:]*)(:(\\d+))?([^?#]*)(\\?([^#]*))?(#(.*))?/\n const matches = url.match(PATTERN)\n\n if (!matches) return result\n\n // TODO: username & password ?\n result.protocol = matches[1] || 'https:'\n result.hostname = matches[6] || 'taro.com'\n result.port = matches[8] || ''\n result.pathname = matches[9] || '/'\n result.search = matches[10] || ''\n result.hash = matches[12] || ''\n result.href = url\n result.origin = result.protocol + '//' + result.hostname\n result.host = result.hostname + (result.port ? `:${result.port}` : '')\n\n return result\n}\n\nfunction parseUrlBase (url: string, base?: string) {\n const VALID_URL = /^(https?:)\\/\\//i\n\n let fullUrl = ''\n let parsedBase: ReturnType<typeof parseUrl> | null = null\n\n if (!isUndefined(base)) {\n base = String(base).trim()\n if (!VALID_URL.test(base)) throw new TypeError(`Failed to construct 'URL': Invalid base URL`)\n parsedBase = parseUrl(base)\n }\n\n url = String(url).trim()\n\n if (VALID_URL.test(url)) {\n fullUrl = url\n } else if (parsedBase) {\n if (url) {\n if (url.startsWith('//')) {\n fullUrl = parsedBase.protocol + url\n } else {\n fullUrl = parsedBase.origin + (url.startsWith('/') ? url : `/${url}`)\n }\n } else {\n fullUrl = parsedBase.href\n }\n } else {\n throw new TypeError(`Failed to construct 'URL': Invalid URL`)\n }\n\n return parseUrl(fullUrl)\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"URLSearchParams.js","sources":["../../src/bom/URLSearchParams.ts"],"sourcesContent":["import { isArray } from '@tarojs/shared'\n\nimport env from '../env'\n\nconst findReg = /[!'()~]|%20|%00/g\nconst plusReg = /\\+/g\nconst replaceCharMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n}\n\nfunction replacer (match: string) {\n return replaceCharMap[match]\n}\n\nfunction appendTo (dict: Record<string, string[]>, name: string, value: string) {\n const res = isArray(value) ? value.join(',') : value\n if (name in dict) dict[name].push(res)\n else dict[name] = [res]\n}\n\nfunction addEach (value: string, key: string) {\n appendTo(this, key, value)\n}\n\nfunction decode (str: string) {\n return decodeURIComponent(str.replace(plusReg, ' '))\n}\n\nfunction encode (str: string) {\n return encodeURIComponent(str).replace(findReg, replacer)\n}\n\nexport const URLSearchParams = process.env.TARO_PLATFORM === 'web' ? env.window.URLSearchParams : class {\n #dict = Object.create(null)\n\n constructor (query) {\n query ??= ''\n\n const dict = this.#dict\n\n if (typeof query === 'string') {\n if (query.charAt(0) === '?') {\n query = query.slice(1)\n }\n for (let pairs = query.split('&'), i = 0, length = pairs.length; i < length; i++) {\n const value = pairs[i]\n const index = value.indexOf('=')\n\n // 针对不规范的 url 参数做容错处理,如:word=你%好\n try {\n if (index > -1) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)))\n } else if (value.length) {\n appendTo(dict, decode(value), '')\n }\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Taro warn] URL 参数 ${value} decode 异常`)\n }\n }\n }\n } else {\n if (isArray(query)) {\n for (let i = 0, length = query.length; i < length; i++) {\n const value = query[i]\n appendTo(dict, value[0], value[1])\n }\n } else if (query.forEach) {\n query.forEach(addEach, dict)\n } else {\n for (const key in query) {\n appendTo(dict, key, query[key])\n }\n }\n }\n }\n\n append (name: string, value: string) {\n appendTo(this.#dict, name, value)\n }\n\n delete (name: string) {\n delete this.#dict[name]\n }\n\n get (name: string) {\n const dict = this.#dict\n return name in dict ? dict[name][0] : null\n }\n\n getAll (name: string) {\n const dict = this.#dict\n return name in dict ? dict[name].slice(0) : []\n }\n\n has (name: string) {\n return name in this.#dict\n }\n\n keys () {\n return Object.keys(this.#dict)\n }\n\n set (name: string, value: string) {\n this.#dict[name] = ['' + value]\n }\n\n forEach (callback, thisArg) {\n const dict = this.#dict\n Object.getOwnPropertyNames(dict).forEach(function (name) {\n dict[name].forEach(function (value: string) {\n callback.call(thisArg, value, name, this)\n }, this)\n }, this)\n }\n\n toJSON () {\n return {}\n }\n\n toString () {\n const dict = this.#dict\n const query: any[] = []\n for (const key in dict) {\n const name = encode(key)\n for (let i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]))\n }\n }\n return query.join('&')\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"URLSearchParams.js","sources":["../../src/bom/URLSearchParams.ts"],"sourcesContent":["import { isArray } from '@tarojs/shared'\n\nimport env from '../env'\n\nconst findReg = /[!'()~]|%20|%00/g\nconst plusReg = /\\+/g\nconst replaceCharMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n}\n\nfunction replacer (match: string) {\n return replaceCharMap[match]\n}\n\nfunction appendTo (dict: Record<string, string[]>, name: string, value: string) {\n const res = isArray(value) ? value.join(',') : value\n if (name in dict) dict[name].push(res)\n else dict[name] = [res]\n}\n\nfunction addEach (value: string, key: string) {\n appendTo(this, key, value)\n}\n\nfunction decode (str: string) {\n return decodeURIComponent(str.replace(plusReg, ' '))\n}\n\nfunction encode (str: string) {\n return encodeURIComponent(str).replace(findReg, replacer)\n}\n\nexport const URLSearchParams = process.env.TARO_PLATFORM === 'web' ? env.window.URLSearchParams : class {\n #dict = Object.create(null)\n\n constructor (query) {\n query ??= ''\n\n const dict = this.#dict\n\n if (typeof query === 'string') {\n if (query.charAt(0) === '?') {\n query = query.slice(1)\n }\n for (let pairs = query.split('&'), i = 0, length = pairs.length; i < length; i++) {\n const value = pairs[i]\n const index = value.indexOf('=')\n\n // 针对不规范的 url 参数做容错处理,如:word=你%好\n try {\n if (index > -1) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)))\n } else if (value.length) {\n appendTo(dict, decode(value), '')\n }\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Taro warn] URL 参数 ${value} decode 异常`)\n }\n }\n }\n } else {\n if (isArray(query)) {\n for (let i = 0, length = query.length; i < length; i++) {\n const value = query[i]\n appendTo(dict, value[0], value[1])\n }\n } else if (query.forEach) {\n query.forEach(addEach, dict)\n } else {\n for (const key in query) {\n appendTo(dict, key, query[key])\n }\n }\n }\n }\n\n append (name: string, value: string) {\n appendTo(this.#dict, name, value)\n }\n\n delete (name: string) {\n delete this.#dict[name]\n }\n\n get (name: string) {\n const dict = this.#dict\n return name in dict ? dict[name][0] : null\n }\n\n getAll (name: string) {\n const dict = this.#dict\n return name in dict ? dict[name].slice(0) : []\n }\n\n has (name: string) {\n return name in this.#dict\n }\n\n keys () {\n return Object.keys(this.#dict)\n }\n\n set (name: string, value: string) {\n this.#dict[name] = ['' + value]\n }\n\n forEach (callback, thisArg) {\n const dict = this.#dict\n Object.getOwnPropertyNames(dict).forEach(function (name) {\n dict[name].forEach(function (value: string) {\n callback.call(thisArg, value, name, this)\n }, this)\n }, this)\n }\n\n toJSON () {\n return {}\n }\n\n toString () {\n const dict = this.#dict\n const query: any[] = []\n for (const key in dict) {\n const name = encode(key)\n for (let i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]))\n }\n }\n return query.join('&')\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { TaroDocument } from "../dom/document.js";
2
- declare const taroDocumentProvider: TaroDocument;
3
- export { taroDocumentProvider };
2
+ declare const document: TaroDocument;
3
+ export { document };
@@ -33,8 +33,7 @@ function createDocument() {
33
33
  doc.body = body;
34
34
  return doc;
35
35
  }
36
- // Note: 小程序端 vite 打包成 commonjs,const document = xxx 会报错,所以把 document 改为 taroDocumentProvider
37
- const taroDocumentProvider = process.env.TARO_PLATFORM === 'web' ? env.document : (env.document = createDocument());
36
+ const document = process.env.TARO_PLATFORM === 'web' ? env.document : (env.document = createDocument());
38
37
 
39
- export { taroDocumentProvider };
38
+ export { document };
40
39
  //# sourceMappingURL=document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sources":["../../src/bom/document.ts"],"sourcesContent":["import {\n APP,\n BODY,\n CONTAINER,\n HEAD,\n HTML\n} from '../constants'\nimport { TaroDocument } from '../dom/document'\nimport env from '../env'\n\nfunction createDocument (): TaroDocument {\n /**\n * <document>\n * <html>\n * <head></head>\n * <body>\n * <container>\n * <app id=\"app\" />\n * </container>\n * </body>\n * </html>\n * </document>\n */\n const doc = new TaroDocument()\n const documentCreateElement = doc.createElement.bind(doc)\n const html = documentCreateElement(HTML)\n const head = documentCreateElement(HEAD)\n const body = documentCreateElement(BODY)\n const app = documentCreateElement(APP)\n app.id = APP\n const container = documentCreateElement(CONTAINER) // 多包一层主要为了兼容 vue\n\n doc.appendChild(html)\n html.appendChild(head)\n html.appendChild(body)\n body.appendChild(container)\n container.appendChild(app)\n\n doc.documentElement = html\n doc.head = head\n doc.body = body\n\n return doc\n}\n\n// Note: 小程序端 vite 打包成 commonjs,const document = xxx 会报错,所以把 document 改为 taroDocumentProvider\nexport const taroDocumentProvider: TaroDocument = process.env.TARO_PLATFORM === 'web' ? env.document : (env.document = createDocument())\n"],"names":[],"mappings":";;;;AAUA,SAAS,cAAc,GAAA;AACrB;;;;;;;;;;;AAWK;AACL,IAAA,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAA;IAC9B,MAAM,qBAAqB,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACzD,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;AACxC,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;AACxC,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;AACxC,IAAA,MAAM,GAAG,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;AACtC,IAAA,GAAG,CAAC,EAAE,GAAG,GAAG,CAAA;IACZ,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;AAElD,IAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACrB,IAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACtB,IAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACtB,IAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;AAC3B,IAAA,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAE1B,IAAA,GAAG,CAAC,eAAe,GAAG,IAAI,CAAA;AAC1B,IAAA,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;AACf,IAAA,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;AAEf,IAAA,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;AACO,MAAM,oBAAoB,GAAiB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,GAAG,cAAc,EAAE;;;;"}
1
+ {"version":3,"file":"document.js","sources":["../../src/bom/document.ts"],"sourcesContent":["import {\n APP,\n BODY,\n CONTAINER,\n HEAD,\n HTML\n} from '../constants'\nimport { TaroDocument } from '../dom/document'\nimport env from '../env'\n\nfunction createDocument (): TaroDocument {\n /**\n * <document>\n * <html>\n * <head></head>\n * <body>\n * <container>\n * <app id=\"app\" />\n * </container>\n * </body>\n * </html>\n * </document>\n */\n const doc = new TaroDocument()\n const documentCreateElement = doc.createElement.bind(doc)\n const html = documentCreateElement(HTML)\n const head = documentCreateElement(HEAD)\n const body = documentCreateElement(BODY)\n const app = documentCreateElement(APP)\n app.id = APP\n const container = documentCreateElement(CONTAINER) // 多包一层主要为了兼容 vue\n\n doc.appendChild(html)\n html.appendChild(head)\n html.appendChild(body)\n body.appendChild(container)\n container.appendChild(app)\n\n doc.documentElement = html\n doc.head = head\n doc.body = body\n\n return doc\n}\n\nexport const document: TaroDocument = process.env.TARO_PLATFORM === 'web' ? env.document : (env.document = createDocument())\n"],"names":[],"mappings":";;;;AAUA,SAAS,cAAc,GAAA;AACrB;;;;;;;;;;;AAWK;AACL,IAAA,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAA;IAC9B,MAAM,qBAAqB,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACzD,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;AACxC,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;AACxC,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAA;AACxC,IAAA,MAAM,GAAG,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAA;AACtC,IAAA,GAAG,CAAC,EAAE,GAAG,GAAG,CAAA;IACZ,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;AAElD,IAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACrB,IAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACtB,IAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACtB,IAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;AAC3B,IAAA,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAE1B,IAAA,GAAG,CAAC,eAAe,GAAG,IAAI,CAAA;AAC1B,IAAA,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;AACf,IAAA,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;AAEf,IAAA,OAAO,GAAG,CAAA;AACZ,CAAC;AAEM,MAAM,QAAQ,GAAiB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,GAAG,cAAc,EAAE;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { TaroElement } from "../dom/element.js";
2
2
  import { Style } from "../dom/style.js";
3
3
  type TGetComputedStyle = typeof window.getComputedStyle | ((el: TaroElement) => Style);
4
- declare const taroGetComputedStyleProvider: TGetComputedStyle;
5
- export { TGetComputedStyle, taroGetComputedStyleProvider };
4
+ declare const getComputedStyle: TGetComputedStyle;
5
+ export { TGetComputedStyle, getComputedStyle };
@@ -1,9 +1,8 @@
1
1
  import env from '../env.js';
2
2
 
3
- // Note: 小程序端 vite 打包成 commonjs,const getComputedStyle = xxx 会报错,所以把 GetComputedStyle 改为 taroGetComputedStyleProvider
4
- const taroGetComputedStyleProvider = process.env.TARO_PLATFORM === 'web' ? env.window.getComputedStyle : function (element) {
3
+ const getComputedStyle = process.env.TARO_PLATFORM === 'web' ? env.window.getComputedStyle : function (element) {
5
4
  return element.style;
6
5
  };
7
6
 
8
- export { taroGetComputedStyleProvider };
7
+ export { getComputedStyle };
9
8
  //# sourceMappingURL=getComputedStyle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getComputedStyle.js","sources":["../../src/bom/getComputedStyle.ts"],"sourcesContent":["import env from '../env'\n\nimport type { TaroElement } from '../dom/element'\nimport type { Style } from '../dom/style'\n\nexport type TGetComputedStyle = typeof window.getComputedStyle | ((el: TaroElement) => Style)\n\n// Note: 小程序端 vite 打包成 commonjs,const getComputedStyle = xxx 会报错,所以把 GetComputedStyle 改为 taroGetComputedStyleProvider\nexport const taroGetComputedStyleProvider: TGetComputedStyle = process.env.TARO_PLATFORM === 'web' ? env.window.getComputedStyle : function (element: TaroElement): Style {\n return element.style\n}\n"],"names":[],"mappings":";;AAOA;MACa,4BAA4B,GAAsB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,GAAG,UAAU,OAAoB,EAAA;IAC/J,OAAO,OAAO,CAAC,KAAK,CAAA;AACtB;;;;"}
1
+ {"version":3,"file":"getComputedStyle.js","sources":["../../src/bom/getComputedStyle.ts"],"sourcesContent":["import env from '../env'\n\nimport type { TaroElement } from '../dom/element'\nimport type { Style } from '../dom/style'\n\nexport type TGetComputedStyle = typeof window.getComputedStyle | ((el: TaroElement) => Style)\nexport const getComputedStyle: TGetComputedStyle = process.env.TARO_PLATFORM === 'web' ? env.window.getComputedStyle : function (element: TaroElement): Style {\n return element.style\n}\n"],"names":[],"mappings":";;MAMa,gBAAgB,GAAsB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,GAAG,UAAU,OAAoB,EAAA;IACnJ,OAAO,OAAO,CAAC,KAAK,CAAA;AACtB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sources":["../../src/bom/history.ts"],"sourcesContent":["import { isNumber, isString } from '@tarojs/shared'\n\nimport { CONTEXT_ACTIONS } from '../constants'\nimport { Events } from '../emitter/emitter'\nimport env from '../env'\nimport { RuntimeCache } from '../utils/cache'\n\nimport type { TaroLocation } from './location'\n\nexport interface HistoryState {\n state: Record<string, any> | null\n title: string\n url: string\n}\n\ntype Options = {\n window: any\n}\ntype HistoryContext = {\n location: TaroLocation\n stack: HistoryState[]\n cur: number\n}\nconst cache = new RuntimeCache<HistoryContext>('history')\n\nclass TaroHistory extends Events {\n /* private property */\n #location: TaroLocation\n #stack: HistoryState[] = []\n #cur = 0\n\n #window: any\n\n constructor (location: TaroLocation, options: Options) {\n super()\n\n this.#window = options.window\n this.#location = location\n\n this.#location.on('__record_history__', (href: string) => {\n this.#cur++\n this.#stack = this.#stack.slice(0, this.#cur)\n this.#stack.push({\n state: null,\n title: '',\n url: href\n })\n }, null)\n\n this.#location.on('__reset_history__', (href: string) => {\n this.#reset(href)\n }, null)\n\n // 切换上下文行为\n\n this.on(CONTEXT_ACTIONS.INIT, () => {\n this.#reset()\n }, null)\n\n this.on(CONTEXT_ACTIONS.RESTORE, (pageId: string) => {\n cache.set(pageId, {\n location: this.#location,\n stack: this.#stack.slice(),\n cur: this.#cur\n })\n }, null)\n\n this.on(CONTEXT_ACTIONS.RECOVER, (pageId: string) => {\n if (cache.has(pageId)) {\n const ctx = cache.get(pageId)!\n this.#location = ctx.location\n this.#stack = ctx.stack\n this.#cur = ctx.cur\n }\n }, null)\n\n this.on(CONTEXT_ACTIONS.DESTORY, (pageId: string) => {\n cache.delete(pageId)\n }, null)\n\n this.#reset()\n }\n\n #reset (href = '') {\n this.#stack = [\n {\n state: null,\n title: '',\n url: href || this.#location.href\n }\n ]\n this.#cur = 0\n }\n\n /* public property */\n get length () {\n return this.#stack.length\n }\n\n get state () {\n return this.#stack[this.#cur].state\n }\n\n /* public method */\n go (delta: number) {\n if (!isNumber(delta) || isNaN(delta)) return\n\n let targetIdx = this.#cur + delta\n targetIdx = Math.min(Math.max(targetIdx, 0), this.length - 1)\n\n this.#cur = targetIdx\n\n this.#location.trigger('__set_href_without_history__', this.#stack[this.#cur].url)\n this.#window.trigger('popstate', this.#stack[this.#cur])\n }\n\n back () {\n this.go(-1)\n }\n\n forward () {\n this.go(1)\n }\n\n pushState (state: any, title: string, url: string) {\n if (!url || !isString(url)) return\n this.#stack = this.#stack.slice(0, this.#cur + 1)\n this.#stack.push({\n state,\n title,\n url\n })\n this.#cur = this.length - 1\n\n this.#location.trigger('__set_href_without_history__', url)\n }\n\n replaceState (state: any, title: string, url: string) {\n if (!url || !isString(url)) return\n this.#stack[this.#cur] = {\n state,\n title,\n url\n }\n\n this.#location.trigger('__set_href_without_history__', url)\n }\n\n // For debug\n get cache () {\n return cache\n }\n}\n\nexport type { TaroHistory }\nexport const History: typeof TaroHistory = process.env.TARO_PLATFORM === 'web' ? env.window.History : TaroHistory\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sources":["../../src/bom/history.ts"],"sourcesContent":["import { isNumber, isString } from '@tarojs/shared'\n\nimport { CONTEXT_ACTIONS } from '../constants'\nimport { Events } from '../emitter/emitter'\nimport env from '../env'\nimport { RuntimeCache } from '../utils/cache'\n\nimport type { TaroLocation } from './location'\n\nexport interface HistoryState {\n state: Record<string, any> | null\n title: string\n url: string\n}\n\ntype Options = {\n window: any\n}\ntype HistoryContext = {\n location: TaroLocation\n stack: HistoryState[]\n cur: number\n}\nconst cache = new RuntimeCache<HistoryContext>('history')\n\nclass TaroHistory extends Events {\n /* private property */\n #location: TaroLocation\n #stack: HistoryState[] = []\n #cur = 0\n\n #window: any\n\n constructor (location: TaroLocation, options: Options) {\n super()\n\n this.#window = options.window\n this.#location = location\n\n this.#location.on('__record_history__', (href: string) => {\n this.#cur++\n this.#stack = this.#stack.slice(0, this.#cur)\n this.#stack.push({\n state: null,\n title: '',\n url: href\n })\n }, null)\n\n this.#location.on('__reset_history__', (href: string) => {\n this.#reset(href)\n }, null)\n\n // 切换上下文行为\n\n this.on(CONTEXT_ACTIONS.INIT, () => {\n this.#reset()\n }, null)\n\n this.on(CONTEXT_ACTIONS.RESTORE, (pageId: string) => {\n cache.set(pageId, {\n location: this.#location,\n stack: this.#stack.slice(),\n cur: this.#cur\n })\n }, null)\n\n this.on(CONTEXT_ACTIONS.RECOVER, (pageId: string) => {\n if (cache.has(pageId)) {\n const ctx = cache.get(pageId)!\n this.#location = ctx.location\n this.#stack = ctx.stack\n this.#cur = ctx.cur\n }\n }, null)\n\n this.on(CONTEXT_ACTIONS.DESTORY, (pageId: string) => {\n cache.delete(pageId)\n }, null)\n\n this.#reset()\n }\n\n #reset (href = '') {\n this.#stack = [\n {\n state: null,\n title: '',\n url: href || this.#location.href\n }\n ]\n this.#cur = 0\n }\n\n /* public property */\n get length () {\n return this.#stack.length\n }\n\n get state () {\n return this.#stack[this.#cur].state\n }\n\n /* public method */\n go (delta: number) {\n if (!isNumber(delta) || isNaN(delta)) return\n\n let targetIdx = this.#cur + delta\n targetIdx = Math.min(Math.max(targetIdx, 0), this.length - 1)\n\n this.#cur = targetIdx\n\n this.#location.trigger('__set_href_without_history__', this.#stack[this.#cur].url)\n this.#window.trigger('popstate', this.#stack[this.#cur])\n }\n\n back () {\n this.go(-1)\n }\n\n forward () {\n this.go(1)\n }\n\n pushState (state: any, title: string, url: string) {\n if (!url || !isString(url)) return\n this.#stack = this.#stack.slice(0, this.#cur + 1)\n this.#stack.push({\n state,\n title,\n url\n })\n this.#cur = this.length - 1\n\n this.#location.trigger('__set_href_without_history__', url)\n }\n\n replaceState (state: any, title: string, url: string) {\n if (!url || !isString(url)) return\n this.#stack[this.#cur] = {\n state,\n title,\n url\n }\n\n this.#location.trigger('__set_href_without_history__', url)\n }\n\n // For debug\n get cache () {\n return cache\n }\n}\n\nexport type { TaroHistory }\nexport const History: typeof TaroHistory = process.env.TARO_PLATFORM === 'web' ? env.window.History : TaroHistory\n"],"names":[],"mappings":";;;;;;;;AAuBA,MAAM,KAAK,GAAG,IAAI,YAAY,CAAiB,SAAS,CAAC,CAAA;AAEzD,MAAM,WAAY,SAAQ,MAAM,CAAA;IAQ9B,WAAa,CAAA,QAAsB,EAAE,OAAgB,EAAA;AACnD,QAAA,KAAK,EAAE,CAAA;;;QAPT,qBAAuB,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACvB,QAAA,kBAAA,CAAA,GAAA,CAAA,IAAA,EAAyB,EAAE,CAAA,CAAA;AAC3B,QAAA,gBAAA,CAAA,GAAA,CAAA,IAAA,EAAO,CAAC,CAAA,CAAA;QAER,mBAAY,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKV,QAAA,sBAAA,CAAA,IAAI,EAAW,mBAAA,EAAA,OAAO,CAAC,MAAM,MAAA,CAAA;AAC7B,QAAA,sBAAA,CAAA,IAAI,EAAA,qBAAA,EAAa,QAAQ,EAAA,GAAA,CAAA,CAAA;QAEzB,sBAAA,CAAA,IAAI,EAAU,qBAAA,EAAA,GAAA,CAAA,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,IAAY,KAAI;;AACvD,YAAA,sBAAA,CAAA,IAAA,EAAA,gBAAA,GAAA,EAAS,GAAA,sBAAA,CAAA,IAAA,EAAA,gBAAA,EAAA,GAAA,CAAA,EAAT,IAAW,EAAA,EAAA,OAAA,CAAA;AACX,YAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAU,sBAAA,CAAA,IAAI,0BAAO,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAA,CAAA,IAAI,EAAK,gBAAA,EAAA,GAAA,CAAA,CAAC,MAAA,CAAA;AAC7C,YAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAO,CAAC,IAAI,CAAC;AACf,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,KAAK,EAAE,EAAE;AACT,gBAAA,GAAG,EAAE,IAAI;AACV,aAAA,CAAC,CAAA;SACH,EAAE,IAAI,CAAC,CAAA;QAER,sBAAA,CAAA,IAAI,EAAU,qBAAA,EAAA,GAAA,CAAA,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,IAAY,KAAI;AACtD,YAAA,sBAAA,CAAA,IAAI,EAAO,sBAAA,EAAA,GAAA,EAAA,kBAAA,CAAA,CAAA,IAAA,CAAX,IAAI,EAAQ,IAAI,CAAC,CAAA;SAClB,EAAE,IAAI,CAAC,CAAA;;QAIR,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,MAAK;AACjC,YAAA,sBAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,EAAA,kBAAA,CAAO,CAAX,IAAA,CAAA,IAAI,CAAS,CAAA;SACd,EAAE,IAAI,CAAC,CAAA;QAER,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,MAAc,KAAI;AAClD,YAAA,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;gBAChB,QAAQ,EAAE,sBAAA,CAAA,IAAI,EAAU,qBAAA,EAAA,GAAA,CAAA;AACxB,gBAAA,KAAK,EAAE,sBAAA,CAAA,IAAI,EAAO,kBAAA,EAAA,GAAA,CAAA,CAAC,KAAK,EAAE;gBAC1B,GAAG,EAAE,sBAAA,CAAA,IAAI,EAAK,gBAAA,EAAA,GAAA,CAAA;AACf,aAAA,CAAC,CAAA;SACH,EAAE,IAAI,CAAC,CAAA;QAER,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,MAAc,KAAI;AAClD,YAAA,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACrB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAA;AAC9B,gBAAA,sBAAA,CAAA,IAAI,EAAa,qBAAA,EAAA,GAAG,CAAC,QAAQ,MAAA,CAAA;AAC7B,gBAAA,sBAAA,CAAA,IAAI,EAAU,kBAAA,EAAA,GAAG,CAAC,KAAK,MAAA,CAAA;AACvB,gBAAA,sBAAA,CAAA,IAAI,EAAQ,gBAAA,EAAA,GAAG,CAAC,GAAG,MAAA,CAAA;AACpB,aAAA;SACF,EAAE,IAAI,CAAC,CAAA;QAER,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,MAAc,KAAI;AAClD,YAAA,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SACrB,EAAE,IAAI,CAAC,CAAA;AAER,QAAA,sBAAA,CAAA,IAAI,EAAA,sBAAA,EAAA,GAAA,EAAA,kBAAA,CAAO,CAAX,IAAA,CAAA,IAAI,CAAS,CAAA;KACd;;AAcD,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAO,kBAAA,EAAA,GAAA,CAAA,CAAC,MAAM,CAAA;KAC1B;AAED,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAO,CAAC,sBAAA,CAAA,IAAI,EAAK,gBAAA,EAAA,GAAA,CAAA,CAAC,CAAC,KAAK,CAAA;KACpC;;AAGD,IAAA,EAAE,CAAE,KAAa,EAAA;QACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;YAAE,OAAM;AAE5C,QAAA,IAAI,SAAS,GAAG,sBAAA,CAAA,IAAI,EAAK,gBAAA,EAAA,GAAA,CAAA,GAAG,KAAK,CAAA;QACjC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAE7D,QAAA,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAQ,SAAS,EAAA,GAAA,CAAA,CAAA;AAErB,QAAA,sBAAA,CAAA,IAAI,EAAU,qBAAA,EAAA,GAAA,CAAA,CAAC,OAAO,CAAC,8BAA8B,EAAE,sBAAA,CAAA,IAAI,EAAO,kBAAA,EAAA,GAAA,CAAA,CAAC,uBAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAK,CAAC,CAAC,GAAG,CAAC,CAAA;AAClF,QAAA,sBAAA,CAAA,IAAI,EAAQ,mBAAA,EAAA,GAAA,CAAA,CAAC,OAAO,CAAC,UAAU,EAAE,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAO,CAAC,sBAAA,CAAA,IAAI,EAAK,gBAAA,EAAA,GAAA,CAAA,CAAC,CAAC,CAAA;KACzD;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACZ;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;KACX;AAED,IAAA,SAAS,CAAE,KAAU,EAAE,KAAa,EAAE,GAAW,EAAA;AAC/C,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAM;AAClC,QAAA,sBAAA,CAAA,IAAI,EAAU,kBAAA,EAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAO,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAK,GAAG,CAAC,CAAC,MAAA,CAAA;AACjD,QAAA,sBAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAO,CAAC,IAAI,CAAC;YACf,KAAK;YACL,KAAK;YACL,GAAG;AACJ,SAAA,CAAC,CAAA;QACF,sBAAA,CAAA,IAAI,oBAAQ,IAAI,CAAC,MAAM,GAAG,CAAC,MAAA,CAAA;QAE3B,sBAAA,CAAA,IAAI,6BAAU,CAAC,OAAO,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAA;KAC5D;AAED,IAAA,YAAY,CAAE,KAAU,EAAE,KAAa,EAAE,GAAW,EAAA;AAClD,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAM;AAClC,QAAA,sBAAA,CAAA,IAAI,EAAO,kBAAA,EAAA,GAAA,CAAA,CAAC,uBAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAK,CAAC,GAAG;YACvB,KAAK;YACL,KAAK;YACL,GAAG;SACJ,CAAA;QAED,sBAAA,CAAA,IAAI,6BAAU,CAAC,OAAO,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAA;KAC5D;;AAGD,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,KAAK,CAAA;KACb;AACF,CAAA;AArES,qBAAA,GAAA,IAAA,OAAA,EAAA,EAAA,kBAAA,GAAA,IAAA,OAAA,EAAA,EAAA,gBAAA,GAAA,IAAA,OAAA,EAAA,EAAA,mBAAA,GAAA,IAAA,OAAA,EAAA,EAAA,sBAAA,GAAA,IAAA,OAAA,EAAA,EAAA,kBAAA,GAAA,SAAA,kBAAA,CAAA,IAAI,GAAG,EAAE,EAAA;AACf,IAAA,sBAAA,CAAA,IAAI,EAAU,kBAAA,EAAA;AACZ,QAAA;AACE,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,GAAG,EAAE,IAAI,IAAI,uBAAA,IAAI,EAAA,qBAAA,EAAA,GAAA,CAAU,CAAC,IAAI;AACjC,SAAA;AACF,KAAA,EAAA,GAAA,CAAA,CAAA;AACD,IAAA,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAQ,CAAC,EAAA,GAAA,CAAA,CAAA;AACf,CAAC,CAAA;MA+DU,OAAO,GAAuB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG;;;;"}
@@ -5,7 +5,7 @@ import { getCurrentInstance } from '../current.js';
5
5
  import '../emitter/emitter.js';
6
6
  import env from '../env.js';
7
7
  import { RuntimeCache } from '../utils/cache.js';
8
- import { TaroURLProvider } from './URL.js';
8
+ import { URL } from './URL.js';
9
9
 
10
10
  var _TaroLocation_instances, _TaroLocation_url, _TaroLocation_noCheckUrl, _TaroLocation_window, _TaroLocation_reset, _TaroLocation_getPreValue, _TaroLocation_rollBack, _TaroLocation_recordHistory, _TaroLocation_checkUrlChange;
11
11
  const INIT_URL = 'https://taro.com';
@@ -15,7 +15,7 @@ class TaroLocation extends Events {
15
15
  super();
16
16
  _TaroLocation_instances.add(this);
17
17
  /* private property */
18
- _TaroLocation_url.set(this, new TaroURLProvider(INIT_URL));
18
+ _TaroLocation_url.set(this, new URL(INIT_URL));
19
19
  _TaroLocation_noCheckUrl.set(this, false);
20
20
  _TaroLocation_window.set(this, void 0);
21
21
  __classPrivateFieldSet(this, _TaroLocation_window, options.window, "f");
@@ -192,7 +192,7 @@ _TaroLocation_url = new WeakMap(), _TaroLocation_noCheckUrl = new WeakMap(), _Ta
192
192
  });
193
193
  const searchStr = searchArr.length > 0 ? '?' + searchArr.join('&') : '';
194
194
  const url = `${INIT_URL}${path.startsWith('/') ? path : '/' + path}${searchStr}`;
195
- __classPrivateFieldSet(this, _TaroLocation_url, new TaroURLProvider(url), "f");
195
+ __classPrivateFieldSet(this, _TaroLocation_url, new URL(url), "f");
196
196
  this.trigger('__reset_history__', this.href);
197
197
  }
198
198
  }, _TaroLocation_getPreValue = function _TaroLocation_getPreValue() {
@@ -1 +1 @@
1
- {"version":3,"file":"location.js","sources":["../../src/bom/location.ts"],"sourcesContent":["import { isNumber, isString, warn } from '@tarojs/shared'\n\nimport { CONTEXT_ACTIONS } from '../constants'\nimport { getCurrentInstance } from '../current'\nimport { Events } from '../emitter/emitter'\nimport env from '../env'\nimport { RuntimeCache } from '../utils/cache'\nimport { TaroURLProvider } from './URL'\n\ntype PreValue = ReturnType<typeof TaroURLProvider.prototype._toRaw>\n\ntype Options = {\n window: any\n}\ntype LocationContext = {\n lastHref: string\n}\n\nconst INIT_URL = 'https://taro.com'\nconst cache = new RuntimeCache<LocationContext>('location')\n\nclass TaroLocation extends Events {\n /* private property */\n #url = new TaroURLProvider(INIT_URL)\n #noCheckUrl = false\n #window: any\n\n constructor (options: Options) {\n super()\n\n this.#window = options.window\n\n this.#reset()\n\n this.on(\n '__set_href_without_history__',\n (href: string) => {\n this.#noCheckUrl = true\n\n const lastHash = this.#url.hash\n this.#url.href = generateFullUrl(href)\n\n if (lastHash !== this.#url.hash) {\n this.#window.trigger('hashchange')\n }\n\n this.#noCheckUrl = false\n },\n null\n )\n\n // 切换上下文行为\n this.on(\n CONTEXT_ACTIONS.INIT,\n () => {\n this.#reset()\n },\n null\n )\n\n this.on(\n CONTEXT_ACTIONS.RESTORE,\n (pageId: string) => {\n cache.set(pageId, {\n lastHref: this.href,\n })\n },\n null\n )\n\n this.on(\n CONTEXT_ACTIONS.RECOVER,\n (pageId: string) => {\n // 数据恢复时,不需要执行跳转\n if (cache.has(pageId)) {\n const ctx = cache.get(pageId)!\n this.#noCheckUrl = true\n this.#url.href = ctx.lastHref\n this.#noCheckUrl = false\n }\n },\n null\n )\n\n this.on(\n CONTEXT_ACTIONS.DESTORY,\n (pageId: string) => {\n cache.delete(pageId)\n },\n null\n )\n }\n\n /* private method */\n #reset () {\n const Current = getCurrentInstance()\n const router = Current.router\n if (router) {\n const { path, params } = router\n const searchArr = Object.keys(params).map((key) => {\n return `${key}=${params[key]}`\n })\n const searchStr = searchArr.length > 0 ? '?' + searchArr.join('&') : ''\n const url = `${INIT_URL}${path.startsWith('/') ? path : '/' + path}${searchStr}`\n\n this.#url = new TaroURLProvider(url)\n\n this.trigger('__reset_history__', this.href)\n }\n }\n\n #getPreValue (): PreValue {\n return this.#url._toRaw()\n }\n\n #rollBack (href: string) {\n this.#url.href = href\n }\n\n #recordHistory () {\n this.trigger('__record_history__', this.href)\n }\n\n /**\n * 校验url的变化,是否需要更新history\n */\n #checkUrlChange (preValue: PreValue): boolean {\n if (this.#noCheckUrl) {\n return false\n }\n\n const { protocol, hostname, port, pathname, search, hash } = this.#url._toRaw()\n\n // 跨域三要素不允许修改\n if (protocol !== preValue.protocol || hostname !== preValue.hostname || port !== preValue.port) {\n this.#rollBack(preValue.href)\n return false\n }\n\n // pathname\n if (pathname !== preValue.pathname) {\n return true\n }\n\n // search\n if (search !== preValue.search) {\n return true\n }\n\n // hashchange\n if (hash !== preValue.hash) {\n this.#window.trigger('hashchange')\n return true\n }\n\n this.#rollBack(preValue.href)\n return false\n }\n\n /* public property */\n get protocol () {\n return this.#url.protocol\n }\n\n set protocol (val: string) {\n const REG = /^(http|https):$/i\n if (!val || !isString(val) || !REG.test(val.trim())) return\n\n val = val.trim()\n const preValue = this.#getPreValue()\n this.#url.protocol = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get host () {\n return this.#url.host\n }\n\n set host (val: string) {\n if (!val || !isString(val)) return\n val = val.trim()\n\n const preValue = this.#getPreValue()\n this.#url.host = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get hostname () {\n return this.#url.hostname\n }\n\n set hostname (val: string) {\n if (!val || !isString(val)) return\n val = val.trim()\n\n const preValue = this.#getPreValue()\n this.#url.hostname = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get port () {\n return this.#url.port\n }\n\n set port (val: string) {\n const xVal = Number((val = val.trim()))\n if (!isNumber(xVal) || xVal <= 0) return\n\n const preValue = this.#getPreValue()\n this.#url.port = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get pathname () {\n return this.#url.pathname\n }\n\n set pathname (val: string) {\n if (!val || !isString(val)) return\n val = val.trim()\n\n const preValue = this.#getPreValue()\n this.#url.pathname = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get search () {\n return this.#url.search\n }\n\n set search (val: string) {\n if (!val || !isString(val)) return\n val = val.trim()\n val = val.startsWith('?') ? val : `?${val}`\n\n const preValue = this.#getPreValue()\n this.#url.search = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get hash () {\n return this.#url.hash\n }\n\n // 小程序的navigateTo存在截断hash字符串的问题\n set hash (val: string) {\n if (!val || !isString(val)) return\n val = val.trim()\n val = val.startsWith('#') ? val : `#${val}`\n\n const preValue = this.#getPreValue()\n this.#url.hash = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get href () {\n return this.#url.href\n }\n\n set href (val: string) {\n const REG = /^(http:|https:)?\\/\\/.+/\n if (!val || !isString(val) || !REG.test((val = val.trim()))) return\n\n const preValue = this.#getPreValue()\n this.#url.href = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get origin () {\n return this.#url.origin\n }\n\n set origin (val: string) {\n const REG = /^(http:|https:)?\\/\\/.+/\n if (!val || !isString(val) || !REG.test((val = val.trim()))) return\n\n const preValue = this.#getPreValue()\n this.#url.origin = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n /* public method */\n assign () {\n warn(true, '小程序环境中调用location.assign()无效.')\n }\n\n reload () {\n warn(true, '小程序环境中调用location.reload()无效.')\n }\n\n replace (url: string) {\n this.trigger('__set_href_without_history__', url)\n }\n\n toString () {\n return this.href\n }\n\n // For debug\n get cache () {\n return cache\n }\n}\n\nexport type { TaroLocation }\nexport const Location: typeof TaroLocation = process.env.TARO_PLATFORM === 'web' ? env.window.Location : TaroLocation\n\nfunction generateFullUrl (val = '') {\n const origin = INIT_URL\n if (/^[/?#]/.test(val)) {\n return origin + val\n }\n return val\n}\n"],"names":[],"mappings":";;;;;;;;;;AAkBA,MAAM,QAAQ,GAAG,kBAAkB,CAAA;AACnC,MAAM,KAAK,GAAG,IAAI,YAAY,CAAkB,UAAU,CAAC,CAAA;AAE3D,MAAM,YAAa,SAAQ,MAAM,CAAA;AAM/B,IAAA,WAAA,CAAa,OAAgB,EAAA;AAC3B,QAAA,KAAK,EAAE,CAAA;;;AALT,QAAA,iBAAA,CAAA,GAAA,CAAA,IAAA,EAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAA,CAAA;AACpC,QAAA,wBAAA,CAAA,GAAA,CAAA,IAAA,EAAc,KAAK,CAAA,CAAA;QACnB,oBAAY,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKV,QAAA,sBAAA,CAAA,IAAI,EAAW,oBAAA,EAAA,OAAO,CAAC,MAAM,MAAA,CAAA;AAE7B,QAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,mBAAA,CAAO,CAAX,IAAA,CAAA,IAAI,CAAS,CAAA;QAEb,IAAI,CAAC,EAAE,CACL,8BAA8B,EAC9B,CAAC,IAAY,KAAI;AACf,YAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAe,IAAI,EAAA,GAAA,CAAA,CAAA;AAEvB,YAAA,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,CAAA;YAC/B,sBAAA,CAAA,IAAI,yBAAK,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;YAEtC,IAAI,QAAQ,KAAK,sBAAA,CAAA,IAAI,yBAAK,CAAC,IAAI,EAAE;AAC/B,gBAAA,sBAAA,CAAA,IAAI,EAAQ,oBAAA,EAAA,GAAA,CAAA,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;aACnC;AAED,YAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAe,KAAK,EAAA,GAAA,CAAA,CAAA;SACzB,EACD,IAAI,CACL,CAAA;;QAGD,IAAI,CAAC,EAAE,CACL,eAAe,CAAC,IAAI,EACpB,MAAK;AACH,YAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,mBAAA,CAAO,CAAX,IAAA,CAAA,IAAI,CAAS,CAAA;SACd,EACD,IAAI,CACL,CAAA;QAED,IAAI,CAAC,EAAE,CACL,eAAe,CAAC,OAAO,EACvB,CAAC,MAAc,KAAI;AACjB,YAAA,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;gBAChB,QAAQ,EAAE,IAAI,CAAC,IAAI;AACpB,aAAA,CAAC,CAAA;SACH,EACD,IAAI,CACL,CAAA;QAED,IAAI,CAAC,EAAE,CACL,eAAe,CAAC,OAAO,EACvB,CAAC,MAAc,KAAI;;AAEjB,YAAA,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBACrB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAE,CAAA;AAC9B,gBAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAe,IAAI,EAAA,GAAA,CAAA,CAAA;gBACvB,sBAAA,CAAA,IAAI,yBAAK,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAA;AAC7B,gBAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAe,KAAK,EAAA,GAAA,CAAA,CAAA;aACzB;SACF,EACD,IAAI,CACL,CAAA;QAED,IAAI,CAAC,EAAE,CACL,eAAe,CAAC,OAAO,EACvB,CAAC,MAAc,KAAI;AACjB,YAAA,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;SACrB,EACD,IAAI,CACL,CAAA;KACF;;AAqED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,QAAQ,CAAA;KAC1B;IAED,IAAI,QAAQ,CAAE,GAAW,EAAA;QACvB,MAAM,GAAG,GAAG,kBAAkB,CAAA;AAC9B,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAAE,OAAM;AAE3D,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;QAChB,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,CAAA;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,QAAQ,GAAG,GAAG,CAAA;AAExB,QAAA,IAAI,uBAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,4BAAA,CAAgB,MAApB,IAAI,EAAiB,QAAQ,CAAC;AAAE,YAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,2BAAA,CAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAA;KAC1D;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,CAAA;KACtB;IAED,IAAI,IAAI,CAAE,GAAW,EAAA;AACnB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAM;AAClC,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;QAEhB,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,CAAA;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,GAAG,GAAG,CAAA;AAEpB,QAAA,IAAI,uBAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,4BAAA,CAAgB,MAApB,IAAI,EAAiB,QAAQ,CAAC;AAAE,YAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,2BAAA,CAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAA;KAC1D;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,QAAQ,CAAA;KAC1B;IAED,IAAI,QAAQ,CAAE,GAAW,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAM;AAClC,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;QAEhB,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,CAAA;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,QAAQ,GAAG,GAAG,CAAA;AAExB,QAAA,IAAI,uBAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,4BAAA,CAAgB,MAApB,IAAI,EAAiB,QAAQ,CAAC;AAAE,YAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,2BAAA,CAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAA;KAC1D;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,CAAA;KACtB;IAED,IAAI,IAAI,CAAE,GAAW,EAAA;AACnB,QAAA,MAAM,IAAI,GAAG,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAA;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YAAE,OAAM;QAExC,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,CAAA;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,GAAG,GAAG,CAAA;AAEpB,QAAA,IAAI,uBAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,4BAAA,CAAgB,MAApB,IAAI,EAAiB,QAAQ,CAAC;AAAE,YAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,2BAAA,CAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAA;KAC1D;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,QAAQ,CAAA;KAC1B;IAED,IAAI,QAAQ,CAAE,GAAW,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAM;AAClC,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;QAEhB,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,CAAA;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,QAAQ,GAAG,GAAG,CAAA;AAExB,QAAA,IAAI,uBAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,4BAAA,CAAgB,MAApB,IAAI,EAAiB,QAAQ,CAAC;AAAE,YAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,2BAAA,CAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAA;KAC1D;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,MAAM,CAAA;KACxB;IAED,IAAI,MAAM,CAAE,GAAW,EAAA;AACrB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAM;AAClC,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;AAChB,QAAA,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAI,CAAA,EAAA,GAAG,EAAE,CAAA;QAE3C,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,CAAA;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,MAAM,GAAG,GAAG,CAAA;AAEtB,QAAA,IAAI,uBAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,4BAAA,CAAgB,MAApB,IAAI,EAAiB,QAAQ,CAAC;AAAE,YAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,2BAAA,CAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAA;KAC1D;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,CAAA;KACtB;;IAGD,IAAI,IAAI,CAAE,GAAW,EAAA;AACnB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAM;AAClC,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;AAChB,QAAA,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAI,CAAA,EAAA,GAAG,EAAE,CAAA;QAE3C,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,CAAA;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,GAAG,GAAG,CAAA;AAEpB,QAAA,IAAI,uBAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,4BAAA,CAAgB,MAApB,IAAI,EAAiB,QAAQ,CAAC;AAAE,YAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,2BAAA,CAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAA;KAC1D;AAED,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,CAAA;KACtB;IAED,IAAI,IAAI,CAAE,GAAW,EAAA;QACnB,MAAM,GAAG,GAAG,wBAAwB,CAAA;QACpC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE;YAAE,OAAM;QAEnE,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,CAAA;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,GAAG,GAAG,CAAA;AAEpB,QAAA,IAAI,uBAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,4BAAA,CAAgB,MAApB,IAAI,EAAiB,QAAQ,CAAC;AAAE,YAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,2BAAA,CAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAA;KAC1D;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,MAAM,CAAA;KACxB;IAED,IAAI,MAAM,CAAE,GAAW,EAAA;QACrB,MAAM,GAAG,GAAG,wBAAwB,CAAA;QACpC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE;YAAE,OAAM;QAEnE,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe,CAAA;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,MAAM,GAAG,GAAG,CAAA;AAEtB,QAAA,IAAI,uBAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,4BAAA,CAAgB,MAApB,IAAI,EAAiB,QAAQ,CAAC;AAAE,YAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,2BAAA,CAAe,CAAnB,IAAA,CAAA,IAAI,CAAiB,CAAA;KAC1D;;IAGD,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAA;KAC3C;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAA;KAC3C;AAED,IAAA,OAAO,CAAE,GAAW,EAAA;AAClB,QAAA,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAA;KAClD;IAED,QAAQ,GAAA;QACN,OAAO,IAAI,CAAC,IAAI,CAAA;KACjB;;AAGD,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,KAAK,CAAA;KACb;AACF,CAAA;;AAxNG,IAAA,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAA;AACpC,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,IAAI,MAAM,EAAE;AACV,QAAA,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;AAC/B,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;YAChD,OAAO,CAAA,EAAG,GAAG,CAAI,CAAA,EAAA,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;AAChC,SAAC,CAAC,CAAA;QACF,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QACvE,MAAM,GAAG,GAAG,CAAA,EAAG,QAAQ,CAAA,EAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAA,EAAG,SAAS,CAAA,CAAE,CAAA;QAEhF,sBAAA,CAAA,IAAI,qBAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,MAAA,CAAA;QAEpC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;KAC7C;AACH,CAAC,EAAA,yBAAA,GAAA,SAAA,yBAAA,GAAA;AAGC,IAAA,OAAO,uBAAA,IAAI,EAAA,iBAAA,EAAA,GAAA,CAAK,CAAC,MAAM,EAAE,CAAA;AAC3B,CAAC,2DAEU,IAAY,EAAA;AACrB,IAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,GAAG,IAAI,CAAA;AACvB,CAAC,EAAA,2BAAA,GAAA,SAAA,2BAAA,GAAA;IAGC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;AAC/C,CAAC,uEAKgB,QAAkB,EAAA;AACjC,IAAA,IAAI,sBAAA,CAAA,IAAI,EAAY,wBAAA,EAAA,GAAA,CAAA,EAAE;AACpB,QAAA,OAAO,KAAK,CAAA;KACb;IAED,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,sBAAA,CAAA,IAAI,yBAAK,CAAC,MAAM,EAAE,CAAA;;AAG/E,IAAA,IAAI,QAAQ,KAAK,QAAQ,CAAC,QAAQ,IAAI,QAAQ,KAAK,QAAQ,CAAC,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;QAC9F,sBAAA,CAAA,IAAI,uDAAU,CAAd,IAAA,CAAA,IAAI,EAAW,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC7B,QAAA,OAAO,KAAK,CAAA;KACb;;AAGD,IAAA,IAAI,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE;AAClC,QAAA,OAAO,IAAI,CAAA;KACZ;;AAGD,IAAA,IAAI,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;AAC9B,QAAA,OAAO,IAAI,CAAA;KACZ;;AAGD,IAAA,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;AAC1B,QAAA,sBAAA,CAAA,IAAI,EAAQ,oBAAA,EAAA,GAAA,CAAA,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;AAClC,QAAA,OAAO,IAAI,CAAA;KACZ;IAED,sBAAA,CAAA,IAAI,uDAAU,CAAd,IAAA,CAAA,IAAI,EAAW,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC7B,IAAA,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;MA6JU,QAAQ,GAAwB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,aAAY;AAErH,SAAS,eAAe,CAAE,GAAG,GAAG,EAAE,EAAA;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAA;AACvB,IAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,MAAM,GAAG,GAAG,CAAA;KACpB;AACD,IAAA,OAAO,GAAG,CAAA;AACZ;;;;"}
1
+ {"version":3,"file":"location.js","sources":["../../src/bom/location.ts"],"sourcesContent":["import { isNumber, isString, warn } from '@tarojs/shared'\n\nimport { CONTEXT_ACTIONS } from '../constants'\nimport { getCurrentInstance } from '../current'\nimport { Events } from '../emitter/emitter'\nimport env from '../env'\nimport { RuntimeCache } from '../utils/cache'\nimport { URL } from './URL'\n\ntype PreValue = ReturnType<typeof URL.prototype._toRaw>\n\ntype Options = {\n window: any\n}\ntype LocationContext = {\n lastHref: string\n}\n\nconst INIT_URL = 'https://taro.com'\nconst cache = new RuntimeCache<LocationContext>('location')\n\nclass TaroLocation extends Events {\n /* private property */\n #url = new URL(INIT_URL)\n #noCheckUrl = false\n #window: any\n\n constructor (options: Options) {\n super()\n\n this.#window = options.window\n\n this.#reset()\n\n this.on(\n '__set_href_without_history__',\n (href: string) => {\n this.#noCheckUrl = true\n\n const lastHash = this.#url.hash\n this.#url.href = generateFullUrl(href)\n\n if (lastHash !== this.#url.hash) {\n this.#window.trigger('hashchange')\n }\n\n this.#noCheckUrl = false\n },\n null\n )\n\n // 切换上下文行为\n this.on(\n CONTEXT_ACTIONS.INIT,\n () => {\n this.#reset()\n },\n null\n )\n\n this.on(\n CONTEXT_ACTIONS.RESTORE,\n (pageId: string) => {\n cache.set(pageId, {\n lastHref: this.href,\n })\n },\n null\n )\n\n this.on(\n CONTEXT_ACTIONS.RECOVER,\n (pageId: string) => {\n // 数据恢复时,不需要执行跳转\n if (cache.has(pageId)) {\n const ctx = cache.get(pageId)!\n this.#noCheckUrl = true\n this.#url.href = ctx.lastHref\n this.#noCheckUrl = false\n }\n },\n null\n )\n\n this.on(\n CONTEXT_ACTIONS.DESTORY,\n (pageId: string) => {\n cache.delete(pageId)\n },\n null\n )\n }\n\n /* private method */\n #reset () {\n const Current = getCurrentInstance()\n const router = Current.router\n if (router) {\n const { path, params } = router\n const searchArr = Object.keys(params).map((key) => {\n return `${key}=${params[key]}`\n })\n const searchStr = searchArr.length > 0 ? '?' + searchArr.join('&') : ''\n const url = `${INIT_URL}${path.startsWith('/') ? path : '/' + path}${searchStr}`\n\n this.#url = new URL(url)\n\n this.trigger('__reset_history__', this.href)\n }\n }\n\n #getPreValue (): PreValue {\n return this.#url._toRaw()\n }\n\n #rollBack (href: string) {\n this.#url.href = href\n }\n\n #recordHistory () {\n this.trigger('__record_history__', this.href)\n }\n\n /**\n * 校验url的变化,是否需要更新history\n */\n #checkUrlChange (preValue: PreValue): boolean {\n if (this.#noCheckUrl) {\n return false\n }\n\n const { protocol, hostname, port, pathname, search, hash } = this.#url._toRaw()\n\n // 跨域三要素不允许修改\n if (protocol !== preValue.protocol || hostname !== preValue.hostname || port !== preValue.port) {\n this.#rollBack(preValue.href)\n return false\n }\n\n // pathname\n if (pathname !== preValue.pathname) {\n return true\n }\n\n // search\n if (search !== preValue.search) {\n return true\n }\n\n // hashchange\n if (hash !== preValue.hash) {\n this.#window.trigger('hashchange')\n return true\n }\n\n this.#rollBack(preValue.href)\n return false\n }\n\n /* public property */\n get protocol () {\n return this.#url.protocol\n }\n\n set protocol (val: string) {\n const REG = /^(http|https):$/i\n if (!val || !isString(val) || !REG.test(val.trim())) return\n\n val = val.trim()\n const preValue = this.#getPreValue()\n this.#url.protocol = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get host () {\n return this.#url.host\n }\n\n set host (val: string) {\n if (!val || !isString(val)) return\n val = val.trim()\n\n const preValue = this.#getPreValue()\n this.#url.host = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get hostname () {\n return this.#url.hostname\n }\n\n set hostname (val: string) {\n if (!val || !isString(val)) return\n val = val.trim()\n\n const preValue = this.#getPreValue()\n this.#url.hostname = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get port () {\n return this.#url.port\n }\n\n set port (val: string) {\n const xVal = Number((val = val.trim()))\n if (!isNumber(xVal) || xVal <= 0) return\n\n const preValue = this.#getPreValue()\n this.#url.port = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get pathname () {\n return this.#url.pathname\n }\n\n set pathname (val: string) {\n if (!val || !isString(val)) return\n val = val.trim()\n\n const preValue = this.#getPreValue()\n this.#url.pathname = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get search () {\n return this.#url.search\n }\n\n set search (val: string) {\n if (!val || !isString(val)) return\n val = val.trim()\n val = val.startsWith('?') ? val : `?${val}`\n\n const preValue = this.#getPreValue()\n this.#url.search = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get hash () {\n return this.#url.hash\n }\n\n // 小程序的navigateTo存在截断hash字符串的问题\n set hash (val: string) {\n if (!val || !isString(val)) return\n val = val.trim()\n val = val.startsWith('#') ? val : `#${val}`\n\n const preValue = this.#getPreValue()\n this.#url.hash = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get href () {\n return this.#url.href\n }\n\n set href (val: string) {\n const REG = /^(http:|https:)?\\/\\/.+/\n if (!val || !isString(val) || !REG.test((val = val.trim()))) return\n\n const preValue = this.#getPreValue()\n this.#url.href = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n get origin () {\n return this.#url.origin\n }\n\n set origin (val: string) {\n const REG = /^(http:|https:)?\\/\\/.+/\n if (!val || !isString(val) || !REG.test((val = val.trim()))) return\n\n const preValue = this.#getPreValue()\n this.#url.origin = val\n\n if (this.#checkUrlChange(preValue)) this.#recordHistory()\n }\n\n /* public method */\n assign () {\n warn(true, '小程序环境中调用location.assign()无效.')\n }\n\n reload () {\n warn(true, '小程序环境中调用location.reload()无效.')\n }\n\n replace (url: string) {\n this.trigger('__set_href_without_history__', url)\n }\n\n toString () {\n return this.href\n }\n\n // For debug\n get cache () {\n return cache\n }\n}\n\nexport type { TaroLocation }\nexport const Location: typeof TaroLocation = process.env.TARO_PLATFORM === 'web' ? env.window.Location : TaroLocation\n\nfunction generateFullUrl (val = '') {\n const origin = INIT_URL\n if (/^[/?#]/.test(val)) {\n return origin + val\n }\n return val\n}\n"],"names":[],"mappings":"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"}
package/dist/bom/raf.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  declare let now: () => number;
3
2
  declare const _raf: typeof requestAnimationFrame | ((callback: any) => NodeJS.Timeout);
4
3
  declare const _caf: typeof cancelAnimationFrame;
package/dist/bom/raf.js CHANGED
@@ -17,12 +17,12 @@ let now;
17
17
  let lastTime = 0;
18
18
  // https://gist.github.com/paulirish/1579671
19
19
  // https://gist.github.com/jalbam/5fe05443270fa6d8136238ec72accbc0
20
- const _raf = process.env.TARO_PLATFORM === 'web' ? requestAnimationFrame : function (callback) {
20
+ const _raf = typeof requestAnimationFrame !== 'undefined' && requestAnimationFrame !== null ? requestAnimationFrame : function (callback) {
21
21
  const _now = now();
22
22
  const nextTime = Math.max(lastTime + 16, _now); // First time will execute it immediately but barely noticeable and performance is gained.
23
23
  return setTimeout(function () { callback(lastTime = nextTime); }, nextTime - _now);
24
24
  };
25
- const _caf = process.env.TARO_PLATFORM === 'web'
25
+ const _caf = typeof cancelAnimationFrame !== 'undefined' && cancelAnimationFrame !== null
26
26
  ? cancelAnimationFrame
27
27
  : function (seed) {
28
28
  // fix https://github.com/NervJS/taro/issues/7749
@@ -1 +1 @@
1
- {"version":3,"file":"raf.js","sources":["../../src/bom/raf.ts"],"sourcesContent":["// https://github.com/myrne/performance-now\nexport let now: () => number\n\n(function () {\n let loadTime\n if ((typeof performance !== 'undefined' && performance !== null) && performance.now) {\n now = () => performance.now()\n } else if (Date.now) {\n loadTime = Date.now()\n now = () => Date.now() - loadTime\n } else {\n loadTime = new Date().getTime()\n now = () => new Date().getTime() - loadTime\n }\n})()\n\nlet lastTime = 0\n\n// https://gist.github.com/paulirish/1579671\n// https://gist.github.com/jalbam/5fe05443270fa6d8136238ec72accbc0\nconst _raf = process.env.TARO_PLATFORM === 'web' ? requestAnimationFrame : function (callback) {\n const _now = now()\n const nextTime = Math.max(lastTime + 16, _now) // First time will execute it immediately but barely noticeable and performance is gained.\n return setTimeout(function () { callback(lastTime = nextTime) }, nextTime - _now)\n}\n\nconst _caf = process.env.TARO_PLATFORM === 'web'\n ? cancelAnimationFrame\n : function (seed) {\n // fix https://github.com/NervJS/taro/issues/7749\n clearTimeout(seed)\n }\n\nexport {\n _caf as caf,\n _raf as raf\n}\n"],"names":[],"mappings":"AAAA;AACW,IAAA,IAAiB;AAE5B,CAAC,YAAA;AACC,IAAA,IAAI,QAAQ,CAAA;AACZ,IAAA,IAAI,CAAC,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,IAAI,KAAK,WAAW,CAAC,GAAG,EAAE;QACnF,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAAA;KAC9B;AAAM,SAAA,IAAI,IAAI,CAAC,GAAG,EAAE;AACnB,QAAA,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACrB,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAA;KAClC;SAAM;AACL,QAAA,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;AAC/B,QAAA,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAA;KAC5C;AACH,CAAC,GAAG,CAAA;AAEJ,IAAI,QAAQ,GAAG,CAAC,CAAA;AAEhB;AACA;AACA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,qBAAqB,GAAG,UAAU,QAAQ,EAAA;AAC3F,IAAA,MAAM,IAAI,GAAG,GAAG,EAAE,CAAA;AAClB,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;AAC9C,IAAA,OAAO,UAAU,CAAC,YAAA,EAAc,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAA,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAA;AACnF,EAAC;AAEK,MAAA,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK;AAC9C,MAAE,oBAAoB;MACpB,UAAU,IAAI,EAAA;;QAEd,YAAY,CAAC,IAAI,CAAC,CAAA;AACpB;;;;"}
1
+ {"version":3,"file":"raf.js","sources":["../../src/bom/raf.ts"],"sourcesContent":["// https://github.com/myrne/performance-now\nexport let now: () => number\n\n(function () {\n let loadTime\n if ((typeof performance !== 'undefined' && performance !== null) && performance.now) {\n now = () => performance.now()\n } else if (Date.now) {\n loadTime = Date.now()\n now = () => Date.now() - loadTime\n } else {\n loadTime = new Date().getTime()\n now = () => new Date().getTime() - loadTime\n }\n})()\n\nlet lastTime = 0\n\n// https://gist.github.com/paulirish/1579671\n// https://gist.github.com/jalbam/5fe05443270fa6d8136238ec72accbc0\nconst _raf = typeof requestAnimationFrame !== 'undefined' && requestAnimationFrame !== null ? requestAnimationFrame : function (callback) {\n const _now = now()\n const nextTime = Math.max(lastTime + 16, _now) // First time will execute it immediately but barely noticeable and performance is gained.\n return setTimeout(function () { callback(lastTime = nextTime) }, nextTime - _now)\n}\n\nconst _caf = typeof cancelAnimationFrame !== 'undefined' && cancelAnimationFrame !== null\n ? cancelAnimationFrame\n : function (seed) {\n // fix https://github.com/NervJS/taro/issues/7749\n clearTimeout(seed)\n }\n\nexport {\n _caf as caf,\n _raf as raf\n}\n"],"names":[],"mappings":"AAAA;AACW,IAAA,IAAiB;AAE5B,CAAC,YAAA;AACC,IAAA,IAAI,QAAQ,CAAA;AACZ,IAAA,IAAI,CAAC,OAAO,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,IAAI,KAAK,WAAW,CAAC,GAAG,EAAE;QACnF,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAAA;AAC9B,KAAA;SAAM,IAAI,IAAI,CAAC,GAAG,EAAE;AACnB,QAAA,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACrB,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAA;AAClC,KAAA;AAAM,SAAA;AACL,QAAA,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;AAC/B,QAAA,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAA;AAC5C,KAAA;AACH,CAAC,GAAG,CAAA;AAEJ,IAAI,QAAQ,GAAG,CAAC,CAAA;AAEhB;AACA;AACA,MAAM,IAAI,GAAG,OAAO,qBAAqB,KAAK,WAAW,IAAI,qBAAqB,KAAK,IAAI,GAAG,qBAAqB,GAAG,UAAU,QAAQ,EAAA;AACtI,IAAA,MAAM,IAAI,GAAG,GAAG,EAAE,CAAA;AAClB,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;AAC9C,IAAA,OAAO,UAAU,CAAC,YAAA,EAAc,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAA,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAA;AACnF,EAAC;AAEK,MAAA,IAAI,GAAG,OAAO,oBAAoB,KAAK,WAAW,IAAI,oBAAoB,KAAK,IAAI;AACvF,MAAE,oBAAoB;MACpB,UAAU,IAAI,EAAA;;QAEd,YAAY,CAAC,IAAI,CAAC,CAAA;AACpB;;;;"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Events } from "../emitter/emitter.js";
3
2
  import { TaroHistory } from "./history.js";
4
3
  import { TaroLocation } from "./location.js";
@@ -19,8 +18,8 @@ declare class TaroWindow extends Events {
19
18
  setTimeout(...args: Parameters<typeof setTimeout>): NodeJS.Timeout;
20
19
  clearTimeout(...args: Parameters<typeof clearTimeout>): void;
21
20
  }
22
- declare const taroWindowProvider: TaroWindow;
23
- declare const taroLocationProvider: TaroLocation;
24
- declare const taroHistoryProvider: TaroHistory;
21
+ declare const window: TaroWindow;
22
+ declare const location: TaroLocation;
23
+ declare const history: TaroHistory;
25
24
  export type { TaroWindow };
26
- export { taroWindowProvider, taroLocationProvider, taroHistoryProvider };
25
+ export { window, location, history };
@@ -2,7 +2,7 @@ import { Events, isString } from '@tarojs/shared';
2
2
  import { CONTEXT_ACTIONS } from '../constants/index.js';
3
3
  import '../emitter/emitter.js';
4
4
  import env from '../env.js';
5
- import { taroGetComputedStyleProvider } from './getComputedStyle.js';
5
+ import { getComputedStyle } from './getComputedStyle.js';
6
6
  import { History } from './history.js';
7
7
  import { Location } from './location.js';
8
8
  import { nav } from './navigator.js';
@@ -14,7 +14,7 @@ class TaroWindow extends Events {
14
14
  this.navigator = nav;
15
15
  this.requestAnimationFrame = _raf;
16
16
  this.cancelAnimationFrame = _caf;
17
- this.getComputedStyle = taroGetComputedStyleProvider;
17
+ this.getComputedStyle = getComputedStyle;
18
18
  const globalProperties = [
19
19
  ...Object.getOwnPropertyNames(global || {}),
20
20
  ...Object.getOwnPropertySymbols(global || {})
@@ -84,10 +84,9 @@ class TaroWindow extends Events {
84
84
  return clearTimeout(...args);
85
85
  }
86
86
  }
87
- // Note: 小程序端 vite 打包成 commonjs,const window = xxx 会报错,所以把 window 改为 taroWindowProvider,location history 同理
88
- const taroWindowProvider = process.env.TARO_PLATFORM === 'web' ? env.window : (env.window = new TaroWindow());
89
- const taroLocationProvider = taroWindowProvider.location;
90
- const taroHistoryProvider = taroWindowProvider.history;
87
+ const window = process.env.TARO_PLATFORM === 'web' ? env.window : (env.window = new TaroWindow());
88
+ const location = window.location;
89
+ const history = window.history;
91
90
 
92
- export { taroHistoryProvider, taroLocationProvider, taroWindowProvider };
91
+ export { history, location, window };
93
92
  //# sourceMappingURL=window.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"window.js","sources":["../../src/bom/window.ts"],"sourcesContent":["import { isString } from '@tarojs/shared'\n\nimport { CONTEXT_ACTIONS } from '../constants'\nimport { Events } from '../emitter/emitter'\nimport env from '../env'\nimport { taroGetComputedStyleProvider } from './getComputedStyle'\nimport { History } from './history'\nimport { Location } from './location'\nimport { nav as navigator } from './navigator'\nimport { caf, raf } from './raf'\n\nimport type { TaroHistory } from './history'\nimport type { TaroLocation } from './location'\n\nclass TaroWindow extends Events {\n navigator = navigator\n requestAnimationFrame = raf\n cancelAnimationFrame = caf\n getComputedStyle = taroGetComputedStyleProvider\n Date: DateConstructor\n\n location: TaroLocation\n history: TaroHistory\n XMLHttpRequest?: Partial<XMLHttpRequest>\n\n constructor () {\n super()\n\n const globalProperties = [\n ...Object.getOwnPropertyNames(global || {}),\n ...Object.getOwnPropertySymbols(global || {})\n ]\n\n globalProperties.forEach(property => {\n if (property === 'atob' || property === 'document') return\n if (!Object.prototype.hasOwnProperty.call(this, property)) {\n // 防止小程序环境下,window 上的某些 get 属性在赋值时报错\n try {\n this[property] = global[property]\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Taro warn] window.${String(property)} 在赋值到 window 时报错`)\n }\n }\n }\n })\n\n this.Date ||= Date\n\n // 应用启动时,提供给需要读取历史信息的库使用\n this.location = new Location({ window: this }) as any\n // @ts-ignore\n this.history = new History(this.location, { window: this })\n\n this.initEvent()\n }\n\n initEvent () {\n const _location = this.location\n const _history = this.history\n\n this.on(CONTEXT_ACTIONS.INIT, (pageId: string) => {\n // 页面onload,为该页面建立新的上下文信息\n _location.trigger(CONTEXT_ACTIONS.INIT, pageId)\n }, null)\n\n this.on(CONTEXT_ACTIONS.RECOVER, (pageId: string) => {\n // 页面onshow,恢复当前页面的上下文信息\n _location.trigger(CONTEXT_ACTIONS.RECOVER, pageId)\n _history.trigger(CONTEXT_ACTIONS.RECOVER, pageId)\n }, null)\n\n this.on(CONTEXT_ACTIONS.RESTORE, (pageId: string) => {\n // 页面onhide,缓存当前页面的上下文信息\n _location.trigger(CONTEXT_ACTIONS.RESTORE, pageId)\n _history.trigger(CONTEXT_ACTIONS.RESTORE, pageId)\n }, null)\n\n this.on(CONTEXT_ACTIONS.DESTORY, (pageId: string) => {\n // 页面onunload,清除当前页面的上下文信息\n _location.trigger(CONTEXT_ACTIONS.DESTORY, pageId)\n _history.trigger(CONTEXT_ACTIONS.DESTORY, pageId)\n }, null)\n }\n\n get document () {\n return env.document\n }\n\n addEventListener (event: string, callback: (arg: any) => void) {\n if (!isString(event)) return\n this.on(event, callback, null)\n }\n\n removeEventListener (event: string, callback: (arg: any) => void) {\n if (!isString(event)) return\n this.off(event, callback, null)\n }\n\n setTimeout (...args: Parameters<typeof setTimeout>) {\n return setTimeout(...args)\n }\n\n clearTimeout (...args: Parameters<typeof clearTimeout>) {\n return clearTimeout(...args)\n }\n}\n\nexport type { TaroWindow }\n\n// Note: 小程序端 vite 打包成 commonjs,const window = xxx 会报错,所以把 window 改为 taroWindowProvider,location 和 history 同理\nexport const taroWindowProvider: TaroWindow = process.env.TARO_PLATFORM === 'web' ? env.window : (env.window = new TaroWindow())\nexport const taroLocationProvider = taroWindowProvider.location\nexport const taroHistoryProvider = taroWindowProvider.history\n"],"names":["navigator","raf","caf"],"mappings":"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"}
1
+ {"version":3,"file":"window.js","sources":["../../src/bom/window.ts"],"sourcesContent":["import { isString } from '@tarojs/shared'\n\nimport { CONTEXT_ACTIONS } from '../constants'\nimport { Events } from '../emitter/emitter'\nimport env from '../env'\nimport { getComputedStyle } from './getComputedStyle'\nimport { History } from './history'\nimport { Location } from './location'\nimport { nav as navigator } from './navigator'\nimport { caf, raf } from './raf'\n\nimport type { TaroHistory } from './history'\nimport type { TaroLocation } from './location'\n\nclass TaroWindow extends Events {\n navigator = navigator\n requestAnimationFrame = raf\n cancelAnimationFrame = caf\n getComputedStyle = getComputedStyle\n Date: DateConstructor\n\n location: TaroLocation\n history: TaroHistory\n XMLHttpRequest?: Partial<XMLHttpRequest>\n\n constructor () {\n super()\n\n const globalProperties = [\n ...Object.getOwnPropertyNames(global || {}),\n ...Object.getOwnPropertySymbols(global || {})\n ]\n\n globalProperties.forEach(property => {\n if (property === 'atob' || property === 'document') return\n if (!Object.prototype.hasOwnProperty.call(this, property)) {\n // 防止小程序环境下,window 上的某些 get 属性在赋值时报错\n try {\n this[property] = global[property]\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Taro warn] window.${String(property)} 在赋值到 window 时报错`)\n }\n }\n }\n })\n\n this.Date ||= Date\n\n // 应用启动时,提供给需要读取历史信息的库使用\n this.location = new Location({ window: this }) as any\n // @ts-ignore\n this.history = new History(this.location, { window: this })\n\n this.initEvent()\n }\n\n initEvent () {\n const _location = this.location\n const _history = this.history\n\n this.on(CONTEXT_ACTIONS.INIT, (pageId: string) => {\n // 页面onload,为该页面建立新的上下文信息\n _location.trigger(CONTEXT_ACTIONS.INIT, pageId)\n }, null)\n\n this.on(CONTEXT_ACTIONS.RECOVER, (pageId: string) => {\n // 页面onshow,恢复当前页面的上下文信息\n _location.trigger(CONTEXT_ACTIONS.RECOVER, pageId)\n _history.trigger(CONTEXT_ACTIONS.RECOVER, pageId)\n }, null)\n\n this.on(CONTEXT_ACTIONS.RESTORE, (pageId: string) => {\n // 页面onhide,缓存当前页面的上下文信息\n _location.trigger(CONTEXT_ACTIONS.RESTORE, pageId)\n _history.trigger(CONTEXT_ACTIONS.RESTORE, pageId)\n }, null)\n\n this.on(CONTEXT_ACTIONS.DESTORY, (pageId: string) => {\n // 页面onunload,清除当前页面的上下文信息\n _location.trigger(CONTEXT_ACTIONS.DESTORY, pageId)\n _history.trigger(CONTEXT_ACTIONS.DESTORY, pageId)\n }, null)\n }\n\n get document () {\n return env.document\n }\n\n addEventListener (event: string, callback: (arg: any) => void) {\n if (!isString(event)) return\n this.on(event, callback, null)\n }\n\n removeEventListener (event: string, callback: (arg: any) => void) {\n if (!isString(event)) return\n this.off(event, callback, null)\n }\n\n setTimeout (...args: Parameters<typeof setTimeout>) {\n return setTimeout(...args)\n }\n\n clearTimeout (...args: Parameters<typeof clearTimeout>) {\n return clearTimeout(...args)\n }\n}\n\nexport type { TaroWindow }\nexport const window: TaroWindow = process.env.TARO_PLATFORM === 'web' ? env.window : (env.window = new TaroWindow())\n\nexport const location = window.location\nexport const history = window.history\n\n"],"names":["navigator","raf","caf"],"mappings":"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"}
package/dist/current.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AppInstance, PageInstance } from "./instance-4c64b022.js";
1
+ import { AppInstance, PageInstance } from "./instance-0f017c6e.js";
2
2
  interface Router {
3
3
  params: Record<string, unknown>;
4
4
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-element.js","sources":["../../src/dom/anchor-element.ts"],"sourcesContent":["import { parseUrl } from '../bom/URL'\nimport { TaroElement } from './element'\n\nconst enum AnchorElementAttrs {\n HREF = 'href',\n PROTOCOL = 'protocol',\n HOST = 'host',\n SEARCH = 'search',\n HASH = 'hash',\n HOSTNAME = 'hostname',\n PORT = 'port',\n PATHNAME = 'pathname'\n}\n\nexport class AnchorElement extends TaroElement {\n public get href () {\n return this.props[AnchorElementAttrs.HREF] ?? ''\n }\n\n public set href (val: string) {\n this.setAttribute(AnchorElementAttrs.HREF, val)\n }\n\n get protocol () {\n return this.props[AnchorElementAttrs.PROTOCOL] ?? ''\n }\n\n get host () {\n return this.props[AnchorElementAttrs.HOST] ?? ''\n }\n\n get search () {\n return this.props[AnchorElementAttrs.SEARCH] ?? ''\n }\n\n get hash () {\n return this.props[AnchorElementAttrs.HASH] ?? ''\n }\n\n get hostname () {\n return this.props[AnchorElementAttrs.HOSTNAME] ?? ''\n }\n\n get port () {\n return this.props[AnchorElementAttrs.PORT] ?? ''\n }\n\n get pathname () {\n return this.props[AnchorElementAttrs.PATHNAME] ?? ''\n }\n\n public setAttribute (qualifiedName: string, value: any): void {\n if (qualifiedName === AnchorElementAttrs.HREF) {\n const willSetAttr = parseUrl(value)\n for (const k in willSetAttr) {\n super.setAttribute(k, willSetAttr[k])\n }\n } else {\n super.setAttribute(qualifiedName, value)\n }\n }\n}\n"],"names":[],"mappings":";;;AAcM,MAAO,aAAc,SAAQ,WAAW,CAAA;AAC5C,IAAA,IAAW,IAAI,GAAA;;AACb,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;IAED,IAAW,IAAI,CAAE,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,CAA0B,MAAA,gCAAA,GAAG,CAAC,CAAA;KAChD;AAED,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACrD;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;AAED,IAAA,IAAI,MAAM,GAAA;;AACR,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA2B,QAAA,iCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACnD;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;AAED,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACrD;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;AAED,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACrD;IAEM,YAAY,CAAE,aAAqB,EAAE,KAAU,EAAA;QACpD,IAAI,aAAa,KAA4B,MAAA,gCAAE;AAC7C,YAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;AACnC,YAAA,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE;gBAC3B,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;aACtC;SACF;aAAM;AACL,YAAA,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;SACzC;KACF;AACF;;;;"}
1
+ {"version":3,"file":"anchor-element.js","sources":["../../src/dom/anchor-element.ts"],"sourcesContent":["import { parseUrl } from '../bom/URL'\nimport { TaroElement } from './element'\n\nconst enum AnchorElementAttrs {\n HREF = 'href',\n PROTOCOL = 'protocol',\n HOST = 'host',\n SEARCH = 'search',\n HASH = 'hash',\n HOSTNAME = 'hostname',\n PORT = 'port',\n PATHNAME = 'pathname'\n}\n\nexport class AnchorElement extends TaroElement {\n public get href () {\n return this.props[AnchorElementAttrs.HREF] ?? ''\n }\n\n public set href (val: string) {\n this.setAttribute(AnchorElementAttrs.HREF, val)\n }\n\n get protocol () {\n return this.props[AnchorElementAttrs.PROTOCOL] ?? ''\n }\n\n get host () {\n return this.props[AnchorElementAttrs.HOST] ?? ''\n }\n\n get search () {\n return this.props[AnchorElementAttrs.SEARCH] ?? ''\n }\n\n get hash () {\n return this.props[AnchorElementAttrs.HASH] ?? ''\n }\n\n get hostname () {\n return this.props[AnchorElementAttrs.HOSTNAME] ?? ''\n }\n\n get port () {\n return this.props[AnchorElementAttrs.PORT] ?? ''\n }\n\n get pathname () {\n return this.props[AnchorElementAttrs.PATHNAME] ?? ''\n }\n\n public setAttribute (qualifiedName: string, value: any): void {\n if (qualifiedName === AnchorElementAttrs.HREF) {\n const willSetAttr = parseUrl(value)\n for (const k in willSetAttr) {\n super.setAttribute(k, willSetAttr[k])\n }\n } else {\n super.setAttribute(qualifiedName, value)\n }\n }\n}\n"],"names":[],"mappings":";;;AAcM,MAAO,aAAc,SAAQ,WAAW,CAAA;AAC5C,IAAA,IAAW,IAAI,GAAA;;AACb,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;IAED,IAAW,IAAI,CAAE,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,CAA0B,MAAA,gCAAA,GAAG,CAAC,CAAA;KAChD;AAED,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACrD;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;AAED,IAAA,IAAI,MAAM,GAAA;;AACR,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA2B,QAAA,iCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACnD;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;AAED,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACrD;AAED,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACjD;AAED,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAA;KACrD;IAEM,YAAY,CAAE,aAAqB,EAAE,KAAU,EAAA;QACpD,IAAI,aAAa,2CAA8B;AAC7C,YAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;AACnC,YAAA,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE;gBAC3B,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AACtC,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;AACzC,SAAA;KACF;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"class-list.js","sources":["../../src/dom/class-list.ts"],"sourcesContent":["import type { TaroElement } from './element'\n\nexport class ClassList {\n private el: TaroElement\n\n private tokenList: string[] = []\n\n constructor (className: string, el: TaroElement) {\n this.el = el\n className.trim().split(/\\s+/).forEach(token => this.tokenList.push(token))\n }\n\n public get value () {\n return this.toString()\n }\n\n public get length () {\n return this.tokenList.length\n }\n\n add () {\n let index = 0\n let updated = false\n\n const tokens = arguments\n const length = tokens.length\n const tokenList = this.tokenList\n\n do {\n const token: string = tokens[index]\n\n if (this.checkTokenIsValid(token) && !~tokenList.indexOf(token)) {\n tokenList.push(token)\n\n updated = true\n }\n } while (++index < length)\n\n if (updated) {\n this._update()\n }\n }\n\n remove () {\n let i = 0\n let updated = false\n\n const tokens = arguments\n const length = tokens.length\n const tokenList = this.tokenList\n\n do {\n const token = tokens[i] + ''\n\n if (!this.checkTokenIsValid(token)) continue\n\n const index = tokenList.indexOf(token)\n\n if (~tokenList.indexOf(token)) {\n tokenList.splice(index, 1)\n\n updated = true\n }\n } while (++i < length)\n\n if (updated) {\n this._update()\n }\n }\n\n contains (token: string) {\n if (!this.checkTokenIsValid(token)) return false\n\n return !!~this.tokenList.indexOf(token)\n }\n\n toggle (token: string, force: boolean) {\n const result = this.contains(token)\n const method = result ? force !== true && 'remove' : force !== false && 'add'\n\n if (method) {\n // @ts-ignore\n this[method](token)\n }\n\n if (force === true || force === false) {\n return force\n } else {\n return !result\n }\n }\n\n replace (token: string, replacement_token: string) {\n if (!this.checkTokenIsValid(token) || !this.checkTokenIsValid(replacement_token)) return\n\n const index = this.tokenList.indexOf(token)\n\n if (~index) {\n this.tokenList.splice(index, 1, replacement_token)\n this._update()\n }\n }\n\n toString () {\n return this.tokenList.filter(v => v !== '').join(' ')\n }\n\n private checkTokenIsValid (token: string) {\n if (token === '' || /\\s/.test(token)) return false\n\n return true\n }\n\n private _update () {\n this.el.className = this.value\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"class-list.js","sources":["../../src/dom/class-list.ts"],"sourcesContent":["import type { TaroElement } from './element'\n\nexport class ClassList {\n private el: TaroElement\n\n private tokenList: string[] = []\n\n constructor (className: string, el: TaroElement) {\n this.el = el\n className.trim().split(/\\s+/).forEach(token => this.tokenList.push(token))\n }\n\n public get value () {\n return this.toString()\n }\n\n public get length () {\n return this.tokenList.length\n }\n\n add () {\n let index = 0\n let updated = false\n\n const tokens = arguments\n const length = tokens.length\n const tokenList = this.tokenList\n\n do {\n const token: string = tokens[index]\n\n if (this.checkTokenIsValid(token) && !~tokenList.indexOf(token)) {\n tokenList.push(token)\n\n updated = true\n }\n } while (++index < length)\n\n if (updated) {\n this._update()\n }\n }\n\n remove () {\n let i = 0\n let updated = false\n\n const tokens = arguments\n const length = tokens.length\n const tokenList = this.tokenList\n\n do {\n const token = tokens[i] + ''\n\n if (!this.checkTokenIsValid(token)) continue\n\n const index = tokenList.indexOf(token)\n\n if (~tokenList.indexOf(token)) {\n tokenList.splice(index, 1)\n\n updated = true\n }\n } while (++i < length)\n\n if (updated) {\n this._update()\n }\n }\n\n contains (token: string) {\n if (!this.checkTokenIsValid(token)) return false\n\n return !!~this.tokenList.indexOf(token)\n }\n\n toggle (token: string, force: boolean) {\n const result = this.contains(token)\n const method = result ? force !== true && 'remove' : force !== false && 'add'\n\n if (method) {\n // @ts-ignore\n this[method](token)\n }\n\n if (force === true || force === false) {\n return force\n } else {\n return !result\n }\n }\n\n replace (token: string, replacement_token: string) {\n if (!this.checkTokenIsValid(token) || !this.checkTokenIsValid(replacement_token)) return\n\n const index = this.tokenList.indexOf(token)\n\n if (~index) {\n this.tokenList.splice(index, 1, replacement_token)\n this._update()\n }\n }\n\n toString () {\n return this.tokenList.filter(v => v !== '').join(' ')\n }\n\n private checkTokenIsValid (token: string) {\n if (token === '' || /\\s/.test(token)) return false\n\n return true\n }\n\n private _update () {\n this.el.className = this.value\n }\n}\n"],"names":[],"mappings":"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"}