@tarojs/runtime 4.1.3-alpha.0 → 4.1.3-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/bom/URL.d.ts +3 -4
  2. package/dist/bom/URL.js.map +1 -1
  3. package/dist/bom/URLSearchParams.d.ts +1 -0
  4. package/dist/bom/URLSearchParams.js.map +1 -1
  5. package/dist/bom/document.d.ts +3 -1
  6. package/dist/bom/document.js.map +1 -1
  7. package/dist/bom/getComputedStyle.d.ts +6 -3
  8. package/dist/bom/getComputedStyle.js.map +1 -1
  9. package/dist/bom/history.d.ts +8 -6
  10. package/dist/bom/history.js.map +1 -1
  11. package/dist/bom/location.d.ts +6 -5
  12. package/dist/bom/location.js.map +1 -1
  13. package/dist/bom/navigator.d.ts +1 -0
  14. package/dist/bom/navigator.js.map +1 -1
  15. package/dist/bom/raf.d.ts +2 -2
  16. package/dist/bom/raf.js.map +1 -1
  17. package/dist/bom/window.d.ts +11 -8
  18. package/dist/bom/window.js.map +1 -1
  19. package/dist/constants/index.d.ts +2 -1
  20. package/dist/constants/index.js.map +1 -1
  21. package/dist/current.d.ts +5 -2
  22. package/dist/current.js.map +1 -1
  23. package/dist/dom/anchor-element.js.map +1 -1
  24. package/dist/dom/class-list.d.ts +3 -1
  25. package/dist/dom/class-list.js.map +1 -1
  26. package/dist/dom/document.d.ts +7 -8
  27. package/dist/dom/document.js.map +1 -1
  28. package/dist/dom/element.d.ts +8 -5
  29. package/dist/dom/element.js.map +1 -1
  30. package/dist/dom/event-source.d.ts +3 -1
  31. package/dist/dom/event-source.js.map +1 -1
  32. package/dist/dom/event-target.d.ts +3 -1
  33. package/dist/dom/event-target.js.map +1 -1
  34. package/dist/dom/event.d.ts +4 -2
  35. package/dist/dom/event.js.map +1 -1
  36. package/dist/dom/form.d.ts +4 -2
  37. package/dist/dom/form.js.map +1 -1
  38. package/dist/dom/node.d.ts +9 -37
  39. package/dist/dom/node.js.map +1 -1
  40. package/dist/{node_types-9ac5b4dd.d.ts → dom/node_types.d.ts} +1 -0
  41. package/dist/dom/root.d.ts +6 -2
  42. package/dist/dom/root.js.map +1 -1
  43. package/dist/dom/style.d.ts +3 -1
  44. package/dist/dom/style.js.map +1 -1
  45. package/dist/dom/style_properties.js.map +1 -1
  46. package/dist/dom/svg.d.ts +3 -1
  47. package/dist/dom/svg.js.map +1 -1
  48. package/dist/dom/text.d.ts +4 -2
  49. package/dist/dom/text.js.map +1 -1
  50. package/dist/dom/transfer.js.map +1 -1
  51. package/dist/dom/tree.js.map +1 -1
  52. package/dist/dom-external/element.js.map +1 -1
  53. package/dist/dom-external/index.js.map +1 -1
  54. package/dist/dom-external/inner-html/html.js.map +1 -1
  55. package/dist/dom-external/inner-html/parser.d.ts +2 -7
  56. package/dist/dom-external/inner-html/parser.js.map +1 -1
  57. package/dist/dom-external/inner-html/scaner.js.map +1 -1
  58. package/dist/dom-external/inner-html/style.js.map +1 -1
  59. package/dist/dom-external/inner-html/tags.js.map +1 -1
  60. package/dist/dom-external/inner-html/utils.js.map +1 -1
  61. package/dist/dom-external/mutation-observer/implements.d.ts +6 -22
  62. package/dist/dom-external/mutation-observer/implements.js.map +1 -1
  63. package/dist/dom-external/mutation-observer/index.d.ts +7 -4
  64. package/dist/dom-external/mutation-observer/index.js.map +1 -1
  65. package/dist/{record-32b054d8.d.ts → dom-external/mutation-observer/record.d.ts} +5 -2
  66. package/dist/dom-external/node.js.map +1 -1
  67. package/dist/dsl/common.d.ts +5 -4
  68. package/dist/dsl/common.js.map +1 -1
  69. package/dist/{instance-530729bd.d.ts → dsl/instance.d.ts} +13 -11
  70. package/dist/emitter/emitter.d.ts +5 -1
  71. package/dist/emitter/emitter.js.map +1 -1
  72. package/dist/env.d.ts +3 -1
  73. package/dist/env.js.map +1 -1
  74. package/dist/hydrate.d.ts +5 -3
  75. package/dist/hydrate.js.map +1 -1
  76. package/dist/index.cjs.d.ts +87 -70
  77. package/dist/index.cjs.js +4 -4
  78. package/dist/index.cjs.js.map +1 -1
  79. package/dist/index.d.ts +41 -34
  80. package/dist/interface/element.d.ts +6 -0
  81. package/dist/interface/event-target.d.ts +13 -0
  82. package/dist/interface/event.d.ts +16 -0
  83. package/dist/interface/hydrate.d.ts +32 -0
  84. package/dist/interface/node.d.ts +10 -0
  85. package/dist/{options-530729bd.d.ts → interface/options.d.ts} +6 -4
  86. package/dist/interface/utils.d.ts +4 -0
  87. package/dist/next-tick.d.ts +3 -1
  88. package/dist/next-tick.js.map +1 -1
  89. package/dist/options.d.ts +3 -1
  90. package/dist/options.js.map +1 -1
  91. package/dist/perf.d.ts +1 -0
  92. package/dist/perf.js.map +1 -1
  93. package/dist/polyfill/array.js.map +1 -1
  94. package/dist/polyfill/index.d.ts +1 -0
  95. package/dist/polyfill/index.js.map +1 -1
  96. package/dist/polyfill/intersection-observer.js.map +1 -1
  97. package/dist/polyfill/object.js.map +1 -1
  98. package/dist/runtime.esm.d.ts +87 -70
  99. package/dist/runtime.esm.js.map +1 -1
  100. package/dist/utils/cache.d.ts +1 -0
  101. package/dist/utils/cache.js.map +1 -1
  102. package/dist/utils/index.d.ts +7 -7
  103. package/dist/utils/index.js.map +1 -1
  104. package/dist/utils/lodash.d.ts +2 -1
  105. package/dist/utils/lodash.js.map +1 -1
  106. package/dist/utils/router.d.ts +2 -1
  107. package/dist/utils/router.js.map +1 -1
  108. package/package.json +4 -6
  109. package/dist/dom/anchor-element.d.ts +0 -14
  110. package/dist/dom/style_properties.d.ts +0 -3
  111. package/dist/dom/transfer.d.ts +0 -8
  112. package/dist/dom/tree.d.ts +0 -4
  113. package/dist/dom-external/element.d.ts +0 -4
  114. package/dist/dom-external/index.d.ts +0 -1
  115. package/dist/dom-external/inner-html/html.d.ts +0 -3
  116. package/dist/dom-external/inner-html/scaner.d.ts +0 -30
  117. package/dist/dom-external/inner-html/style.d.ts +0 -27
  118. package/dist/dom-external/inner-html/tags.d.ts +0 -9
  119. package/dist/dom-external/inner-html/utils.d.ts +0 -2
  120. package/dist/dom-external/node.d.ts +0 -12
  121. package/dist/index-26658829.d.ts +0 -23
  122. package/dist/polyfill/array.d.ts +0 -3
  123. package/dist/polyfill/intersection-observer.d.ts +0 -2
  124. package/dist/polyfill/object.d.ts +0 -4
package/dist/bom/URL.d.ts CHANGED
@@ -22,10 +22,8 @@ declare class TaroURL {
22
22
  get origin(): string;
23
23
  set origin(val: string);
24
24
  get searchParams(): URLSearchParams;
25
- // public method
26
25
  toString(): string;
27
26
  toJSON(): string;
28
- // convenient for deconstructor
29
27
  _toRaw(): {
30
28
  protocol: string;
31
29
  port: string;
@@ -38,6 +36,7 @@ declare class TaroURL {
38
36
  href: string;
39
37
  };
40
38
  }
39
+
41
40
  declare const TaroURLProvider: typeof TaroURL;
42
41
  declare function parseUrl(url?: string): {
43
42
  href: string;
@@ -50,5 +49,5 @@ declare function parseUrl(url?: string): {
50
49
  search: string;
51
50
  hash: string;
52
51
  };
53
- export type { TaroURL };
54
- export { TaroURLProvider, parseUrl };
52
+
53
+ export { TaroURL, TaroURLProvider, parseUrl };
@@ -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 }\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,2 +1,3 @@
1
1
  declare const URLSearchParams: any;
2
+
2
3
  export { URLSearchParams };
@@ -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":";;;;;AAIA,MAAM,OAAO,GAAG,kBAAkB;AAClC,MAAM,OAAO,GAAG,KAAK;AACrB,MAAM,cAAc,GAAG;AACrB,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,KAAK,EAAE,GAAG;AACV,IAAA,KAAK,EAAE,MAAM;CACd;AAED,SAAS,QAAQ,CAAE,KAAa,EAAA;AAC9B,IAAA,OAAO,cAAc,CAAC,KAAK,CAAC;AAC9B;AAEA,SAAS,QAAQ,CAAE,IAA8B,EAAE,IAAY,EAAE,KAAa,EAAA;AAC5E,IAAA,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK;IACpD,IAAI,IAAI,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACzB;AAEA,SAAS,OAAO,CAAE,KAAa,EAAE,GAAW,EAAA;AAC1C,IAAA,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;AAC5B;AAEA,SAAS,MAAM,CAAE,GAAW,EAAA;IAC1B,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACtD;AAEA,SAAS,MAAM,CAAE,GAAW,EAAA;IAC1B,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC3D;MAEa,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,IAAG,EAAA,GAAA,MAAA;AAGhG,QAAA,WAAA,CAAa,KAAK,EAAA;AAFlB,YAAA,KAAA,CAAA,GAAA,CAAA,IAAA,EAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAGzB,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,MAAA,GAAA,KAAK,IAAL,KAAK,GAAK,EAAE,CAAA;AAEZ,YAAA,MAAM,IAAI,GAAG,sBAAA,CAAA,IAAI,aAAM;AAEvB,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AAC3B,oBAAA,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;;gBAExB,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAChF,oBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;oBACtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;;AAGhC,oBAAA,IAAI;AACF,wBAAA,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;4BACd,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;;AACxE,6BAAA,IAAI,KAAK,CAAC,MAAM,EAAE;4BACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;;;oBAEnC,OAAO,GAAG,EAAE;wBACZ,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AACzC,4BAAA,OAAO,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAA,UAAA,CAAY,CAAC;;;;;iBAItD;AACL,gBAAA,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AAClB,oBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AACtD,wBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;AACtB,wBAAA,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;;;AAE/B,qBAAA,IAAI,KAAK,CAAC,OAAO,EAAE;AACxB,oBAAA,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;;qBACvB;AACL,oBAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;wBACvB,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;;;;;QAMvC,MAAM,CAAE,IAAY,EAAE,KAAa,EAAA;YACjC,QAAQ,CAAC,uBAAA,IAAI,EAAA,KAAA,EAAA,GAAA,CAAM,EAAE,IAAI,EAAE,KAAK,CAAC;;AAGnC,QAAA,MAAM,CAAE,IAAY,EAAA;AAClB,YAAA,OAAO,uBAAA,IAAI,EAAA,KAAA,EAAA,GAAA,CAAM,CAAC,IAAI,CAAC;;AAGzB,QAAA,GAAG,CAAE,IAAY,EAAA;AACf,YAAA,MAAM,IAAI,GAAG,sBAAA,CAAA,IAAI,aAAM;AACvB,YAAA,OAAO,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;;AAG5C,QAAA,MAAM,CAAE,IAAY,EAAA;AAClB,YAAA,MAAM,IAAI,GAAG,sBAAA,CAAA,IAAI,aAAM;AACvB,YAAA,OAAO,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE;;AAGhD,QAAA,GAAG,CAAE,IAAY,EAAA;AACf,YAAA,OAAO,IAAI,IAAI,sBAAA,CAAA,IAAI,aAAM;;QAG3B,IAAI,GAAA;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,uBAAA,IAAI,EAAA,KAAA,EAAA,GAAA,CAAM,CAAC;;QAGhC,GAAG,CAAE,IAAY,EAAE,KAAa,EAAA;YAC9B,sBAAA,CAAA,IAAI,EAAM,KAAA,EAAA,GAAA,CAAA,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;;QAGjC,OAAO,CAAE,QAAQ,EAAE,OAAO,EAAA;AACxB,YAAA,MAAM,IAAI,GAAG,sBAAA,CAAA,IAAI,aAAM;YACvB,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAA;AACrD,gBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,KAAa,EAAA;oBACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;iBAC1C,EAAE,IAAI,CAAC;aACT,EAAE,IAAI,CAAC;;QAGV,MAAM,GAAA;AACJ,YAAA,OAAO,EAAE;;QAGX,QAAQ,GAAA;AACN,YAAA,MAAM,IAAI,GAAG,sBAAA,CAAA,IAAI,aAAM;YACvB,MAAM,KAAK,GAAU,EAAE;AACvB,YAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AACtB,gBAAA,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxD,oBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;;;AAG7C,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;;AAEzB,KAAA;;;;;;"}
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,5 @@
1
- import { TaroDocument } from "../dom/document.js";
1
+ import { TaroDocument } from '../dom/document.js';
2
+
2
3
  declare const taroDocumentProvider: TaroDocument;
4
+
3
5
  export { taroDocumentProvider };
@@ -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;IAC9B,MAAM,qBAAqB,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AACzD,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;AACxC,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;AACxC,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;AACxC,IAAA,MAAM,GAAG,GAAG,qBAAqB,CAAC,GAAG,CAAC;AACtC,IAAA,GAAG,CAAC,EAAE,GAAG,GAAG;IACZ,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;AAElD,IAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;AACrB,IAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACtB,IAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACtB,IAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAC3B,IAAA,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC;AAE1B,IAAA,GAAG,CAAC,eAAe,GAAG,IAAI;AAC1B,IAAA,GAAG,CAAC,IAAI,GAAG,IAAI;AACf,IAAA,GAAG,CAAC,IAAI,GAAG,IAAI;AAEf,IAAA,OAAO,GAAG;AACZ;AAEA;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\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;IAC9B,MAAM,qBAAqB,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;AACzD,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;AACxC,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;AACxC,IAAA,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;AACxC,IAAA,MAAM,GAAG,GAAG,qBAAqB,CAAC,GAAG,CAAC;AACtC,IAAA,GAAG,CAAC,EAAE,GAAG,GAAG;IACZ,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;AAElD,IAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;AACrB,IAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACtB,IAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACtB,IAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAC3B,IAAA,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC;AAE1B,IAAA,GAAG,CAAC,eAAe,GAAG,IAAI;AAC1B,IAAA,GAAG,CAAC,IAAI,GAAG,IAAI;AACf,IAAA,GAAG,CAAC,IAAI,GAAG,IAAI;AAEf,IAAA,OAAO,GAAG;AACZ;AAEA;AACO,MAAM,oBAAoB,GAAiB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,GAAG,cAAc,EAAE;;;;"}
@@ -1,5 +1,8 @@
1
- import { TaroElement } from "../dom/element.js";
2
- import { Style } from "../dom/style.js";
1
+ import { TaroElement } from '../dom/element.js';
2
+ import { Style } from '../dom/style.js';
3
+
3
4
  type TGetComputedStyle = typeof window.getComputedStyle | ((el: TaroElement) => Style);
4
5
  declare const taroGetComputedStyleProvider: TGetComputedStyle;
5
- export { TGetComputedStyle, taroGetComputedStyleProvider };
6
+
7
+ export { taroGetComputedStyleProvider };
8
+ export type { TGetComputedStyle };
@@ -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;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)\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;AACtB;;;;"}
@@ -1,6 +1,7 @@
1
- import { Events } from "../emitter/emitter.js";
2
- import { RuntimeCache } from "../utils/cache.js";
3
- import { TaroLocation } from "./location.js";
1
+ import { Events } from '@tarojs/shared';
2
+ import { RuntimeCache } from '../utils/cache.js';
3
+ import { TaroLocation } from './location.js';
4
+
4
5
  interface HistoryState {
5
6
  state: Record<string, any> | null;
6
7
  title: string;
@@ -19,7 +20,6 @@ declare class TaroHistory extends Events {
19
20
  constructor(location: TaroLocation, options: Options);
20
21
  get length(): number;
21
22
  get state(): Record<string, any> | null;
22
- /* public method */
23
23
  go(delta: number): void;
24
24
  back(): void;
25
25
  forward(): void;
@@ -27,6 +27,8 @@ declare class TaroHistory extends Events {
27
27
  replaceState(state: any, title: string, url: string): void;
28
28
  get cache(): RuntimeCache<HistoryContext>;
29
29
  }
30
+
30
31
  declare const History: typeof TaroHistory;
31
- export { HistoryState, History };
32
- export type { TaroHistory };
32
+
33
+ export { History, TaroHistory };
34
+ export type { HistoryState };
@@ -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":"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"}
@@ -1,5 +1,6 @@
1
- import { Events } from "../emitter/emitter.js";
2
- import { RuntimeCache } from "../utils/cache.js";
1
+ import { Events } from '@tarojs/shared';
2
+ import { RuntimeCache } from '../utils/cache.js';
3
+
3
4
  type Options = {
4
5
  window: any;
5
6
  };
@@ -27,13 +28,13 @@ declare class TaroLocation extends Events {
27
28
  set href(val: string);
28
29
  get origin(): string;
29
30
  set origin(val: string);
30
- /* public method */
31
31
  assign(): void;
32
32
  reload(): void;
33
33
  replace(url: string): void;
34
34
  toString(): string;
35
35
  get cache(): RuntimeCache<LocationContext>;
36
36
  }
37
+
37
38
  declare const Location: typeof TaroLocation;
38
- export type { TaroLocation };
39
- export { Location };
39
+
40
+ export { Location, TaroLocation };
@@ -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":"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"}
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;AACnC,MAAM,KAAK,GAAG,IAAI,YAAY,CAAkB,UAAU,CAAC;AAE3D,MAAM,YAAa,SAAQ,MAAM,CAAA;AAM/B,IAAA,WAAA,CAAa,OAAgB,EAAA;AAC3B,QAAA,KAAK,EAAE;;;AALT,QAAA,iBAAA,CAAA,GAAA,CAAA,IAAA,EAAO,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAA;AACpC,QAAA,wBAAA,CAAA,GAAA,CAAA,IAAA,EAAc,KAAK,CAAA;QACnB,oBAAY,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAKV,QAAA,sBAAA,CAAA,IAAI,EAAW,oBAAA,EAAA,OAAO,CAAC,MAAM,MAAA;AAE7B,QAAA,sBAAA,CAAA,IAAI,EAAA,uBAAA,EAAA,GAAA,EAAA,mBAAA,CAAO,CAAX,IAAA,CAAA,IAAI,CAAS;QAEb,IAAI,CAAC,EAAE,CACL,8BAA8B,EAC9B,CAAC,IAAY,KAAI;AACf,YAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAe,IAAI,EAAA,GAAA,CAAA;AAEvB,YAAA,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI;YAC/B,sBAAA,CAAA,IAAI,yBAAK,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;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;;AAGpC,YAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAe,KAAK,EAAA,GAAA,CAAA;SACzB,EACD,IAAI,CACL;;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;SACd,EACD,IAAI,CACL;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;SACH,EACD,IAAI,CACL;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;AAC9B,gBAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAe,IAAI,EAAA,GAAA,CAAA;gBACvB,sBAAA,CAAA,IAAI,yBAAK,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ;AAC7B,gBAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAe,KAAK,EAAA,GAAA,CAAA;;SAE3B,EACD,IAAI,CACL;QAED,IAAI,CAAC,EAAE,CACL,eAAe,CAAC,OAAO,EACvB,CAAC,MAAc,KAAI;AACjB,YAAA,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;SACrB,EACD,IAAI,CACL;;;AAsEH,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,QAAQ;;IAG3B,IAAI,QAAQ,CAAE,GAAW,EAAA;QACvB,MAAM,GAAG,GAAG,kBAAkB;AAC9B,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAAE;AAErD,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE;QAChB,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,QAAQ,GAAG,GAAG;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;;AAG3D,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI;;IAGvB,IAAI,IAAI,CAAE,GAAW,EAAA;AACnB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE;AAC5B,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE;QAEhB,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,GAAG,GAAG;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;;AAG3D,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,QAAQ;;IAG3B,IAAI,QAAQ,CAAE,GAAW,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE;AAC5B,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE;QAEhB,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,QAAQ,GAAG,GAAG;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;;AAG3D,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI;;IAGvB,IAAI,IAAI,CAAE,GAAW,EAAA;AACnB,QAAA,MAAM,IAAI,GAAG,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YAAE;QAElC,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,GAAG,GAAG;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;;AAG3D,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,QAAQ;;IAG3B,IAAI,QAAQ,CAAE,GAAW,EAAA;AACvB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE;AAC5B,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE;QAEhB,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,QAAQ,GAAG,GAAG;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;;AAG3D,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,MAAM;;IAGzB,IAAI,MAAM,CAAE,GAAW,EAAA;AACrB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE;AAC5B,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE;AAChB,QAAA,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAI,CAAA,EAAA,GAAG,EAAE;QAE3C,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,MAAM,GAAG,GAAG;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;;AAG3D,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI;;;IAIvB,IAAI,IAAI,CAAE,GAAW,EAAA;AACnB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE;AAC5B,QAAA,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE;AAChB,QAAA,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAI,CAAA,EAAA,GAAG,EAAE;QAE3C,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,GAAG,GAAG;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;;AAG3D,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI;;IAGvB,IAAI,IAAI,CAAE,GAAW,EAAA;QACnB,MAAM,GAAG,GAAG,wBAAwB;QACpC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE;YAAE;QAE7D,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,GAAG,GAAG;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;;AAG3D,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,MAAM;;IAGzB,IAAI,MAAM,CAAE,GAAW,EAAA;QACrB,MAAM,GAAG,GAAG,wBAAwB;QACpC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE;YAAE;QAE7D,MAAM,QAAQ,GAAG,sBAAA,CAAA,IAAI,0DAAa,CAAjB,IAAA,CAAA,IAAI,CAAe;AACpC,QAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,MAAM,GAAG,GAAG;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;;;IAI3D,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,EAAE,8BAA8B,CAAC;;IAG5C,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,EAAE,8BAA8B,CAAC;;AAG5C,IAAA,OAAO,CAAE,GAAW,EAAA;AAClB,QAAA,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,GAAG,CAAC;;IAGnD,QAAQ,GAAA;QACN,OAAO,IAAI,CAAC,IAAI;;;AAIlB,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,KAAK;;AAEf;;AAxNG,IAAA,MAAM,OAAO,GAAG,kBAAkB,EAAE;AACpC,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;IAC7B,IAAI,MAAM,EAAE;AACV,QAAA,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM;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;AAChC,SAAC,CAAC;QACF,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;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;QAEhF,sBAAA,CAAA,IAAI,qBAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,MAAA;QAEpC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC;;AAEhD,CAAC,EAAA,yBAAA,GAAA,SAAA,yBAAA,GAAA;AAGC,IAAA,OAAO,uBAAA,IAAI,EAAA,iBAAA,EAAA,GAAA,CAAK,CAAC,MAAM,EAAE;AAC3B,CAAC,2DAEU,IAAY,EAAA;AACrB,IAAA,sBAAA,CAAA,IAAI,EAAK,iBAAA,EAAA,GAAA,CAAA,CAAC,IAAI,GAAG,IAAI;AACvB,CAAC,EAAA,2BAAA,GAAA,SAAA,2BAAA,GAAA;IAGC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC;AAC/C,CAAC,uEAKgB,QAAkB,EAAA;AACjC,IAAA,IAAI,sBAAA,CAAA,IAAI,EAAY,wBAAA,EAAA,GAAA,CAAA,EAAE;AACpB,QAAA,OAAO,KAAK;;IAGd,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,sBAAA,CAAA,IAAI,yBAAK,CAAC,MAAM,EAAE;;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;AAC7B,QAAA,OAAO,KAAK;;;AAId,IAAA,IAAI,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE;AAClC,QAAA,OAAO,IAAI;;;AAIb,IAAA,IAAI,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;AAC9B,QAAA,OAAO,IAAI;;;AAIb,IAAA,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;AAC1B,QAAA,sBAAA,CAAA,IAAI,EAAQ,oBAAA,EAAA,GAAA,CAAA,CAAC,OAAO,CAAC,YAAY,CAAC;AAClC,QAAA,OAAO,IAAI;;IAGb,sBAAA,CAAA,IAAI,uDAAU,CAAd,IAAA,CAAA,IAAI,EAAW,QAAQ,CAAC,IAAI,CAAC;AAC7B,IAAA,OAAO,KAAK;AACd,CAAC;MA6JU,QAAQ,GAAwB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG;AAEzG,SAAS,eAAe,CAAE,GAAG,GAAG,EAAE,EAAA;IAChC,MAAM,MAAM,GAAG,QAAQ;AACvB,IAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,MAAM,GAAG,GAAG;;AAErB,IAAA,OAAO,GAAG;AACZ;;;;"}
@@ -1,2 +1,3 @@
1
1
  declare const nav: typeof window.navigator;
2
+
2
3
  export { nav };
@@ -1 +1 @@
1
- {"version":3,"file":"navigator.js","sources":["../../src/bom/navigator.ts"],"sourcesContent":["import env from '../env'\n\nconst machine = 'Macintosh'\nconst arch = 'Intel Mac OS X 10_14_5'\nconst engine = 'AppleWebKit/534.36 (KHTML, like Gecko) NodeJS/v4.1.0 Chrome/76.0.3809.132 Safari/534.36'\n\nconst msg = '(' + machine + '; ' + arch + ') ' + engine\n\nexport const nav: typeof window.navigator = process.env.TARO_PLATFORM === 'web' ? env.window.navigator : {\n appCodeName: 'Mozilla',\n appName: 'Netscape',\n appVersion: '5.0 ' + msg,\n cookieEnabled: true,\n mimeTypes: [],\n onLine: true,\n platform: 'MacIntel',\n plugins: [],\n product: 'Taro',\n productSub: '20030107',\n userAgent: 'Mozilla/5.0 ' + msg,\n vendor: 'Joyent',\n vendorSub: ''\n}\n"],"names":[],"mappings":";;AAEA,MAAM,OAAO,GAAG,WAAW;AAC3B,MAAM,IAAI,GAAG,wBAAwB;AACrC,MAAM,MAAM,GAAG,yFAAyF;AAExG,MAAM,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM;MAE1C,GAAG,GAA4B,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG;AACvG,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,MAAM,GAAG,GAAG;AACxB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,cAAc,GAAG,GAAG;AAC/B,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,SAAS,EAAE;;;;;"}
1
+ {"version":3,"file":"navigator.js","sources":["../../../src/bom/navigator.ts"],"sourcesContent":["import env from '../env'\n\nconst machine = 'Macintosh'\nconst arch = 'Intel Mac OS X 10_14_5'\nconst engine = 'AppleWebKit/534.36 (KHTML, like Gecko) NodeJS/v4.1.0 Chrome/76.0.3809.132 Safari/534.36'\n\nconst msg = '(' + machine + '; ' + arch + ') ' + engine\n\nexport const nav: typeof window.navigator = process.env.TARO_PLATFORM === 'web' ? env.window.navigator : {\n appCodeName: 'Mozilla',\n appName: 'Netscape',\n appVersion: '5.0 ' + msg,\n cookieEnabled: true,\n mimeTypes: [],\n onLine: true,\n platform: 'MacIntel',\n plugins: [],\n product: 'Taro',\n productSub: '20030107',\n userAgent: 'Mozilla/5.0 ' + msg,\n vendor: 'Joyent',\n vendorSub: ''\n}\n"],"names":[],"mappings":";;AAEA,MAAM,OAAO,GAAG,WAAW;AAC3B,MAAM,IAAI,GAAG,wBAAwB;AACrC,MAAM,MAAM,GAAG,yFAAyF;AAExG,MAAM,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM;MAE1C,GAAG,GAA4B,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG;AACvG,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,MAAM,GAAG,GAAG;AACxB,IAAA,aAAa,EAAE,IAAI;AACnB,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,cAAc,GAAG,GAAG;AAC/B,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,SAAS,EAAE;;;;;"}
package/dist/bom/raf.d.ts CHANGED
@@ -1,5 +1,5 @@
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;
5
- export { now, _caf as caf, _raf as raf };
4
+
5
+ export { _caf as caf, now, _raf as raf };
@@ -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;AAEX,CAAC,YAAA;AACC,IAAA,IAAI,QAAQ;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;;AACxB,SAAA,IAAI,IAAI,CAAC,GAAG,EAAE;AACnB,QAAA,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;QACrB,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;;SAC5B;AACL,QAAA,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;AAC/B,QAAA,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ;;AAE/C,CAAC,GAAG;AAEJ,IAAI,QAAQ,GAAG,CAAC;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;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;AACnF;AAEM,MAAA,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK;AACzC,MAAE;MACA,UAAU,IAAI,EAAA;;QAEd,YAAY,CAAC,IAAI,CAAC;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 = 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;AAEX,CAAC,YAAA;AACC,IAAA,IAAI,QAAQ;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;;AACxB,SAAA,IAAI,IAAI,CAAC,GAAG,EAAE;AACnB,QAAA,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;QACrB,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;;SAC5B;AACL,QAAA,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;AAC/B,QAAA,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ;;AAE/C,CAAC,GAAG;AAEJ,IAAI,QAAQ,GAAG,CAAC;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;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;AACnF;AAEM,MAAA,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK;AACzC,MAAE;MACA,UAAU,IAAI,EAAA;;QAEd,YAAY,CAAC,IAAI,CAAC;AACpB;;;;"}
@@ -1,26 +1,29 @@
1
- /// <reference types="node" />
2
- import { Events } from "../emitter/emitter.js";
3
- import { TaroHistory } from "./history.js";
4
- import { TaroLocation } from "./location.js";
1
+ import { TaroDocument } from '../dom/document.js';
2
+ import { TGetComputedStyle } from './getComputedStyle.js';
3
+ import { Events } from '@tarojs/shared';
4
+ import { TaroHistory } from './history.js';
5
+ import { TaroLocation } from './location.js';
6
+
5
7
  declare class TaroWindow extends Events {
6
8
  navigator: Navigator;
7
9
  requestAnimationFrame: typeof requestAnimationFrame | ((callback: any) => NodeJS.Timeout);
8
10
  cancelAnimationFrame: typeof cancelAnimationFrame;
9
- getComputedStyle: import("./getComputedStyle.js").TGetComputedStyle;
11
+ getComputedStyle: TGetComputedStyle;
10
12
  Date: DateConstructor;
11
13
  location: TaroLocation;
12
14
  history: TaroHistory;
13
15
  XMLHttpRequest?: Partial<XMLHttpRequest>;
14
16
  constructor();
15
17
  initEvent(): void;
16
- get document(): import("../dom/document.js").TaroDocument;
18
+ get document(): TaroDocument;
17
19
  addEventListener(event: string, callback: (arg: any) => void): void;
18
20
  removeEventListener(event: string, callback: (arg: any) => void): void;
19
21
  setTimeout(...args: Parameters<typeof setTimeout>): NodeJS.Timeout;
20
22
  clearTimeout(...args: Parameters<typeof clearTimeout>): void;
21
23
  }
24
+
22
25
  declare const taroWindowProvider: TaroWindow;
23
26
  declare const taroLocationProvider: TaroLocation;
24
27
  declare const taroHistoryProvider: TaroHistory;
25
- export type { TaroWindow };
26
- export { taroWindowProvider, taroLocationProvider, taroHistoryProvider };
28
+
29
+ export { TaroWindow, taroHistoryProvider, taroLocationProvider, taroWindowProvider };
@@ -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 { 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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"}
@@ -58,4 +58,5 @@ declare enum CONTEXT_ACTIONS {
58
58
  RECOVER = "2",
59
59
  DESTORY = "3"
60
60
  }
61
- export { PROPERTY_THRESHOLD, TARO_RUNTIME, HOOKS_APP_ID, SET_DATA, PAGE_INIT, ROOT_STR, HTML, HEAD, BODY, APP, CONTAINER, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, ID, UID, CLASS, STYLE, FOCUS, VIEW, STATIC_VIEW, PURE_VIEW, CLICK_VIEW, PROPS, DATASET, OBJECT, VALUE, INPUT, CHANGE, CUSTOM_WRAPPER, TARGET, CURRENT_TARGET, TYPE, CONFIRM, TIME_STAMP, KEY_CODE, TOUCHMOVE, DATE, SET_TIMEOUT, COMPILE_MODE, CATCHMOVE, CATCH_VIEW, COMMENT, ON_LOAD, ON_READY, ON_SHOW, ON_HIDE, OPTIONS, EXTERNAL_CLASSES, EVENT_CALLBACK_RESULT, BEHAVIORS, A, CONTEXT_ACTIONS };
61
+
62
+ export { A, APP, BEHAVIORS, BODY, CATCHMOVE, CATCH_VIEW, CHANGE, CLASS, CLICK_VIEW, COMMENT, COMPILE_MODE, CONFIRM, CONTAINER, CONTEXT_ACTIONS, CURRENT_TARGET, CUSTOM_WRAPPER, DATASET, DATE, DOCUMENT_ELEMENT_NAME, DOCUMENT_FRAGMENT, EVENT_CALLBACK_RESULT, EXTERNAL_CLASSES, FOCUS, HEAD, HOOKS_APP_ID, HTML, ID, INPUT, KEY_CODE, OBJECT, ON_HIDE, ON_LOAD, ON_READY, ON_SHOW, OPTIONS, PAGE_INIT, PROPERTY_THRESHOLD, PROPS, PURE_VIEW, ROOT_STR, SET_DATA, SET_TIMEOUT, STATIC_VIEW, STYLE, TARGET, TARO_RUNTIME, TIME_STAMP, TOUCHMOVE, TYPE, UID, VALUE, VIEW };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/constants/index.ts"],"sourcesContent":["export const PROPERTY_THRESHOLD = 2046\nexport const TARO_RUNTIME = 'Taro runtime'\nexport const HOOKS_APP_ID = 'taro-app'\nexport const SET_DATA = '小程序 setData'\nexport const PAGE_INIT = '页面初始化'\nexport const ROOT_STR = 'root'\nexport const HTML = 'html'\nexport const HEAD = 'head'\nexport const BODY = 'body'\nexport const APP = 'app'\nexport const CONTAINER = 'container'\nexport const DOCUMENT_ELEMENT_NAME = '#document'\nexport const DOCUMENT_FRAGMENT = 'document-fragment'\nexport const ID = 'id'\nexport const UID = 'uid'\nexport const CLASS = 'class'\nexport const STYLE = 'style'\nexport const FOCUS = 'focus'\nexport const VIEW = 'view'\nexport const STATIC_VIEW = 'static-view'\nexport const PURE_VIEW = 'pure-view'\nexport const CLICK_VIEW = 'click-view'\nexport const PROPS = 'props'\nexport const DATASET = 'dataset'\nexport const OBJECT = 'object'\nexport const VALUE = 'value'\nexport const INPUT = 'input'\nexport const CHANGE = 'change'\nexport const CUSTOM_WRAPPER = 'custom-wrapper'\nexport const TARGET = 'target'\nexport const CURRENT_TARGET = 'currentTarget'\nexport const TYPE = 'type'\nexport const CONFIRM = 'confirm'\nexport const TIME_STAMP = 'timeStamp'\nexport const KEY_CODE = 'keyCode'\nexport const TOUCHMOVE = 'touchmove'\nexport const DATE = 'Date'\nexport const SET_TIMEOUT = 'setTimeout'\nexport const COMPILE_MODE = 'compileMode'\nexport const CATCHMOVE = 'catchMove'\nexport const CATCH_VIEW = 'catch-view'\nexport const COMMENT = 'comment'\nexport const ON_LOAD = 'onLoad'\nexport const ON_READY = 'onReady'\nexport const ON_SHOW = 'onShow'\nexport const ON_HIDE = 'onHide'\nexport const OPTIONS = 'options'\nexport const EXTERNAL_CLASSES = 'externalClasses'\nexport const EVENT_CALLBACK_RESULT = 'e_result'\nexport const BEHAVIORS = 'behaviors'\nexport const A = 'a'\n\n/**\n * 页面上下文切换时的行为\n */\nexport enum CONTEXT_ACTIONS {\n INIT = '0',\n RESTORE = '1',\n RECOVER = '2',\n DESTORY = '3'\n}\n"],"names":[],"mappings":"AAAO,MAAM,kBAAkB,GAAG;AAC3B,MAAM,YAAY,GAAG;AACrB,MAAM,YAAY,GAAG;AACrB,MAAM,QAAQ,GAAG;AACjB,MAAM,SAAS,GAAG;AAClB,MAAM,QAAQ,GAAG;AACjB,MAAM,IAAI,GAAG;AACb,MAAM,IAAI,GAAG;AACb,MAAM,IAAI,GAAG;AACb,MAAM,GAAG,GAAG;AACZ,MAAM,SAAS,GAAG;AAClB,MAAM,qBAAqB,GAAG;AAC9B,MAAM,iBAAiB,GAAG;AAC1B,MAAM,EAAE,GAAG;AACX,MAAM,GAAG,GAAG;AACZ,MAAM,KAAK,GAAG;AACd,MAAM,KAAK,GAAG;AACd,MAAM,KAAK,GAAG;AACd,MAAM,IAAI,GAAG;AACb,MAAM,WAAW,GAAG;AACpB,MAAM,SAAS,GAAG;AAClB,MAAM,UAAU,GAAG;AACnB,MAAM,KAAK,GAAG;AACd,MAAM,OAAO,GAAG;AAChB,MAAM,MAAM,GAAG;AACf,MAAM,KAAK,GAAG;AACd,MAAM,KAAK,GAAG;AACd,MAAM,MAAM,GAAG;AACf,MAAM,cAAc,GAAG;AACvB,MAAM,MAAM,GAAG;AACf,MAAM,cAAc,GAAG;AACvB,MAAM,IAAI,GAAG;AACb,MAAM,OAAO,GAAG;AAChB,MAAM,UAAU,GAAG;AACnB,MAAM,QAAQ,GAAG;AACjB,MAAM,SAAS,GAAG;AAClB,MAAM,IAAI,GAAG;AACb,MAAM,WAAW,GAAG;AACpB,MAAM,YAAY,GAAG;AACrB,MAAM,SAAS,GAAG;AAClB,MAAM,UAAU,GAAG;AACnB,MAAM,OAAO,GAAG;AAChB,MAAM,OAAO,GAAG;AAChB,MAAM,QAAQ,GAAG;AACjB,MAAM,OAAO,GAAG;AAChB,MAAM,OAAO,GAAG;AAChB,MAAM,OAAO,GAAG;AAChB,MAAM,gBAAgB,GAAG;AACzB,MAAM,qBAAqB,GAAG;AAC9B,MAAM,SAAS,GAAG;AAClB,MAAM,CAAC,GAAG;AAEjB;;AAEG;IACS;AAAZ,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,GAAU;AACV,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,GAAa;AACb,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,GAAa;AACb,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,GAAa;AACf,CAAC,EALW,eAAe,KAAf,eAAe,GAK1B,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/constants/index.ts"],"sourcesContent":["export const PROPERTY_THRESHOLD = 2046\nexport const TARO_RUNTIME = 'Taro runtime'\nexport const HOOKS_APP_ID = 'taro-app'\nexport const SET_DATA = '小程序 setData'\nexport const PAGE_INIT = '页面初始化'\nexport const ROOT_STR = 'root'\nexport const HTML = 'html'\nexport const HEAD = 'head'\nexport const BODY = 'body'\nexport const APP = 'app'\nexport const CONTAINER = 'container'\nexport const DOCUMENT_ELEMENT_NAME = '#document'\nexport const DOCUMENT_FRAGMENT = 'document-fragment'\nexport const ID = 'id'\nexport const UID = 'uid'\nexport const CLASS = 'class'\nexport const STYLE = 'style'\nexport const FOCUS = 'focus'\nexport const VIEW = 'view'\nexport const STATIC_VIEW = 'static-view'\nexport const PURE_VIEW = 'pure-view'\nexport const CLICK_VIEW = 'click-view'\nexport const PROPS = 'props'\nexport const DATASET = 'dataset'\nexport const OBJECT = 'object'\nexport const VALUE = 'value'\nexport const INPUT = 'input'\nexport const CHANGE = 'change'\nexport const CUSTOM_WRAPPER = 'custom-wrapper'\nexport const TARGET = 'target'\nexport const CURRENT_TARGET = 'currentTarget'\nexport const TYPE = 'type'\nexport const CONFIRM = 'confirm'\nexport const TIME_STAMP = 'timeStamp'\nexport const KEY_CODE = 'keyCode'\nexport const TOUCHMOVE = 'touchmove'\nexport const DATE = 'Date'\nexport const SET_TIMEOUT = 'setTimeout'\nexport const COMPILE_MODE = 'compileMode'\nexport const CATCHMOVE = 'catchMove'\nexport const CATCH_VIEW = 'catch-view'\nexport const COMMENT = 'comment'\nexport const ON_LOAD = 'onLoad'\nexport const ON_READY = 'onReady'\nexport const ON_SHOW = 'onShow'\nexport const ON_HIDE = 'onHide'\nexport const OPTIONS = 'options'\nexport const EXTERNAL_CLASSES = 'externalClasses'\nexport const EVENT_CALLBACK_RESULT = 'e_result'\nexport const BEHAVIORS = 'behaviors'\nexport const A = 'a'\n\n/**\n * 页面上下文切换时的行为\n */\nexport enum CONTEXT_ACTIONS {\n INIT = '0',\n RESTORE = '1',\n RECOVER = '2',\n DESTORY = '3'\n}\n"],"names":[],"mappings":"AAAO,MAAM,kBAAkB,GAAG;AAC3B,MAAM,YAAY,GAAG;AACrB,MAAM,YAAY,GAAG;AACrB,MAAM,QAAQ,GAAG;AACjB,MAAM,SAAS,GAAG;AAClB,MAAM,QAAQ,GAAG;AACjB,MAAM,IAAI,GAAG;AACb,MAAM,IAAI,GAAG;AACb,MAAM,IAAI,GAAG;AACb,MAAM,GAAG,GAAG;AACZ,MAAM,SAAS,GAAG;AAClB,MAAM,qBAAqB,GAAG;AAC9B,MAAM,iBAAiB,GAAG;AAC1B,MAAM,EAAE,GAAG;AACX,MAAM,GAAG,GAAG;AACZ,MAAM,KAAK,GAAG;AACd,MAAM,KAAK,GAAG;AACd,MAAM,KAAK,GAAG;AACd,MAAM,IAAI,GAAG;AACb,MAAM,WAAW,GAAG;AACpB,MAAM,SAAS,GAAG;AAClB,MAAM,UAAU,GAAG;AACnB,MAAM,KAAK,GAAG;AACd,MAAM,OAAO,GAAG;AAChB,MAAM,MAAM,GAAG;AACf,MAAM,KAAK,GAAG;AACd,MAAM,KAAK,GAAG;AACd,MAAM,MAAM,GAAG;AACf,MAAM,cAAc,GAAG;AACvB,MAAM,MAAM,GAAG;AACf,MAAM,cAAc,GAAG;AACvB,MAAM,IAAI,GAAG;AACb,MAAM,OAAO,GAAG;AAChB,MAAM,UAAU,GAAG;AACnB,MAAM,QAAQ,GAAG;AACjB,MAAM,SAAS,GAAG;AAClB,MAAM,IAAI,GAAG;AACb,MAAM,WAAW,GAAG;AACpB,MAAM,YAAY,GAAG;AACrB,MAAM,SAAS,GAAG;AAClB,MAAM,UAAU,GAAG;AACnB,MAAM,OAAO,GAAG;AAChB,MAAM,OAAO,GAAG;AAChB,MAAM,QAAQ,GAAG;AACjB,MAAM,OAAO,GAAG;AAChB,MAAM,OAAO,GAAG;AAChB,MAAM,OAAO,GAAG;AAChB,MAAM,gBAAgB,GAAG;AACzB,MAAM,qBAAqB,GAAG;AAC9B,MAAM,SAAS,GAAG;AAClB,MAAM,CAAC,GAAG;AAEjB;;AAEG;IACS;AAAZ,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,GAAU;AACV,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,GAAa;AACb,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,GAAa;AACb,IAAA,eAAA,CAAA,SAAA,CAAA,GAAA,GAAa;AACf,CAAC,EALW,eAAe,KAAf,eAAe,GAK1B,EAAA,CAAA,CAAA;;;;"}
package/dist/current.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { AppInstance, PageInstance } from "./instance-530729bd.js";
1
+ import { AppInstance, PageInstance } from './dsl/instance.js';
2
+
2
3
  interface Router {
3
4
  params: Record<string, unknown>;
4
5
  path: string;
@@ -16,4 +17,6 @@ interface Current {
16
17
  }
17
18
  declare const Current: Current;
18
19
  declare const getCurrentInstance: () => Current;
19
- export { Router, Current, getCurrentInstance };
20
+
21
+ export { Current, getCurrentInstance };
22
+ export type { Router };
@@ -1 +1 @@
1
- {"version":3,"file":"current.js","sources":["../src/current.ts"],"sourcesContent":["import { AppInstance, PageInstance } from './dsl/instance'\n\nexport interface Router {\n params: Record<string, unknown>\n path: string\n $taroPath: string\n onReady: string\n onHide: string\n onShow: string\n exitState?: any\n}\n\ninterface Current {\n app: AppInstance | null\n router: Router | null\n page: PageInstance | null\n preloadData?: any\n}\n\nexport const Current: Current = {\n app: null,\n router: null,\n page: null\n}\n\nexport const getCurrentInstance = () => Current\n"],"names":[],"mappings":"AAmBa,MAAA,OAAO,GAAY;AAC9B,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,IAAI,EAAE;;MAGK,kBAAkB,GAAG,MAAM;;;;"}
1
+ {"version":3,"file":"current.js","sources":["../../src/current.ts"],"sourcesContent":["import { AppInstance, PageInstance } from './dsl/instance'\n\nexport interface Router {\n params: Record<string, unknown>\n path: string\n $taroPath: string\n onReady: string\n onHide: string\n onShow: string\n exitState?: any\n}\n\ninterface Current {\n app: AppInstance | null\n router: Router | null\n page: PageInstance | null\n preloadData?: any\n}\n\nexport const Current: Current = {\n app: null,\n router: null,\n page: null\n}\n\nexport const getCurrentInstance = () => Current\n"],"names":[],"mappings":"AAmBa,MAAA,OAAO,GAAY;AAC9B,IAAA,GAAG,EAAE,IAAI;AACT,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,IAAI,EAAE;;MAGK,kBAAkB,GAAG,MAAM;;;;"}
@@ -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,MAAA,GAAA,EAAA,GAAI,EAAE;;IAGlD,IAAW,IAAI,CAAE,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,CAA0B,MAAA,gCAAA,GAAG,CAAC;;AAGjD,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;AAGtD,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;AAGlD,IAAA,IAAI,MAAM,GAAA;;AACR,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA2B,QAAA,iCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;AAGpD,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;AAGlD,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;AAGtD,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;AAGlD,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;IAG/C,YAAY,CAAE,aAAqB,EAAE,KAAU,EAAA;QACpD,IAAI,aAAa,KAA4B,MAAA,gCAAE;AAC7C,YAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC;AACnC,YAAA,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE;gBAC3B,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;;;aAElC;AACL,YAAA,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC;;;AAG7C;;;;"}
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,MAAA,GAAA,EAAA,GAAI,EAAE;;IAGlD,IAAW,IAAI,CAAE,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,YAAY,CAA0B,MAAA,gCAAA,GAAG,CAAC;;AAGjD,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;AAGtD,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;AAGlD,IAAA,IAAI,MAAM,GAAA;;AACR,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA2B,QAAA,iCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;AAGpD,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;AAGlD,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;AAGtD,IAAA,IAAI,IAAI,GAAA;;AACN,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAAyB,MAAA,+BAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;AAGlD,IAAA,IAAI,QAAQ,GAAA;;AACV,QAAA,OAAO,MAAA,IAAI,CAAC,KAAK,CAA6B,UAAA,mCAAA,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;IAG/C,YAAY,CAAE,aAAqB,EAAE,KAAU,EAAA;QACpD,IAAI,aAAa,KAA4B,MAAA,gCAAE;AAC7C,YAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC;AACnC,YAAA,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE;gBAC3B,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;;;aAElC;AACL,YAAA,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC;;;AAG7C;;;;"}
@@ -1,4 +1,5 @@
1
- import { TaroElement } from "./element.js";
1
+ import { TaroElement } from './element.js';
2
+
2
3
  declare class ClassList {
3
4
  private el;
4
5
  private tokenList;
@@ -14,4 +15,5 @@ declare class ClassList {
14
15
  private checkTokenIsValid;
15
16
  private _update;
16
17
  }
18
+
17
19
  export { ClassList };
@@ -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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"}